Sakai Programmer Manual
Getting Started
Developer Guides
How to get started developing tools and apps for Sakai
- Development Environment Setup Walkthrough
- Sakai application (tool) structure
- Sakai app and tool naming tips
- Sakai Programming Best Practices
- Developing with the Sakai Framework
- Persistence
- Presentation Layer
- Comparing Sakai Display Technologies
- Sakai UI Widgets - List of user interface widgets in Sakai
- Using Apache Velocity
- Using Java Server Pages (JSP)
- Using Java Server Faces (JSF)
- Using Reasonable Server Faces (RSF) (deprecated)
- Using Apache Wicket (Wicket)
- Using Spring MVC
- Using Handlebars
- Using W3C Web Components
- A Guide to Programming for Responsive Design
- Testing
- Internationalization (I18N)
Developer Tools
Tools created to assist with developing in Sakai
- Maven2 hibernate DDL generator POM — Maven 2 hibernate DDL generating POM and support files
- Sakai Spring MVC Maven Archetype — Run a single Maven command to generate a complete working Sakai tool based on Spring MVC.
- Sakai App Builder — Eclipse plugin for Sakai Rapid Application Development
- Sakai Wicket Maven Archetype — Run a single Maven command to generate a complete working Sakai tool based on Apache Wicket
- Generic DAO package — Package for developers to use persistent objects without writing DAOs
Sample Code
Sakai Programmer FAQ
Sakai Coding Tips
- Using lightweight object comparison
- Using commons lang for object comparison
- Using the commons logger
- sakai.properties configuration tips
- Getting the ApplicationContext in a spring bean
- Using the Sakai global sessionFactory
- Creating sessions from the Sakai SessionFactoryBase
- Sakai app and tool naming tips
- Best Practices for High Quality Code
- Best Practices for Javascript
- Sakai URL handling
- Javadocs for the Sakai API
- Changing sakai.properties live (No restart)
Current tips assume you are using Sakai 2.2+
Sakai Framework Tips
Current tips assume you are using Sakai 2.2+
Sakai Provider Tips
All tips assume you are using Sakai 2.2+ unless otherwise noted
Eclipse Tips
- Implementing an interface
- Adding a try-catch block
- Filtering out external libraries in package explorer
- Getting the Eclipse updater to work for minor releases
- Debugging Tomcat Remotely Using Eclipse
- Install SpringIDE
- Install Eclipse WTP
- Add bin and target to global svn ignore in Eclipse
- Install Subclipse
- Install Eclipse 3.2+
- Install Maven Eclipse Plugin
- Import Sakai source into Eclipse
All tips assume you have at least Eclipse 3.1.2+