@jahia/agentic 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/claude/.claude/rules/jahia.md +13 -40
- package/dist/claude/.claude/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/claude/.claude/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/claude/.claude/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/claude/.claude/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/claude/.claude/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/claude/.claude/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/claude/.claude/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/claude/.claude/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/claude/.claude/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/claude/CLAUDE.md +14 -41
- package/dist/codex/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/codex/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/codex/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/codex/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/codex/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/codex/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/codex/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/codex/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/codex/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/codex/AGENTS.md +15 -42
- package/dist/copilot/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/copilot/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/copilot/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/copilot/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/copilot/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/copilot/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/copilot/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/copilot/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/copilot/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/copilot/AGENTS.md +15 -42
- package/dist/cursor/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/cursor/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/cursor/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/cursor/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/cursor/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/cursor/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/cursor/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/cursor/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/cursor/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/cursor/.cursor/rules/jahia.mdc +13 -40
- package/dist/gemini/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/gemini/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/gemini/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/gemini/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/gemini/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/gemini/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/gemini/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/gemini/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/gemini/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/gemini/AGENTS.md +15 -42
- package/dist/gemini/GEMINI.md +2 -2
- package/dist/index.js +13 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/opencode/.agents/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/opencode/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/opencode/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/opencode/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/opencode/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/opencode/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/opencode/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/opencode/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/opencode/AGENTS.md +15 -42
- package/dist/windsurf/.windsurf/rules/jahia.md +13 -40
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/SKILL.md +94 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-area-types.md +55 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-authoring-experience.md +92 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-child-nodes.md +74 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-jahia-mixins.md +510 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-modeling-decisions.md +87 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-numbers-dates.md +92 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-string-selectors.md +133 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/cnd-syntax.md +119 -0
- package/dist/windsurf/.windsurf/skills/jahia-cnd-author/references/types-ts-mapping.md +73 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +5 -265
- package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +15 -7
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/windsurf/AGENTS.md +15 -42
- package/package.json +1 -1
- package/dist/claude/.claude/skills/jahia/SKILL.md +0 -144
- package/dist/claude/.claude/skills/jahia-content/SKILL.md +0 -157
- package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/claude/.claude/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/claude/.claude/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/claude/.claude/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/claude/.claude/skills/jahia-dev/SKILL.md +0 -124
- package/dist/claude/.claude/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/claude/.claude/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/claude/.claude/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/claude/.claude/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/claude/.claude/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/claude/.claude/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/claude/.claude/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/claude/.claude/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/claude/.claude/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/claude/.claude/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/claude/.claude/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/claude/.claude/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/claude/.claude/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/claude/.claude/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/claude/.claude/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/claude/.claude/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/claude/.claude/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/claude/.claude/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/claude/.claude/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/claude/.claude/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/claude/.claude/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/codex/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/codex/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/codex/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/codex/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/codex/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/codex/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/codex/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/codex/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/codex/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/codex/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/codex/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/codex/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/codex/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/codex/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/codex/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/codex/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/codex/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/codex/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/codex/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/codex/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/codex/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/codex/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/codex/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/codex/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/codex/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/codex/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/codex/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/copilot/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/copilot/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/copilot/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/copilot/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/copilot/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/copilot/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/copilot/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/copilot/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/copilot/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/copilot/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/copilot/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/copilot/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/copilot/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/copilot/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/copilot/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/copilot/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/copilot/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/copilot/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/copilot/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/copilot/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/copilot/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/copilot/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/copilot/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/cursor/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/cursor/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/cursor/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/cursor/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/cursor/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/cursor/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/cursor/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/cursor/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/cursor/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/cursor/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/cursor/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/cursor/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/cursor/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/cursor/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/cursor/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/cursor/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/cursor/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/cursor/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/cursor/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/cursor/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/cursor/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/cursor/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/cursor/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/gemini/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/gemini/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/gemini/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/gemini/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/gemini/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/gemini/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/gemini/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/gemini/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/gemini/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/gemini/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/gemini/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/gemini/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/gemini/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/gemini/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/gemini/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/gemini/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/gemini/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/gemini/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/gemini/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/gemini/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/gemini/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/gemini/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/gemini/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/opencode/.agents/skills/jahia/SKILL.md +0 -144
- package/dist/opencode/.agents/skills/jahia-content/SKILL.md +0 -157
- package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/opencode/.agents/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/opencode/.agents/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/opencode/.agents/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/opencode/.agents/skills/jahia-dev/SKILL.md +0 -124
- package/dist/opencode/.agents/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/opencode/.agents/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/opencode/.agents/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/opencode/.agents/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/opencode/.agents/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/opencode/.agents/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/opencode/.agents/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/opencode/.agents/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/opencode/.agents/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/opencode/.agents/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/opencode/.agents/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/opencode/.agents/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/opencode/.agents/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/opencode/.agents/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/opencode/.agents/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/opencode/.agents/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/opencode/.agents/skills/jahia-review-java/references/code-review-output.md +0 -121
- package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +0 -144
- package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +0 -157
- package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +0 -359
- package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +0 -255
- package/dist/windsurf/.windsurf/skills/jahia-content-media-upload/SKILL.md +0 -197
- package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +0 -231
- package/dist/windsurf/.windsurf/skills/jahia-content-organize/SKILL.md +0 -209
- package/dist/windsurf/.windsurf/skills/jahia-content-publish/SKILL.md +0 -181
- package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +0 -174
- package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +0 -226
- package/dist/windsurf/.windsurf/skills/jahia-dev/SKILL.md +0 -124
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/SKILL.md +0 -52
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/authentication.md +0 -484
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/graphql.md +0 -657
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/jcr-api.md +0 -465
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/security.md +0 -541
- package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +0 -265
- package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +0 -536
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/SKILL.md +0 -110
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/backend.md +0 -331
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/content-types.md +0 -273
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/modules.md +0 -218
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/osgi.md +0 -208
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/rendering.md +0 -191
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/ui-extensions.md +0 -344
- package/dist/windsurf/.windsurf/skills/jahia-dev-osgi-module/SKILL.md +0 -297
- package/dist/windsurf/.windsurf/skills/jahia-dev-ui-extension/SKILL.md +0 -559
- package/dist/windsurf/.windsurf/skills/jahia-java-concurrency/SKILL.md +0 -308
- package/dist/windsurf/.windsurf/skills/jahia-java-jcr/SKILL.md +0 -153
- package/dist/windsurf/.windsurf/skills/jahia-java-osgi/SKILL.md +0 -134
- package/dist/windsurf/.windsurf/skills/jahia-java-persistence/SKILL.md +0 -177
- package/dist/windsurf/.windsurf/skills/jahia-java-security/SKILL.md +0 -84
- package/dist/windsurf/.windsurf/skills/jahia-review-java/SKILL.md +0 -131
- package/dist/windsurf/.windsurf/skills/jahia-review-java/references/code-review-output.md +0 -121
|
@@ -1,331 +0,0 @@
|
|
|
1
|
-
# Jahia Backend Capabilities Reference
|
|
2
|
-
|
|
3
|
-
## Table of Contents
|
|
4
|
-
1. [Drools rule engine](#1-drools-rule-engine)
|
|
5
|
-
2. [JCR event listeners](#2-jcr-event-listeners)
|
|
6
|
-
3. [JCR SQL2 cheat sheet](#3-jcr-sql2-cheat-sheet)
|
|
7
|
-
4. [Queries and search indexing](#4-queries-and-search-indexing)
|
|
8
|
-
5. [External data sources (Provider API)](#5-external-data-sources-provider-api)
|
|
9
|
-
6. [Permissions and roles](#6-permissions-and-roles)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## 1. Drools rule engine
|
|
14
|
-
|
|
15
|
-
Jahia uses JBoss Drools 6 for a rules engine that reacts to JCR events.
|
|
16
|
-
|
|
17
|
-
### Rule file locations
|
|
18
|
-
|
|
19
|
-
| File | Scope |
|
|
20
|
-
|------|-------|
|
|
21
|
-
| `META-INF/rules.drl` | All workspaces (default and live) |
|
|
22
|
-
| `META-INF/default-rules.drl` | Edit/preview workspace only |
|
|
23
|
-
| `META-INF/live-rules.drl` | Live workspace only |
|
|
24
|
-
| `META-INF/rules.dsl` | Custom DSL extensions |
|
|
25
|
-
|
|
26
|
-
### Basic rule structure
|
|
27
|
-
|
|
28
|
-
```drools
|
|
29
|
-
package org.example.mymodule.rules
|
|
30
|
-
|
|
31
|
-
import org.jahia.services.content.rules.*
|
|
32
|
-
import org.jahia.services.content.JCRContentUtils
|
|
33
|
-
import org.slf4j.Logger
|
|
34
|
-
|
|
35
|
-
global User user
|
|
36
|
-
global Service service
|
|
37
|
-
global Logger logger
|
|
38
|
-
global MyService myService
|
|
39
|
-
|
|
40
|
-
rule "Log new article creation"
|
|
41
|
-
when
|
|
42
|
-
A new node is created
|
|
43
|
-
- the node has the type jnt:article
|
|
44
|
-
then
|
|
45
|
-
Log "New article created: " + node.getName() at INFO level
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
rule "Notify on page publish"
|
|
49
|
-
salience 100
|
|
50
|
-
when
|
|
51
|
-
A node is published
|
|
52
|
-
- the node has the type jnt:page
|
|
53
|
-
then
|
|
54
|
-
myService.notifyPublish(node)
|
|
55
|
-
end
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**Critical rules:** Rule titles are globally unique across the platform — never reuse rule names between modules.
|
|
59
|
-
|
|
60
|
-
**Package names:** Use a unique package per module — do not share package names across modules.
|
|
61
|
-
|
|
62
|
-
### Built-in DSL conditions (excerpt)
|
|
63
|
-
|
|
64
|
-
```drools
|
|
65
|
-
A new node is created # AddedNodeFact
|
|
66
|
-
A node is published # PublishedNodeFact
|
|
67
|
-
A node is deleted # DeletedNodeFact
|
|
68
|
-
A node is modified # ChangedPropertyFact
|
|
69
|
-
- the node has the type {type} # Checks primaryType or mixin
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### Built-in global objects
|
|
73
|
-
|
|
74
|
-
| Global | Type | Description |
|
|
75
|
-
|--------|------|-------------|
|
|
76
|
-
| `user` | `org.jahia.services.content.rules.User` | Current user context |
|
|
77
|
-
| `service` | `org.jahia.services.content.rules.Service` | Core JCR service shortcuts |
|
|
78
|
-
| `logger` | `org.slf4j.Logger` | SLF4J logger |
|
|
79
|
-
| `imageService` | `org.jahia.services.content.rules.ImageService` | Image operations |
|
|
80
|
-
| `extractionService` | `org.jahia.services.content.rules.ExtractionService` | Content extraction |
|
|
81
|
-
|
|
82
|
-
### Registering a custom service as a rules global
|
|
83
|
-
|
|
84
|
-
Step 1 — Declare the service component:
|
|
85
|
-
```java
|
|
86
|
-
@Component(service = MyService.class)
|
|
87
|
-
public class MyService {
|
|
88
|
-
public void doSomething(AddedNodeFact node) throws RepositoryException { }
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Step 2 — Register as a global rules object:
|
|
93
|
-
```java
|
|
94
|
-
@Component(service = ModuleGlobalObject.class)
|
|
95
|
-
public class MyRulesGlobalObjects extends ModuleGlobalObject {
|
|
96
|
-
@Reference
|
|
97
|
-
public void setMyService(MyService myService) {
|
|
98
|
-
getGlobalRulesObject().put("myService", myService);
|
|
99
|
-
}
|
|
100
|
-
public void unsetMyService(MyService myService) {
|
|
101
|
-
getGlobalRulesObject().remove("myService");
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Step 3 — Declare global and import in rules.drl:
|
|
107
|
-
```drools
|
|
108
|
-
import org.example.mymodule.MyService
|
|
109
|
-
global MyService myService
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
**Important:** Export the package containing `MyService` so other modules can import it in DRL files.
|
|
113
|
-
|
|
114
|
-
### Custom DSL extensions (rules.dsl)
|
|
115
|
-
|
|
116
|
-
```drools
|
|
117
|
-
[condition][]A new article is created=node : AddedNodeFact (types contains "jnt:article")
|
|
118
|
-
[consequence][]Notify publish for {node}=myService.notifyPublish({node});
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## 2. JCR event listeners
|
|
124
|
-
|
|
125
|
-
Extend `DefaultEventListener` to react to JCR node events:
|
|
126
|
-
|
|
127
|
-
```java
|
|
128
|
-
public class MyJCREventListener extends DefaultEventListener {
|
|
129
|
-
|
|
130
|
-
@Override
|
|
131
|
-
public int getEventTypes() {
|
|
132
|
-
return Event.NODE_ADDED | Event.NODE_REMOVED | Event.PROPERTY_CHANGED;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
@Override
|
|
136
|
-
public String getPath() {
|
|
137
|
-
return "/sites";
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
@Override
|
|
141
|
-
public void onEvent(EventIterator events) {
|
|
142
|
-
while (events.hasNext()) {
|
|
143
|
-
Event event = events.nextEvent();
|
|
144
|
-
try {
|
|
145
|
-
String path = event.getPath();
|
|
146
|
-
} catch (RepositoryException e) {
|
|
147
|
-
logger.error("Error processing event", e);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
**JCR Event types:** `Event.NODE_ADDED`, `Event.NODE_REMOVED`, `Event.PROPERTY_ADDED`, `Event.PROPERTY_CHANGED`, `Event.PROPERTY_REMOVED`, `Event.NODE_MOVED`
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## 3. JCR SQL2 cheat sheet
|
|
159
|
-
|
|
160
|
-
JCR SQL2 syntax: `SELECT * FROM [nodeType] AS alias WHERE conditions ORDER BY alias.[prop]`
|
|
161
|
-
|
|
162
|
-
### Querying node types
|
|
163
|
-
|
|
164
|
-
```sql
|
|
165
|
-
-- Prefer jmix:searchable over nt:base for broad queries
|
|
166
|
-
SELECT * FROM [jmix:searchable] AS node
|
|
167
|
-
|
|
168
|
-
SELECT * FROM [jnt:page] AS page
|
|
169
|
-
SELECT * FROM [jnt:file] AS file
|
|
170
|
-
SELECT * FROM [jnt:article] AS article
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
### Path constraints (always include for performance)
|
|
174
|
-
|
|
175
|
-
```sql
|
|
176
|
-
SELECT * FROM [jnt:article] AS node
|
|
177
|
-
WHERE ISDESCENDANTNODE(node, '/sites/mySite')
|
|
178
|
-
|
|
179
|
-
SELECT * FROM [jnt:page] AS child
|
|
180
|
-
WHERE ISCHILDNODE(child, '/sites/mySite/home')
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### String matching
|
|
184
|
-
|
|
185
|
-
```sql
|
|
186
|
-
SELECT * FROM [jnt:content] AS node WHERE node.[jcr:title] = 'My Title'
|
|
187
|
-
SELECT * FROM [jnt:content] AS node WHERE node.[jcr:title] LIKE '%news%'
|
|
188
|
-
SELECT * FROM [jnt:page] AS node WHERE LOWER(node.[jcr:title]) = 'home'
|
|
189
|
-
SELECT * FROM [jnt:page] AS page WHERE page.[jcr:title] IS NOT NULL
|
|
190
|
-
SELECT * FROM [jnt:content] AS node WHERE CONTAINS(node.*, 'digital')
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### Property and type queries
|
|
194
|
-
|
|
195
|
-
```sql
|
|
196
|
-
SELECT * FROM [jnt:page] AS page WHERE page.[j:published] > CAST('true' AS BOOLEAN)
|
|
197
|
-
SELECT * FROM [jnt:page] AS page
|
|
198
|
-
WHERE page.[j:published] > CAST('2021-01-01T00:00:01.000Z' AS DATE)
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### Ordering and templates
|
|
202
|
-
|
|
203
|
-
```sql
|
|
204
|
-
SELECT * FROM [jnt:page] AS page ORDER BY page.[j:lastModified] DESC
|
|
205
|
-
SELECT * FROM [jnt:page] AS page WHERE page.[j:templateName] = 'home'
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### Non-query lookups (use instead of queries for performance)
|
|
209
|
-
|
|
210
|
-
```java
|
|
211
|
-
// By UUID (preferred over UUID query)
|
|
212
|
-
session.getNodeByIdentifier("the-uuid-string");
|
|
213
|
-
|
|
214
|
-
// Set result limit (no LIMIT keyword in JCR SQL2)
|
|
215
|
-
QueryObjectModelImpl qom = ...;
|
|
216
|
-
qom.setLimit(20);
|
|
217
|
-
qom.setOffset(0);
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## 4. Queries and search indexing
|
|
223
|
-
|
|
224
|
-
### Executing a JCR SQL2 query in Java
|
|
225
|
-
|
|
226
|
-
```java
|
|
227
|
-
JCRSessionWrapper session = JCRSessionFactory.getInstance()
|
|
228
|
-
.getCurrentUserSession("default", Locale.ENGLISH);
|
|
229
|
-
|
|
230
|
-
QueryManager queryManager = session.getWorkspace().getQueryManager();
|
|
231
|
-
Query query = queryManager.createQuery(
|
|
232
|
-
"SELECT * FROM [jnt:article] WHERE ISDESCENDANTNODE('/sites/mySite')",
|
|
233
|
-
Query.JCR_SQL2
|
|
234
|
-
);
|
|
235
|
-
QueryResult result = query.execute();
|
|
236
|
-
NodeIterator nodes = result.getNodes();
|
|
237
|
-
while (nodes.hasNext()) {
|
|
238
|
-
JCRNodeWrapper node = (JCRNodeWrapper) nodes.nextNode();
|
|
239
|
-
}
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
### Index tuning via CND keywords
|
|
243
|
-
|
|
244
|
-
```cnd
|
|
245
|
-
- title (string) i18n boost=3.0 # Higher search relevance
|
|
246
|
-
- code (string) analyzer=keyword # Index as single token
|
|
247
|
-
- internalNotes (string) nofulltext # Indexed but not in full-text search
|
|
248
|
-
- binaryData (binary) indexed=no # Not indexed at all
|
|
249
|
-
- category (string) facetable # Enables faceted search
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## 5. External data sources (Provider API)
|
|
255
|
-
|
|
256
|
-
The External Provider API allows exposing non-JCR data as virtual JCR nodes.
|
|
257
|
-
|
|
258
|
-
### Key interfaces
|
|
259
|
-
|
|
260
|
-
| Interface | Purpose |
|
|
261
|
-
|-----------|---------|
|
|
262
|
-
| `ExternalDataSource` | Main interface to implement for external data |
|
|
263
|
-
| `ExternalDataSource.Searchable` | Add search support |
|
|
264
|
-
| `ExternalDataSource.Writable` | Add write support |
|
|
265
|
-
| `ExternalContentStoreProvider` | OSGi service to mount the provider |
|
|
266
|
-
|
|
267
|
-
### Minimal ExternalDataSource implementation
|
|
268
|
-
|
|
269
|
-
```java
|
|
270
|
-
@Component(service = ExternalDataSource.class)
|
|
271
|
-
public class MyExternalDataSource implements ExternalDataSource {
|
|
272
|
-
|
|
273
|
-
@Override
|
|
274
|
-
public List<String> getChildren(String path) throws PathNotFoundException {
|
|
275
|
-
return Arrays.asList("item1", "item2");
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
@Override
|
|
279
|
-
public ExternalData getItemByPath(String path) throws PathNotFoundException {
|
|
280
|
-
ExternalData data = new ExternalData("unique-id", path, "jnt:content",
|
|
281
|
-
new HashMap<String, String[]>());
|
|
282
|
-
data.getProperties().put("jcr:title", new String[]{"My Title"});
|
|
283
|
-
return data;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
@Override
|
|
287
|
-
public ExternalData getItemByIdentifier(String identifier) throws ItemNotFoundException {
|
|
288
|
-
return null;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
@Override
|
|
292
|
-
public Set<String> getSupportedNodeTypes() {
|
|
293
|
-
return Collections.singleton("jnt:content");
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
@Override public boolean isSupportsUuid() { return false; }
|
|
297
|
-
@Override public boolean isSupportsHierarchicalIdentifiers() { return false; }
|
|
298
|
-
@Override public boolean itemExists(String path) { return true; }
|
|
299
|
-
}
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
---
|
|
303
|
-
|
|
304
|
-
## 6. Permissions and roles
|
|
305
|
-
|
|
306
|
-
### Permission hierarchy
|
|
307
|
-
|
|
308
|
-
| Level | Description |
|
|
309
|
-
|-------|-------------|
|
|
310
|
-
| Server level | Global roles (e.g., Server Administrator) |
|
|
311
|
-
| Site level | Site-specific roles (e.g., Site Administrator, Editor) |
|
|
312
|
-
| Node level | Per-node ACL inheritance |
|
|
313
|
-
|
|
314
|
-
### Checking permissions in code
|
|
315
|
-
|
|
316
|
-
```java
|
|
317
|
-
if (currentNode.hasPermission("jcr:write")) { }
|
|
318
|
-
|
|
319
|
-
// In JSP
|
|
320
|
-
<c:if test="${jcr:hasPermission(currentNode, 'jcr:write')}">...</c:if>
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
### Standard JCR permissions
|
|
324
|
-
|
|
325
|
-
| Permission | Description |
|
|
326
|
-
|------------|-------------|
|
|
327
|
-
| `jcr:read` | Read node and properties |
|
|
328
|
-
| `jcr:write` | Modify properties and children |
|
|
329
|
-
| `jcr:addChildNodes` | Add child nodes |
|
|
330
|
-
| `jcr:removeNode` | Delete the node |
|
|
331
|
-
| `jcr:modifyProperties` | Modify properties |
|
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
# Jahia Content Types (CND) Reference
|
|
2
|
-
|
|
3
|
-
## Table of Contents
|
|
4
|
-
1. [CND file basics](#1-cnd-file-basics)
|
|
5
|
-
2. [Property types and selectors](#2-property-types-and-selectors)
|
|
6
|
-
3. [Property keywords](#3-property-keywords)
|
|
7
|
-
4. [Child node declarations](#4-child-node-declarations)
|
|
8
|
-
5. [Mixins](#5-mixins)
|
|
9
|
-
6. [Key built-in mixins reference](#6-key-built-in-mixins-reference)
|
|
10
|
-
7. [Choicelist initializers](#7-choicelist-initializers)
|
|
11
|
-
8. [Enhancing content types for editors](#8-enhancing-content-types-for-editors)
|
|
12
|
-
9. [Modifying existing definitions](#9-modifying-existing-definitions)
|
|
13
|
-
10. [Module definition checks](#10-module-definition-checks)
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## 1. CND file basics
|
|
18
|
-
|
|
19
|
-
CND = Compact Namespace and Node Type Definition (Apache Jackrabbit standard).
|
|
20
|
-
|
|
21
|
-
File location: `src/main/resources/META-INF/definitions.cnd`
|
|
22
|
-
|
|
23
|
-
### Namespace declaration (required first)
|
|
24
|
-
```cnd
|
|
25
|
-
<ns = 'http://www.example.org/ns/1.0'>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Jahia built-in namespaces:
|
|
29
|
-
- `<jnt = 'http://www.jahia.org/jahia/nt/1.0'>` — node types
|
|
30
|
-
- `<jmix = 'http://www.jahia.org/jahia/mix/1.0'>` — mixins
|
|
31
|
-
- `<j = 'http://www.jahia.org/jahia/1.0'>` — core properties
|
|
32
|
-
- `<mix = 'http://www.jcp.org/jcr/mix/1.0'>` — JCR standard mixins
|
|
33
|
-
|
|
34
|
-
### Minimal content type definition
|
|
35
|
-
```cnd
|
|
36
|
-
<myns = 'http://www.example.org/myns/1.0'>
|
|
37
|
-
|
|
38
|
-
[myns:myContent] > jnt:content, jmix:editorialContent
|
|
39
|
-
- title (string) i18n mandatory
|
|
40
|
-
- body (string, richtext) i18n
|
|
41
|
-
- publishDate (date)
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
All user-editable content types MUST inherit from `jnt:content`.
|
|
45
|
-
Add `jmix:editorialContent` to make the type visible in jContent.
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## 2. Property types and selectors
|
|
50
|
-
|
|
51
|
-
### Base property types
|
|
52
|
-
|
|
53
|
-
| CND type | Content Editor renders as |
|
|
54
|
-
|----------|--------------------------|
|
|
55
|
-
| `string` | Text input |
|
|
56
|
-
| `long` | Number field (integer) |
|
|
57
|
-
| `double` | Number field (decimal) |
|
|
58
|
-
| `boolean` | Checkbox |
|
|
59
|
-
| `date` | Date picker |
|
|
60
|
-
| `weakreference` | Node picker (UUID reference, not enforced) |
|
|
61
|
-
|
|
62
|
-
### String selectors
|
|
63
|
-
|
|
64
|
-
| Selector | Renders as |
|
|
65
|
-
|----------|-----------|
|
|
66
|
-
| `string` | Plain text input |
|
|
67
|
-
| `string, textarea` | Multi-line textarea |
|
|
68
|
-
| `string, richtext` | CKEditor WYSIWYG |
|
|
69
|
-
| `string, choicelist` | Dropdown list |
|
|
70
|
-
| `string, color` | Color picker |
|
|
71
|
-
|
|
72
|
-
### Date selectors
|
|
73
|
-
|
|
74
|
-
| Selector | Renders as |
|
|
75
|
-
|----------|-----------|
|
|
76
|
-
| `date, datetimepicker` | Date + time picker |
|
|
77
|
-
| `date, datepicker` | Date-only picker |
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## 3. Property keywords
|
|
82
|
-
|
|
83
|
-
| Keyword | Effect |
|
|
84
|
-
|---------|--------|
|
|
85
|
-
| `i18n` / `internationalized` | Property has separate value per language |
|
|
86
|
-
| `mandatory` | Field required before saving |
|
|
87
|
-
| `multiple` | Allows multiple values |
|
|
88
|
-
| `hidden` | Not shown in UI; only set programmatically |
|
|
89
|
-
| `protected` | Read-only in UI; only set programmatically |
|
|
90
|
-
| `autocreated` | Automatically created with default or blank value |
|
|
91
|
-
| `primary` | Used as node label in JCR browser |
|
|
92
|
-
| `indexed=no` | Not indexed for search |
|
|
93
|
-
| `nofulltext` | Indexed but excluded from full-text search |
|
|
94
|
-
| `boost=N` | Search weight multiplier (1.0–5.0) |
|
|
95
|
-
| `analyzer=keyword` | Indexed word-by-word |
|
|
96
|
-
| `facetable` | Enables faceted search on this property |
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## 4. Child node declarations
|
|
101
|
-
|
|
102
|
-
```cnd
|
|
103
|
-
[myns:article] > jnt:content, jmix:editorialContent
|
|
104
|
-
+ * (jmix:droppableContent) = jmix:droppableContent version # Any droppable content
|
|
105
|
-
+ media (jnt:file) # Single named child
|
|
106
|
-
+ * (jnt:paragraph) # Multiple children
|
|
107
|
-
+ section1 (jnt:contentList) # Named child list
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 5. Mixins
|
|
113
|
-
|
|
114
|
-
A mixin adds properties/child nodes to a type without inheritance conflicts:
|
|
115
|
-
|
|
116
|
-
```cnd
|
|
117
|
-
[myns:myMixin] mixin
|
|
118
|
-
- extraProp (string) i18n
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
Apply to a content type:
|
|
122
|
-
```cnd
|
|
123
|
-
[myns:article] > jnt:content, jmix:editorialContent, myns:myMixin
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
Create a custom component category:
|
|
127
|
-
```cnd
|
|
128
|
-
<mymix = 'http://example.org/mymix/1.0'>
|
|
129
|
-
|
|
130
|
-
[mymix:myComponents] > jmix:droppableContent mixin
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## 6. Key built-in mixins reference
|
|
136
|
-
|
|
137
|
-
### Content visibility / organization
|
|
138
|
-
|
|
139
|
-
| Mixin | Purpose |
|
|
140
|
-
|-------|---------|
|
|
141
|
-
| `jmix:editorialContent` | Makes type visible in jContent; enables versioning |
|
|
142
|
-
| `jmix:droppableContent` | Base for component category folders |
|
|
143
|
-
| `jmix:list` | Declares a list component with built-in mechanisms |
|
|
144
|
-
| `mix:title` | Syncs system name with `jcr:title` |
|
|
145
|
-
| `jmix:mainResource` | Enables full-page display |
|
|
146
|
-
| `jmix:hiddenNode` | Node not visible in Jahia managers |
|
|
147
|
-
|
|
148
|
-
### Content behavior
|
|
149
|
-
|
|
150
|
-
| Mixin | Purpose |
|
|
151
|
-
|-------|---------|
|
|
152
|
-
| `jmix:cache` | Exposes cache expiration controls in the editor UI |
|
|
153
|
-
| `jmix:bindedComponent` | Defines a component that binds/links to another component |
|
|
154
|
-
|
|
155
|
-
### Component categories (out-of-the-box)
|
|
156
|
-
|
|
157
|
-
| Mixin | Component folder |
|
|
158
|
-
|-------|-----------------|
|
|
159
|
-
| `jmix:basicContent` | Content > Basic |
|
|
160
|
-
| `jmix:multimediaContent` | Content > Multimedia |
|
|
161
|
-
| `jmix:structuredContent` | Content > Structured |
|
|
162
|
-
| `jmix:listContent` | Lists |
|
|
163
|
-
| `jmix:siteComponent` | Site Components |
|
|
164
|
-
| `jmix:editorialContent` | All editorial content |
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## 7. Choicelist initializers
|
|
169
|
-
|
|
170
|
-
### Built-in initializers
|
|
171
|
-
|
|
172
|
-
```cnd
|
|
173
|
-
# Static values from resource bundle
|
|
174
|
-
- contract (string, choicelist[resourceBundle]) < contract1, contract2, contract3
|
|
175
|
-
|
|
176
|
-
# JCR node tree
|
|
177
|
-
- theme (weakreference, choicelist[nodes='$currentSite/files/themes;jnt:folder'])
|
|
178
|
-
- category (weakreference, choicelist[nodes='/sites/systemsite/categories;jnt:category'])
|
|
179
|
-
|
|
180
|
-
# Chained initializers
|
|
181
|
-
- view (string, choicelist[templates,resourceBundle,image])
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
**Resource bundle keys format:**
|
|
185
|
-
```properties
|
|
186
|
-
jnt_article.contract.contract1 = Fixed-term contract
|
|
187
|
-
jnt_article.contract.contract2 = Indefinite duration
|
|
188
|
-
```
|
|
189
|
-
Format: `{nodeTypeName_with_colon_as_underscore}.{propertyName}.{value} = Label`
|
|
190
|
-
|
|
191
|
-
### Custom choicelist initializer
|
|
192
|
-
|
|
193
|
-
```java
|
|
194
|
-
@Component(service = {ModuleChoiceListInitializer.class})
|
|
195
|
-
public class MyChoiceListInitializer implements ModuleChoiceListInitializer {
|
|
196
|
-
|
|
197
|
-
@Override
|
|
198
|
-
public String getKey() {
|
|
199
|
-
return "myCustomList"; // Used in CND as choicelist[myCustomList]
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
@Override
|
|
203
|
-
public List<ChoiceListValue> getChoiceListValues(
|
|
204
|
-
ExtendedPropertyDefinition epd, String param,
|
|
205
|
-
List<ChoiceListValue> values, Locale locale,
|
|
206
|
-
Map<String, Object> context) {
|
|
207
|
-
List<ChoiceListValue> result = new ArrayList<>();
|
|
208
|
-
result.add(new ChoiceListValue("Display Label", "storedValue"));
|
|
209
|
-
return result;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## 8. Enhancing content types for editors
|
|
217
|
-
|
|
218
|
-
### Labels and i18n
|
|
219
|
-
|
|
220
|
-
```properties
|
|
221
|
-
# In src/main/resources/resources/ModuleName.properties
|
|
222
|
-
myns_myContent.title = Title
|
|
223
|
-
myns_myContent.body = Body text
|
|
224
|
-
myns_myContent.publishDate = Publication date
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
### Icons
|
|
228
|
-
Place at `src/main/resources/icons/myns_myContent.png` (replace `:` with `_`).
|
|
229
|
-
|
|
230
|
-
### Constraints
|
|
231
|
-
```cnd
|
|
232
|
-
- size (string) < 'small', 'medium', 'large'
|
|
233
|
-
- rating (long) < '[1,5]'
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
## 9. Modifying existing definitions
|
|
239
|
-
|
|
240
|
-
### Safe modifications (non-destructive)
|
|
241
|
-
- Adding new optional properties to an existing type
|
|
242
|
-
- Adding a new mixin to an existing type
|
|
243
|
-
- Adding new child node definitions
|
|
244
|
-
- Changing property constraints or default values
|
|
245
|
-
|
|
246
|
-
### Dangerous modifications (require migration)
|
|
247
|
-
- Renaming a property
|
|
248
|
-
- Changing a property type (e.g., string to date)
|
|
249
|
-
- Removing a property that has existing content
|
|
250
|
-
- Changing the supertype hierarchy
|
|
251
|
-
|
|
252
|
-
### Overriding built-in definitions
|
|
253
|
-
|
|
254
|
-
```cnd
|
|
255
|
-
[myns:pageExtension] mixin
|
|
256
|
-
extends = jnt:page
|
|
257
|
-
- myCustomProp (string) i18n
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
### Migration scripts
|
|
261
|
-
|
|
262
|
-
Groovy scripts in `src/main/resources/META-INF/patches/` run once on deployment.
|
|
263
|
-
Naming convention: `7.0.0.0-SNAPSHOT-1_myMigration.groovy`
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
## 10. Module definition checks
|
|
268
|
-
|
|
269
|
-
When deploying a module, Jahia checks CND changes. To bypass during development (NOT for production):
|
|
270
|
-
```properties
|
|
271
|
-
# In jahia.properties
|
|
272
|
-
jahia.jackrabbit.overrideNodeTypes = true
|
|
273
|
-
```
|