svn commit: r1535421 - in /ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product: config/SeoConfig.xml config/urlregexp.xml dtd/SeoConfig.xsd dtd/urlregexp.xsd

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1535421 - in /ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product: config/SeoConfig.xml config/urlregexp.xml dtd/SeoConfig.xsd dtd/urlregexp.xsd

jleroux@apache.org
Author: jleroux
Date: Thu Oct 24 15:53:39 2013
New Revision: 1535421

URL: http://svn.apache.org/r1535421
Log:
As suggested by Jinghai, merges SeoConfig and urlregexp files into SeoConfig files only

Removed:
    ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/config/urlregexp.xml
    ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/dtd/urlregexp.xsd
Modified:
    ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/config/SeoConfig.xml
    ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/dtd/SeoConfig.xsd

Modified: ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/config/SeoConfig.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/config/SeoConfig.xml?rev=1535421&r1=1535420&r2=1535421&view=diff
==============================================================================
--- ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/config/SeoConfig.xml (original)
+++ ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/config/SeoConfig.xml Thu Oct 24 15:53:39 2013
@@ -1,46 +1,116 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <seo-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../dtd/SeoConfig.xsd">
     <regexpifmatch>^.*/.*$</regexpifmatch>
-    
-    <debug>false</debug>
-    
-    <config>
-        <description>sample: remove jsessionid</description>
-        <seo>
-            <url-pattern>^(.*);jsessionid=(.*)jvm[1-9](.*)$</url-pattern>
-            <replacement>$1$3</replacement>
-        </seo>
-        <forward>
+
+    <category-url>
+        <value>enable</value>
+        <!-- enable/disable
+          1. if enable, the product seo url will be /product-name-product-id.html or /category-name-product-name-product-id.html
+          2. if disable, the CatalogUrlServlet.makeCatalogUrl will be used -->
+        <allowed-context-paths>/:/ecommerce</allowed-context-paths>
+        <!-- if category-url is enabled, only context paths listed here will be allowed to use the new seo transformers -->
+        <category-name>disable</category-name>
+        <!-- enable/disable
+          1. if enable, the product seo url will be /category-name-product-name-product-id.html
+          2. if disable, the product seo url will be /product-name-product-id.html -->
+        <category-url-suffix>.html</category-url-suffix>
+        <!-- suffix to add to the product seo url -->
+    </category-url>
+
+    <jsessionid>
+        <anonymous>
+            <value>disable</value>
+            <!-- enable/disable
+              1. when disable, the seo url patterns that contains jsessionid will be applied;
+              2. when enable, the seo url patterns that contains jsessionid will be skipped -->
+        </anonymous>
+        <user>
+            <value>disable</value>
+            <!-- enable/disable
+              1. when disable, the url-patterns under exceptions will be used to skip the seo url patterns that contains jsessionid;
+              2. when enable, the seo url patterns that contains jsessionid will be skipped -->
+            <exceptions>
+                <url-pattern>^.*/(keywordsearch|logout).*$</url-pattern>
+                <!-- sample: ^.*/(keywordsearch|logout).*$ -->
+            </exceptions>
+        </user>
+    </jsessionid>
+
+    <url-configs>
+        <url-config>
+            <description>sample: remove jsessionid</description>
             <url-pattern>^(.*);jsessionid=(.*)jvm[1-9](.*)$</url-pattern>
-            <replacement>$1$3</replacement>
-            <responsecode>301</responsecode>
-        </forward>
-    </config>
-    
-    <config>
-        <description>sample: remove /ecommerce/main</description>
-        <seo>
-            <url-pattern>^/ecommerce/main$</url-pattern>
-            <replacement>/ecommerce/</replacement>
-        </seo>
-        <forward>
+            <seo>
+                <replacement>$1$3</replacement>
+            </seo>
+            <forward>
+                <replacement>$1$3</replacement>
+                <responsecode>301</responsecode>
+            </forward>
+        </url-config>
+
+        <url-config>
+            <description>sample: remove /ecommerce/main</description>
             <url-pattern>^/ecommerce/main$</url-pattern>
-            <replacement>/ecommerce/</replacement>
-            <responsecode>301</responsecode>
-        </forward>
-    </config>
-
-    <config>
-        <description>sample: remove /main</description>
-        <seo>
-            <url-pattern>^/main$</url-pattern>
-            <replacement>/</replacement>
-        </seo>
-        <forward>
+            <seo>
+                <replacement>/ecommerce/</replacement>
+            </seo>
+            <forward>
+                <replacement>/ecommerce/</replacement>
+                <responsecode>301</responsecode>
+            </forward>
+        </url-config>
+
+        <url-config>
+            <description>sample: remove /main</description>
             <url-pattern>^/main$</url-pattern>
-            <replacement>/</replacement>
-            <responsecode>301</responsecode>
-        </forward>
-    </config>
+            <seo>
+                <replacement>/</replacement>
+            </seo>
+            <forward>
+                <replacement>/</replacement>
+                <responsecode>301</responsecode>
+            </forward>
+        </url-config>
+    </url-configs>
 
