Working on Jahia xCM projects as a developer requires good
administrative knowledge of the CMS. If you have experience on different
CMS systems then you know what I'm talking about. As a developer, there
are some scenarios where you need to perform tasks like quickly
removing project content, testing a new custom functionality over the
project content structure, testing custom queries over the projects
On Jahia xCM, developers and administrator have
a powerful tool called "Jahia Admin Tool". This is a web application
that is configured on the "installation procedure" (installation asks for a password for this tool) and is available under
the Jahia web application context used on the installation. If your
Jahia web application context is "/", the tool will be on "/tools" web
This application has a lot of interesting features, below is a screenshot of the application menu:
menu of the main page is self descriptive in that the items are grouped
under categories that guide administrators on the specific tasks
available. For example, if the task you're looking for is about getting
system information or maybe forcing the garbage collector process then
you can go to "System and maintenance" category.
As we're focused on developers tasks we will start checking the "JCR Data and Rendering->JCR repository browser" option.
There are two tasks where I used the Admin Tool and got great results:
- Navigate the JCR repository of a specific project
- Quickly remove content from the JSR repositories (default and live)
first one is really important if you're trying to list the properties
of a specific content node on a project. When you are creating JCR
queries (here a link to JCR queries post) most of the times you need to
build queries over content nodes of the projects that inherits from
Jahia xCM provided content nodes (eg: most of the content nodes inherits
If the parent content nodes already defined a
specific attribute, then your new content node doesn't defines the
attribute again, so you need to know the available attributes your new
content node has and then use the attributes on a query.
where the JCR repository browser helps, looking into a content node
definition without checking into source code. Let's see the information
available for a content node I created. ont:testmodule1:
the content nodes are listed under "/jcr:system/jcr:NodeTypes/" path,
so if you know the content node you want to see, just add into this path
and the browser will find and display all its content definition for
you. The info includes the child nodes if there are any and the
supertype so you can check the parent node's information browse into the
node using the links.
The second task is more common: delete content.
you understand how Jahia uses two JCR repositories "default" and
"live", the publication of content, and you want to remove content from
each one of the JCR repositories, then the Admin Tool will be very
helpful for you. If you want you delete a single page from the project
content (default or live) then the editor mode will be fine, but if you
want to remove a lot of content or even all "live" repository content
then the editor mode doesn't help much.
For this case you can go
to the JCR browser and find the content of the specific project using
this path: "/sites/$projectName" and the browser will show you the
project existent content.
Two important things before continue:
- You can switch between the default and live repository using the link on the upper area of the administration tool:
- You need to activate the actions on the JCR browser, this option is on the upper right area:
if the goal is to delete content from the "live" repository we can
switch to live and select the delete option over the node or nodes we
want to delete. This action will be applied recursively, so all child
nodes will be deleted from the repository.
The show actions will
display more options than delete content, you can use this to export
(xml, zip format) or to rename a specific node.
I hope you will find a lot more of tasks where the admin tool becomes a plus.