Package: slc.clicksearch
ContentsChange history1.4.4 (2010-10-04)1.4.3 (2010-01-21)1.4.2 (2010-01-11)1.4.1 (2010-01-04)1.4.0 (2009-12-10)1.3 (2009-09-18)slc.clicksearch 1.2 (2009-06-17)slc.clicksearch 1.1 (2009-05-12)slc.clicksearch 1.0 (2008-03-31)Detailed DocumentationCustomizing the widgetProviding better ResultsTest setupAdd support for new indexesContributorsCode repository:https://svn.syslab.com/svn/syslabcom/clicksearch/Questions and comments to info (at) syslab (dot) comReport bugs athttp://products.syslab.com/products/slc.clicksearch/issuesChange historyslc.clicksearch Changelog1.4.4 (2010-10-04)If Products.ATContentTypes>2.0b2 is in use, remove getEventType
from searchable attributes, since it does not exist any longer (gerken)1.4.3 (2010-01-21)Escapeing the unique keys from Indexes to strings (gerken)1.4.2 (2010-01-11)Add metadata.xml (jcbrand)Add z3c.autoinclude.plugin entry point in setup.py (jcbrand)1.4.1 (2010-01-04)Adding missing import (gerken)1.4.0 (2009-12-10)Added basic documentation of customization features (gerken)Hook for translated titles in the DefaultIndexView (thomasw)Show the “Reset” link on the portlet only if there’s more than one metadatum (thomasw)Modularised the clicksearch result display. Rather than having a hard-coded section in the template, the result
view calls an adapter (browser view) based on an item’s portal type. A generic catchall adapter exists
that uses the previous template’s code (thomasw)1.3 (2009-09-18)changed some datatypes from text to lists. Before there were stored as text
but always tokenized and consumed like lists.
The Edit view for the portlet will look different. Data will be converted
on first portlet loading (gerken)slc.clicksearch 1.2 (2009-06-17)updated svnignore (pilz & thomasw)made UI prettier (brand)slc.clicksearch 1.1 (2009-05-12)Packaged egg (pilz)slc.clicksearch 1.0 (2008-03-31)Initial portDetailed Documentationslc.clicksearchThis package provides a way to navigate using metadata, which can make sense if
there are several different types of metadata categories which categorize the
content. In our use case, we have Thesaurus, Category, Country, Language
and NACE Code and about 10.000 items to filter on.It should be possible to browse the search results by clicking values from the
different metadata. If I click a value, the search results are restricted by
that value. If I broaden up my search again by clicking on a special link,
this criteria is removed again.There is a ClickSearch Portlet on the left with one section for each metadata
element. Each section has the name of the metadata element as title. Then it
lists some of the most popular values of the metadata element as links. These
“most populars” are configurable from within the portlet.A more link below the top values allows selecting from the total amount of
values. Clicking on “more” turns up an extended selection page temporarily
replacing the body area which has enough space to list all values and some
explanation about their meaning. This is particularly useful for
complex metadata like Thesaurus, Subcategory and NACE (several hundred entries
or more in treeform).
They will not be displayed as a popup any more. Instead the whole tree will be
embedded in the page. The user selects a term and returns to the search
results.If a user has selected an item and the search results have been narrowed down,
he can undo this narrowing by broadening the search back again. As example
the user clicks on “any Country” to remove the filter by country again.Customizing the widgetIt is possible to customize the portlet widget. That way you can create
a different selection meachanism depending on the index type.
For that you need to provide a new browser page for
Products.ATContentTypes.content.topic.ATTopic
with the name “slc.clicksearch.%s” % INDEX_NAME where INDEX_NAME must
be the name of the index.
BE CAREFUL, do not use a normal browser view here, because the semantics
of __call__ are different. __call__ gets called with two parameters, index
and box_config. index is just the index while box_config is the configuration.
Please see slc.clicksearch.widgets.widgets for examplesProviding better Results(OSHA Specific, should not be part of this package anymore later on)The result list should show the title and the first 200 characters of the
description for each result. The object type, the creation date and the date
of last change indicate type and freshness of the information. In addition
the external link is displayed where the item will link to. Additional metadata
is given like “Language”, “See also” and the provider of the information.While images are not so useful in this case, an image of the linked homepage
can be seen when moving the mouse over the remote link.This result list must then be optimised based on the results of a user search
behaviour analysis which turns up what users are really looking for. If
for example a certain group of users is searching by CAS Number, showing
that number in the result list would give a benefit.Test setupTo start experimenting, do the following:add a new topic called “Click Search”configure the topic to show a subset of your data, e.g. only the linksOn this topic add a Clicksearch portlet on the leftconfigure the portlet to show metadatum Subject and allowedUsersAndRolesprovide some values which you are going to use in your siteIn ZMI set the property layout to clicksearch on the click search folder,
this will show the result list immediatelyAdd support for new indexesIn this example we want to support a hierarchical multilingual thesaurus
stored in atvocabularymanager. For that we need:a portlet widget that shows the hierarchyA show more page which gives access to the full tree
(using VocabularyPickerWidget)Preparations
First we need to add the vdex vocabulary file from the data folder to the
ATVocabularyManager. Then we need to make this new metadata element
available to the content types by schemaextending them and adding an
index and metadata to the catalog.ContributorsJan-Carel Brand (Syslab.com GmbH)Wolfgang Thomas (Syslab.com GmbH)Alexander Pilz (Syslab.com GmbH)Patrick Gerken (Syslab.com GmbH)