You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #749. Five holes in the URL tier, each found by a real call site.
nt:file is lost on the manual branch.buildNodeUrl has two paths (urlBuilder.ts:80-104 vs :106-112). The /files/<workspace>/<canonicalPath> split lives in JCRNodeWrapperImpl.getUrl(), called only on the second. Pass any of mode, language or extension and the first path hand-concatenates a render URL for a binary: <JLink node={pdf} language="fr"> yields /cms/render/live/fr/sites/x/files/doc.pdf.html. Either reproduce the split on the manual branch or make file targets always take the getUrl() path.
absolute option. Jahia/luxe-jahia-demo's og:url and og:image drop out of the JS API and call the Java JCRNodeWrapper.getAbsoluteUrl(request). Note a cross-site absolute URL needs the target site's server name, not the request's.
View/template segment (<path>.<view>.html). Core's jnt:componentLink and jnt:siteLink both need it; today the only route is extension: ".myView.html" as a string hack.
mode: "edit" emits /cms/edit/…. The page builder is served from /cms/editframe/…. Jahia/jahia.com already patches this by hand: buildNodeUrl(target).replace("/cms/edit/", "/cms/editframe/") (src/templates/NavBar.tsx:83), with a comment. /cms/edit/ works only because EditModeFilter rewrites it — and the same filter deletes or staples on target while it is there.
args JSDoc.JCRNodeWrapperImpl.getUrl(List<String>) returns getUrl() — core discards the arguments on a plain node. The JSDoc documents a silent no-op as a feature. Same fix shape as Fix misleading args JSDoc; document getThumbnailUrl #736.
Also worth a line in the guide: an href built with a literal default workspace survives into a live page, because the live outbound rules only match /cms/render/live/….
Part of #749. Five holes in the URL tier, each found by a real call site.
nt:fileis lost on the manual branch.buildNodeUrlhas two paths (urlBuilder.ts:80-104vs:106-112). The/files/<workspace>/<canonicalPath>split lives inJCRNodeWrapperImpl.getUrl(), called only on the second. Pass any ofmode,languageorextensionand the first path hand-concatenates a render URL for a binary:<JLink node={pdf} language="fr">yields/cms/render/live/fr/sites/x/files/doc.pdf.html. Either reproduce the split on the manual branch or make file targets always take thegetUrl()path.absoluteoption. Jahia/luxe-jahia-demo'sog:urlandog:imagedrop out of the JS API and call the JavaJCRNodeWrapper.getAbsoluteUrl(request). Note a cross-site absolute URL needs the target site's server name, not the request's.<path>.<view>.html). Core'sjnt:componentLinkandjnt:siteLinkboth need it; today the only route isextension: ".myView.html"as a string hack.mode: "edit"emits/cms/edit/…. The page builder is served from/cms/editframe/…. Jahia/jahia.com already patches this by hand:buildNodeUrl(target).replace("/cms/edit/", "/cms/editframe/")(src/templates/NavBar.tsx:83), with a comment./cms/edit/works only becauseEditModeFilterrewrites it — and the same filter deletes or staples ontargetwhile it is there.argsJSDoc.JCRNodeWrapperImpl.getUrl(List<String>)returnsgetUrl()— core discards the arguments on a plain node. The JSDoc documents a silent no-op as a feature. Same fix shape as Fix misleading args JSDoc; document getThumbnailUrl #736.Also worth a line in the guide: an href built with a literal
defaultworkspace survives into a live page, because the live outbound rules only match/cms/render/live/….