Closed cqsapient closed 4 years ago
The two calls originate only on dispatcher - on publish, when cq:pagemodel_root_url is populated, only once call(rightly so) on the root page is sent to fetch the model, but in dispatcher with the shortened url and without .html , two calls originate. Please let me know if a cleaner solution is available.
The AEM Project Archetype can now be used to generate SPA projects and includes a fix for this issue. Please use that project as a reference.
What was the exact fix for this issue in the new archetype. We are seeing a similar issue in our older project. It would be of great help if you can share the details of exact fix for the issue.
@samuelmeuli do you recall what was the actual fix?
It was fixed in this PR: https://github.com/adobe/aem-spa-project-archetype/pull/131
@samuelmeuli We are facing similar issue for our SPA page in dispatcher, although we allowed everyone access to /conf, still the content in meta for cq:pagemodel_root_url
<meta property="cq:pagemodel_root_url" content="/content/en-us/categories.model.json"/>
If from cache I remove this content value manually it fixes and loads the SPA. Any idea how to look/debug further. Appreciate your help here.
When there is no access to /conf folder ( and hence the page policy) to anonymous user on publish instance, then content attribute is empty as it gets populated via HierarchyPageImpl and code is not able to access conf folder
<meta property="cq:pagemodel_root_url"/>
so to fetch the model json it accesses the current page's model
But when anonymous user has access to 'conf' folder, then it is populated
<meta property="cq:pagemodel_root_url" content="/content/mysite/en.model.json"/>
and now there are two calls to for model.json
because of these two calls nothing gets loaded in the app. I know the call is originated by page model manager, but the app should load in case of two calls as well, or the page specific call should not be initiated when rootmodel url is populated.
For now I removed the content attribute in rootmodel meta tag altogether, please let me know the better and appropriate solution.