Sakai is based on a Sakai Abstract Architecture that uses well defined layers with application programming interfaces to shield the use of services from how they are implemented.
Developers are encouraged to download and install Sakai code from the Sakai SVN repository http://source.sakaiproject.org. The latest release documents, including Javadocs, are at http://www.sakaiproject.org/release.
The Sakai-Dev area of this site is another good source of information.
Information on Writing Sakai Code is available in these sections:
- Tool Development – Create new Sakai tools.
- Service Development – Create a new Sakai services.
- User Interface Development – Presentation technology and how to use it.
- Integration Development – Integrating Sakai with enterprise services.
- Development Tips – Tips, suggestions, tricks, etc.
- Sakai Framework – Working on the Sakai framework.
- Developer Documentation – Documentation on services, etc.
- Release Practice Guidelines – Working with the Sakai Release and Revision practices - Use and Contribute code
Information on development tools, environments, and the like are available in these sections:
- Development Tools – Developer tools including Maven, Eclipse, etc.
- Testing and Debugging – JUnit testing and debugging techniques.
- Source Management – CVS and Subversion.
- Issue Tracking – bugs, issues, and feature requests.
The Framework, Kernel, Common Services, Presentation layer, and underlying technologies including JSF, Hibernate, and databases are further described in Developer Documentation.
Sakai is based on a collection of freely available technology such as JavaServer Faces, Spring, Hibernate, etc. Many of the technologies are described in published manuals and books. In order to guide Sakai developers in the selection of public support material, a section for Technology Book Reviews is provided.
If you get lost in this documentation, see Learning the Basics.