Hi there,
First, I would like to say thank you for a great product. We have been using it
since 2007 in a production environment (for cms), and publishing content from
the repository to static files for reading.
Mainly because of performance reason (content is growing and growing) we
recently tried to upgrade the web-application from 1.4.5 to 1.6.2.
Two years ago I upgraded from 1.3 to 1.4.5 without any problems. This time it
was different.
I change all api and deleted the workspace index. The application started
successfully with one warning because of the DOCTYPE..
I changed this in the repository config file. After restarting any xpath query
returned an unsorted result.
So I investigated and found that lucene had to have an new parameter in the
config file: <param name="respectDocumentOrder" value="true"/>
Afterwards the expected behaviour was seen: the nodes where ordered as under
version 1.4.5
This is necessary.
The troubles started when using the application. There was no Exception but the
results of the application where wrong. I realized that Lists are treated
differently for example:
public static int getFootnoteNumber( Node fn, Vector<Node> footnotes)
throws Exception {
if (!footnotes.contains(fn)) return 0;
return (footnotes.indexOf(fn)+1);
}
Where fn is a jcr Node (with uuid, etc.) and footnotes is the result of an
xpath query (without uuid, etc.) like
/biblio/ns:Norm[14]/ns:Komment/ns:Thought/ns:Text/p/fn
/biblio/ns:Norm[14]/ns:Komment/ns:Thought/ns:Text/p/fn[2]
...
Before version change to 1.6.2 getFootnoteNumber returned the correct footnote
number and afterwards always 0. The indexOf method didn't return anything
meaningful too.
The question for me is: is this a Jackrabbit thing or not...
and how to solve it performantly...
Thanks.
Johann