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

 

Reply via email to