Oxygen Author Component performance
Posted: Thu Dec 18, 2014 1:28 pm
Hi, Oxygen guys!
As you may know, we are using Oxygen web Component in our Ditaworks Cloud application as a main topic editor.
In our oxygen customization we overrided standart Oxygen's api classes - StylesFilter and AuthorReferenceResolver.
I see some problems with Oxygen performance when opened document contains some conrefs and images.
I have some questions about Oxygen Author Component performance with our extensions.
1. About StylesFilter. We used our StylesFilter implementation - DITAStylesFilter. I noticed that DITAStylesFilter is called very often even in normal content scrolls. In this case, the filter called all the AuthorNode of the AuthorDocument.
Who controls the behavior of the DITAStylesFilter?
Can we manage call DITAStylesFilter?
Сan we only use the cache inside the DITAStylesFilter to solve this problem?
2. About AuthorReferenceResolver.We used our AuthorReferenceResolver implementation - DITAReferenceResolver. Consider a simple example - I inserted 5 conref elements in opened topic - DITAReferenceResolver works great. Then I turn on the Text page in editor and add some changes in content, which aren't linked with inserted conrefs element. After that I turn on the Author page - DITAReferenceResolver is called all the AuthorNode of the AuthorDocument. But if I don't added some changes in content in Text mode, DITAReferenceResolver isn't called when I turn on Author page again.
Who controls the behavior of the DITAReferenceResolver?
Can we manage call DITAReferenceResolver?
Сan we only use the cache inside the DITAReferenceResolver to solve this problem?
when I saw the source your Oxygen Author SDK samples in Maven repository, I opened your DITAConRefResolver class. This class contains field
which used in resolveReference() method.
How to use this grammarCache object?
Regards,
Alex
As you may know, we are using Oxygen web Component in our Ditaworks Cloud application as a main topic editor.
In our oxygen customization we overrided standart Oxygen's api classes - StylesFilter and AuthorReferenceResolver.
I see some problems with Oxygen performance when opened document contains some conrefs and images.
I have some questions about Oxygen Author Component performance with our extensions.
1. About StylesFilter. We used our StylesFilter implementation - DITAStylesFilter. I noticed that DITAStylesFilter is called very often even in normal content scrolls. In this case, the filter called all the AuthorNode of the AuthorDocument.
Who controls the behavior of the DITAStylesFilter?
Can we manage call DITAStylesFilter?
Сan we only use the cache inside the DITAStylesFilter to solve this problem?
2. About AuthorReferenceResolver.We used our AuthorReferenceResolver implementation - DITAReferenceResolver. Consider a simple example - I inserted 5 conref elements in opened topic - DITAReferenceResolver works great. Then I turn on the Text page in editor and add some changes in content, which aren't linked with inserted conrefs element. After that I turn on the Author page - DITAReferenceResolver is called all the AuthorNode of the AuthorDocument. But if I don't added some changes in content in Text mode, DITAReferenceResolver isn't called when I turn on Author page again.
Who controls the behavior of the DITAReferenceResolver?
Can we manage call DITAReferenceResolver?
Сan we only use the cache inside the DITAReferenceResolver to solve this problem?
when I saw the source your Oxygen Author SDK samples in Maven repository, I opened your DITAConRefResolver class. This class contains field
Code: Select all
private Object grammarCache = null;
which used in resolveReference() method.
Code: Select all
XMLReaderWithGrammar readerWithCache = authorAccess.getXMLUtilAccess().newNonValidatingXMLReader(grammarCache);
XMLReader xmlReader = readerWithCache.getXmlReader();
grammarCache = readerWithCache.getGrammarCache();
Regards,
Alex