Sakai is an open source learning management system that was formed in January 2008 from the merger of the Sakai and Oncourse projects. It discusses the history and development of Sakai and Oncourse. Key components of Sakai include its use of Spring for dependency injection, Tomcat as the application server, and services/tools that are implemented. Contact information and ways to get involved in the Sakai community are also provided.
7. Sakai
•
– UserDirectoryProvider – map your local user information
(eg in LDAP, IMS Enterprise, Kerberos) into Sakai
– GroupProvider
– CourseManagementProvider
– PortalHandler (new in Sakai 2.4) – register new top-level
handlers in the Sakai portal URL space
– EntityProducer – export primary entities handled by your service as
1st-class Sakai “Entities” (resolvable by URLs, addressible by Events, searchable)
• Sakai
9. ,
• Tools(web)
– (persistence)
– presentation (GUI)
• Services / Components(API/Impl)
– Must provide documented API
– presentation (not aware of HTML at all)
– , (not data models)
• Framework(Tomcat)
– tools and service
– common capabilities
– domain objects
25. Sakai 开
• Sakai (component)
– (API module)
• Java (interface definitions)
(constants)
• JAR (shared area)
– (Impl module)
• (API interfaces )
• Spring (components.xml )
Spring (context)
• WAR (components area)
26. Sakai (Services)
• Sakai (services) Spring
(context) Spring beans
• 每 Sakai (component) Spring
components.xml
• Sakai 启 ,
.
27. Spring Sakai (Services)
• Sakai (APIs) Java (interfaces)
• 每 Sakai (APIs)
• Sakai Spring (components.xml) Spring bean
• : Spring Sakai
(UserDirectoryService)
<bean id="org.sakaiproject.user.api.UserDirectoryService“
class="org.sakaiproject.user.impl.DbUserService"
init-method=“init”
destroy-method="destroy" singleton="true">
......
<property name="autoDdl“ value=“${auto.ddl}”/>
<property name="cacheMinutes“ value=“5”/>
</bean>
28. ComponentManager
mgr.get(“org.sakaiproject.site.api.SiteService”);
• Spring
(ApplicationContext)
• id Class
29. Sakai 构
• 4
– Api (interfaces)
• Logic - business logic and dao apis
• Model - POJOs (value/data objects)
• Public - Service API (if you have one)
• Hbm - Hibernate HBM files
– Impl (implementations)
• Dao - data access implementation
• Logic - business logic implementation
• Tests - programmatic tests (unit/integration)
– Pack (component definitions)
• Spring (Sakai components.xml)
– Tool (webapp)
• Java src/java - java classes used by your tool only
• 关 src/webapp - xml, jsp, html, other meta files
URL: http://issues.sakaiproject.org/confluence/x/BGo
31. Sakai 构
• org.sakaiproject - base package prefix
– You could also use your local prefix (e.g. uk.ac.cam.caret)
• org.sakaiproject.app-name
• Use something unique for app-name, long is good
– dao - data access
– hbm – hibernate mapping files
– Logic – business logic
– Model – value/data objects
– Service – public api
– Tool – webapp
• Add impl to represent implementations
URL: http://issues.sakaiproject.org/confluence/x/BGo
45. Oncourse CL ,迁
Su/Fall 04 Spring 05 Su/Fall 05 Spring 06 Su/Fall 06
We Are Here – December 2005
Oncourse 2
Fall ’05 by Web form request only
Pilot Period – Limited Release
CL 1.5 CL 2.0 CL 2.1 CL 2.x
Sakai 开 构
Indiana, Michigan, Stanford Oncourse CL
and MIT
05 Oncourse CL
48. Sakai
•
• COMMUNITY PROCESSES — Sakai contact Mark Norton, Sakai
Community Process WG Chair (markjnorton@earthlink.net).
• 开 DEVELOPMENT — 开 join Sakai-Dev DG; review existing projects,
requirements, feature requests or contribute new tools and/or services; contact Peter
Knoop, Project Coordinator (knoop@umich.edu), or Anthony Whyte, Sakai Technical
Liaison (arwhyte@umich.edu).
• INFRASTRUCTURE — QA servers, JIRA/Confluence
hosting, contact Peter Knoop.
• QA — join QA Work Group, contact Megan May, QA Coordinator
(mmmay@indiana.edu).
• REQUIREMENTS & USE CASE DEVELOPMENT — join the
Requirements WG; contact Mara Hancock, REQ WG chair
(mara@media.berkeley.edu).