[opencms-dev] Very big problems with Detail Page

gnorrus at libero.it gnorrus at libero.it
Sun Aug 5 13:23:33 CEST 2012


Hi

I wrote some days ago about some problems in detail page system. These 
problems are:

1. The url of a resource has first letter uppercase

2. We can't rename detail page in something different from "index.html"

3 If you have a page with a list of resources that have different categories, 
you can't have a distinct detail page for news of those categories (see later 
for explanation)

4. It's not possible to "personalize" the containers of the detail page for 
every resource. Think about a "news" resource. When you are in the detail of a 
resource, probably you need to add something in some container to personalize 
that news. If you drag & drop something in a container of a detail page, ALL 
resource of type news that use that detail page will have it. 


These are the solutions I found for some points:
-----------------------------------------------------------------

1. Add a new field to your structured contents and map it to url. In this 
field editors can add a "SEO" name url, for example "title-of-the-news". This 
solution solve also another big problem. Try to write a news whose title 
contains carachters like é, ì, à, ò. Opencms automatically removes those 
letters from the url, and this is not good. Think about a resource of type 
"Product". Every product has it's own name and it's name can contains also 
those letters. If those letters are removed the name of the product in the url 
is no more the real one, and this is very bad for SEO.

2. No solution yet. The detail page must be always named "index.html"

3. Think about a site structure like this:
     products
	 |-TypeA
	   |--TypeA1
	   |--TypeA2
	   |--TypeA3
	 |-TypeB
	   |--TypeB1
	   |--TypeB2
	   |--TypeB3

	You need to use categories when you create products contents. But if I need a 
page that lists all products, the better place to create it is inside 
"products" folder. Here I can use "allInSubTree" collector to display them. And 
then I have to set the detail page. I must place it inside "products" folder 
(with name "index.html". so the list page can't be named "index.html"...), so 
the url of all products will be: /products/Product1/, /products/Product2/, 
/products/Product3/ etc...As Product1 has category "TypeA", I need to have a 
url like /products/TypeA/Product1/...this is not possibile because the url of 
detail page doesn't consider the "category" of the resource.

	Then I need also a detail page inside "TypeA" folder, and I need to display 
ONLY product of typeA. I can do that using "allKeyValuePairFiltered" collector 
(that filters through categories), but If I use the detail page inside 
"products" folder, also these products will have the same urls, but it's not 
correct because for these products I need a url like /products/TypeA/Product1/, 
/products/TypeA/Product2/, /products/TypeA/Product3/. 

	So I have to create another detail page inside "/products/TypeA/" folder, 
used only by products of typeA. But the problem in this case is that we have 
the same product with 2 different urls (/products/Product1/ and 
/products/TypeA/Product1/) and this is not good for SEO. Alex suggested to have 
different detail pages and then put exclusions inside robots.txt in order to 
avoid the same content be indexed more than once. But in my case, what I have 
to place inside robots? I don't know what will be the url of a resource, so I 
can't exclude a single page. And I can't exclude the entire folder "products" 
only because inside it i have a detail page.

4. The solution is to place another field inside xsd. So if you want to add, 
for example, a banner for a certain news, you have to add a field to the xsd. 
You can't drag & drop it. But this field naturally can't be palce inside a 
container.


Now one of the biggest problem with detail page:
------------------------------------------------------------------
If you have a multilingual site with different folders like "/en/", "/de/", 
"/fr/", you will have probably the same resources inside them, for example 
"/en/news/", "/de/news/", "/fr/news/" where you probably have a list of news. 
These news will have a detail page, and these pages will list the news in 
different language, depending on the position of the user. The news title will 
be different for every language. This is also the example of the default site 
after installing opencms 8. See "flower-en" and "flower-de" folders. 

The problem is that if the Title of the resource (mapped in the xsd to url) is 
the same for 2 or more languages, Opencms automatically add "-0001", "-0002", 
"-0003" to the other resources with the same title! Try yourself in the default 
site. Set the same title to the same news for english and for german. You will 
see that the url of the first one is correct, but the url of the second one 
will be like the first but plus "-0001". This is not good for SEO. For a 
content like "news" maybe you will never have the same title for different 
languages. But think about a content like "Product", where name is the same for 
all locales. I don't understand why Opencms do that because the complete path 
of that resources is different for every language ("/en/news/Title-of-the-news-
written-in-english", "/de/news/Title-of-the-news-written-in-german", 
"/fr/news/Title-of-the-news-written-in-french". This is a very big problem.

Other problems:
- With collector "allKeyValuePairFiltered", the "+" for creating a new 
resource is not displayed

Can you help me please?
These problems should make me think to use a different product

Thanks



More information about the opencms-dev mailing list