sepp technical presentation - june 20051 overview of sakai technology mark j. norton senior...
TRANSCRIPT
SEPP Technical Presentation - June 2005 1
Overview of Sakai Technology
Mark J. Norton
Senior Technical Consultant
The Sakai Project
SEPP Technical Presentation - June 2005 2
Welcome!
SEPP Summer ConferenceJune 10, 2005
Baltimore, Maryland
SEPP Technical Presentation - June 2005 3
Overview
• Quick Technical Overview
• What’s New in Sakai 2.0– Kernel– Services– Portals
• Sakai Technical Development– Getting Involved– Anticipated Changes
SEPP Technical Presentation - June 2005 4
What is Sakai?
• Sakai is a Collaboration Learning Environment.
• It is a platform for modular tools.
• It’s also bundled support for:– Course management– Learning delivery– Collaboration, work, and administration
SEPP Technical Presentation - June 2005 5
The
Sak
ai F
ram
ewor
k
SakaiService
SakaiService
SakaiService
SakaiService
Sakai Tool Sakai Tool Sakai Tool
What is a Framework?
• A “framework” is like a “hosting environment”• It is the stuff that “surrounds” the user-programmable
parts “inside”• This framework includes common services that can
be used to build more complex services.
SEPP Technical Presentation - June 2005 6
Aggregator
Presentation
Tools
Services
Client
System
The
Abs
trac
t S
akai
Env
ironm
ent
What is an Architecture?
• Very abstract• The part that doesn’t change• Defines common terminology• Usually not heavily debated• Is not the implementation
detail at all
SEPP Technical Presentation - June 2005 7
Architecture .vs. Framework
Aggregator
Presentation
Tools
Services
Client
System
The
Abs
trac
t S
akai
Env
ironm
ent
The
Sak
ai F
ram
ewor
k
InternalAggregator
Sakai ToolPresentation
SakaiTool Code
ApplicationServices
FrameworkServices
PresentationSupport
The
Sak
ai T
ool E
nviro
nmen
t
ExternalAggregator
System
Architecture
Framework
The Sakai Architecture leads to the design of a Sakai Framework
SEPP Technical Presentation - June 2005 8
The Sakai Framework
JSF
Tools
Application Services
Portal
Common Services
Kernel
The Sakai Framework consists of three essential parts: JSF to manage presentation and implement the Style Guide, Common Services to provide essential service support, and the kernel to provide a basic web application environment.
SEPP Technical Presentation - June 2005 9
What’s New in Sakai 2.0?
• A Completely New Kernel– Flexible support for applications
• Service Transition– Legacy Services moving forward– New Common Services
• Portals– Now: Charon and Mercury– Later: Astro and uPortal
SEPP Technical Presentation - June 2005 10
New Kernel Features
• Login and Authentication
• User Sessions
• Tool Placement
• Component and App Registration
• Dependency Injection via Spring
• Broader UI support (Servlet, JSP, myFaces)
SEPP Technical Presentation - June 2005 11
Legacy Services Start to Migrate
• The Legacy Authorization service is still in place.
• Changes were made to legacy services so they will work with new kernel.
• Work being done on Content Hosting.
• Providers replace plug-ins.
SEPP Technical Presentation - June 2005 12
Legacy Services• alias• announcement• archive• assignment• calendar• chat• content• coursemanagement• digest• discussion• dissertation• email• event• id• message
• news• notification• preference• presence• realm• resource• security• site• time• user• CVS• cluster• component• config• courier
• current• email• log• memory• portal• session• sql
SEPP Technical Presentation - June 2005 13
Providers
• Providers are a way to “look someplace else” for data.
• These other place can be a remote service or a database.
• Sakai is working on well known database schemas to allow data to be moved in via intermediate databases.
SEPP Technical Presentation - June 2005 14
New Common Services
• Several key services are being completely re-designed:– Authorization– Super Structure– Course Management
• These will enable hierarchical site organization and improve integration.
SEPP Technical Presentation - June 2005 15
The Sakai Common Services
Authorization
Authentication
SuperStructure
RepositoryAgent / Group
UuidType
SEPP Technical Presentation - June 2005 16
The Authorization Structures
Group
Group Group
Agents Agents
Group Tree UCD
English Science
Staff Biology
BIO-101
Section
Site
Tools
Dean
Prof.
Super Structure
Chat.Read
Email.Write
Assess.Grade
Site.Create
Functions
WHO CAN-DO WHAT?
SEPP Technical Presentation - June 2005 17
sakai
UM
EE
EE101
S123
Off101
chat-tool dir/
file.txt
rsrc-tool
layout
Group-EE-Students
Group-UM-Students
chat-tool
GRP1
GRP2
Chat-channel-0439
Sakai Super Structure
Note: this is not areporting structure,Rather, it is a way toorganize resourcesand determine access to them.
SEPP Technical Presentation - June 2005 18
Portals
• Sakai will continue to offer it’s own portal.
• These are being rolled out in Sakai 2.0 and 2.1.
• Support for uPortal is being moved into place based on WSRP work by Anthony and Chuck.
SEPP Technical Presentation - June 2005 19
Charon
• Charon is a new version of the Sakai portal that supports flat worksites and legacy authorization.
• It is integrated with the new Sakai kernel, so it is more robust, flexible, and extensible.
• It works pretty much the same as before (but look for a new Sakai skin!).
SEPP Technical Presentation - June 2005 20
Mercury
• Mercury is a development portal, new in Sakai 2.0.
• It provides some system level information to help developers.
• Allows tools to be accessed independently.
• No more need for tunneled access.
SEPP Technical Presentation - June 2005 21
Astro
• Astro will be the default Sakai portal in Sakai 2.1.
• It will support hierarchical organization of projects and courses, including inheritance of permissions.
• It will use the new Authorization Common Service.
• Will require some admin changes.
SEPP Technical Presentation - June 2005 22
uPortal
• Anthony Whyte and Charles Severance have been working on adding WSRP support to Sakai (for the IMS TPP project).
• This should also provide support for uPortal integration as well.
• Coordination and development will be needed from both Sakai and JA-SIG.
SEPP Technical Presentation - June 2005 23
Getting Involved in Sakai
• Sakai is a community based, open source development effort.
• That means that we need many people to get involved.
• Not everyone needs to be a developer:– UI specialists -- Database people– Testing and QA -- Documentation
SEPP Technical Presentation - June 2005 24
Kinds of Sakai Development
• Framework development – core
• Service development - specialists
• Tool development - general
• User interface design – HCI specialists
• Database Migration – DBAs, etc.
• Skins and style sheets - designers
SEPP Technical Presentation - June 2005 25
Framework Development
• Chuck, Glenn, Lance, Craig and others will continue to work on the Sakai Framework.
• However, there is room for other contributors:– Internationalization– Accessibility– Modularity, Plug’n’Play, etc.
SEPP Technical Presentation - June 2005 26
Service Development
• Services are the heart of Sakai functionality.
• Legacy services will be migrated.
• Common services, completed.
• Consider other services, though:– Work flow, SCORM, instructional design,– Content management, library services, etc.
SEPP Technical Presentation - June 2005 27
New Tool Development
• Existing tools are being reviewed and re-designed to make them Style Guide compliant.
• New tools are being proposed.
• What tools would you like to build?
SEPP Technical Presentation - June 2005 28
User Centric Design
User FeatureRequests
Sakai StyleGuide
User InterfacePrinciples
Requirements
ConceptualDesign
EvaluationBy Users
ToolDesign
ServiceRequirements
TestPlan
SEPP Technical Presentation - June 2005 29
Database Migration
• Sakai currently supports:– Oracle– MySQL– Hypersonic
• Others we could consider include:– PosGreSQL– MS SQL Server– Etc.
SEPP Technical Presentation - June 2005 30
Governance
• We framing the discussion of how Sakai should be governed at this conference.
• If you care about Sakai, please contribute to this dialog!
• Governance many not specify what gets built, but it may determine how fast it gets there.
SEPP Technical Presentation - June 2005 31
Starting a Work Group
• The Sakai discussion groups will continue to serve as a place to incubate ideas around.
• If there are people who are interested in turning these ideas into code, a work group can be created.
• Sakai provides on-line support for WGs.
• Submit a WG proposal, it’s easy!
SEPP Technical Presentation - June 2005 32
CVS Process
• Server: cvs.sakaiproject.org• CVS Structure
– The bundled release of Sakai is now managed under the sakai2 CVS root.
– Use scratch to hold prototypes, etc.– Use config to distribute completed (etc) code.
• Sakai Releases– Part of the governance discussion is to figure out
how future Sakai releases will be managed.
SEPP Technical Presentation - June 2005 33
Quality Assurance
• Carol Dipple is leading the Sakai QA effort.
• We all benefit from the QA process.
• Sakai is getting better at testing release candidates, but we still have a ways to go.
• Please help by volunteering to test.
SEPP Technical Presentation - June 2005 34
Bug Tracking
• Full-time bug manager (Peter Knoop)
• [email protected]• [email protected]• bugs.sakaiproject.org• Open to the public to view and
submit• Will increasingly be the focus
of new work assignments
SEPP Technical Presentation - June 2005 35
Documentation
• Sakai has several kinds of documentation:– The KnowledgeBase at Indiana U.
• https://www.indiana.edu/~sakaikb/
– Sakaipedia– Published documents and reports– JavaDoc
• If you can’t find what you need, please consider writing it.
SEPP Technical Presentation - June 2005 36
Documentation
• Collab.sakaiproject.org– This is where most projects are organized.
• Sakaipedia– A collaborative documentation
effort similar to Wikipedia.
• Formal documents– The kernel and key services are formally
documented.
SEPP Technical Presentation - June 2005 37
Questions?