Sourcebo Content Project Information
A brand spanking new project has just one thing going for it: a name. The name is computer-friendly. It has no spaces, often no capital letters, and is pretty much designed to fit in a URL. If you have a project myproject, that name fits like so:
That's all well and good, but it sure is ugly on a web page. If you check out a new project's front page, it has no text other than the navigation bar and that name. Fortunately, Sourcebo allows the developer to provide a more readable title.
The Project Description File
The project description file is a file named project.desc in the home subdirectory of the content repository. Read the ContentBasics page to learn more about checking out the content repository. The project description file allows the developers to set a title for the project, provide a short description, and specify the project's license terms. There are a few other lesser used portions of the project description file we will get to later.
The project description file has the extension .desc, as all description files do. Description files drive the appearance of content in the Sourcebo CMS. You will see them in other parts of the content repository as well.
A description file is a text file in "stanza" format. That means the file contains one or more stanzas describing a type of object and its attributes. The type appears at the start of a line and is followed by a colon (:). The attributes appear indented below the type, and the attribute name is separated from its value by an equals sign (=). For example:
type: attribute1 = value1 attribute2 = value2
Sourcebo defines certain attributes for certain types. It will ignore any attributes it does not know about. Remember to indent attribute lines, or Sourcebo will not understand them.
A Project's Description
The most basic part of a project description file is the "description" stanza. This stanza defines the human-readable title and description for the project. All pages for the project will use the title instead of the project name, and the description will be displayed on the front page. An example, myproject's home/project.desc:
description: title = My Project description = A project to demo the Sourcebo CMS
When committed to the content repository, the project web pages will no longer display a name of "myproject". It will instead display a title of "My Project". The front page will now have a short description instead of nothing.
There is one more attribute that can be added to a project's description stanza. The attribute "indexed". If indexed is set to false, the project will not show up on the master list of projects. It keeps the project out of the index, but does not make the project inaccessible if you know the URL.
description: title = My Project description = A project to demo the Sourcebo CMS indexed = false
The Project's License
Software is a created work. Only the copyright holder can use and distribute a piece of software unless license is granted to other people. The most common license used for free and open source software is the GNU General Public License (GPL). If no license is specified in the project.desc file, Sourcebo will list the GPLv2 as the license for a project.
To specify a license, add one or more license stanzas to the project.desc file. Each license will be listed on the project page.
license: name = GPL-2
Sourcebo knows about the following licenses:
- The GNU General Public License, version 2
- The GNU Library Public License, version 2
- The GNU Lesser Public License, version 2.1
- The GNU Free Documentation License, version 1.2
- The family of three-clause BSD licenses
- The Artistic License, as distributed with Perl
- The Mozilla Public License, version 1.1