Actions

Difference between revisions of "Developer Area"

From Mahara Wiki

(7 intermediate revisions by 4 users not shown)
Line 16: Line 16:
 
** git.mahara.org: https://git.mahara.org/mahara/mahara
 
** git.mahara.org: https://git.mahara.org/mahara/mahara
 
** Github: https://github.com/MaharaProject/mahara
 
** Github: https://github.com/MaharaProject/mahara
 +
* [[Developer Area/Common issues|Common issues]]
  
 
=== Finding your way around ===
 
=== Finding your way around ===
Line 22: Line 23:
 
* [[Developer_Area/Core_Subsystems|Core Subsystems]]
 
* [[Developer_Area/Core_Subsystems|Core Subsystems]]
 
* [[Developer_Area/Database_conventions|Database conventions]]
 
* [[Developer_Area/Database_conventions|Database conventions]]
 +
** [[Developer_Area/Database_design_strategies|Database design strategies]]
 
* [[Developer_Area/Development_Tutorials|Development Tutorials]]
 
* [[Developer_Area/Development_Tutorials|Development Tutorials]]
 
* [[Developer_Area/Import//Export|Import/Export]]
 
* [[Developer_Area/Import//Export|Import/Export]]
Line 35: Line 37:
 
* [[Developer_Area/Getting_Code_from_Git|Getting Code from Git]]
 
* [[Developer_Area/Getting_Code_from_Git|Getting Code from Git]]
 
* [[Developer_Area/Changing_Hostnames|Changing Hostnames]]
 
* [[Developer_Area/Changing_Hostnames|Changing Hostnames]]
 +
* [[Developer Area/Setting up Elasticsearch|Setting up Elasticsearch]]
 +
* [[Developer Area/Setting up ClamAV|Setting up ClamAV]]
  
 
=== Contributing improvements ===
 
=== Contributing improvements ===
Line 84: Line 88:
 
** aka "What to use instead of $_GET and $_POST"
 
** aka "What to use instead of $_GET and $_POST"
 
* [[Developer_Area/Cron API|Cron API]]
 
* [[Developer_Area/Cron API|Cron API]]
 +
* [[Developer_Area/CLI_Framework|CLI Framework]] for writing command-line Mahara scripts
 
* [[Developer_Area/Events API|Events API]]
 
* [[Developer_Area/Events API|Events API]]
 
* [[Developer_Area/File uploads API|File uploads API]]
 
* [[Developer_Area/File uploads API|File uploads API]]
Line 89: Line 94:
 
* [[Developer_Area/Mahara global variables|Mahara global variables]]
 
* [[Developer_Area/Mahara global variables|Mahara global variables]]
 
** $SESSION, $USER, $THEME, etc
 
** $SESSION, $USER, $THEME, etc
* [[Developer_Area/Mahara pagetop constants|Mahara pagetop constants]]
+
* [[Developer_area/Mahara Mobile|Mahara Mobile]]
 
* [[Developer_Area/Notification Plugins & Activities|Notification Plugins & Activities]]
 
* [[Developer_Area/Notification Plugins & Activities|Notification Plugins & Activities]]
 
* [[Developer_Area/Pagetop Constants|Pagetop Constants]]
 
* [[Developer_Area/Pagetop Constants|Pagetop Constants]]
Line 96: Line 101:
 
* [[Developer_Area/Site menus|Site menus]]
 
* [[Developer_Area/Site menus|Site menus]]
 
* [[Developer_Area/Smarty&Dwoo|Smarty&Dwoo]]
 
* [[Developer_Area/Smarty&Dwoo|Smarty&Dwoo]]
* [[Developer_Area/Themes|Themes]]
+
* [[Customising/Themes|Themes]]
 +
* [[Developer_Area/Webservices|Webservices]]
  
 
== Useful Resources ==
 
== Useful Resources ==

Revision as of 14:32, 24 June 2019

Here is a bunch of developer documentation for Mahara, including design, policy and specific feature documents.

This is for people who want to understand how Mahara works, or want to develop new code or plugins for Mahara. If you want to customise your Mahara - e.g. change the language/theme, or simply install plugins, check out the Customising section.

Overview

Finding your way around

Getting set up

Contributing improvements

Join in the discussion

We have a discussion forum on mahara.org.

You can also find us in #mahara-dev on irc.freenode.net

If you have not got an IRC client or cannot connect with one, you can use the freenode web client.

Meeting minutes & dev team notes

API Documentation

These pages describe specific Mahara APIs. Note: we're in the process of reorganizing our developer documentation, so not all API documentation pages will be present in this list. Please use the wiki's search feature if you don't find what you need here. Also, not all API's are documented. :(

Useful Resources

  • You can subscribe to the master branch on Launchpad to receive an email everytime a commit is made. There is also an  RSS feed of commits if you prefer to receive information that way.
  • #mahara-dev on freenode (irc.freenode.org) is an IRC channel where the core developers discuss the development of Mahara. This channel is not for support of Mahara (use #mahara instead), but you can lurk and listen in on developer conversations - and even hear about the latest new features as they're added ;)