AEM Resources missing sling:resourceType - aem

My content repository over a 2 year span has accumulated many obsolete component resources. The component nodes are missing sling:resourceType property. These component nodes looks like this:
Due to such bad resources, the page is throwing below exception:
14.09.2017 12:33:21.079 *ERROR* [172.21.142.98 [1505392399461] GET /content/xx/en_ca/home.html HTTP/1.1]
org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension html, cannot render resource Paragraph,
path=/content/xx/en_ca/home/jcr:content/par-sidebar/contentbox_c540/rightRailContentPar/contentbox_f1fd,
type=nt:unstructured, cssClass=default, column=0/0, diffInfo=[null],
resource=[JcrNodeResource, type=nt:unstructured, superType=null,
path=/content/xx/en_ca/home/jcr:content/par-sidebar/contentbox_c540/rightRailContentPar/contentbox_f1fd]
Further digging I found someone had written a tool to cleanup such obsolete resources.
While it is easy to query and cleanup such invalid nodes, my question how did such resources end up in repository? I tried to simulate by moving components, deleting components from page but in vain. There is no custom scripting that is removing sling:resourceType. Is this issue faced only by me? Or is there any product issue/usecase that can clear the type of resource?
I am running AEM 6.0 SP2.

Seems this is a known product bug to be fixed for future AEM. This is the response I got from daycare ticket:
There are several known issues related to sling:resourceType in AEM 6.0 SP2 and later but the one that I could find nearest to the scenario you have mentioned occurs when the components are copied and pasted.
It removes/breaks the sling:resourceType property. This issue is covered under the internal id -CQ-4212306, the fix for which will be a part of the future version of AEM.

Related

Generated codelab does not work. Files removed from storage.googleapis.com

I have been using codelabs for creating tutorials.
https://github.com/googlecodelabs
I use the claat tool to generate the tutorial from an md file.
Since the past few days I have noticed my codelabs have stopped rendering.
It appears like the css and js files which were served through storage.googleapis.com are removed. Any idea how to fix this problem?
Tried accessing the css and js files directly
https://storage.googleapis.com/codelab-elements/codelab-elements.css
It gives an error
Anonymous caller does not have storage.objects.get access to the Google Cloud Storage
object. Permission 'storage.objects.get' denied on resource (or it may not exist).
I know this is the problem but dont know how to fix it.
Hi I had the same issues
There is a fix for both the template
https://github.com/googlecodelabs/tools/pull/798/commits/c9e6704bec43413dc972dd17d48df59589d4b2cb#diff-32ca476fba2e5a4abb3a8851cdd88e3f115676a9bce40a587c4d0d3e6a644341
as well a new claat version https://github.com/googlecodelabs/tools/releases/tag/v2.2.5.
In my own claat template I have adjusted the links to all my ressources like ccs and js from /codelab-elements/.. to /claat-public/.. and that fixed the issue.

Typo3 problem: internal links not rendered correctly after upgrade to 9.5.11

I have just updated my typo3 site from 8.7.29 to 9.5.11 following the official documentation. From technical point of view everything went fine: the upgrade wizard ran successfully in all the required steps and there are no complains from all the available checking tools (database, extensions,...).
The additional problem was that I had to migrate from css_styled_content to fluid_styled_content (because scc_styled_content is not supported anymore by typo3 9). So I modified my old template to work with fluid. After that everything is fine except the fact that all the internal links are not rendered correctly. In particular in the FE all the internal links are reported as:
<a class="internal-link" href="t3://page?uid=246" title="Opens internal link in current window">My link</a>
So obviously typolinks are not parsed correctly.
Some other users reported a similar problem when the extension frontend editing is used. In my case the problem is still there even if this extension is disabled...
Do you have any idea on what is going on?
Thanks a lot for your help!

AEM 6.3 Classic UI issue in overlay functionality error "TypeError: CQ.security.data is undefined"

