From d85cf9e640d2823901d8c98132e08967e52c41b6 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Benoi=CC=82t=20Pin?= <pin@cri.ensmp.fr>
Date: Wed, 16 Jul 2014 13:57:03 +0200
Subject: [PATCH 1/1] Solr optionnel.

---
 profiles.zcml                       |   7 ++
 profiles/default/catalog.xml        |   2 +-
 profiles/default/toolset.xml        |   2 +-
 profiles/solr/catalog.xml           | 132 ++++++++++++++++++++++++++++
 profiles/solr/componentregistry.xml |   9 ++
 profiles/solr/toolset.xml           |   5 ++
 6 files changed, 155 insertions(+), 2 deletions(-)
 create mode 100644 profiles/solr/catalog.xml
 create mode 100644 profiles/solr/componentregistry.xml
 create mode 100644 profiles/solr/toolset.xml

diff --git a/profiles.zcml b/profiles.zcml
index e72a243..d3422ef 100644
--- a/profiles.zcml
+++ b/profiles.zcml
@@ -16,4 +16,11 @@
       description="Profile for a photo based Plinn site."
       for="Products.CMFCore.interfaces.ISiteRoot"
       />
+  <genericsetup:registerProfile
+    name="solr"
+    title="Solr catalog"
+    description="Delegates text indexing to Solr search engine."
+    provides="Products.GenericSetup.interfaces.EXTENSION"
+    for="Products.CMFCore.interfaces.ISiteRoot"
+    />
 </configure>
diff --git a/profiles/default/catalog.xml b/profiles/default/catalog.xml
index 41914e7..10f32c2 100644
--- a/profiles/default/catalog.xml
+++ b/profiles/default/catalog.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<object name="portal_catalog" meta_type="Plinn Catalog">
+<object name="portal_catalog" meta_type="CMF Catalog">
  <property name="title"></property>
  <object name="htmltext_lexicon" meta_type="ZCTextIndex Lexicon">
   <element name="UTF-8 HTML Aware splitter with accents removal"
diff --git a/profiles/default/toolset.xml b/profiles/default/toolset.xml
index 6ec6294..1320220 100644
--- a/profiles/default/toolset.xml
+++ b/profiles/default/toolset.xml
@@ -19,7 +19,7 @@
  <required tool_id="portal_calendar"
            class="Products.Plinn.CalendarTool.CalendarTool"/>
  <required tool_id="portal_catalog"
-           class="Products.Plinn.catalog.CatalogTool"/>
+           class="Products.CMFCore.CatalogTool.CatalogTool"/>
  <required tool_id="portal_discussion"
            class="Products.CMFDefault.DiscussionTool.DiscussionTool"/>
  <required tool_id="portal_groupdata"
diff --git a/profiles/solr/catalog.xml b/profiles/solr/catalog.xml
new file mode 100644
index 0000000..41914e7
--- /dev/null
+++ b/profiles/solr/catalog.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<object name="portal_catalog" meta_type="Plinn Catalog">
+ <property name="title"></property>
+ <object name="htmltext_lexicon" meta_type="ZCTextIndex Lexicon">
+  <element name="UTF-8 HTML Aware splitter with accents removal"
+     group="Word Splitter"/>
+  <element name="Case Normalizer" group="Case Normalizer"/>
+ </object>
+ <object name="plaintext_lexicon" meta_type="ZCTextIndex Lexicon">
+  <element name="UTF-8 Whitespace splitter with accents removal"
+     group="Word Splitter"/>
+  <element name="Case Normalizer" group="Case Normalizer"/>
+ </object>
+ <index name="Creator" meta_type="FieldIndex">
+  <indexed_attr value="Creator"/>
+ </index>
+ <index name="Date" meta_type="DateIndex">
+  <property name="index_naive_time_as_local">True</property>
+ </index>
+ <index name="DateTimeOriginal" meta_type="DateIndex">
+  <property name="index_naive_time_as_local">True</property>
+ </index>
+ <index name="Description" meta_type="ZCTextIndex">
+  <indexed_attr value="Description"/>
+  <extra name="index_type" value="Okapi BM25 Rank"/>
+  <extra name="lexicon_id" value="plaintext_lexicon"/>
+ </index>
+ <index name="SearchableText" meta_type="ZCTextIndex">
+  <indexed_attr value="SearchableText"/>
+  <extra name="index_type" value="Okapi BM25 Rank"/>
+  <extra name="lexicon_id" value="htmltext_lexicon"/>
+ </index>
+ <index name="Subject" meta_type="KeywordIndex">
+  <indexed_attr value="Subject"/>
+ </index>
+ <index name="Title" meta_type="ZCTextIndex">
+  <indexed_attr value="Title"/>
+  <extra name="index_type" value="Okapi BM25 Rank"/>
+  <extra name="lexicon_id" value="plaintext_lexicon"/>
+ </index>
+ <index name="Type" meta_type="FieldIndex">
+  <indexed_attr value="Type"/>
+ </index>
+ <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>
+ <index name="effective" meta_type="DateIndex">
+  <property name="index_naive_time_as_local">True</property>
+ </index>
+ <index name="end" meta_type="DateIndex">
+  <property name="index_naive_time_as_local">True</property>
+ </index>
+ <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>
+ <index name="getMemberFullName" meta_type="FieldIndex">
+  <indexed_attr value="getMemberFullName"/>
+ </index>
+ <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="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="Description"/>
+ <column value="EffectiveDate"/>
+ <column value="ExpirationDate"/>
+ <column value="ModificationDate"/>
+ <column value="Subject"/>
+ <column value="Title"/>
+ <column value="Type"/>
+ <column value="cmf_uid"/>
+ <column value="created"/>
+ <column value="effective"/>
+ <column value="end"/>
+ <column value="expires"/>
+ <column value="getIcon"/>
+ <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/solr/componentregistry.xml b/profiles/solr/componentregistry.xml
new file mode 100644
index 0000000..096b6d3
--- /dev/null
+++ b/profiles/solr/componentregistry.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<componentregistry>
+ <adapters/>
+ <subscribers/>
+ <utilities>
+  <utility interface="Products.CMFCore.interfaces.ICatalogTool"
+     object="portal_catalog"/>
+ </utilities>
+</componentregistry>
diff --git a/profiles/solr/toolset.xml b/profiles/solr/toolset.xml
new file mode 100644
index 0000000..31c40a3
--- /dev/null
+++ b/profiles/solr/toolset.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<tool-setup>
+ <required tool_id="portal_catalog"
+           class="Products.Plinn.catalog.CatalogTool"/>
+</tool-setup>
-- 
2.20.1