Documentació per a desenvolupament
Nota: Pendent de Traduir. Hi ha Voluntaris!? (altres pàgines pendents)
Note: New developer documentation pages should be added to the Development namespace by typing Development:
before the new page name i.e. [[Development:New page name]]
.
If you are a developer, you probably want to change your preferences to include the Development namespace in searches.
A page may be added to the Developer category by typing [[Category:Developer|New page name]]
at the bottom of the page.
La forma de treballar del desenvolupament del Moodle
Aquesta presentació del procés de desenvolupament del Moodle pot ser útil per comprendre com tira endavant el desenvolupament del moodle i com la gent comença a formar part de grups de desenvolupament del Moodle.
Normes bàsiques
Aquestes normes bàsiques són una lectura fonamental per a tothom que vulgui contribuir al codi base del Moodle:
- Tothom qui desenvolupi al Moodle ha de seguir aquestes normes bàsiques per escriure codi;
- Moodle design goals spells out the basic design goals behind Moodle
- Les Normes de la interfície proporcionen una visió homogènia a la interfície del Moodle;
- El CVS del Moodle per a desenvolupament explica com treballar amb el codi al CVS del Moodle
Tracker explains the Moodle Tracker for keeping track of bugs, issues, feature requests etc
- Working with the Community explains how to engage with the dev community and discuss changes
- Unit tests explains how to run the unit tests, and how to write new test cases.
Documentació per als components del cor de Moodle
Aquesta secció conté documentació específica sobre el codi dels components del cor de Moodle. Podeu trobar components que estan sent discutits o desenvolupats a Developer notes o també a Roadmap.
Els documents que es mostren tot seguit són únicament una vista general. Per a una descripció més detallada de totes les funcions, veure phpDocumentor .Aquesta documentació es genera automàticament a partir dels comentaris que conté el codi font. I no oblideu que la descripció més detallada i actualitzada de com funciona el codi és el codi mateix. El codi de Moodle és senzill de llegir i entendre, utilitza'l.
Components del cor de Moodle que afecten a tot el paquet
- lib/moodlelib.php
- lib/weblib.php per mostrar per pantalla.
- Database abstraction layer @ v1.7
- Roles and Capabilities system @ v1.7 per administrar permisos d'usuaris.
- Forms library @ v1.8 per crear formularis HTML segurs i accessibles que permetin als usuaris editar coses.
Biblioteques del cor de Moodle amb aplicacions més específiques.
- Authentication API
- Cookieless Sessions
- Moodle Network
- Email processing
- Environment checking before install, check the user's server to ensure Moodle will work there.
- Question engine
- Stats package
- Migration to UTF-8 @ v1.6
- YUI JavaScript library - YUI was selected as the official AJAX library for Moodle.
Mòduls que venen amb la distribuició estàndard.
How you can contribute
Fent un nou plugin
La M de Moodle ve de modular, i la forma més fàcil, més mantenible manera de afegir noves funcionalitats a Moodle és usant un dels molts plugins de les API. Hi ha molts tipus de plugins que pots escriure:
- Activity modules
- Admin reports
- Assignment types
- Authentication plugins
- Blocks
- Course formats
- Course reports
- Database fields
- Database presets
- Enrolment plugins
- Filters
- Grade export/import
- Grade report
- Question engine
- Question import/export formats
- Quiz reports
- Resource types
- SSO plugins
When you have developed a new component please publish it in the Moodle modules and plugins database.
Change core code
Some types of change can only be made by editing the core Moodle code. Such changes are much harder to maintain than plugins. If you want your core change to be considered for inclusion in the official Moodle release, you need to create an issue in the tracker, and attach your change as a patch. It is also a good idea to discuss your ideas in the forums first.
Ways to contribute that do not involve PHP programming
- Create Moodle themes
- Translate Moodle into other languages
- Help document Moodle
- Database schemas
- Join the testing effort, which involves participating in the bug tracker
Plans for the future
Ideas for and details of planned future features of Moodle are initially discussed on the forums in the Using Moodle course at moodle.org. That developer discussions are intermixed with user discussions in the same forums may seem strange at first but is one of the reasons for the success of Moodle. It is important that both end-users and developers discuss the future features together.
Once ideas begin to crystallize on the forums they can be summarized in this wiki, either as part of the Roadmap or in the form of Developer notes. These pages then form the basis for further discussion in the forums.
Resources and tools
- Developer FAQ - frequently asked questions, especially useful for newcomers to Moodle
- Moodle tracker - bug reports, feature requests and other tracked issues
- Firefox tracker search - How to setup a firefox quicksearch to easily navigate to moodle bugs
- Unmerged files - changes on the stable branch in CVS that have not been merged to HEAD
- Browse the code online:
- Moodle PHP doc reference - compiled from the comment attached to each class and function in the code
- Database Schema - for recent releases
- Development news and discussion section of Using Moodle course
- especially the General developer forum
- Some tools people use when working on Moodle code:
- Setting up Eclipse for Moodle development - Eclipse is a great editor to use for php development, if you can work out how to set it up.
- Setting up Vim for Moodle development
- Ctags - Using a tags file to navigate code
See also
- Moodle Security Centre
- Moodle Partners - providers of custom Moodle development services