Revision of MozdevDocs from Wed, 04/23/2008 - 17:04

This documentation will help you get started using your project on mozdev. These instructions are kept in a wiki, so please feel free to update, correct or add any information that will be helpful to other users. For reference the original docs are still available, but they are also very out-of-date.

Adding, Editing and Deleting Content

CVS is used to edit, update and add all source and content on mozdev.org, including a project's web pages. Web pages are contained in the www/ directory for each project, so to start making changes to your pages you first need to check out your project from CVS. Using a command line CVS client, you would do the following:

cvs -d :pserver:USERNAME@mozdev.org:/cvs login
cvs -d :pserver:USERNAME@mozdev.org:/cvs co PROJECTNAME

Note: The CVS commands above are for use with command line CVS clients. There are Windows and Macintosh CVS programs (such as WinCVS and TortoiseCVS for Windows and MacCVS and MacCVSClient for the Mac) that provide a graphical front end for CVS. For more information about using CVS on mozdev, please see John Haller's CVS Setup guide.

Here is a screenshot showing how to configure TortoiseCVS 1.10.4 to retrieve a project from mozdev:

1

When the checkout is complete all of the project's contents will be on your computer and the web pages can be found at PROJECTNAME/www/. For all new projects there are already some Template Start Pages that have been included in this directory, although you are free to add whatever files or directories you want. After modifying files locally, you can commit these changes back to your project and they will show up on the site.

CVS is also used to take down a page from your site. Files removed in CVS are moved into an area called the Attic and are not deleted from the repository. This is done because CVS needs to keep a full history of all versions of all files in case an earlier version of a file needs to be brought back at some point. Removed pages may not be linked to from your site anymore, but they will still be available online by browsing through your project's Attic using CVSweb. This means that a file removed from your site can still be found through a Google search, for instance.

Changing CVS Password

You may change your CVS password by going to the Password Change form.

Note: This form only updates your CVS password. To update your password for one of the mailing lists, please go to http://www.mozdev.org/mailman/listinfo/LIST_NAME or contact us at feedback at mozdev dot org. To update your Bugzilla password, log in to Bugzilla and go to user preferences.

Default Template Pages

All new projects come with some default template pages that you can edit to get your project started quickly. These templates are designed to use valid HTML and CSS and have been optimized to display best in standards-compliant browsers. HTML and CSS compliance is optional though and you are free to replace any of these files or edit them however you want.

The default templates include:

  • project_nav.html: This file contains the project navigation that will be included on all pages for your project.
  • head.txt: This file will allow you to make additions to the tag that is included by default in the site branding code.
  • local.conf: This file allows you to set a number of different variables that will allow you to configure your project. Any $local_conf_ variable changes should be inside <?php and ?>
  • bugs.html: This file adds a dynamically updated 'Latest bugs filed' list to the bottom of the page.
  • source.html: This file adds a dynamically updated 'Today's CVS commits' list to the bottom of the page.
  • members.html: This file lists each person who has CVS access to a project and what role they have been assigned.

Posting Files to the Download Mirrors

When you are ready to post a version of your project for download or installation, you will need to copy the release file to your downloads directory. All download files (xpi, zip, gzip, tar, etc.) should live only in the downloads directory. Newly checked in (or changed) release files are scheduled for copying to the mirror servers. It can be as quick as the top of the next hour, yet with some servers you may see a delay of up to 8 hours.

Once your files are copied over they will be available at http://downloads.mozdev.org/PROJECTNAME/. In other words, if you project were called gil, and you placed a copy of release.xpi in your downloads directory, it would be available at http://downloads.mozdev.org/gil/release.xpi.

To most effectively use the download mirrors, we ask that you post your download file several hours (at least 4 hours) before your announce your new file or post an updated updates.rdf file. This will ensure that your new file has a chance to be distributed to as many mirrors as possible.

For more information about how to provide secure updates to their users, see this documentation. For more information about the download mirrors or about how to become a mozdev.org mirror, visit the mirrors project.

Announcing Your Project

Once you've built out your project, there are a several ways for people to find out about what you've been working on. Your project is automatically publicized on the site in a number of places:

  • The Active Project list shows all projects that have had some activity within the last 180 days. Before you update your project it will show up on the Unstarted Projects list and if you stop working on a project it will show up on the Inactive Projects list.
  • The 5 most recent additions to the Active Projects list will show up on the mozdev hom page in the New Projects section and the 5 projects that have had CVS activity will show up on the home page in the Last Updated section.
  • The Top 50 Projects list shows the most the most viewed projects on the site.

Granting New Project Roles

If you are a project owner and would like to grant commit access to someone who wants to help out with your project, send email to feedback at mozdev dot org with the name of your project and the name and email address of the person to give access to. When submitting a request for access also include the role you would like to grant. There are two roles that allow commit access -- Committer and Project Owner. The only difference between these two roles is administrative. Someone with commit access will not be allowed to request changes to the project, but anyone listed as a project owner will be.

Configuration Options for local.conf

The local.conf file is a configuration file for customising how your project content is presented. Please see the full list of configuration options for all of the details.

Branding Options

The pages you create for your project are wrapped with mozdev's branding and navigation by default. This means that there will be HTML that is added to the files in your www/ directory when they are displayed on the site. The wrappers include both beginning and ending <html>, <head>, <title> and <body> tags. To avoid causing any conflicts it is recommended that you don't include these tags in the web pages you add to your project.

There are a number of ways to alter the branding that is wrapped around your project pages by default. To display any page without any of the branding, the simplest way to do this is to include no_wrap in the URL for that page. For example, to see the Roadmap page without the branding use this URL:

http://www.mozdev.org/no_wrap/resources/roadmap.html

