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:

     

    https://cms.labs.jboss.com/prod/forge/portal-content/default/members/jbossas

     

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

     

    http://labs.jboss.com/jbosswiki

     

    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:

     

    <project>
       <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. -->
       <description>projectDescription.html</description>
       
      <!-- Here's an example menu layout from the JBoss Rules project. -->
      <menu>
          <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">http://legacy.drools.codehaus.org</link>
          <link display="Drools DotNet 2.5">http://legacy.drools.codehaus.org/DotNet</link>
          <link display="Roadmap">http://wiki.jboss.org/wiki/Wiki.jsp?page=DroolsRoadmap</link>
          <link display="Wiki Knowledge Base">http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossRules</link>
          <freezone display="The Team">team.html</freezone>
       </menu>
    
       <issue-tracker type="jira">http://jira.jboss.com/jira/browse/JBRULES</issue-tracker>
    
    </project>
    

    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.

     

    Example:

     

    
    <project>
          ...
          <permission>wiki-project-admin-role</permission>
          ...
    </project>
    

     

     

    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).

     

    Images:

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

    /file-access/default/members/.

     

    Ads:

    <ad> tags are not mandatory.

     

    For more information about defining project specific ads see AdsConf.

     

    Repository

    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"?>
    
    <projects>
        <project>id-of-project</project>
        <project>id-of-project</project> 
    </projects>
    • 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.