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>