一个允许通过元数据搜索的组件
项目描述
向 info (at) syslab (dot) com 发送问题和评论
在 http://products.syslab.com/products/slc.clicksearch/issues 报告错误
变更历史
slc.clicksearch 更新日志
1.4.4 (2010-10-04)
如果使用Products.ATContentTypes>2.0b2,则从可搜索属性中删除getEventType,因为它已不再存在(gerken)
1.4.3 (2010-01-21)
从索引中转义唯一键到字符串(gerken)
1.4.2 (2010-01-11)
添加metadata.xml(jcbrand)
在setup.py中添加z3c.autoinclude.plugin入口点(jcbrand)
1.4.1 (2010-01-04)
添加缺失的导入(gerken)
1.4.0 (2009-12-10)
添加了定制功能的初步文档(gerken)
在DefaultIndexView中添加了翻译标题的钩子(thomasw)
只有当有多个元数据时,才在组件上显示“重置”链接(thomasw)
模块化了clicksearch结果显示。而不是在模板中有一个硬编码的部分,结果视图根据项的门户类型调用适配器(浏览器视图)。存在一个通用的捕获所有适配器,它使用先前模板的代码(thomasw)
1.3 (2009-09-18)
将某些数据类型从文本更改为列表。在此之前,它们作为文本存储,但始终像列表一样标记化和消费。组件的编辑视图将看起来不同。数据将在第一次加载组件时转换(gerken)
slc.clicksearch 1.2 (2009-06-17)
更新svnignore(pilz & thomasw)
使UI更美观(brand)
slc.clicksearch 1.1 (2009-05-12)
打包egg(pilz)
slc.clicksearch 1.0 (2008-03-31)
初始端口
详细文档
slc.clicksearch
本包提供了一种使用元数据导航的方法,如果存在几种不同的元数据类别来分类内容,那么这可能是有意义的。在我们的用例中,我们有术语库、类别、国家、语言和NACE代码,以及约10,000个需要过滤的项目。
应该可以通过点击不同的元数据值来浏览搜索结果。如果我点击一个值,搜索结果将受到该值的限制。如果我又通过点击一个特殊链接来扩展我的搜索,那么这个条件将被再次移除。
左侧有一个ClickSearch小部件,每个元数据元素都有一个部分。每个部分都以元数据元素的名称作为标题。然后它列出了一些最受欢迎的元数据元素的链接。这些“最受欢迎的”可以在小部件内部进行配置。
在顶部值下方有一个“更多”链接,允许从总值的数量中进行选择。点击“更多”会暂时显示一个扩展的选择页面,替换掉足够空间列出所有值和它们含义的正文区域。这对于像术语库、子类别和NACE这样的复杂元数据尤其有用(树形结构中有几百条或更多的条目)。它们将不再以弹出窗口的形式显示。相反,整个树将嵌入到页面上。用户选择一个术语并返回到搜索结果。
如果用户已选择了一个项目并且搜索结果已被缩小,他可以通过再次扩展搜索来撤销缩小。例如,用户点击“任何国家”以再次移除国家的筛选。
定制小部件
可以自定义小部件。这样,您可以根据索引类型创建不同的选择机制。为此,您需要为Products.ATContentTypes.content.topic.ATTopic提供一个名为“slc.clicksearch.%s”的新浏览器页面 % INDEX_NAME,其中INDEX_NAME必须是索引的名称。请注意,在这里不要使用正常的浏览器视图,因为__call__的语义不同。__call__带有两个参数,索引和box_config。索引只是索引,而box_config是配置。请参阅slc.clicksearch.widgets.widgets以获取示例。
提供更好的结果
(OSHA特定,将来不应包含在此包中)
结果列表应显示每个结果的标题和描述的前200个字符。对象类型、创建日期和最后更改日期指示信息的类型和新鲜度。此外,还显示了将链接到的外部链接。其他元数据还包括“语言”、“参见”和信息提供者。
虽然在这种情况下图像不是很有用,但将鼠标移至远程链接上时,可以看到链接的首页图像。
然后必须根据用户搜索行为分析的结果对此结果列表进行优化,分析结果表明用户真正在寻找什么。例如,如果某个用户组通过CAS编号进行搜索,在结果列表中显示该编号将有益。
测试设置
要开始实验,请执行以下操作
添加一个名为“点击搜索”的新主题
配置主题以显示数据的一个子集,例如仅显示链接
在此主题上,在左侧添加一个Clicksearch小部件
配置小部件以显示元数据主题和allowedUsersAndRoles
提供一些你打算在网站上使用的值
在ZMI中,将click search文件夹的属性布局设置为clicksearch,这将立即显示结果列表
添加对新索引的支持
在这个例子中,我们想要支持存储在atvocabularymanager中的分层多语言术语库。为此,我们需要
一个显示层次结构的小部件
一个显示更多页面,可以访问完整的树(使用VocabularyPickerWidget)
准备工作首先,我们需要将数据文件夹中的vdex词汇文件添加到ATVocabularyManager中。然后,我们需要通过扩展内容类型并添加索引和元数据到目录中,使新的元数据元素对内容类型可用。
贡献者
Jan-Carel Brand (Syslab.com GmbH)
Wolfgang Thomas (Syslab.com GmbH)
Alexander Pilz (Syslab.com GmbH)
Patrick Gerken (Syslab.com GmbH)
项目详情
slc.clicksearch-1.4.4.zip 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b3b7ba83bd4be891fb9786b35312b01b7ff061957301bf19f6f15b19c6590624 |
|
MD5 | 4c81f28ec59e4b50114874cb8c1010df |
|
BLAKE2b-256 | 70fb70ffcdc4203b578720556470420541b3ed0142a9db10e6e4ac275264323a |