+    <char-filters>
+        <char-filter>
+            <character-pattern>\u00fc</character-pattern>
+            <replacement>ue</replacement>
+        </char-filter>
+        <char-filter>
+            <character-pattern>\u00e4</character-pattern>
+            <replacement>ae</replacement>
+        </char-filter>
+        <char-filter>
+            <character-pattern>\u00f6</character-pattern>
+            <replacement>oe</replacement>
+        </char-filter>
+        <char-filter>
+            <character-pattern>\u00df</character-pattern>
+            <replacement>ss</replacement>
+        </char-filter>
+        <char-filter>
+            <character-pattern>\\+</character-pattern>
+            <replacement>und</replacement>
+        </char-filter>
+        <char-filter>
+            <character-pattern>\u0026</character-pattern>
+            <replacement>und</replacement>
+        </char-filter>
+        <char-filter>
+            <character-pattern>è</character-pattern>
+            <replacement>e</replacement>
+        </char-filter>
+        <!-- please keep the following 2 filters, don't remove them -->
+        <char-filter>
+            <character-pattern>[^A-Za-z0-9+-]</character-pattern>
+            <replacement>-</replacement>
+        </char-filter>
+        <char-filter>
+            <character-pattern>-{2,}</character-pattern>
+            <replacement>-</replacement>
+        </char-filter>
+    </char-filters>
 </seo-config>

Modified: ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/dtd/SeoConfig.xsd
URL: http://svn.apache.org/viewvc/ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/dtd/SeoConfig.xsd?rev=1535421&r1=1535420&r2=1535421&view=diff
==============================================================================
--- ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/dtd/SeoConfig.xsd (original)
+++ ofbiz/branches/OFBIZ-5312-ofbiz-ecommerce-seo-2013-10-23/applications/product/dtd/SeoConfig.xsd Thu Oct 24 15:53:39 2013
@@ -5,27 +5,87 @@
         <xs:complexType>
             <xs:sequence>
                 <xs:element minOccurs="0" maxOccurs="1" ref="regexpifmatch"/>
-                <xs:element minOccurs="0" maxOccurs="1" ref="debug"/>
-                <xs:element minOccurs="0" maxOccurs="unbounded" ref="config"/>
+                <xs:element minOccurs="0" maxOccurs="1" ref="category-url"/>
+                <xs:element minOccurs="0" maxOccurs="1" ref="jsessionid"/>
+                <xs:element minOccurs="0" maxOccurs="1" ref="url-configs"/>
+                <xs:element minOccurs="0" maxOccurs="1" ref="char-filters"/>
             </xs:sequence>
         </xs:complexType>
     </xs:element>
     <xs:element name="regexpifmatch"/>
-    <xs:element name="debug"/>
-    <xs:element name="config">
+    <xs:element name="category-url">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="1" maxOccurs="1" ref="value"/>
+                <xs:element minOccurs="0" maxOccurs="1" ref="allowed-context-paths"/>
+                <xs:element minOccurs="0" maxOccurs="1" ref="category-name"/>
+                <xs:element minOccurs="0" maxOccurs="1" ref="category-url-suffix"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="value" default="disable"/>
+    <xs:element name="allowed-context-paths"/>
+    <xs:element name="category-name" default="disable"/>
+    <xs:element name="category-url-suffix" default=".html"/>
+    <xs:element name="jsessionid">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="1" ref="anonymous"/>
+                <xs:element minOccurs="0" maxOccurs="1" ref="user"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="anonymous">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="1" ref="value"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="user">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="1" ref="value"/>
+                <xs:element minOccurs="0" maxOccurs="1" ref="exceptions"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="exceptions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="url-pattern"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="url-configs">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="url-config"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="char-filters">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="char-filter"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="url-config">
         <xs:complexType>
             <xs:sequence>
                 <xs:element minOccurs="0" maxOccurs="1" ref="description"/>
+                <xs:element minOccurs="1" maxOccurs="1" ref="url-pattern"/>
                 <xs:element minOccurs="1" maxOccurs="1" ref="seo"/>
                 <xs:element minOccurs="0" maxOccurs="1" ref="forward"/>
             </xs:sequence>
         </xs:complexType>
     </xs:element>
     <xs:element name="description"/>
+    <xs:element name="url-pattern"/>
     <xs:element name="seo">
         <xs:complexType>
             <xs:sequence>
-                <xs:element minOccurs="1" maxOccurs="1" ref="url-pattern"/>
                 <xs:element minOccurs="1" maxOccurs="1" ref="replacement"/>
             </xs:sequence>
         </xs:complexType>
@@ -33,13 +93,20 @@
     <xs:element name="forward">
         <xs:complexType>
             <xs:sequence>
-                <xs:element minOccurs="1" maxOccurs="1" ref="url-pattern"/>
                 <xs:element minOccurs="1" maxOccurs="1" ref="replacement"/>
                 <xs:element minOccurs="0" maxOccurs="1" ref="responsecode"/>
             </xs:sequence>
         </xs:complexType>
     </xs:element>
-    <xs:element name="url-pattern"/>
     <xs:element name="replacement"/>
     <xs:element name="responsecode" default="301"/>
+    <xs:element name="char-filter">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="1" maxOccurs="1" ref="character-pattern"/>
+                <xs:element minOccurs="1" maxOccurs="1" ref="replacement"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="character-pattern"/>
 </xs:schema>