Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Upgrading AEM 6.0 to 6.3 - granite clientlibs missing and servlet factory not showing

Avatar

Level 1

I'm working through an upgrade of AEM 6.0 to 6.3 I've hit a couple of roadblocks.

First - Some clientlibs have gone missing and are returning 404:

  • /etc/clientlibs/clientlibs/granite/utils.js
  • /etc/clientlibs/clientlibs/granite/jquery/granite.js
  • /etc/clientlibs/clientlibs/granite/jquery.js

These were included using the cq.jquery category in our cq:ClientLibraryFolder.embed

Have they moved elsewhere? I initially attempted to replace the granite jquery version with the latest but there are a lot of naming errors/clashes "_g is not defined" and $CQ errors. No issues using the embedded version of jQuery if this can be resolved.

*****************

Secondly - We previously forked the ACS commons sitemap servlet which has worked great for us in 6.0 but in 6.3 the factory is missing from the /system/console/configMgr. I compared the code against the current ACS sitemap and the annotations are identical.

Annotations are from the "org.apache.felix.scr.annotations" package

@Component(metatype = true,

        label = "OTPP SEO Site Map Servlet",

        description = "SEO Site Map Servlet",

        configurationFactory = true,

        policy = ConfigurationPolicy.REQUIRE)

@Service

@SuppressWarnings("serial")

@Properties({@Property(name = "sling.servlet.resourceTypes", unbounded = PropertyUnbounded.ARRAY,

        label = "Sling Resource Type", description = "Sling Resource Type for the Home Page component or components."),

        @Property(name = "sling.servlet.selectors", value = "search-engine-sitemap", propertyPrivate = true),

        @Property(name = "sling.servlet.extensions", value = "xml", propertyPrivate = true),

        @Property(name = "sling.servlet.methods", value = "GET", propertyPrivate = true),

        @Property(name = "webconsole.configurationFactory.nameHint",

                value = "Site Map on resource types: [{sling.servlet.resourceTypes}]")})

The latest version of the ACS commons sitemap appears fine in the system/console along with the factory.

Any assistance would be greatly appreciated.

1 Accepted Solution

Avatar

Correct answer by
Level 1
2 Replies

Avatar

Level 1

Checked http://localhost:4502/libs/granite/ui/content/dumplibs.test.html?categories=cq.jquery and it is there: http://localhost:4502/etc.clientlibs/clientlibs/granite/jquery.js

My mappings must be broken. Previously I was using:

<?xml version="1.0" encoding="UTF-8"?>

<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"

  jcr:primaryType="sling:Mapping" sling:internalRedirect="/etc"

  sling:match="ash.cf.otpp.me/members/cms/etc"/>

http://ash.cf.otpp.me/members/cms/etc.clientlibs/clientlibs/granite/jquery.js - returns a 404.

Avatar

Correct answer by
Level 1