Version 43

    All content and projects on JBoss Labs are managed via Subversion.

    For Project Leads:



    Each project has a file called the project.xml which resides in the project's CMS content location.  So for example, if your project's Subversion CMS URL is:



    We recommend using a project.xml that contains information just like the JBoss Wiki project:



    You can find the JBoss Wiki project.xml in the project template wiki page:  ProjectTemplate


    As a project lead you must check out a working copy of the CMS URL provided to you using Subversion.


    Then you will have a project.xml in the working copy of the above url (i.e., in a directory called 'jbossas' in this case).  This file contains various elements which describe the components which exist within a project hosted on JBoss Labs.  For example, there are elements which indicate the ID of the project, the roles which are allowed to see the project, a logo for the project, and whether or not the project uses things like a wiki or a blog.


    The project.xml has the following structure:


       <id>Id of the project</id>
       <name>Name of the project as it will appear on the pages</name>
       <permission>role-name - see below</permission>
       <company-name>Name of the company that creates this project</company-name>
       <logo>Path (relative to <portal-name>/members/<project-id>) to a project's logo;
             ommit this tag if a logo does not exist</logo>
       <company-logo>The same, but a company logo</company-logo>
       <category>Id of a category</category>
       <service>Id of a service</service>
       <page>Id of a page</page>
       <jems>Id of a component with which this project integrates(list available below)</jems>
       <!-- The description element below is a pointer to a file in your freezone dir that contains the html for the description of your project. -->
       <!--     This is the content that is displayed as the landing page for your project. -->
      <!-- Here's an example menu layout from the JBoss Rules project. -->
          <freezone display="Documentation">./docs/index.html</freezone>
          <page display="Downloads">downloads</page>
          <freezone display="Live Trails">./livetrails/index.html</freezone>
          <freezone display="Screenshots">screenshots.html</freezone>
          <page display="Blog">blog</page>
          <freezone display="Mailing Lists">lists.html</freezone>
          <freezone display="Realtime Chat (IRC)">irc.html</freezone>
          <freezone display="Subversion">subversion.html</freezone>
          <issue-tracker display="JIRA Project"></issue-tracker>
          <link display="Drools 2.5"></link>
          <link display="Drools DotNet 2.5"></link>
          <link display="Roadmap"></link>
          <link display="Wiki Knowledge Base"></link>
          <freezone display="The Team">team.html</freezone>
       <issue-tracker type="jira"></issue-tracker>

    By default, each project in its navigation has a link to an info page.  This "info" page is the landing page for your project.  The contents of this landing page is defined by the <description>projectDescription.html</description> element.  The name of the file:  projectDescription.html is a file that resides in your project's freezone.  To change the content of your project's landing page, you would edit the contents of ./freezone/projectDescription.html and check it in.


    Any additional links will be displayed depending on the tags. Note: if your URL includes '&', pleasse use

    & amp;

    in the xml descriptor (space is intentional, due to Wiki generating it as simple '&').



    The <permission> tag

    By using this tag, you can make your project invisible to normal users. It will be displayed in the navigation and other pages only when a user is logged in, and has at least two roles: project-manager and the role given in the tag. You must ask the Labs administrator to add you to appropriate roles.


    You can include many <permission> tags, this will cause the project to be shown to users who have any of the roles given.







    Note: The current implementation doesn't block file-access, that is, all files that you put in downloads/images/freezone subdirectories will still be available for download, provided of course you know the right url. All other pages are secured (for example, preparating a downloads or freezone page url won't work if you don't have the right roles).



    All images for a project should be located in any images subdirectory. To access them, use the following URL:




    <ad> tags are not mandatory.


    For more information about defining project specific ads see AdsConf.



    Available repository types:

    • 'svn' - default

    • 'cvs'

    • 'other'


    Issue Tracker

    Available issue tracker types:

    • 'jira' - default

    • 'other'


    List of available JEMS components:


    • 'as', name - JBoss AS

    • 'jbide', name - JBoss IDE

    • 'portal', name - JBoss Portal

    • 'admin-console', name - JBoss Administration Console

    • 'ws', name - JBoss WS

    • 'tomcat', name - Tomcat

    • 'hibernate', name - Hibernate

    • 'microkernel', name - JMX Microkernel

    • 'jbpm', name - jBPM

    • 'groups', name - JGroups



    List of available pages:

    • wiki

    • downloads

    • freezone

    • blog



    For Administrators:



    To add a project and all its content requires that a Labs administrator first add the necessary skeleton project to the CMS repository, then the Project Lead will populate his project with the proper content.


    Adding a project to Labs, at the moment requires:


    1. The administrator to add the project to Labs

    2. A lead for the new project, to create the initial content from the skeleton project information.


    There are two sections below, one for admins and one for project leads.  



    To add a new project, the forge administrator must do 3 things:

    • put its id in projects.xml:


    <?xml version="1.0" encoding="iso-8859-1"?>
    • create a directory <portal-name>/members/<project-id>

    • create a project descriptor <portal-name>/members/<project-id>/project.xml


    Additionaly, if the project requires a blog, the administrator must:

    • create a new blog user through blojsom's administration

    • log in as that user


    Note:  This is about to change as we implement the Shotoku feeds.  After Shotoku is enabled, there will only be an XML element required to enable the blog.