Adobe-Consulting-Services / acs-aem-commons

http://adobe-consulting-services.github.io/acs-aem-commons/
Apache License 2.0
453 stars 600 forks source link

Sling Rewriter Pipelines use deprecated generator / serializers #1340

Closed royteeuwen closed 6 years ago

royteeuwen commented 6 years ago

Hey guys,

When I have a look at the presentations (@justinedelson that would be your mastering of the sling rewriters) and the docs, I see that it states you should use the generatorType htmlparser and serializerType htmlwriter. But looking at the javadocs they seem to be deprecated:

https://helpx.adobe.com/experience-manager/6-3/sites/developing/using/reference-materials/javadoc/com/day/cq/rewriter/htmlparser/HtmlParser.html

Are there other generators / serializers that should be used now? There is a nasty bug in the htmlparser and I'm not sure what will happen when I create a daycare ticket for it, they might state its deprecated code...

Greets Roy

justinedelson commented 6 years ago

@royteeuwen As near as I can tell, the htmlparser & htmlwriter components are not actually the classes in the JavaDoc, but are non-API classes.

justinedelson commented 6 years ago

@royteeuwen please do not post proprietary source code in a public Github comment. I closed this because it isn't an issue for ACS AEM Commons -- we don't reference either the deprecated or the non-deprecated HtmlParser classes.

But to answer your question, the htmlparser generator is referring to com.day.cq.rewriter.processor.impl.HtmlParserFactory (at least on AEM 6.4). You can see this by looking at the Services web console plugin and using the filter (&(objectClass=org.apache.sling.rewriter.GeneratorFactory)(pipeline.type=htmlparser))

royteeuwen commented 6 years ago

@justinedelson Okey, sorry, that was not what I was going for. Sorry if I made an infringement of licensed code.

Anyways, seeing as the HtmlParserFactory uses deprecated code (yes, even in AEM 6.4). What do you use for html parser if its not that one? Seeing as I want to use the versioned clientlibs, which uses the sling rewriter pipelines

justinedelson commented 6 years ago

The documentation recommends to copy the default pipeline configuration and edit it to suit, so that would be whatever AEM uses by default. If that is deprecated, it would have to be fixed in AEM (or maybe the deprecation was incorrectly done).