Currently Being Moderated

NewProject

VERSION 43

Created on: Oct 10, 2007 9:23 AM by Adam Warski - Last Modified:  Oct 10, 2007 9:23 AM by Damon Sicore

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 and ]]> 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.

 

Average User Rating
(0 ratings)




There are no comments on this article

More Like This

  • Retrieving data ...