In AEM 6.3 classic UI, When i am trying to overlay
/libs/cq/security/widgets/source/widgets/security/data/AclStore.js
to
/apps/cq/security/widgets/source/widgets/security/data/AclStore.js
the following error is coming
TypeError: CQ.security.data is undefined CQ.security.data.UserAclStore
= CQ.Ext.extend(CQ.security.data.AclStore,{
Like this we are getting error for all the overlay js has issue in AEM 6.3
Correct me if I'm wrong but I don't believe the Sling Resource Resolution kicks in when resolving the contents of client libraries.
To extend the OOTB functionality, you need to:
create your own client library with a dependency to the original
be part of the appropriate category
override the functions/objects as you desire
More info: https://docs.adobe.com/docs/en/aem/6-2/develop/extending/customizing-page-authoring-touch.html
The Sling Resource Merger itself seems to be only applicable to Touch UI and I've only ever used it when making changes to the authoring UI (i.e. navigation menus)
The Sling Resource Merger and related methods can only be used with Granite. This also means that it is only appropriate for the touch-optimized UI; in particular overrides defined in this manner are only applicable for the touch-optimized dialog of a component.
source: https://docs.adobe.com/docs/en/aem/6-2/develop/platform/sling-resource-merger.html
I have resolved the issue using the below logic. Clientlibs js file creation logic is differed in AEM 6.3.
In AEM 6.1 Clientlibs js creation is binding the overlaid files from /apps/cq/security/widgets/source/widgets/js.txt and non overlaid files from /libs/cq/security/widgets/source/widgets/js.txt
In AEM 6.3 Clientlibs js creation is binding files from /apps/cq/security/widgets/source/widgets/js.txt only.
Because of this non overlaid files (CQ.security.js) are not binding into clientlibs js(widgets.js) and its gives the below error
TypeError: CQ.security.data is undefined CQ.security.data.UserAclStore
= CQ.Ext.extend(CQ.security.data.AclStore,{
So i have merged the js.txt of
/libs/cq/security/widgets/source/widgets/js.txt into
/apps/cq/security/widgets/source/widgets/js.txt and it's resolved the
issue.
Please provide your answer if there is any other way to resolve this issue.

Umbraco with Windsor Castle error after adding nuPickers plugin

With an existing Umbraco site running fine we added the nuPickers plugin which does not seem to like Castle. In the browser console we are seeing a lot of 404 / 500 errors being generated for the embedded resources within the plugin. (The plugin is a single DLL with css and js files embedded in it.)
The site continues running fine (back and front ends), except for the plugin.
The Event log is showing: "No component for supporting the service nuPickers.EmbeddedResourceController was found"
We have tried route.ignoreroute in our route config, and also adding a handler in web.config, both unsuccessfully, as we do not think the resource requests should be getting to castle?
Any help or pointers gratefully accepted!
Just in case anyone comes across this ticket, we 'solved' this by
Getting all of the embedded resources, (html, js & css - not the classes)
Physically placing them inside the App_plugins folder in the correct structure (as they were being requested),
Renaming the js and css files (by adding the .nu after the file
extension), and,
Adding the following mime types into the web.config
mimeMap fileExtension=".css.nu" mimeType="text/css"
mimeMap fileExtension=".js.nu" mimeType="application/javascript"
Then, everything seems to work - but there MUST be a better solution, surely?

Unstructured When copy and paste a content element in Typo3 neos

I am using Typo3 neos version 1.0.2 Beta
When copy content element and paste it in other content area
It will not page and instead it shows error and the content element with name unstructured is created in node tree.
ExtDirect error: Uncaught exception #1301610453 (ref 20140430165908d46739) - Could not resolve a route and its corresponding URI for the given parameters. This may be due to referring to a not existing package / controller / action while building a link or URI. Refer to log and check the backtrace for more details.
PLease let me know the issue.
Thanks in advance.
There were known issues with copy/paste functionality in Neos 1.0.x.
Please use Neos 1.1 (currently 1.1.0-beta2) where this issue seems to be fixed.