novell
Login

Username:

Password:


Lost Password?
Register now!

Search


Main Menu


How Do I...


N

How Do I...

About Accounts Projects Communities Project Categories Forums News Polls Reference Library FAQs Jobs Help


     
    Welcome

    Welcome to Novell Forge. May the Source be with you! It is our sincere desire that this site and all that it has to offer becomes an increasingly valuable resource in your Novell and open source development efforts. There are several reasons why Novell Forge was created:

    • Hosting of Open Source Projects - This site provides access to a wide array of software projects that are governed by open source licenses. Novell Forge allows you to take advantage of useful software that is made broadly available by your peers in the development community. This site also allows you to host your software projects and securely share them with others, and thereby reap the benefits of having other users test and enhance your projects.
    • Development Communities - This site contains a multitude of specialized development communities that are focused on enabling software development around a certain language or technology. These communities are managed by Novell but are open to public contribution. The communities provide a valuable resource for information, from peer engineering groups as well as from Novell, on how to most effectively develop and leverage the software you care most about.
    • Proof Of Concept - This website is a proof of concept that demonstrates the ability of Novell technology to interact effectively and seamlessly with well-known open source software. Linux, MySQL, Xoops/XoopsForge, GNU Mailman, CVS, and ViewCVS are used in harmony with Novell technologies including iChain and eDirectory to power this website.
    • Promote Novell as an Open Source Contributor - Novell utilizes this site to manage and release open source software projects that Novell is working on. This website demonstrates the increased committment by Novell to the promotion of open source software.


    Go to the top of this page


    Technology Behind Novell Forge

    Novell Forge is the result of mixing many open source technologies with key Novell technologies, as well as a significant development effort by Novell Developer Services. Here is a summary of the technology involved.

    • Content Management Framework - We used the basic content management framework provided by Xoops. This framework is written in PHP and provides a basic architecture for the site (theme capabilities, module plug-in support, site administrative console, etc.). A few key modifications were made to the Xoops framework to meet our needs.
    • Code Collaboration Support - We used the XoopsForge code base to provide code collaboration support. XoopsForge is a Xoops module that extends the functionality of a Xoops site to provide features found in SourceForge. At the time of our snapshot many of the features of SourceForge had been implemented but there were still key features missing. We have made extensive modifications to the XoopsForge code base. XoopsForge is written in PHP.
    • Web Server - We use the Apache web server to serve the pages. No modification of Apache in the way of additional Apache modules was required.
    • Database - Xoops is built to utilize MySQL as the database which houses the web site data, so we also chose to use MySQL for this. Xoops provides a database abstraction which could have allowed us to use an alternative relational database, but has only completed the implementation for MySQL. We considered PostgreSQL as an alternative. We decided against PostgreSQL primarily due to time constraints; we would have been required to implement the database abstraction ourselves.
    • Source Code Control - We used CVS as the repository for source code for projects.
    • Source Code Repository Browsing via Web - One key feature missing from XoopsForge that we required was the ability to browse a CVS repository via a web browser. The ViewCVS product gave us the functionality that we needed for the time being. ViewCVS is written in Python.
    • Mailing list support - Another key feature missing from XoopsForge that we needed was mailing list support. We used GNU Mailman to implement mailing list support. Mailman is written in Python. We had to write a custom piece of software to integrate with Mailman during automatic list creation time. This piece of software is written in C.
    • User Authentication and Authorization - A key requirement for us was to not require new users of our site to have to create new accounts with new usernames and passwords, but to be able to use existing Novell Login accounts to gain access to the site. This meant, first of all, that our websites would sit behind iChain. We also added LDAP authentication capabilities to Xoops so that we now authenticate using eDirectory instead of MySQL as Xoops does. We also needed to use project membership to enforce rights to view or modify CVS code repositories. We made extensions to the eDirectory schema to support this, and then reconfigured CVS to utilize eDirectory as an authentication and authorization provider.
      Probably the coolest feature of the Forge site is how we were able to use eDirectory to enforce rights to code repositories. Results of this integration with eDirectory include:
      • Ability to use the same username and password to access CVS repositories and the Forge website
      • Users can only view or modify CVS repositories for hosted projects where they have permission to do so
      • The server that houses the individual CVS repositories for each project allows authenticated users to view or modify CVS if they have rights; however, users cannot actually log into the server. This provides a high level of security for the code repositories, and for the Forge website in general.


    Go to the top of this page


    Red Carpet makes it easy to install and update software on your computer.  Forge project administrators can distribute their software (as RPM files) using our Red Carpet server.  Forge users who install software from the Red Carpet server automatically receive updates as they become available.  Red Carpet is available as a graphical program ("red-carpet") or a command-line client ("rug"). 

    • Channels and Subscriptions - Each project has its own software "channel."  To download and install software from a particular Forge project, you first "subscribe" to its channel.  Since each project has its own channel, you will only see available software and updates for the projects you're intersted in.
    • One-Click Maintenance - The Red Carpet client program displays any updates that are available for the software you've already installed.  You can update everything with a single click.
    • Dependency Detection - Red Carpet automatically finds and installs anything needed to run the software you've chosen to install.  This eliminates the need for you to find and install dependencies on your own.
    • Intelligent Conflict Resolution - To ensure your system is up-to-date and configured correctly, Red Carpet will automatically install, update, and remove software when needed.
    • Automatic Operating System Detection - Red Carpet presents the available software and updates that are appropriate for your computer.

    To learn more about Red Carpet, visit the ZENWorks Linux Management page (formerly Red Carpet). To learn how to set up Red Carpet on your machine, visit the Help pages.



    Go to the top of this page


     
       Legal | Privacy | Accessibility | Subscribe | Feedback © 2005 Novell, Inc. All Rights Reserved.