What's New on Novell Forge
Articles and Tips: article
01 Aug 2003
On behalf of the Novell Forge team, we would like to annouce the availability of the Apache MySQL and Perl/PHP (AMP) community at the Novell Forge site ( http://forge.novell.com ). This community is dedicated to helping improve the sharing of development information and code for building AMP applications with Novell products.
Over the next few months, we will continue adding more information that will help AMP developers. We would like to invite those interested in AMP technology to participate by sharing information, sample code, articles, or applications that you have built. The Novell Forge AMP community can be found at: ( http://forge.novell.com/modules/xfmod/community/?amp ).
How to Get Started at Novell Forge
Novell Forge provides the ability to host and manage projects. A project is centered around the creation of a software project and contains tools that allow you to manage the development and distribution of your software project.
Projects and communities seem very similar (indeed, they are implemented nearly identically and share a lot of code). The primary difference is that of purpose. A community is centered around an idea, concept, discipline, technology, market, or other similar topic; whereas a project is centered around the creation, development, and distribution of a software product.
Some of you may have questions concerning finding , navigation or creating projects at Novell Forge. So this month we will go though some of basic how to information to get you started.
How to Find a Project
There are three ways to get to the project page for a project.
Search - The search function searches the project database by project name and description. The results of your search will include a link that will take you to the project page.
Projects - This feature presents a tree or list view of all the projects in the project database. You can use this to navigate and locate the project you want.
If you know the short name of the project you want, you can type the URL directly into your browser. The format is http://forge.novell.com/modules/xfmod/project/?shortname , replacing shortname with the short name of the project.
How to Navigate a Project
The project page is the portal page for the management of a project. Through it one can access all the tools needed to manage a project.
The main project page displays such things as information and statistics about a project, a list of users who are members of the project, current file releases for the project, project news, and a public area with information about bugs, enhancement requests, documentation, and other items.
The menu bar along the top of each project page is useful for navigating to different portions of project management. Whether you are browsing a project, contributing to a project, or administering a project, you can find a wealth of information by perusing these areas of a project.
How to Create a Project
To create a project:
Click on the Start New Project link in the Main Menu. You will be presented with the first of four pages that you navigate through to create your project.
The first two pages present information about the project and general guidelines for use. These outline the primary services provided by Novell Forge and describe some of the terms of service in lay terms.
The third page presents the terms of service document. This is a legal document; you must agree to the terms of service in order to create a project. Questions about the terms of service document should be directed to the site administrator.
The fourth page allows you to enter information about your project - project name, license, description, etc. You need to fill out this form in order to complete your project submission.
It is important to take your time and fill out your project submisison accurately and completely. The following fields are especially important:
Project Purpose - The project purpose will primarily be used to make the determinition whether to approve or reject your project.
License - You have your choice of several different types of software license, almost all of which are approved by the Open Source Initiative (OSI). You are strongly encouraged to select a license that is OSI approved, since an OSI approved license ensures that the content covered by the license conforms to the Open Source Definition (meaning that it has the essential characteristics of open source software). We encourage you to visit the Open Source Initiative website to learn about open source software and the license(s) you are considering before you make a selection.
At your option, you may submit your own license terms for consideration with your project. Please consider, however, that Novell Forge is an outward demonstration by Novell of its commitment to the advancement of the open source community. It is likely that a project submitted with a non-OSI approved license will be rejected.
It is possible for you to change the license of your project in the future - after all, it is your project. Novell Forge allows you to select a license at project creation time, and again when you categorize your project, for ease of categorizing and searching projects. Officially, the license of your project is the license you distribute with your project. Keep in mind, though, that Novell Forge reserves the right to disable your project if you change to a license that is not an approved license.
Once you submit the final form for your project, the information about your new project is submitted to the site administrators for approval. You will be notified when your project is approved (or rejected). You should keep the email messages you receive for future reference, as they contain important information about managing your project.
When your project is created, you should then go to your project page and perform a few administrative tasks, such as categorizing your project in the trove and changing mailing list passwords. The information that describes how to do this is contained in the e-mail messages you received when your project was approved. You are then free to add users to your project; create news, trackers, or forums; upload code to your CVS repository; create releases, or anything else.
How to Contribute to a Project
There are many ways you can contribute to a project.
Release Technician - an individual who is in charge of creating file releases.
Tracker Manager - an individual who can create and manage the trackers used by the project.
Task Manager Admin - an individual who can create and manage subprojects and tasks.
Task Manager Tech - an individual to whom tasks can be assigned.
Forum Moderator - an individual who can approve and moderate forum postings.
Documentation Editor - an individual who can edit and approve document submissions, as well as submit documentation.
Tracker Admin - an individual who can administer trackers, like Bugs or Enhancement Requests, including approving or submitting tracker items and assigning those items to others.
Tracker Tech - an individual to whom tracker items, like Bugs or Enhancement Requests, can be assigned.
Project Admin - an individual who has full administrative rights to a project.
You must become a member of a project in order to contribute. When you become a member of a project, you will be given permissions to contribute to a project in defined ways as noted above. You will also have the ability to add to or modify the source code base.
In order for you to become a member of a project, a project admin must add you to the project. If you want to contribute to a project, you can always send an email or private message to one of the project admins and request that you be added to the project. Whether you are actually allowed to become a member is up to the discretion of the project administrators.You can also check the "Help Wanted" section by clicking on the link in Main Menu. Projects that are currently looking for contributors may advertise for help in this section. You can apply for posted jobs and possibly be selected as a project member in this way.
How to Administer Your Project
First off, you must be an administrator of a project in order to perform administrative tasks. You become a project administrator one of two ways:
Create a project.
Be granted project administrator status by another administrator.
Click on the Admin link in the project menu to get to the primary project administration page. This page has several subsections.
Admin - This is the main project administrative page. From this page you can perform the following tasks:
Change the trove categorization
Enable and disable CVS access controls
Access administrative panels for all project tools
Add users to your project - simply enter their username and click Add User
User Permissions - From within this page you will see an overview of all the members of your project and the permissions they have within the project. Click on a member's username to bring up the permissions management page for that member. Using this page, you can make changes to the permissions of any user, including yourself.
Note: Project Roles exist for the purpose of helping you remember what each person does on your project. Assigning a user to a role does not have any effect on the permissions that user has within your project.
Edit Public Info - This page allows you to modify the information that is publicly available about your project. You can change your project name, project description, or project homepage within this page. You can also use this page to activate or deactivate certain project tools or features, like forums, surveys, mailing lists, or tasks.
Project History - You can use this page to quickly view a log of the administrative changes that have taken place within your project.
Edit Release Files - It is within this page that you create and manage your project releases. You can create and manage packages, releases for each package, and files for each release here. View the Downloading Projects section for more detailed instructions on how to manage your file modules.
Post Jobs - You can use this page to post jobs to for your project that will appear in the "Help Wanted" section. This is a good way to advertise to get additional help on your project.
Edit Jobs - From within this page, you will see a view of all the jobs that are currently active for your project. By clicking on a job, you will be presented with a page where you can modify any information about a job you posted.
All the tools used within the project also have an administrative console for each tool. To get to the administrative pages for a tool, click on the name of the tool in the project menu, then click on the Admin link that appears.
How to Download a Project Release
Within a project, the files that you can download are organized as follows:
A Project can have zero or more Packages.
A Package can have zero or more Releases.
A Release can have zero or more Files.
This concept is perhaps best illustrated with an example.
Suppose you administer a project that is developing a simple GUI LDAP browsing client, and suppose you have a compiled executable of your project for Linux platforms. This is a perfect candidate for release. In order to release your executable, you would first decide what package the executable belongs in. You may have the packages Windows, Linux, Netware, and Macintosh, so the Linux package would be the obviously correct choice.
Next you need a release within the package. Perhaps the release itself is RedHatLinux8.0_v1.1, to denote the 1.1 release of the software as a compiled executable on Red Hat Linux 8.0.
Finally, you would create the file within the release by simply uploading the file and assigining it to the release.
The existence of packages, releases, and files allows you complete control over the organization and management of your file releases.
If you are the consumer of a project, it is even easier. On the main project page, the files available for download are listed underneath the heading Latest File Releases . Simply click on the release you are interested in and you will be taken to a page where you can click on the file(s) you want to download.
How to Use Project Forums
Forums are available for use within projects to allow a medium of information exchange between participants. Threaded discussions allow participants to follow topics and resolve issues around those topics of interest.
How to Use Trackers
Trackers allow you to create categories and issues within categories for tracking purposes. Trackers offer similar functionality to that of tasks; however, tasks are primarily for monitoring the planned path of development for your project, whereas trackers are primarily for monitoring other important issues that arise during the development of a project.
Using the tracking system, you can manage both the categories within which your issues will be placed, and the issues themselves.
Select Trackers from the project menu and you will be taken to the trackers page. You can select here from the available trackers. Once you select a tracker, you can:
Submit New Tracker Items by clicking on the Submit New link and filling out the form.
Browse Open Items by defining the desired search criteria and then clicking the Browse button.
Modify an Item by selecting the item from the search results and then making changes to the item. Some of the changes you can make include:
Assigning the item to a project member
Changing the item priority
Changing the item status
To administer this page, click on the Admin link. Here you can:
Create a new tracker by filling out and submitting the form at the bottom of the tracker administration page
Modify settings on existing trackers by clicking on the tracker, selecting the appropriate category, and submitting the changes
Disable trackers by clicking on the tracker, selecting the "Update preferences" link and deselecting the "Publicly Available" setting
You will notice that the title of each of your default trackers appears in the project menu. You can get to a specific tracker by selecting it from the project menu, from the main project page, or by clicking on the "Trackers" link and then selecting the tracker from this page.
Once you have selected a tracker, you will be presented with a page that is specific to that tracker. You can use this page to submit new items to the tracker, such as a bug report. You also use this page administratively to assign items to members of your project, or to monitor the progress of existing items.
How to Use Tasks
Tasks provide a means by which a project administrator can assign and delegate responsibilities within a project to individuals. When using tasks, you first create subprojects. For example, your software project may have tasks such as framework, user interface, APIs, or documentation. Once you create subprojects, you then create tasks within each subproject. You can then assign tasks to members of your project and track the progress of your project.
To create a subproject, you first click on the Tasks link in the project menu, then click on Admin , Subproject List , and Add A Subproject . Fill in the simple form and submit to create a subproject.
To manage a task, go to the tasks window by clicking on the Tasks link in the project menu, then select a subproject from the list to add the tasks to. From this point, you can create new tasks, manage existing tasks, or view tasks that are assigned to you within the project.
Once you have created and assigned tasks, the assignees can keep you informed on their progress by updating the information on their task, including current information or issues, setting or updating estimated completion dates, and maintaining information regarding current state of completion. Each task also includes dependency information, so you can set up dependencies within your task structure to organize your effort and know what needs to be done and when.
How to Use Project Documentation
Novell Forge offers you the ability to upload and manage all types of documents that pertain to your project or community. The document management feature is available for both projects and communities.
To access the documentation page, click on the "Docs" link in the project or community menu. You will be presented with all the publicly available documents. By clicking on the Admin link, you will go to the document management page where you can submit documentation, add or modify the available document categories, edit information about previously submitted documentation, or set the state of a document. For example, documents with the state of active are publicly viewable, whereas documents with the state of pending are those which have been submitted but not yet approved.
To submit a document, click on the Submit new documentation link in the document management page. Documents are managed as uploaded files, so all you need do is upload the document and it will be stored and managed on the server.
How to Use Mailing Lists
Mailing lists are offered for both projects and communities. A set of mailing lists are automatically created whenever a project or community is approved. You do not have the option of creating additional mailing lists or of deleting existing lists.
When you send e-mail to a mailing list, all the subscribers of the list receive a copy of the e-mail you send. This is a means by which interested parties can remain informed on a project or community, and collaborate with other subscribers by sending and receiving mail on the list. To send e-mail to the mailing list, you simply create an e-mail addressed to email@example.com , where list-name is the name of the list.
Anybody may subscribe to a mailing list. To do so, simply navigate to the mailing list page for the project or community in question, and select the "subscribe" link. Then fill out the form and submit. You will receive an e-mail notification of your subscription request that will tell you what to do next.
Novell Forge uses the GNU Mailman mailing list software, including their subscription and list administration pages, to manage mailing lists. As the administrator of a project, you have the ability to manage traffic, volume, subscribers, and other aspects of your mailing lists. For details on how to use Mailman, check their website.
How to Use Surveys
You can create your own surveys for your project and use them to gain insight from consumers of your project. Surveys provide this information in a confidential manner, so that the identity of the participants is not revealed.
Polls is another name for surveys. Check the Polls help page for more information.
How to Use News
You can create your own news items for your project. This is a good way to provide summary information about the current state of your project.
Check the News help page for more information.
How to Use CVS
CVS is the source code repository control system used by Novell Forge. When you create a project, you are allowed the option of whether you wish to make use of CVS to manage the source code for your project.
If you want others to be able to contribute to and enhance your project, you should strongly consider using our CVS server to host your project. Access to the CVS server is limited only to individuals who are members of your project.
As an option, you can select to enable anonymous CVS access to your source code. If you enable anonymous CVS access, any user of the site, even users who are not logged in, will be able to view and download a snapshot of your source code. A user must still be a member of your project in order to make changes to your source code.
To enable anonymous CVS access, click the Admin link in your project page, then make sure the "Anonymous CVS Access" property is selected underneath the "CVS Administration" heading.
You can trust the integrity of your source code. Our CVS server is backed up daily to prevent the loss of your source code. In addition, the CVS server itself utilizes eDirectory to enforce access rights to projects and source code, but does not allow shell logins to the server itself. In other words, you can trust that your source code will only be available to the people to whom you wish it available, and only under the terms you provide.
The CVS link in the project menu takes you to the CVS management page. Within this page you are shown the information that you need in order to begin managing your source code using our CVS server. If you have allowed anonymous access to your repository, this page also includes instructions for anonymous download, and a link to view the contents of your repository online.
There are many CVS clients available that can consume a CVS resource like the one provided at Novell Forge. For details on how to set up your specific client, refer to the documentation provided with the client software.
* Originally published in Novell AppNotes
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.