You can also edit the local.conf file to toggle different branding options. To turn the branding off you can modify the $local_conf_no_wrap variable by making the following change in local.conf:

// site branding
$local_conf_no_wrap=ON;

Turning site branding off with this method only turns off the mozdev look and feel, but your pages are still being served with some additional wrapping. To completely turn off all wrapping and have your page content stand alone, you can add this switch to local.conf:

// serve it as it is
$local_conf_serve_as_is=ON;

If you choose to turn off the default branding on your project, please include a logo somewhere on your site with a link to www.mozdev.org.

Header Insert

It is not possible to directly edit the contents of the tag in your project's HTML. It is possible to include custom header content though by using the head.txt file that will be added to the default header content. New projects have a basic file in the main www directory that includes a reference to a default stylesheet:

<link rel="stylesheet" href="project.css">

This file can be edited however you like. Some examples of things to add include:

  • Meta tags
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  • Links to custom stylesheets and javascript code
  • Favicon image to your URL
<link rel="icon" href="http://www.mozdev.org/sharedimages/mozdev-icon.png" type="image/png">
  • Change the title of your pages
<title>My Great Project</title>

You can add a number of different head.txt files in your project's directories. If you include this file in a subdirectory it will be used instead of any files used in higher level directories. If you leave this file out of any subdirectories the file in the top level www directory will be used.

Should you have sub-subdirectories [project/www/subdir/subsubdir/] , and there is a head.txt for their parent directory, and the sub-subdirectories themselves lack a head.txt, that head.txt [project/www/subdir/head.txt], if it exists, will be used before the top-level head.txt [project/www/head.txt].

PHP Usage

Certain web pages served from Mozdev.org are parsed through PHP. Pages parsed by PHP include:

  • ending in .html are included in Mozdev's template system
  • ending in .php are not passed through Mozdev's template system
  • head.txt modifies content in the <head/> tag for .html pages
  • local.conf modifies configuration and is parsed before .html pages

Exceptions: all files under the /protected/ directory are passed through Mozdev's template system, regardless of extension, due to how we perform authentication. $local_conf variables are still usable here to alter the layout.

Serving XUL Pages

It is possible to serve up XUL files from your project's site. We are passing XUL files through PHP so you can do server side parsing. PHP by default sends a text/html header to the browser, so for your XUL to work add this line right above the XML tag at the top of your XUL files:

<?php header( "Content-type: application/vnd.mozilla.xul+xml" ); ?>
<?xml version="1.0"?>

Note: Make sure there is no space between the two lines since the XML tag needs to be the on the first line of the file.

If you don't want to use php header(), you can edit local.conf to set the correct MIME type for serving XUL from your project. To do this, just add the following line to your local.conf file:

$local_conf_mime_types = ON;

Download Counters

Using Drupal For Blogs, Forums and Wikis

Mail/News Gateway

To set up a gateway to keep your project's mailing list and newsgroups in sync, you just need to follow these steps:

  • Log into the admin section for your project's list. The link to the admin page should be on your project's list.html page.
  • Go to the Mail<->News gateways configuration page.
  • Set the "The Internet address of the machine your News server is running on" option to news
  • Set the "The name of the Usenet group to gateway to and/or from" option to public.mozdev.YOUR_PROJECT_NAME
  • Set the "Should new posts to the mailing list be sent to the newsgroup?" option to Yes
  • Set the "Should new posts to the newsgroup be sent to the mailing list?" option to Yes
  • Set the "The moderation policy of the newsgroup" option to either None or Moderated

Note: In order to access newsgroups on mozdev, you will need to provide a global userrname and password -- mozdev/maduser. This authentication applies to every public mozdev newsgroup. This is an effort to help reduce spam and is not intended to keep out any users interested in discussing projects hosted on the site.

Setting Up Bugzilla

Bugzilla is only set up for project owners that request it. If you didn't request Bugzilla at the time your project was created, you may still send us a request at feedback at mozdev dot org. Just send us a list of components that you'd like to use (if you're unsure what components to use we'll set you up with a General option and you can add more later). Also feel free to contact us to add new version information to your Bugzilla product.

Managing your Bugzilla product

If you would like to manage your product in Bugzilla (change components or edit bugs), file a bug and we will setup the appropriate access for you.

Once you have been granted permission to manage your product in Bugzilla, the Edit menu item will become available in the footer with two options; Users and Products.

Under Users you can search for users in order to give them permissions to edit your product and bugs.

Under Products you will find your product for you to administer. Click on the name and you will be able to change various configuration values for your product (such as description, number of votes per user, components, versions, or milestones).

RSS Feeds available for use

The following two feeds are available for use by project owners:

The CVS log RSS feed shows recent CVS commits, the log message, and files changed.

The download files RSS feed shows recently updated downloads. There is a four-hour delay on new files showing up by default to allow them time to be propagated to mirrors.

Links to these RSS feeds are enabled by default for your project.

Whether the feeds are enabled or the links are shown is configured via several $local_conf variables. Please see the full list of configuration options for details.

Project Tags

List Administration Tips

Releasing Files on Mozdev.org

CVS Tips Troubleshooting

Notification of Outages

Any outage experienced by Mozdev.org will be broadcast on Planet Mozilla by Mozdev.org's staff. Planet Mozilla has syndication feeds in several formats that you can subscribe to in order to be updated as events occur.

Documentation Needed

These docs don't cover all issues relevant to users of mozdev.org. Please feel free to add or expand a section in the documentation above or add a note about other topics that should be included in the documentation. The following topics should be added to the docs:

  • Database Access Policy
  • Original Notes system (old docs)
  • Including Bugs on a page (old docs)

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

More information about formatting options

CAPTCHA
This question is used to make sure you are a human visitor and to prevent spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.