From: Benoît Pin <benoit.pin@gmail.com> Date: Wed, 3 Jul 2013 21:06:13 +0000 (+0200) Subject: Indexation de la position par utilisation d'un adaptateur, plutôt que d'utiliser... X-Git-Url: https://svn.cri.ensmp.fr/git/Plinn.git/commitdiff_plain/e84ba700349f0777d7e94b6b7692f53fc6860e17 Indexation de la position par utilisation d'un adaptateur, plutôt que d'utiliser ProxyIndex, devenu obsolète. --- diff --git a/Folder.py b/Folder.py index e36dec8..0e3804f 100644 --- a/Folder.py +++ b/Folder.py @@ -269,16 +269,10 @@ class PlinnFolder(CMFCatalogAware, PortalFolder, DefaultDublinCoreImpl) : """ query catalog and returns brains of contents. Requires ExtendedPathIndex """ - #ctool = getToolByName(self, 'portal_catalog') ctool = getUtilityByInterfaceName('Products.CMFCore.interfaces.ICatalogTool') - #print ctool.absolute_url() contentFilter['path'] = {'query':'/'.join(self.getPhysicalPath()), 'depth':1} - try : - return ctool(sort_on='position', **contentFilter) - except : - return ctool(**contentFilter) - + return ctool(sort_on='position', **contentFilter) security.declarePublic('synContentValues') def synContentValues(self): diff --git a/catalog_adapters.py b/catalog_adapters.py new file mode 100644 index 0000000..64130ad --- /dev/null +++ b/catalog_adapters.py @@ -0,0 +1,7 @@ +from Products.CMFCore.CatalogTool import IndexableObjectWrapper + +class PlinnIndexableObjectWrapper(IndexableObjectWrapper) : + def position(self) : + parent = self.getParentNode() + pos = parent.getObjectPosition(self.getId()) + return pos \ No newline at end of file diff --git a/overrides.zcml b/overrides.zcml index 3059b05..bf37e72 100644 --- a/overrides.zcml +++ b/overrides.zcml @@ -10,4 +10,9 @@ provides="Products.CMFCore.interfaces.IMember" factory="Products.Plinn.MemberDataTool.MemberAdapter" /> + <adapter + for="Products.CMFCore.interfaces.ICatalogAware + Products.CMFCore.interfaces.ICatalogTool" + provides="Products.CMFCore.interfaces.IIndexableObject" + factory=".catalog_adapters.PlinnIndexableObjectWrapper" /> </configure> diff --git a/profiles/default/catalog.xml b/profiles/default/catalog.xml index 2ce7d81..10f32c2 100644 --- a/profiles/default/catalog.xml +++ b/profiles/default/catalog.xml @@ -18,7 +18,7 @@ <property name="index_naive_time_as_local">True</property> </index> <index name="DateTimeOriginal" meta_type="DateIndex"> - <property name="index_naive_time_as_local">False</property> + <property name="index_naive_time_as_local">True</property> </index> <index name="Description" meta_type="ZCTextIndex"> <indexed_attr value="Description"/> @@ -44,6 +44,9 @@ <index name="allowedRolesAndUsers" meta_type="KeywordIndex"> <indexed_attr value="allowedRolesAndUsers"/> </index> + <index name="cmf_uid" meta_type="FieldIndex"> + <indexed_attr value="cmf_uid"/> + </index> <index name="created" meta_type="DateIndex"> <property name="index_naive_time_as_local">True</property> </index> @@ -68,28 +71,40 @@ <index name="getMemberSortableFormat" meta_type="FieldIndex"> <indexed_attr value="getMemberSortableFormat"/> </index> + <index name="hiddenForAnonymous" meta_type="FieldIndex"> + <indexed_attr value="hiddenForAnonymous"/> + </index> <index name="in_reply_to" meta_type="FieldIndex"> <indexed_attr value="in_reply_to"/> </index> <index name="listCreators" meta_type="KeywordIndex"> <indexed_attr value="listCreators"/> </index> + <index name="meta_type" meta_type="FieldIndex"> + <indexed_attr value="meta_type"/> + </index> <index name="modified" meta_type="DateIndex"> <property name="index_naive_time_as_local">True</property> </index> - <index name="path" meta_type="PathIndex"/> + <index name="path" meta_type="ExtendedPathIndex"/> <index name="portal_type" meta_type="FieldIndex"> <indexed_attr value="portal_type"/> </index> + <index name="position" meta_type="FieldIndex"> + <indexed_attr value="position"/> + </index> <index name="review_state" meta_type="FieldIndex"> <indexed_attr value="review_state"/> </index> <index name="start" meta_type="DateIndex"> <property name="index_naive_time_as_local">True</property> </index> + <index name="tiles_available" meta_type="FieldIndex"> + <indexed_attr value="tiles_available"/> + </index> <column value="CreationDate"/> + <column value="Creator"/> <column value="Date"/> - <column value="DateTimeOriginal"/> <column value="Description"/> <column value="EffectiveDate"/> <column value="ExpirationDate"/> @@ -97,6 +112,7 @@ <column value="Subject"/> <column value="Title"/> <column value="Type"/> + <column value="cmf_uid"/> <column value="created"/> <column value="effective"/> <column value="end"/> @@ -105,9 +121,12 @@ <column value="getId"/> <column value="getMemberFullName"/> <column value="getMemberSortableFormat"/> + <column value="getThumbnailSize"/> + <column value="hiddenForAnonymous"/> <column value="listCreators"/> <column value="modified"/> <column value="portal_type"/> + <column value="position"/> <column value="review_state"/> <column value="start"/> </object> diff --git a/profiles/photo/catalog.xml b/profiles/photo/catalog.xml index 5ffb030..10f32c2 100644 --- a/profiles/photo/catalog.xml +++ b/profiles/photo/catalog.xml @@ -59,6 +59,9 @@ <index name="expires" meta_type="DateIndex"> <property name="index_naive_time_as_local">True</property> </index> + <index name="fTitle" meta_type="FieldIndex"> + <indexed_attr value="Title"/> + </index> <index name="getId" meta_type="FieldIndex"> <indexed_attr value="getId"/> </index> @@ -87,6 +90,9 @@ <index name="portal_type" meta_type="FieldIndex"> <indexed_attr value="portal_type"/> </index> + <index name="position" meta_type="FieldIndex"> + <indexed_attr value="position"/> + </index> <index name="review_state" meta_type="FieldIndex"> <indexed_attr value="review_state"/> </index>