Actions

Difference between revisions of "Developer Area"

From Mahara Wiki

m
 
(24 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
{{:Developer_Area/tabs}} <!-- to add further tabs, update the following page https://wiki.mahara.org/wiki/Developer_Area/tabs ... this will automatically cascade the changes to all relevant pages -->
 +
 
Here is a bunch of developer documentation for Mahara, including design, policy and specific feature documents.
 
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.
 
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.
 +
 +
<div style="float:right">__TOC__</div>
  
 
== Overview ==
 
== Overview ==
Line 12: Line 16:
 
* And if you just want the [[Developer Area/Source code|source code]], it's available via [http://en.wikipedia.org/wiki/git git] at
 
* And if you just want the [[Developer Area/Source code|source code]], it's available via [http://en.wikipedia.org/wiki/git git] at
 
** Our gerrit code review system: <tt>git clone https://reviews.mahara.org/mahara</tt>
 
** Our gerrit code review system: <tt>git clone https://reviews.mahara.org/mahara</tt>
** Gitorious: https://gitorious.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 ===
+
* [[Developer Area/PHP8|PHP8 support]]: Info about support for PHP8 in different Linux distributions
 
 
* [[Developer_Area/Mahara_Architecture_Introduction|Mahara Architecture Introduction]]
 
* [[Developer_Area/Core_Subsystems|Core Subsystems]]
 
* [[Developer_Area/Database_conventions|Database conventions]]
 
* [[Developer_Area/Development_Tutorials|Development Tutorials]]
 
* [[Developer_Area/HowToWriteAViewTemplate|How to write a view template]]
 
* [[Developer_Area/Import//Export|Import/Export]]
 
* [[Developer_Area/Language_Packs|Language Packs]]
 
* [[Developer_Area/Plugins|Plugins]]
 
* [[Developer_Area/Release_Policy|Release Policy]]
 
* [[Developer_Area/CLI_Framework|Command Line Interface Framework]]
 
 
 
=== Getting set up ===
 
 
 
* [[Developer_Area/Developer_Tools|Setting up your development tools]]
 
* [[Developer Area/Developer Environment|Setting up a development environment]]
 
* [[Developer_Area/Getting_Code_from_Git|Getting Code from Git]]
 
* [[Developer_Area/Changing_Hostnames|Changing Hostnames]]
 
 
 
=== Contributing improvements ===
 
* [https://mahara.org/tracker/ How to submit good bug reports]
 
* [[Developer_Area/Accessibility_Checklist|Accessibility Checklist]]
 
* [[Developer_Area/Bug_Status|Bug Status Policy]]
 
* [[Developer_Area/Bite_Sized|Bite sized code tasks]]
 
* [[Developer_Area/Coding_guidelines|Coding guidelines]]
 
* [[Developer_Area/Contributing_Code|Contributing Code]]
 
* [[Developer_Area/Code_Review|Commit Policy]]
 
* [[Developer_Area/How_to_Review_Code|How to Review Code]]
 
* [[Developer_Area/Unit_Testing|Unit Testing]]
 
* [[Developer_Area/Behat_Testing|Behat Steps Available in Mahara]]
 
 
 
=== Join in the discussion ===
 
 
 
We have [http://mahara.org/group/view.php?id=1 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 [http://webchat.freenode.net/?channels=mahara-dev&uio=MTE9MTAz8d freenode web client].
 
 
 
=== Meeting minutes & dev team notes ===
 
 
 
* [[Developer_Area/Developer_Meetings|Developer Meetings]]
 
* [[Developer_Area/Packaging|Packaging]]
 
* [[Developer_Area/Release_Instructions|Release Instructions]]
 
* [[Developer_Area/Security_Team|Security Team]]
 
* [[Developer_Area/Specifications_in_Development|Specifications in Development]]
 
* [[Developer_Area/Significant_Bug_Documentation|Fixes for significant bugs that might bite later]]
 
 
 
== 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. :(
 
 
 
* [[Developer_Area/Mahara_Architecture_Introduction/Core_Subsystems|Architecture Introduction]]
 
* [[Developer_Area/Hello World|Hello World]]
 
** https://mahara.org/interaction/forum/topic.php?id=5515&offset=0&limit=10#post23705
 
** My sample page with pieforms and dwoo: https://wiki.mahara.org/index.php/BasicPHPFileTemplates#Sample_page_using_pieforms_and_dwoo
 
* [[Developer_Area/Database-DML|Database-DML]]
 
* [[Developer_Area/Database-DDL|Database-DDL]]
 
** I wrote a forum post here that gives an outline of how the database works: https://mahara.org/interaction/forum/topic.php?id=5515&offset=0&limit=10#post23753
 
* [[Developer_Area/Language strings|Language strings]]
 
* [[Developer_Area/Local customizations]]
 
** aka the "/local" directory
 
* [[Developer_Area/Config API|Config API]]
 
* [[Developer_Area/Retrieving user input|Retrieving user input]]
 
** aka "What to use instead of $_GET and $_POST"
 
* [[Developer_Area/Cron API|Cron API]]
 
* [[Developer_Area/Events API|Events API]]
 
* [[Developer_Area/File uploads API|File uploads API]]
 
* [[Developer_Area/Login form|Login form]]
 
* [[Developer_Area/Mahara global variables|Mahara global variables]]
 
** $SESSION, $USER, $THEME, etc
 
* [[Developer_Area/Mahara pagetop constants|Mahara pagetop constants]]
 
* [[Developer_Area/Notification Plugins & Activities|Notification Plugins & Activities]]
 
* [[Developer_Area/Pagetop Constants|Pagetop Constants]]
 
* [[Developer_Area/Pieforms|Pieforms]]
 
* [[Developer_Area/Sideblocks API|Sideblocks API]]
 
* [[Developer_Area/Site menus|Site menus]]
 
* [[Developer_Area/Smarty&Dwoo|Smarty&Dwoo]]
 
* [[Developer_Area/Themes|Themes]]
 
 
 
== Useful Resources ==
 
 
 
* You can [https://code.launchpad.net/~vcs-imports/mahara/master/+subscribe subscribe to the master branch] on Launchpad to receive an email everytime a commit is made. There is also an  [http://gitorious.org/mahara/mahara.atom 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 ;)
 
  
 
[[Category:Developer Area]]
 
[[Category:Developer Area]]

Latest revision as of 12:47, 18 January 2022

 
Overview Finding your way around Dev setup Dev tools Contributing Testing
Keep in touch API Docs Architecture Release Instructions Plugins

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