Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
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