Building Sakai (a.k.a. sakai-dev)
The Building Sakai area is oriented towards the needs of designers, programmers, developers, and quality assurance members of the Sakai community. It encompasses a broad range of topics, including documenting, designing, developing, testing, and releasing Sakai. You will find information here on best practices for the design and development of tools and services, documentation on integration and migration, technical specifications for components of projects, plans for future releases, etc.
In addition to this area in Confluence, there is also an email list for discussing topics and asking questions related to building Sakai: email@example.com (join sakai-dev list.) This is a very active list, with several or more messages a day (sakai-dev list archive).
- #Related Working Groups
- #Work in Progress
- #Proposals for Discussion
- #Ideas and Concepts
- #Developer Documentation
- Sakai 3
- Development Infrastructure (and how to get access or report problems )
Related Working Groups
- Internationalization and Localization
- Release Management
- User Experience (UX)
Work in Progress
Sakai 3 - A managed project is underway to deliver Sakai 3.0 by the end of June 2011.
These are mini projects and efforts which are being worked on, they are too small to need their own space but something worth sharing with the community, feel free to link to other spaces if you like, remove your stuff from here once it is completed or if it becomes inactive
- Kernel - Sakai's kernel services
- Sakai MessageService - Exposes JMS API based service that uses ActiveMQ
- JMS Event Service - Plans to replace the event service with a JMS event service
- Sakai Cluster-wide Caching - Efforts to have a cluster wide cache in Sakai that supports expiration and replication
- Workflow - gathering requirements around the various workflow needs in Sakai, and information on 3rd-party solutions
- Content Authoring - designing and building a generic content authoring tool for Sakai
- TurnItIn Integration - requirements gathering for improving TurnItIn integration with Sakai
- XWiki Integration - proposal for the integration of XWiki with Sakai
- CKEditor Integration - Work to make CKEditor available within Sakai, addressing accessibility, functional, and code complexity issues.
Proposals for Discussion
This is a place to post your proposals related to Sakai and Sakai development, please feel free to create a page and link to it here.
- Component Manager Upgrade - Plan for upgrading the component manager to bring into line with industry standards - also to enable hot deploy
- User Content and Markup Security - an effort to understand and support user content creation and system security
Ideas and Concepts
This is a place to post your ideas or concepts related to Sakai and Sakai development, please feel free to create a page and link to it here.
- Portal Active Zones - Plans to add in zones to the portal which can have html fragments placed into them
- Hierarchy Service - A service to handle general hierarchy storage in Sakai
- Permissions Token Generator - A key token generator for handling storage and lookup of permissions based on token keys
- Sakai Easy Tools - Plans for making simple pluggable tools in Sakai which are super easy to write but have an upward migration path
- Recent Activity Service - Plans for how a recent activity service might be constructed in Sakai
- Distributed Version Control - Plans/Discussion of moving from SVN to a distributed vc system
Development Tips / Guidelines:
- Best Practices for High Quality Code - offers tips on ensuring you are writing high quality code for Sakai (and Java in general)
- Future Proofing Sakai 2 Tools - Tips on writing Sakai 2 tools with Sakai 3 in mind
- Programming Best Practices - Best practices for writing code in Sakai
- Release Practice Guidelines - How Sakai releases are assembled and maintained
- Sakai Developer Practices - describes trunk/branch/patch management, developer etiquette and the mechanics of technical decision-making
Reference Materials / Theoretical / Experimental:
- Automated Testing in Sakai - overview of test development approaches with pointers to examples and supporting technology
- Caching in Sakai - explains how to properly cache objects in Sakai
- Course Management - how to use Course Management* Course Management - how to use Course Management
- Entity Provider and Broker - Sakai entity system enhancement and potential replacement for the legacy entity producers/entities
- Helpers and Gadgets within Sakai - analyses the role of "helpers" or reusable fine-grained UI elements in general within Sakai
- Lighter-weight Sakai development
- Set up multiple Sakai versions - how to set up multiple sakai versions for your desktop
- URLs within Sakai - categorisation of the various kinds of URLs that are in use in Sakai, pointers to documentation and commentary on possible directions
- Writing and using SuperHelpers within Sakai - how to write a "new"-style helper using RSF, AHAH and the EntityBroker
Specific to Sakai 2.x and Kernel 1.x
- Test Runner - A package for running programmatic tests (load, data validation, migration, etc.) inside Sakai.
- JCR Integration - Java Content Repository integration documentation for Sakai 2.x/Kernel 1.x; a entirely different approach is being used in Kernel 2.x.