Revision of MozdevDocs from Wed, 03/12/2008 - 14:41

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 [http://www.mozdev.org/source/browse/www/www/docs/ original docs] are still available, but they are also very out-of-date.

toc

++++ 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 [http://www.wincvs.org/ WinCVS] and [http://tortoisecvs.sourceforge.net/ TortoiseCVS] for Windows and [http://www.maccvs.org/ MacCVS] and [http://www.heilancoo.net/MacCVSClient/ 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 [http://www.johnhaller.com/jh/mozilla/mozdev_wincvs/ CVS Setup] guide.//

Here is a screenshot showing how to configure [http://tortoisecvs.sourceforge.net/ TortoiseCVS] 1.10.4 to retrieve a project from mozdev:

[http://www.mozdev.org/drupal/files/www/mozdev-tortoise-cvs-checkout.jpg]

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 [http://www.mozdev.org/source/browse/ 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 [https://www.mozdev.org/profile/change_password.html 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 [https://www.mozdev.org/bugs/ 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 [http://developer.mozilla.org/en/docs/McCoy this documentation]. For more information about the download mirrors or about how to become a mozdev.org mirror, visit the [http://mirrors.mozdev.org 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 [http://www.mozdev.org/projects/active.html 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 [http://www.mozdev.org/projects/unstarted.html Unstarted Projects] list and if you stop working on a project it will show up on the [http://www.mozdev.org/projects/inactive.html 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 [http://www.mozdev.org/projects/top50.html Top 50 Projects] list shows the most the most viewed projects on the site.

* We will also be adding a project categories section and a project news blog soon to help give other ways to announce projects.

++++ 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 [http://www.mozdev.org/docs/localconf.html 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 [http://www.mozdev.org/community/logos.html 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

All files served through our mirror system are counted and these statistics can be displayed on your projects page.

In order to display a summary about your project downloads, add the following code to a page in your site:
> ``<``?php downloads('/project_file.xpi', 'File Description'); ?``>``

This will display as ("Project" = your project name; X = # of downloads):
> Project File Description X

If you would like to display your statistics without any surrounding formatting, you can use the following syntax:
> ``<``?php downloadsNoFmt('/project_file.xpi'); ?``>``

Using either format, a number of css classes are available for you to use for styling the output:
* {{.download_counter}} : the actual counter value
If you are using formatting, the following classes are also available:
* {{.download_count_header}} : the entire div containing all the information
* {{.download_count_project_name}} : your project name
* {{.download_count_name}} : the file description you provided

Example #1 - file in your root download folder:
> File: http://downloads.mozdev.org/multizilla/multiviews-v1500.xpi
> ``<``?php downloads('/multiviews-v1500.xpi', 'Multiviews 1500'); ?``>``

Example #2 - file in a subfolder of your download folder:
> File: http://downloads.mozdev.org/multizilla/multizilla/multiviews-v1500.xpi
> ``<``?php downloads('/multizilla/multiviews-v1500.xpi', 'Multiviews 1500'); ?``>``

Downloads for the last 30 days for the top 50 projects are shown on the [http://www.mozdev.org/projects/top50.html Top 50 page]

++++ Using Drupal For Blogs, Forums and Wikis

If you would like to add Drupal (including a blog, forum, and wiki) to your project's site, please [https://www.mozdev.org/bugs/enter_bug.cgi?product=mozdev&version=0.9&component=website&rep_platform=Other&op_sys=All&priority=P3&bug_severity=enhancement&target_milestone=---&bug_status=NEW&bug_file_loc=http%3A%2F%2F&short_desc=&comment=&commentprivacy=0&keywords=&dependson=&blocked=&maketemplate=Remember%20values%20as%20bookmarkable%20template&form_name=enter_bug&assigned_to=silfreed%40silfreed.net submit a bug] and the system will be setup.

After Drupal has been setup for your site, you can make the following modifications to your site:

* Add the following links to your project_nav.html along with your other project links:
> ``<``a href="/drupal/blog"``>``Blog``<``/a``>`` ``<``a href="/drupal/forum"``>``Forum``<``/a``>`` ``<``a href="/drupal/wiki"``>``Wiki``<``/a``>``
* Add the following code to your head.txt to advertise your news updates:
> ``
``

Once Drupal is setup for your project you will be able to login using your existing Mozdev.org CVS username and password. You will be given permissions based on your status within the project (Project Owner or Project Contributor). We have also setup two helper roles: Forum Moderator and Wiki Editor.

As a project owner you will have full rights to make changes to your Drupal installation (such as changing permissions, assigning roles, and modifying content).

A project contributor will be able to modify and create content, but will not be able to make changes to the site's configuration.

Forum Moderators will be able to edit, delete, or move forum posts.

Wiki Editors will be able to add or edit wiki pages.

++++ Mailing List Moderation

Unfortunately the lists on the site receive spam that must be dealt with by project owners. We are currently reviewing our mailing lists settings to minimize the effort involved with moderating these messages. We will update these docs with the latest information soon.

++++ 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), [https://www.mozdev.org/bugs/enter_bug.cgi?assigned_to=silfreed%40silfreed.net&comment=Project%20Name%3A%0D%0ABugzilla%20Login%3A&component=bugzilla&product=mozdev&short_desc=Setup%20admin%20permissions%20in%20Bugzilla%20for%20PROJECT 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:
* http://PROJECT.mozdev.org/feed/cvslog
* http://PROJECT.mozdev.org/feed/download_file

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 [http://www.mozdev.org/docs/localconf.html full list of configuration options] for details.

++++ Project Tags

Be sure to tag your project with keywords so it is included in the project cloud. XPI files in /download directories are automatically scanned and assigned tags based on information in install.rdf files, but this information is limited to supported applications and other general information. You can specify more tags [https://www.mozdev.org/profile/project_tag.html here].

++++ [MozdevListAdminTips List Administration Tips]

++++ [MozdevDownloadReleases Releasing Files on Mozdev.org]

++++ Notification of Outages

Any outage experienced by Mozdev.org will be broadcast on [http://planet.mozilla.org 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 ([http://www.mozdev.org/docs/notes.html old docs])
* Including Bugs on a page ([http://www.mozdev.org/docs/bugs.html 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>
  • You may quote other posts using [quote] tags.
  • 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