== Project Description ==
This project will create a resource kit suitable for
new developers and students, and contain all the code, tools, build environment, documentation, and learning materials necessary to become a productive Mozilla developer and contributor .
== Project Leader(s) ==
* David Humphrey
* Chris Tyler
== Project Contributor(s) ==
== Project Details ==
Mozilla is a large and difficult project to get started on because of its scale and scope. A number of issues stand in the way for new contributors:
# tools and documentation is often scattered across the web in wikis, blogs, forums, etc. This situation has improved greatly in recent years, with improvements to [http://developer.mozilla.org MDC]. However, MDC is not enough on
it's own, and suffers from a lack of top-level paths through the enormous amounts of content (i.e., reference vs. learning).
# often one needs more than just a tool or instructions on how to use it--examples, tutorials, etc. are also useful
# many developers, especially those in the east where bandwidth is lacking, struggle to use web-based resources. Having local access to Mozilla's large resources (mxr, mdc, source) would open this world to a new set of developers
=== Resource Kit Contents ===
The resource kit will be contained on one or more discs (likely one
DVD) . Initially the kit will '''target Windows developers''', since this is the largest set of potential developers and because the tools and configuration necessary to do Mozilla development is less foreign to Linux/Unix developers. The disc or discs will contain a number of resources:
==== Complete Linux Development Environment ====
The OS chosen would be '''Fedora Core''', and the included software/packages would match, or be compatible with, the [http://developer.mozilla.org/en/docs/Linux_Build_Prerequisites Linux Build instructions], the [http://wiki.mozilla.org/ReferencePlatforms/Linux-CentOS-5.0 Linux reference platform doc], and the existing [http://blog.mozilla.com/bhearsum/archives/16 Linux Reference VM]. We would not use the existing reference VM because our goal is to add convenience software and settings such that Mozilla development is made easier for new developers and so that Windows developers are made to feel comfortable.
# VM Image. I have contacted VMWare to see if it is possible to redistribute the VMWare Player. Other hosts are also possible, but need to work well so that developers aren't turned-off Linux based on the Windows host software. '''UPDATE''' I have filled out the VMware Player Distribution Questionnaire, and am waiting for further information.
Consider using desktop wallpaper from http://www.zuneo.fr/2005/01/wallpapers-firefox.html
==== Tools ====
Ideally these would be installable via a single setup/wizard/installer as options, or perhaps in the model of the Open CD (i.e., a XUL Runner web based installer, where you choose each package separately).
* [http://go.microsoft.com/fwlink/?LinkId=51410&clcid=0x409 Visual C++ 2005 Express Edition] - checking with Microsoft to see what choices there are for including or auto-downloading this. '''UPDATE:''' Lots of uncertainty on Microsoft's side (I've spoken to people in the OS Lab + on the VS.NET team). Still trying to find a solution that doesn't involve manual installation.
* [http://msdn2.microsoft.com/en-us/vstudio/aa700755.aspx Microsoft Platform SDK] (NOTE: When installing the SDK, you must install at least the "Windows Core SDK" (Tools, Build Environment, and Redistributable Components) and the "Web Workshop SDK" (Build Environment)).
2.exe Mozilla Build 1. 2]
* [https://addons.mozilla.org/en-US/firefox/addon/16 Chatzilla]
* [https://addons.mozilla.org/en-US/firefox/addon/216 Venkman]
* Editor config files and addons for common/supported editors
* [http://developer.mozilla.org/devnews/index.php/categories/about-mozilla/feed/ about:mozilla feed] (NOTE: included in devnews by default).
Perhaps something like [http://extjs.com/deploy/dev/examples/feed-viewer/view.html this].
===== Navigation and Sidebar =====
Should the top-level organization of the app be content or chrome? Using something like ext's [http://extjs.com/deploy/dev/examples/layout/complex.html complex layout] could be interesting.
Consider using [http://extjs.com/ ext.js] + [http://jquery.com/ jquery] to do the category/TOC tree. Also, since [http://webglimpse.net/ glimpse] is being used for [[Create Local MXR|MXR]], perhaps it can also be used to do the indexing of the static documentation.
===== [[Create Local MXR|Local MXR]] =====
The local MXR would index only the trees in the kit (see the Source Code section). The look of the HTML pages should be modified somewhat to make it clear that this is a separate resource to what is on the web, and therefore the code indexed is not the same. See the [[Create Local MXR]] project for more details.
===== Documentation and Learning Materials =====
* Documentation on using each of the tools included in the kit
* Reference and other Documentation (much from [http://developer.mozilla.org MDC]). Where MDC is a wiki meant for distributed collaboration, the documentation in the kit is read-only. Furthermore, where wikis prefer writers to readers, the documentation in the kit needs more top-down organization to link everything together (cf. MSDN). Getting rid of the wiki would mean that the content can be distributed as files vs. needing a web/wiki server. Like the local MXR, the look-and-feel of the pages should be altered so that they don't appear to be MDC, and it's clear that this is something separate. In addition, some docs would need to be changed sho they reference the contents of the kit (i.e., where multiple tools can be used, focus on the one(s) that are included in the kit).
* Learning materials (much from [http://zenit.senecac.on.ca/wiki Seneca courses])
** Presentations/Lectures (from Seneca and Mozilla)
** Video/Audio content (guest lectures, conference talks, etc.)
* API Reference - [http://www.xulplanet.com/ndeakin/ Neil Deakin] has agreed to help by providing his [http://www.xulplanet.com/references/xpcomref/ 1.9 XPCOM Reference] he created for XULPlanet (just over 1MB).
* Is it worth mining the newsgroups for info?
* What about Mac OS X?
==== Example Resource Kits ====