@jahia/agentic 0.0.0
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/README.md +48 -0
- package/dist/claude/.claude/rules/jahia.md +76 -0
- package/dist/claude/.claude/skills/jahia/SKILL.md +136 -0
- package/dist/claude/.claude/skills/jahia-content/SKILL.md +139 -0
- package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +384 -0
- package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +164 -0
- package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +236 -0
- package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +144 -0
- package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +297 -0
- package/dist/claude/.claude/skills/jahia-dev/SKILL.md +124 -0
- package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +271 -0
- package/dist/claude/.claude/skills/jahia-dev-apis/SKILL.md +52 -0
- package/dist/claude/.claude/skills/jahia-dev-apis/references/authentication.md +484 -0
- package/dist/claude/.claude/skills/jahia-dev-apis/references/graphql.md +657 -0
- package/dist/claude/.claude/skills/jahia-dev-apis/references/jcr-api.md +465 -0
- package/dist/claude/.claude/skills/jahia-dev-apis/references/security.md +541 -0
- package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +140 -0
- package/dist/claude/.claude/skills/jahia-dev-create-page-template/SKILL.md +303 -0
- package/dist/claude/.claude/skills/jahia-dev-create-template-set/SKILL.md +232 -0
- package/dist/claude/.claude/skills/jahia-dev-create-view/SKILL.md +838 -0
- package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +445 -0
- package/dist/claude/.claude/skills/jahia-dev-debug/SKILL.md +176 -0
- package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +536 -0
- package/dist/claude/.claude/skills/jahia-dev-import-from/SKILL.md +244 -0
- package/dist/claude/.claude/skills/jahia-dev-java/SKILL.md +105 -0
- package/dist/claude/.claude/skills/jahia-dev-java/references/backend.md +331 -0
- package/dist/claude/.claude/skills/jahia-dev-java/references/content-types.md +273 -0
- package/dist/claude/.claude/skills/jahia-dev-java/references/modules.md +218 -0
- package/dist/claude/.claude/skills/jahia-dev-java/references/osgi.md +208 -0
- package/dist/claude/.claude/skills/jahia-dev-java/references/rendering.md +191 -0
- package/dist/claude/.claude/skills/jahia-dev-java/references/ui-extensions.md +344 -0
- package/dist/claude/.claude/skills/jahia-dev-jexperience/SKILL.md +269 -0
- package/dist/claude/.claude/skills/jahia-dev-ops/SKILL.md +50 -0
- package/dist/claude/.claude/skills/jahia-dev-ops/references/docker.md +151 -0
- package/dist/claude/.claude/skills/jahia-dev-ops/references/monitoring.md +195 -0
- package/dist/claude/.claude/skills/jahia-dev-ops/references/provisioning.md +269 -0
- package/dist/claude/.claude/skills/jahia-dev-osgi-module/SKILL.md +297 -0
- package/dist/claude/.claude/skills/jahia-dev-properties/SKILL.md +147 -0
- package/dist/claude/.claude/skills/jahia-dev-properties/references/all-properties.md +231 -0
- package/dist/claude/.claude/skills/jahia-dev-query-content/SKILL.md +407 -0
- package/dist/claude/.claude/skills/jahia-dev-review/SKILL.md +228 -0
- package/dist/claude/.claude/skills/jahia-dev-screenshot/SKILL.md +177 -0
- package/dist/claude/.claude/skills/jahia-dev-start-local/SKILL.md +129 -0
- package/dist/claude/.claude/skills/jahia-dev-ui-extension/SKILL.md +559 -0
- package/dist/claude/CLAUDE.md +90 -0
- package/dist/codex/.agents/skills/jahia/SKILL.md +136 -0
- package/dist/codex/.agents/skills/jahia-content/SKILL.md +139 -0
- package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
- package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
- package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
- package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
- package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
- package/dist/codex/.agents/skills/jahia-dev/SKILL.md +124 -0
- package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
- package/dist/codex/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
- package/dist/codex/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
- package/dist/codex/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
- package/dist/codex/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
- package/dist/codex/.agents/skills/jahia-dev-apis/references/security.md +541 -0
- package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
- package/dist/codex/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
- package/dist/codex/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
- package/dist/codex/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
- package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
- package/dist/codex/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
- package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
- package/dist/codex/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
- package/dist/codex/.agents/skills/jahia-dev-java/SKILL.md +105 -0
- package/dist/codex/.agents/skills/jahia-dev-java/references/backend.md +331 -0
- package/dist/codex/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
- package/dist/codex/.agents/skills/jahia-dev-java/references/modules.md +218 -0
- package/dist/codex/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
- package/dist/codex/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
- package/dist/codex/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
- package/dist/codex/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
- package/dist/codex/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
- package/dist/codex/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
- package/dist/codex/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
- package/dist/codex/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
- package/dist/codex/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
- package/dist/codex/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
- package/dist/codex/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
- package/dist/codex/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
- package/dist/codex/.agents/skills/jahia-dev-review/SKILL.md +228 -0
- package/dist/codex/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
- package/dist/codex/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
- package/dist/codex/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
- package/dist/codex/AGENTS.md +89 -0
- package/dist/copilot/.agents/skills/jahia/SKILL.md +136 -0
- package/dist/copilot/.agents/skills/jahia-content/SKILL.md +139 -0
- package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
- package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
- package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
- package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
- package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
- package/dist/copilot/.agents/skills/jahia-dev/SKILL.md +124 -0
- package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
- package/dist/copilot/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
- package/dist/copilot/.agents/skills/jahia-dev-apis/references/security.md +541 -0
- package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
- package/dist/copilot/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
- package/dist/copilot/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
- package/dist/copilot/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
- package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
- package/dist/copilot/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
- package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
- package/dist/copilot/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
- package/dist/copilot/.agents/skills/jahia-dev-java/SKILL.md +105 -0
- package/dist/copilot/.agents/skills/jahia-dev-java/references/backend.md +331 -0
- package/dist/copilot/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
- package/dist/copilot/.agents/skills/jahia-dev-java/references/modules.md +218 -0
- package/dist/copilot/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
- package/dist/copilot/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
- package/dist/copilot/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
- package/dist/copilot/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
- package/dist/copilot/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
- package/dist/copilot/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
- package/dist/copilot/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
- package/dist/copilot/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
- package/dist/copilot/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
- package/dist/copilot/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
- package/dist/copilot/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
- package/dist/copilot/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
- package/dist/copilot/.agents/skills/jahia-dev-review/SKILL.md +228 -0
- package/dist/copilot/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
- package/dist/copilot/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
- package/dist/copilot/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
- package/dist/copilot/AGENTS.md +89 -0
- package/dist/cursor/.agents/skills/jahia/SKILL.md +136 -0
- package/dist/cursor/.agents/skills/jahia-content/SKILL.md +139 -0
- package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
- package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
- package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
- package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
- package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
- package/dist/cursor/.agents/skills/jahia-dev/SKILL.md +124 -0
- package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
- package/dist/cursor/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
- package/dist/cursor/.agents/skills/jahia-dev-apis/references/security.md +541 -0
- package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
- package/dist/cursor/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
- package/dist/cursor/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
- package/dist/cursor/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
- package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
- package/dist/cursor/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
- package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
- package/dist/cursor/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
- package/dist/cursor/.agents/skills/jahia-dev-java/SKILL.md +105 -0
- package/dist/cursor/.agents/skills/jahia-dev-java/references/backend.md +331 -0
- package/dist/cursor/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
- package/dist/cursor/.agents/skills/jahia-dev-java/references/modules.md +218 -0
- package/dist/cursor/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
- package/dist/cursor/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
- package/dist/cursor/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
- package/dist/cursor/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
- package/dist/cursor/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
- package/dist/cursor/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
- package/dist/cursor/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
- package/dist/cursor/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
- package/dist/cursor/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
- package/dist/cursor/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
- package/dist/cursor/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
- package/dist/cursor/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
- package/dist/cursor/.agents/skills/jahia-dev-review/SKILL.md +228 -0
- package/dist/cursor/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
- package/dist/cursor/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
- package/dist/cursor/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
- package/dist/cursor/.cursor/rules/jahia.mdc +80 -0
- package/dist/gemini/.agents/skills/jahia/SKILL.md +136 -0
- package/dist/gemini/.agents/skills/jahia-content/SKILL.md +139 -0
- package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
- package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
- package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
- package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
- package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
- package/dist/gemini/.agents/skills/jahia-dev/SKILL.md +124 -0
- package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
- package/dist/gemini/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
- package/dist/gemini/.agents/skills/jahia-dev-apis/references/security.md +541 -0
- package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
- package/dist/gemini/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
- package/dist/gemini/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
- package/dist/gemini/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
- package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
- package/dist/gemini/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
- package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
- package/dist/gemini/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
- package/dist/gemini/.agents/skills/jahia-dev-java/SKILL.md +105 -0
- package/dist/gemini/.agents/skills/jahia-dev-java/references/backend.md +331 -0
- package/dist/gemini/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
- package/dist/gemini/.agents/skills/jahia-dev-java/references/modules.md +218 -0
- package/dist/gemini/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
- package/dist/gemini/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
- package/dist/gemini/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
- package/dist/gemini/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
- package/dist/gemini/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
- package/dist/gemini/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
- package/dist/gemini/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
- package/dist/gemini/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
- package/dist/gemini/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
- package/dist/gemini/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
- package/dist/gemini/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
- package/dist/gemini/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
- package/dist/gemini/.agents/skills/jahia-dev-review/SKILL.md +228 -0
- package/dist/gemini/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
- package/dist/gemini/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
- package/dist/gemini/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
- package/dist/gemini/AGENTS.md +89 -0
- package/dist/gemini/GEMINI.md +6 -0
- package/dist/index.js +975 -0
- package/dist/opencode/.agents/skills/jahia/SKILL.md +136 -0
- package/dist/opencode/.agents/skills/jahia-content/SKILL.md +139 -0
- package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +384 -0
- package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +164 -0
- package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +236 -0
- package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +144 -0
- package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +297 -0
- package/dist/opencode/.agents/skills/jahia-dev/SKILL.md +124 -0
- package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +271 -0
- package/dist/opencode/.agents/skills/jahia-dev-apis/SKILL.md +52 -0
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/authentication.md +484 -0
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/graphql.md +657 -0
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/jcr-api.md +465 -0
- package/dist/opencode/.agents/skills/jahia-dev-apis/references/security.md +541 -0
- package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +140 -0
- package/dist/opencode/.agents/skills/jahia-dev-create-page-template/SKILL.md +303 -0
- package/dist/opencode/.agents/skills/jahia-dev-create-template-set/SKILL.md +232 -0
- package/dist/opencode/.agents/skills/jahia-dev-create-view/SKILL.md +838 -0
- package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +445 -0
- package/dist/opencode/.agents/skills/jahia-dev-debug/SKILL.md +176 -0
- package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +536 -0
- package/dist/opencode/.agents/skills/jahia-dev-import-from/SKILL.md +244 -0
- package/dist/opencode/.agents/skills/jahia-dev-java/SKILL.md +105 -0
- package/dist/opencode/.agents/skills/jahia-dev-java/references/backend.md +331 -0
- package/dist/opencode/.agents/skills/jahia-dev-java/references/content-types.md +273 -0
- package/dist/opencode/.agents/skills/jahia-dev-java/references/modules.md +218 -0
- package/dist/opencode/.agents/skills/jahia-dev-java/references/osgi.md +208 -0
- package/dist/opencode/.agents/skills/jahia-dev-java/references/rendering.md +191 -0
- package/dist/opencode/.agents/skills/jahia-dev-java/references/ui-extensions.md +344 -0
- package/dist/opencode/.agents/skills/jahia-dev-jexperience/SKILL.md +269 -0
- package/dist/opencode/.agents/skills/jahia-dev-ops/SKILL.md +50 -0
- package/dist/opencode/.agents/skills/jahia-dev-ops/references/docker.md +151 -0
- package/dist/opencode/.agents/skills/jahia-dev-ops/references/monitoring.md +195 -0
- package/dist/opencode/.agents/skills/jahia-dev-ops/references/provisioning.md +269 -0
- package/dist/opencode/.agents/skills/jahia-dev-osgi-module/SKILL.md +297 -0
- package/dist/opencode/.agents/skills/jahia-dev-properties/SKILL.md +147 -0
- package/dist/opencode/.agents/skills/jahia-dev-properties/references/all-properties.md +231 -0
- package/dist/opencode/.agents/skills/jahia-dev-query-content/SKILL.md +407 -0
- package/dist/opencode/.agents/skills/jahia-dev-review/SKILL.md +228 -0
- package/dist/opencode/.agents/skills/jahia-dev-screenshot/SKILL.md +177 -0
- package/dist/opencode/.agents/skills/jahia-dev-start-local/SKILL.md +129 -0
- package/dist/opencode/.agents/skills/jahia-dev-ui-extension/SKILL.md +559 -0
- package/dist/opencode/AGENTS.md +89 -0
- package/dist/windsurf/.windsurf/rules/jahia.md +80 -0
- package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +136 -0
- package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +139 -0
- package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +384 -0
- package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +164 -0
- package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +236 -0
- package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +144 -0
- package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +297 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev/SKILL.md +124 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +271 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/SKILL.md +52 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/authentication.md +484 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/graphql.md +657 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/jcr-api.md +465 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-apis/references/security.md +541 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +140 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-page-template/SKILL.md +303 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-template-set/SKILL.md +232 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-view/SKILL.md +838 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +445 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-debug/SKILL.md +176 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +536 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-import-from/SKILL.md +244 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/SKILL.md +105 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/backend.md +331 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/content-types.md +273 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/modules.md +218 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/osgi.md +208 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/rendering.md +191 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-java/references/ui-extensions.md +344 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-jexperience/SKILL.md +269 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-ops/SKILL.md +50 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-ops/references/docker.md +151 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-ops/references/monitoring.md +195 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-ops/references/provisioning.md +269 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-osgi-module/SKILL.md +297 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-properties/SKILL.md +147 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-properties/references/all-properties.md +231 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-query-content/SKILL.md +407 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-review/SKILL.md +228 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-screenshot/SKILL.md +177 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-start-local/SKILL.md +129 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-ui-extension/SKILL.md +559 -0
- package/dist/windsurf/AGENTS.md +89 -0
- package/package.json +28 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jahia-dev-jexperience
|
|
3
|
+
description: Integrate a Jahia JavaScript module with jExperience and jCustomer — set up the local stack, push visitor events from client components, visualize data in Kibana, and package dashboards for deployment.
|
|
4
|
+
allowed-tools: Bash, Read, Write, Edit
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What is jExperience / jCustomer?
|
|
8
|
+
|
|
9
|
+
**jCustomer** (built on Apache Unomi) collects and processes visitor events to create personalized digital experiences. **jExperience** is the Jahia module that bridges Jahia with jCustomer — it injects the `window.wem` tracker into every page and exposes dashboards inside jContent.
|
|
10
|
+
|
|
11
|
+
Together they form Jahia's **DXP** (Digital Experience Platform). You only need this skill when you want to track interactions, build personalization, or visualize visitor data.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Step 1 — Set up jCustomer locally
|
|
16
|
+
|
|
17
|
+
### 1a — Update `docker-compose.yml`
|
|
18
|
+
|
|
19
|
+
Give the `jahia` service a static IP, add three containers, and declare the subnet:
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
services:
|
|
23
|
+
jahia:
|
|
24
|
+
# ... existing config ...
|
|
25
|
+
networks:
|
|
26
|
+
default:
|
|
27
|
+
ipv4_address: 172.16.1.100
|
|
28
|
+
|
|
29
|
+
elasticsearch:
|
|
30
|
+
image: elasticsearch:7.17.28
|
|
31
|
+
ports:
|
|
32
|
+
- 9200:9200
|
|
33
|
+
environment:
|
|
34
|
+
discovery.type: single-node
|
|
35
|
+
cluster.name: jahia-es-cluster
|
|
36
|
+
|
|
37
|
+
kibana:
|
|
38
|
+
image: kibana:7.17.28
|
|
39
|
+
ports:
|
|
40
|
+
- 5601:5601
|
|
41
|
+
environment:
|
|
42
|
+
discovery.type: single-node
|
|
43
|
+
elasticsearch.hosts: http://elasticsearch:9200
|
|
44
|
+
|
|
45
|
+
jcustomer:
|
|
46
|
+
image: jahia/jcustomer:2.6
|
|
47
|
+
depends_on:
|
|
48
|
+
- elasticsearch
|
|
49
|
+
ports:
|
|
50
|
+
- 9443:9443
|
|
51
|
+
- 8181:8181
|
|
52
|
+
- 8102:8102
|
|
53
|
+
environment:
|
|
54
|
+
UNOMI_ELASTICSEARCH_ADDRESSES: elasticsearch:9200
|
|
55
|
+
UNOMI_ELASTICSEARCH_CLUSTERNAME: jahia-es-cluster
|
|
56
|
+
UNOMI_CLUSTER_PUBLIC_ADDRESS: http://localhost:8181
|
|
57
|
+
UNOMI_CLUSTER_INTERNAL_ADDRESS: https://jcustomer:9443
|
|
58
|
+
UNOMI_THIRDPARTY_PROVIDER1_IPADDRESSES: 172.16.1.100
|
|
59
|
+
UNOMI_THIRDPARTY_PROVIDER1_ALLOWEDEVENTS: login,updateProperties
|
|
60
|
+
UNOMI_ROOT_PASSWORD: karaf
|
|
61
|
+
UNOMI_HAZELCAST_TCPIP_MEMBERS: jcustomer
|
|
62
|
+
|
|
63
|
+
networks:
|
|
64
|
+
default:
|
|
65
|
+
ipam:
|
|
66
|
+
config:
|
|
67
|
+
- subnet: 172.16.1.0/24
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 1b — Update `docker/provisioning.yml`
|
|
71
|
+
|
|
72
|
+
Append at the end of the file:
|
|
73
|
+
|
|
74
|
+
```yaml
|
|
75
|
+
# Install and start jExperience
|
|
76
|
+
- installModule:
|
|
77
|
+
- "mvn:org.jahia.modules/jexperience/3.6.2"
|
|
78
|
+
- "mvn:org.jahia.modules/jexperience-dashboards/1.0.0"
|
|
79
|
+
autoStart: true
|
|
80
|
+
uninstallPreviousVersion: true
|
|
81
|
+
|
|
82
|
+
# Connect jExperience to jCustomer
|
|
83
|
+
- editConfiguration: "org.jahia.modules.jexperience.settings"
|
|
84
|
+
configIdentifier: "global"
|
|
85
|
+
properties:
|
|
86
|
+
jexperience.jCustomerURL: "https://jcustomer:9443"
|
|
87
|
+
jexperience.jCustomerUsername: "karaf"
|
|
88
|
+
jexperience.jCustomerPassword: "karaf"
|
|
89
|
+
jexperience.jCustomerTrustAllCertificates: "true"
|
|
90
|
+
jexperience.jCustomerUsePublicAddressesForAdmin: "false"
|
|
91
|
+
jexperience.jCustomerKey: "670c26d1cc413346c3b2fd9ce65dab41"
|
|
92
|
+
|
|
93
|
+
# Configure Kibana dashboards proxy
|
|
94
|
+
- editConfiguration: "org.jahia.modules.kibana_dashboards_provider"
|
|
95
|
+
properties:
|
|
96
|
+
kibana_dashboards_provider.kibanaURL: "http://kibana:5601"
|
|
97
|
+
kibana_dashboards_provider.kibanaUser: "elastic"
|
|
98
|
+
kibana_dashboards_provider.kibanaPassword: "ELASTIC_PASSWORD"
|
|
99
|
+
kibana_dashboards_provider.KibanaProxy.enable: "true"
|
|
100
|
+
kibana_dashboards_provider.KibanaProxy.cloud: "true"
|
|
101
|
+
- installModule:
|
|
102
|
+
- "mvn:org.jahia.modules/kibana-dashboards-provider/1.4.0"
|
|
103
|
+
autoStart: true
|
|
104
|
+
uninstallPreviousVersion: true
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 1c — Start the stack
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
docker compose down jahia && docker compose up --wait
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 1d — Enable jExperience on the site
|
|
114
|
+
|
|
115
|
+
1. Open **Administration → Modules → jExperience → Usage in sites**
|
|
116
|
+
2. Check the box next to your site. Repeat for **jExperience Dashboards**.
|
|
117
|
+
3. Open jContent — a new **jExperience** tab should appear in the vertical bar (refresh if needed).
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Step 2 — Push events from a client component
|
|
122
|
+
|
|
123
|
+
jExperience injects `window.wem` (Web Experience Manager) into every page. It is only available in the browser — use it inside `.client.tsx` files.
|
|
124
|
+
|
|
125
|
+
### Event model
|
|
126
|
+
|
|
127
|
+
Every event has two parts:
|
|
128
|
+
|
|
129
|
+
| Part | What it is | Helper |
|
|
130
|
+
|------|------------|--------|
|
|
131
|
+
| **source** | Where the event happened (usually the current page) | `wem.buildSourcePage()` |
|
|
132
|
+
| **target** | What happened (the action) | `wem.buildTarget(id, type, properties)` |
|
|
133
|
+
|
|
134
|
+
### Full example — feedback widget
|
|
135
|
+
|
|
136
|
+
```tsx
|
|
137
|
+
// src/components/FeedbackWidget/definition.cnd
|
|
138
|
+
// [hydrogen:feedbackWidget] > jnt:content, hydrogenmix:component
|
|
139
|
+
// - question (string) = 'Was this helpful?'
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
```tsx
|
|
143
|
+
// Widget.client.tsx
|
|
144
|
+
import { useState } from "react";
|
|
145
|
+
|
|
146
|
+
export default function Widget({ question }: { question: string }) {
|
|
147
|
+
const [sent, setSent] = useState(false);
|
|
148
|
+
|
|
149
|
+
const handler = (happy: boolean) => () => {
|
|
150
|
+
const source = wem.buildSourcePage();
|
|
151
|
+
const target = wem.buildTarget("feedback", "click", { happy });
|
|
152
|
+
const event = wem.buildEvent("click", target, source);
|
|
153
|
+
wem.collectEvents({ events: [event] });
|
|
154
|
+
setSent(true);
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
if (sent) return <aside>Thank you for your feedback!</aside>;
|
|
158
|
+
|
|
159
|
+
return (
|
|
160
|
+
<aside>
|
|
161
|
+
{question}
|
|
162
|
+
<button type="button" onClick={handler(true)}>Yes</button>
|
|
163
|
+
<button type="button" onClick={handler(false)}>No</button>
|
|
164
|
+
</aside>
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
```tsx
|
|
170
|
+
// default.server.tsx
|
|
171
|
+
import { jahiaComponent, Island } from "@jahia/javascript-modules-library";
|
|
172
|
+
import Widget from "./Widget.client.jsx";
|
|
173
|
+
|
|
174
|
+
interface Props { question: string; }
|
|
175
|
+
|
|
176
|
+
jahiaComponent(
|
|
177
|
+
{ nodeType: "hydrogen:feedbackWidget", componentType: "view" },
|
|
178
|
+
({ question }: Props) => (
|
|
179
|
+
<Island clientOnly component={Widget} props={{ question }}>
|
|
180
|
+
Loading…
|
|
181
|
+
</Island>
|
|
182
|
+
),
|
|
183
|
+
);
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### `window.wem` API reference
|
|
187
|
+
|
|
188
|
+
| Method | Signature | Returns |
|
|
189
|
+
|--------|-----------|---------|
|
|
190
|
+
| `buildSourcePage` | `()` | Source object for the current page |
|
|
191
|
+
| `buildTarget` | `(id: string, type: string, properties?: object)` | Target object |
|
|
192
|
+
| `buildEvent` | `(eventType: string, target, source)` | Event object |
|
|
193
|
+
| `collectEvents` | `({ events: Event[] })` | Sends events to jCustomer |
|
|
194
|
+
|
|
195
|
+
`buildTarget` properties are free-form — pass any serializable data you want to analyse downstream (e.g. `{ happy: true }`, `{ productId: "p-123" }`).
|
|
196
|
+
|
|
197
|
+
> The `window.wem` object comes from the [apache/unomi-tracker](https://github.com/apache/unomi-tracker) package. Refer to its documentation for advanced event types.
|
|
198
|
+
|
|
199
|
+
### Google Tag Manager alternative
|
|
200
|
+
|
|
201
|
+
If your site uses GTM instead of jCustomer:
|
|
202
|
+
|
|
203
|
+
```tsx
|
|
204
|
+
dataLayer.push({ event: "feedback", happy });
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Step 3 — Verify events in Kibana
|
|
210
|
+
|
|
211
|
+
1. Open [localhost:5601](http://localhost:5601)
|
|
212
|
+
2. Go to **Discover**, select the `*-event` index, and expand the time range
|
|
213
|
+
3. Browse an event — confirm the `source.properties.pageInfo.pagePath` and `target.properties.happy` fields are present
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Step 4 — Create a Kibana dashboard
|
|
218
|
+
|
|
219
|
+
### Create a saved search
|
|
220
|
+
|
|
221
|
+
In **Discover**, add column filters for:
|
|
222
|
+
- `eventType` = `click`
|
|
223
|
+
- `itemType` = `event`
|
|
224
|
+
- `target.itemId` = `feedback`
|
|
225
|
+
- `target.itemType` = `click`
|
|
226
|
+
|
|
227
|
+
Add display columns: `source.properties.pageInfo.pagePath`, `target.properties.happy`. Save as e.g. **All Feedbacks**.
|
|
228
|
+
|
|
229
|
+
### Create the dashboard
|
|
230
|
+
|
|
231
|
+
1. **Dashboards → Create dashboard**
|
|
232
|
+
2. **Add from library** → add the saved search (table of all feedbacks)
|
|
233
|
+
3. **Create visualization** → paste this KQL filter into the search bar:
|
|
234
|
+
```
|
|
235
|
+
eventType: click and itemType: event and target.itemId: feedback and target.itemType: click
|
|
236
|
+
```
|
|
237
|
+
4. Drop **Records** onto the panel, then in **Break down by** select `target.properties.happy`. Use the **Status** color palette for red/green.
|
|
238
|
+
5. **Save and return**, then **Save** the dashboard with a meaningful name — this name becomes the entry label inside Jahia's jExperience tab.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Step 5 — Package the dashboard in the module
|
|
243
|
+
|
|
244
|
+
Dashboards exported from Kibana are automatically imported when the module is deployed.
|
|
245
|
+
|
|
246
|
+
1. In Kibana go to **Analytics → Overview → Manage → Saved Objects**
|
|
247
|
+
2. Select your dashboard, click **Export** — you get a `.ndjson` file
|
|
248
|
+
3. Save it to your module:
|
|
249
|
+
```
|
|
250
|
+
settings/kibana-dashboard/dashboards/<dashboard-name>.ndjson
|
|
251
|
+
```
|
|
252
|
+
4. Deploy the module — the dashboard will appear in the jExperience tab on any Jahia instance running the module.
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Validation checklist
|
|
257
|
+
- [ ] `docker compose up --wait` completed with elasticsearch, kibana, jcustomer healthy
|
|
258
|
+
- [ ] jExperience and jExperience Dashboards enabled on the target site
|
|
259
|
+
- [ ] jExperience tab visible in jContent
|
|
260
|
+
- [ ] Client component uses `.client.tsx` extension and `Island clientOnly`
|
|
261
|
+
- [ ] `wem.collectEvents` called with a valid event (source + target)
|
|
262
|
+
- [ ] Events visible in Kibana Discover under `*-event` index
|
|
263
|
+
- [ ] Dashboard saved and visible under the jExperience tab in Jahia
|
|
264
|
+
- [ ] Dashboard `.ndjson` saved to `settings/kibana-dashboard/dashboards/` for packaging
|
|
265
|
+
|
|
266
|
+
## References
|
|
267
|
+
- Apache Unomi tracker: https://github.com/apache/unomi-tracker
|
|
268
|
+
- KQL query syntax: https://www.elastic.co/guide/en/kibana/current/kuery-query.html
|
|
269
|
+
- jExperience guide: https://github.com/Jahia/javascript-modules/blob/main/docs/2-guides/1-building-a-feedback-form/README.md
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jahia-dev-ops
|
|
3
|
+
description: >
|
|
4
|
+
Operational guidance for running Jahia in production: Docker Compose and
|
|
5
|
+
Kubernetes deployments, environment configuration, health monitoring,
|
|
6
|
+
log analysis, and provisioning via the Jahia Provisioning API. Use when
|
|
7
|
+
the user is deploying, maintaining, debugging, or scaling a Jahia instance
|
|
8
|
+
(DX, jCustomer, Augmented Search / Elasticsearch, Kibana, Unomi).
|
|
9
|
+
allowed-tools: Read
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Jahia DevOps Skill
|
|
13
|
+
|
|
14
|
+
This skill covers day-to-day operations of a Jahia platform environment.
|
|
15
|
+
Detailed reference sheets are in `references/`.
|
|
16
|
+
|
|
17
|
+
## Reference files
|
|
18
|
+
|
|
19
|
+
| File | Content |
|
|
20
|
+
|------|---------|
|
|
21
|
+
| `references/docker.md` | Docker Compose stacks, environment variables, volume layout, networking, common run-commands |
|
|
22
|
+
| `references/monitoring.md` | Health endpoints, log locations, JVM/GC tuning, Karaf console, alert patterns |
|
|
23
|
+
| `references/provisioning.md` | Jahia Provisioning API (YAML scripts), module lifecycle, site import/export, JCR operations |
|
|
24
|
+
|
|
25
|
+
## Quick orientation
|
|
26
|
+
|
|
27
|
+
### Core components
|
|
28
|
+
|
|
29
|
+
- **Jahia DX** (`jahia/jahia-ee` or `jahia/jahia`) — the main CMS node
|
|
30
|
+
- **jCustomer / Apache Unomi** (`jahia/jcustomer`) — customer data platform
|
|
31
|
+
- **Augmented Search** (`jahia/elasticsearch` wrapper) — search back-end
|
|
32
|
+
- **Kibana** — Unomi analytics dashboard (optional)
|
|
33
|
+
- **MariaDB / MySQL** — relational database for JCR metadata and Jackrabbit bundles
|
|
34
|
+
|
|
35
|
+
### Typical task flow
|
|
36
|
+
|
|
37
|
+
1. **Deploy** — pick the right Docker Compose file or Helm chart (see `references/docker.md`)
|
|
38
|
+
2. **Configure** — set env vars for DB, cluster, mail, LDAP (see `references/docker.md`)
|
|
39
|
+
3. **Provision** — push modules, create sites, seed content (see `references/provisioning.md`)
|
|
40
|
+
4. **Monitor** — watch `/healthcheck`, logs, Karaf console (see `references/monitoring.md`)
|
|
41
|
+
5. **Troubleshoot** — collect thread dump, heap dump, or GC log; check OSGi bundle state
|
|
42
|
+
|
|
43
|
+
### Support escalation checklist
|
|
44
|
+
|
|
45
|
+
When filing a Jahia Support ticket always attach:
|
|
46
|
+
- `docker-compose.yml` (redact passwords)
|
|
47
|
+
- `jahia.log` (last 500 lines minimum)
|
|
48
|
+
- Output of `/healthcheck?includeDetails=true`
|
|
49
|
+
- Output of `bundle:list` from Karaf console
|
|
50
|
+
- JVM version: `java -version` inside the container
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Jahia Docker Reference
|
|
2
|
+
|
|
3
|
+
## Image tags
|
|
4
|
+
|
|
5
|
+
| Image | Stable tag pattern | Notes |
|
|
6
|
+
|-------|--------------------|-------|
|
|
7
|
+
| `jahia/jahia-ee` | `8.2.x.x` | Enterprise Edition (most deployments) |
|
|
8
|
+
| `jahia/jahia` | `8.2.x.x` | Community Edition |
|
|
9
|
+
| `jahia/jcustomer` | `2.6.x` | Apache Unomi-based CDP |
|
|
10
|
+
| `jahia/elasticsearch` | `7.17.x-jahia` | Patched ES image for Augmented Search |
|
|
11
|
+
|
|
12
|
+
Always pin to an exact version in production. Avoid `latest`.
|
|
13
|
+
|
|
14
|
+
## Minimal single-node docker-compose.yml
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
version: "3.8"
|
|
18
|
+
services:
|
|
19
|
+
jahia:
|
|
20
|
+
image: jahia/jahia-ee:8.2.4.0
|
|
21
|
+
ports:
|
|
22
|
+
- "8080:8080"
|
|
23
|
+
- "7770:7770" # Karaf SSH
|
|
24
|
+
environment:
|
|
25
|
+
JAHIA_ROOT_PASSWORD: changeme
|
|
26
|
+
DB_HOST: mariadb
|
|
27
|
+
DB_NAME: jahia
|
|
28
|
+
DB_USER: jahia
|
|
29
|
+
DB_PASS: jahia
|
|
30
|
+
PROCESSING_SERVER: "true"
|
|
31
|
+
volumes:
|
|
32
|
+
- jahia-data:/var/jahia
|
|
33
|
+
- jahia-logs:/var/log/jahia
|
|
34
|
+
depends_on:
|
|
35
|
+
mariadb:
|
|
36
|
+
condition: service_healthy
|
|
37
|
+
|
|
38
|
+
mariadb:
|
|
39
|
+
image: mariadb:10.11
|
|
40
|
+
environment:
|
|
41
|
+
MYSQL_DATABASE: jahia
|
|
42
|
+
MYSQL_USER: jahia
|
|
43
|
+
MYSQL_PASSWORD: jahia
|
|
44
|
+
MYSQL_ROOT_PASSWORD: root
|
|
45
|
+
volumes:
|
|
46
|
+
- mariadb-data:/var/lib/mysql
|
|
47
|
+
healthcheck:
|
|
48
|
+
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
49
|
+
interval: 10s
|
|
50
|
+
timeout: 5s
|
|
51
|
+
retries: 10
|
|
52
|
+
|
|
53
|
+
volumes:
|
|
54
|
+
jahia-data:
|
|
55
|
+
jahia-logs:
|
|
56
|
+
mariadb-data:
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Key environment variables
|
|
60
|
+
|
|
61
|
+
### Jahia DX
|
|
62
|
+
|
|
63
|
+
| Variable | Default | Purpose |
|
|
64
|
+
|----------|---------|---------|
|
|
65
|
+
| `JAHIA_ROOT_PASSWORD` | *(required)* | `root` user password |
|
|
66
|
+
| `DB_HOST` | `mariadb` | Database hostname |
|
|
67
|
+
| `DB_PORT` | `3306` | Database port |
|
|
68
|
+
| `DB_NAME` | `jahia` | Database name |
|
|
69
|
+
| `DB_USER` | `jahia` | Database user |
|
|
70
|
+
| `DB_PASS` | *(required)* | Database password |
|
|
71
|
+
| `PROCESSING_SERVER` | `true` | Enable background processing (set false on non-primary cluster nodes) |
|
|
72
|
+
| `CLUSTER_ENABLED` | `false` | Enable Hazelcast clustering |
|
|
73
|
+
| `CLUSTER_NODES` | | Comma-separated `host:port` list of cluster peers |
|
|
74
|
+
| `MAX_RAM_PERCENTAGE` | `70` | Heap ceiling as % of container RAM |
|
|
75
|
+
| `EXTRA_JAVA_OPTS` | | Append arbitrary JVM flags |
|
|
76
|
+
| `JAHIA_DEPLOY_ON_STARTUP` | | Comma-separated module JAR paths to deploy at first boot |
|
|
77
|
+
| `OPERATING_MODE` | `development` | `development` or `production` |
|
|
78
|
+
| `MAIL_SERVER` | | SMTP URI e.g. `smtp://mail.example.com:25` |
|
|
79
|
+
| `MAIL_FROM` | | Sender address for system mail |
|
|
80
|
+
| `MAIL_ADMIN` | | Admin notification address |
|
|
81
|
+
|
|
82
|
+
### jCustomer / Unomi
|
|
83
|
+
|
|
84
|
+
| Variable | Default | Purpose |
|
|
85
|
+
|----------|---------|---------|
|
|
86
|
+
| `UNOMI_ROOT_PASSWORD` | *(required)* | Admin password |
|
|
87
|
+
| `UNOMI_ELASTICSEARCH_ADDRESSES` | `elasticsearch:9200` | ES cluster addresses |
|
|
88
|
+
| `UNOMI_CLUSTER_KUBERNETES` | `false` | Enable K8s cluster discovery |
|
|
89
|
+
| `UNOMI_THIRDPARTY_PROVIDER1_IPADDRESSES` | | Trusted IP ranges (for Jahia → Unomi calls) |
|
|
90
|
+
| `EXTRA_JAVA_OPTS` | | Append JVM flags |
|
|
91
|
+
|
|
92
|
+
### Elasticsearch (jahia image)
|
|
93
|
+
|
|
94
|
+
| Variable | Default | Purpose |
|
|
95
|
+
|----------|---------|---------|
|
|
96
|
+
| `discovery.type` | `single-node` | Use `zen` for multi-node |
|
|
97
|
+
| `ES_JAVA_OPTS` | `-Xms512m -Xmx512m` | Heap; set both to the same value |
|
|
98
|
+
| `xpack.security.enabled` | `false` | Enable TLS/auth |
|
|
99
|
+
|
|
100
|
+
## Volume layout inside the Jahia container
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
/var/jahia/ ← JAHIA_DATA_DIR (repo, bundles, configuration)
|
|
104
|
+
jackrabbit/ ← JCR workspace
|
|
105
|
+
modules/ ← Hot-deploy OSGi bundles (.jar)
|
|
106
|
+
patches/ ← groovy/cfg/spring patches applied at startup
|
|
107
|
+
digital-factory-config/ ← override jahia.properties / OSGi .cfg
|
|
108
|
+
/var/log/jahia/ ← log4j output files
|
|
109
|
+
jahia.log
|
|
110
|
+
access.log
|
|
111
|
+
errors.log
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Useful run-time commands
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Tail combined Jahia logs
|
|
118
|
+
docker compose logs -f jahia
|
|
119
|
+
|
|
120
|
+
# Enter the container
|
|
121
|
+
docker compose exec jahia bash
|
|
122
|
+
|
|
123
|
+
# Karaf SSH console (password = same as JAHIA_ROOT_PASSWORD)
|
|
124
|
+
ssh -p 7770 karaf@localhost
|
|
125
|
+
|
|
126
|
+
# Force redeploy a module (drop the jar into hot-deploy)
|
|
127
|
+
docker compose cp my-module-1.0.jar jahia:/var/jahia/modules/
|
|
128
|
+
|
|
129
|
+
# Check resource usage
|
|
130
|
+
docker stats jahia mariadb
|
|
131
|
+
|
|
132
|
+
# One-shot health check
|
|
133
|
+
curl -u root:changeme http://localhost:8080/healthcheck?includeDetails=true
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Cluster (Hazelcast) quick checklist
|
|
137
|
+
|
|
138
|
+
1. Set `CLUSTER_ENABLED=true` on all nodes.
|
|
139
|
+
2. All nodes must share the same `DB_*` credentials pointing at the same DB.
|
|
140
|
+
3. `PROCESSING_SERVER=true` on exactly **one** node (the processing node).
|
|
141
|
+
4. Expose port `5900` between containers/pods for Hazelcast.
|
|
142
|
+
5. Mount a shared NFS or object-store volume for `/var/jahia/jackrabbit/repository/datastore`.
|
|
143
|
+
6. Verify membership: Karaf console → `cluster:info`.
|
|
144
|
+
|
|
145
|
+
## Kubernetes notes
|
|
146
|
+
|
|
147
|
+
- Use the official Jahia Helm chart (`jahia/jahia`) from `https://charts.jahia.com`.
|
|
148
|
+
- Set `jahia.processingServer.replicas=1` and `jahia.browsing.replicas=N`.
|
|
149
|
+
- Use a `ReadWriteMany` PVC (e.g. EFS / NFS) for the datastore.
|
|
150
|
+
- Liveness probe: `GET /healthcheck` — expect HTTP 200.
|
|
151
|
+
- Readiness probe: `GET /healthcheck?includeDetails=true` — parse `"status":"GREEN"`.
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# Jahia Monitoring Reference
|
|
2
|
+
|
|
3
|
+
## Health endpoints
|
|
4
|
+
|
|
5
|
+
| Endpoint | Auth | Returns |
|
|
6
|
+
|----------|------|---------|
|
|
7
|
+
| `GET /healthcheck` | None | `{"status":"GREEN"}` or non-200 |
|
|
8
|
+
| `GET /healthcheck?includeDetails=true` | Basic (root) | Full JSON with per-probe status |
|
|
9
|
+
| `GET /modules/healthcheck` | Basic (root) | Module-level detail |
|
|
10
|
+
| `GET /live` | None | Kubernetes liveness (200 = alive) |
|
|
11
|
+
| `GET /ready` | None | Kubernetes readiness (200 = ready to serve) |
|
|
12
|
+
|
|
13
|
+
### Interpreting `/healthcheck?includeDetails=true`
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"status": "GREEN", // GREEN | YELLOW | RED
|
|
18
|
+
"probes": {
|
|
19
|
+
"DatabaseProbe": { "status": "GREEN" },
|
|
20
|
+
"ServerLoadProbe": { "status": "YELLOW", "message": "Load: 3.4" },
|
|
21
|
+
"JCRProbe": { "status": "GREEN" }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
A `RED` status means the instance should not receive traffic. A `YELLOW` means
|
|
27
|
+
degraded but still functional. Common probe names: `DatabaseProbe`,
|
|
28
|
+
`JCRProbe`, `ServerLoadProbe`, `ModulesProbe`, `ClusterProbe`.
|
|
29
|
+
|
|
30
|
+
## Log files
|
|
31
|
+
|
|
32
|
+
| File | Content |
|
|
33
|
+
|------|---------|
|
|
34
|
+
| `/var/log/jahia/jahia.log` | Main application log (INFO+) |
|
|
35
|
+
| `/var/log/jahia/errors.log` | ERROR-only mirror of jahia.log |
|
|
36
|
+
| `/var/log/jahia/access.log` | HTTP access log (Combined format) |
|
|
37
|
+
| `/var/log/jahia/jahia_audit.log` | Security/audit events |
|
|
38
|
+
| `/var/log/jahia/gc.log*` | GC log (if `-Xlog:gc*` enabled) |
|
|
39
|
+
|
|
40
|
+
### Key log patterns to watch
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
# Module deployment failure
|
|
44
|
+
ERROR.*BundleException
|
|
45
|
+
ERROR.*Failed to deploy module
|
|
46
|
+
|
|
47
|
+
# JCR / Jackrabbit errors
|
|
48
|
+
ERROR.*RepositoryException
|
|
49
|
+
ERROR.*ItemExistsException
|
|
50
|
+
|
|
51
|
+
# DB connectivity
|
|
52
|
+
ERROR.*Cannot get a connection
|
|
53
|
+
ERROR.*Communications link failure
|
|
54
|
+
|
|
55
|
+
# Out of memory / GC pressure
|
|
56
|
+
java.lang.OutOfMemoryError
|
|
57
|
+
GC overhead limit exceeded
|
|
58
|
+
|
|
59
|
+
# Cluster split-brain
|
|
60
|
+
WARN.*Hazelcast.*member.*left
|
|
61
|
+
ERROR.*ClusterProbe
|
|
62
|
+
|
|
63
|
+
# Session leaks / thread pool exhaustion
|
|
64
|
+
WARN.*Maximum pool size reached
|
|
65
|
+
WARN.*No active session
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Useful log grep commands
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# All ERRORs in the last hour (adjust tail count)
|
|
72
|
+
docker compose exec jahia grep "^[0-9].*ERROR" /var/log/jahia/jahia.log | tail -200
|
|
73
|
+
|
|
74
|
+
# Module-related events today
|
|
75
|
+
docker compose exec jahia grep -i "module\|bundle\|deploy" /var/log/jahia/jahia.log | grep "$(date +%Y-%m-%d)"
|
|
76
|
+
|
|
77
|
+
# Slow queries (threshold 1000 ms is default)
|
|
78
|
+
docker compose exec jahia grep "SlowQuery\|slow query" /var/log/jahia/jahia.log
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Karaf console
|
|
82
|
+
|
|
83
|
+
Connect via SSH (port 7770 by default):
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
ssh -p 7770 karaf@localhost
|
|
87
|
+
# Password = JAHIA_ROOT_PASSWORD
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Essential Karaf commands
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
# OSGi bundle state
|
|
94
|
+
bundle:list # List all bundles + state
|
|
95
|
+
bundle:list | grep -v Active # Only non-Active bundles (problem candidates)
|
|
96
|
+
bundle:diag <bundle-id> # Diagnose a specific bundle (missing imports etc.)
|
|
97
|
+
bundle:start <bundle-id>
|
|
98
|
+
bundle:stop <bundle-id>
|
|
99
|
+
bundle:refresh <bundle-id>
|
|
100
|
+
|
|
101
|
+
# Module management
|
|
102
|
+
module:list # Jahia modules + version + state
|
|
103
|
+
jahia:deploy <path-to-jar> # Deploy a module from local path
|
|
104
|
+
|
|
105
|
+
# Cluster
|
|
106
|
+
cluster:info # Show Hazelcast cluster members
|
|
107
|
+
cluster:manager-node # Show which node is the manager
|
|
108
|
+
|
|
109
|
+
# System info
|
|
110
|
+
info # JVM / Karaf version summary
|
|
111
|
+
threads # Thread count snapshot
|
|
112
|
+
memory # Heap / non-heap usage
|
|
113
|
+
|
|
114
|
+
# Log level (temporary, reverts on restart)
|
|
115
|
+
log:set DEBUG org.jahia.services.content
|
|
116
|
+
log:set INFO org.jahia.services.content # reset
|
|
117
|
+
|
|
118
|
+
# Display live log tail inside Karaf
|
|
119
|
+
log:tail
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## JVM tuning
|
|
123
|
+
|
|
124
|
+
### Heap sizing
|
|
125
|
+
|
|
126
|
+
Set `MAX_RAM_PERCENTAGE` env var (e.g. `75`) to let the JVM auto-size to a
|
|
127
|
+
percentage of container RAM. Alternatively set explicit flags via `EXTRA_JAVA_OPTS`:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
EXTRA_JAVA_OPTS=-Xms2g -Xmx4g
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Rule of thumb: 4 GB heap minimum for a single-node dev instance; 8–16 GB for
|
|
134
|
+
production with content-heavy sites.
|
|
135
|
+
|
|
136
|
+
### GC logging (add to EXTRA_JAVA_OPTS)
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
-Xlog:gc*:file=/var/log/jahia/gc.log:time,uptime,level,tags:filecount=5,filesize=20m
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Thread dump
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# Get PID inside container
|
|
146
|
+
docker compose exec jahia bash -c 'jps | grep Jahia'
|
|
147
|
+
# Take dump (replace <PID>)
|
|
148
|
+
docker compose exec jahia bash -c 'kill -3 <PID>'
|
|
149
|
+
# Output goes to jahia.log
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Or from Karaf: `threads --list` for a quick summary.
|
|
153
|
+
|
|
154
|
+
### Heap dump on OOM (add to EXTRA_JAVA_OPTS)
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/jahia/heapdump.hprof
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## jCustomer (Unomi) monitoring
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Health
|
|
164
|
+
curl http://localhost:8181/cxs/actuator/health
|
|
165
|
+
|
|
166
|
+
# Cluster nodes (REST)
|
|
167
|
+
curl -u karaf:karaf http://localhost:8181/cxs/cluster
|
|
168
|
+
|
|
169
|
+
# Karaf console (port 8101)
|
|
170
|
+
ssh -p 8101 karaf@localhost
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Elasticsearch monitoring
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# Cluster health
|
|
177
|
+
curl http://localhost:9200/_cluster/health?pretty
|
|
178
|
+
|
|
179
|
+
# Index sizes
|
|
180
|
+
curl http://localhost:9200/_cat/indices?v&h=index,docs.count,store.size
|
|
181
|
+
|
|
182
|
+
# Pending tasks
|
|
183
|
+
curl http://localhost:9200/_cluster/pending_tasks
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Alerting thresholds (suggested)
|
|
187
|
+
|
|
188
|
+
| Metric | Warning | Critical |
|
|
189
|
+
|--------|---------|---------|
|
|
190
|
+
| Heap usage | 75 % | 90 % |
|
|
191
|
+
| Jahia healthcheck status | YELLOW | RED |
|
|
192
|
+
| DB connection pool | 80 % utilised | 95 % utilised |
|
|
193
|
+
| Error log rate | > 10/min | > 50/min |
|
|
194
|
+
| ES cluster health | YELLOW | RED |
|
|
195
|
+
| GC pause (G1GC stop-the-world) | > 500 ms | > 2 s |
|