Version 11

    Managing your Labs project

     

    You can either use the project administration panel or edit your project directly in CMS.

     

    Using Admin Panel

     

    After you log in, go to your project page and click the "Edit Project" button. You will see project administration panel. This only works is you have got sufficient permissions, of course. The panel is also available at the address: /<project-id>/admin.

     

    There are two tabs in the admin panel:

    • Project Attributes - alows you to set basic project information, including project name, location of repositories and project JIRA. You can set project links here as well. These links will be displayed in project menu.

    • Portlet Selection - here you can manage project pages. Each page can contain multiple portlets. When you add a portlet, remember to set it's properties (height and region). Some portlets have their own, portlet-specyfic preferences. For more details see LabsPortlets.

     

    Using project.xml in CMS

     

    As before, all information and configuration of your project pages is located in the CMS provided to you using Subversion, in the project.xml file.

     

    In the project.xml file you define basic information about your project, define the downloads for your project and what pages it has. A brief description of some of the elements:

    • <id> - this must match your <project-id>, for example jbossas. The project id determines the URL for the project page, which is: http://jboss.org/<project-id>.

    • <name> - a human-readable name of your project

    • <downloads> - please see here: ProjectDownloads

    • <user-forum>, <dev-forum>, <anon-repo>, <commiter-repo>, <suppot>, <training, <issue-tracker type="jira"> - various links to resources of your project

     

    The <pages> element needs some more explanation. It defines the pages of your project. Apart from the main page, you can define any number of sub-pages, which will have addresses /<project-id>/<page-name>. For each project, there must be at least one page with an empty name. Each page consists of portlets, configured with a set of preferences. A list of available portlets and their preferences can be found here: LabsPortlets.

     

    Normally, you will want to have a freezone portlet on your main page. Using it, you will be able to display pages contained in the freezone subdirectory of your project directory, using nice URLs (like this: /<project-id>/<path-in-freezone-directory>). Of course, you can have freezone portlets on other pages as well (they can, for example, have a different "start page"). The URLs then are extended with a page name (like this: /<project-id>/<page-name>/<path-in-freezone-directory>.

     

    The main page of your project, which is shown after the /<project-id> address is requested, shows, by default, a page with a freezone portlet (as described above), which in turn displays the index.html file from your freezone directory. In the file, you should include a description of your project.

     

    Also, you can have multiple occurences of the same portlet on one page. However, make sure you set then the windowUniqueId preference of the portlet to some "nice" name - in some cases, it will be part of the URL. There is a little exception here with freezone portlets. You can have several of them on your page, but links in the displayed content, if relative, and after being clicked, will display the page in the "main" freezone portlet (a main freezone portlet is one with an empty windowUniqueId).

     

    For a more thorough explanation of URLs go here: LabsURLs.

     

    A sample project.xml file:

     

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <project xmlns="http://jboss.org">
        <id>project-id</id>
        <name>Your project name here</name>
        <company-name>JBoss, a division of Red Hat</company-name>
        <logo>images/xx.png (path relative to your project's main directory)</logo>
        <repo-type>svn</repo-type>
        <anon-repo>http://anonsvn.jboss.org/repos/labs/</anon-repo>
        <commiter-repo>https://svn.labs.jboss.com/labs/jbosslabs/trunk/portal-extensions</commiter-repo>
        <repo-monitor type="viewvc">http://viewvc.jboss.org/cgi-bin/viewvc.cgi/labs/labs/jbosslabs/trunk/portal-extensions/</repo-monitor>
        <issue-tracker type="jira">http://jira.jboss.com/jira/browse/JBLAB</issue-tracker>
        <support>http://somelink</support>
        <training>http://somelink</training>
        <packaged-for-download>false</packaged-for-download>
        <user-forum>http://somelink</user-forum>
        <dev-forum>http://somelink</dev-forum>
        <link name="myfirstlink">http://somelink</link>
        <link name="mylocallink">/projectId/somewhere</link>
        <pages>
            <page name="">
                <portlet height="1" region="center" name="freezone"></portlet>
                <portlet height="2" region="center" name="info"></portlet>
                <portlet height="1" region="right" name="downloads"></portlet>
            </page>
            <page name="simplePage">
                <portlet height="2" region="left" name="freezone"></portlet>
                <portlet height="1" region="right" name="menu">
                    <preference>
                        <name>showAnonRepo</name>
                        <value>true</value>
                    </preference>
                    <preference>
                        <name>showCommiterRepo</name>
                        <value>true</value>
                    </preference>
                    <preference>
                        <name>showIssueTracker</name>
                        <value>true</value>
                    </preference>
                    <preference>
                        <name>showUserForum</name>
                        <value>true</value>
                    </preference>
                    <preference>
                        <name>showDevForum</name>
                        <value>true</value>
                    </preference>
                    <preference>
                        <name>showTraining</name>
                        <value>true</value>
                    </preference>
                    <preference>
                        <name>showSupport</name>
                        <value>true</value>
                    </preference>
                    <preference>
                        <name>showPages</name>
                        <value>true</value>
                    </preference>
                </portlet>
                <portlet height="1" region="center" name="blog">
                    <preference>
                        <name>blogId</name>
                        <value>matrix</value>
                    </preference>
                    <preference>
                        <name>numberOfPostsPerPage</name>
                        <value>10</value>
                    </preference>
                    <preference>
                        <name>feedLinks</name>
                        <value></value>
                    </preference>
                </portlet>
                <portlet height="1" region="left" name="primates"></portlet>
            </page>
        </pages>
        <downloads>
            <categories>
                <category>
                    <id>subcat2</id>
                    <name>Sub category 2</name>
                    <description>Desc of sub cat 2</description>
                    <files>
                        <file>
                            <id>file5.txt</id>
                            <name>File 5</name>
                            <description>Desc of file 5</description>
                        </file>
                        <file>
                            <id>file6.txt</id>
                            <name>File 6</name>
                            <description>Desc of file 6</description>
                        </file>
                    </files>
                </category>
            </categories>
            <name>Root cat</name>
            <description>Desc of root cat</description>
            <files>
                <file>
                    <id>file1.txt</id>
                    <name>File 1</name>
                    <description>Desc of file 1</description>
                </file>
                <file>
                    <id>http://mamut.net.pl/mamutmaly.gif</id>
                    <name>Outside File 1</name>
                    <description>Desc of out file 1</description>
                    <size>10 KB</size>
                </file>
            </files>
        </downloads>
    </project>