This presentation covers the key steps and decisions that need to be taken in order to implement Kuali Student Release 1.1. It should be of interest to project managers and technical analysts who need to understand the mechanics of an implementation project. The topics include:
* The functional scope of R1.1
* Data conversation from legacy systems
* Technical deployment topologies: Rice infrastructure and database options
* Configuration options
* Managing the configuration project
* Documentation
* Bug fixes and enhancements
2. open source administration software for education
Implementing Kuali Student
Objective : you should be able to list the items
that need to be in an implementation project plan
• Leo Fernig: 15 minute overview of implementation
• Kamal Muthuswamy: 15 minute over view of configuration
• Jeff Caddel: 15 minute overview of deployment
3. open source administration software for education
Documentation
• Everything covered :
– Implementation guide
– Configuration guide
– Developer guide
On December 15 documentation will be ready to download:
4. open source administration software for education
Key implementation topics
1. Functional design issues
2. Technical design issues
3. Kuali Student resources that are available for
implementation teams
5. open source administration software for education
Functional design and decision points
Functional decision points
• Decide on the scope of the implementation
• Decide which business processes need to be
implemented
• Decide on integration pattern with legacy
systems
6. open source administration software for education
Scope of an implementation project
Scope of the data footprint
– Course
• Credit courses
• Non-credit courses
– Program
– Other
Scope of the business footprint
– Are you going to introduce new business processes
– Are you going to pilot for selected schools
Technical footprint
– Small: ks-embedded
– Large: rolling our Rice as an EA building block
7. open source administration software for education
Analyse curriculum workflow
Workflow
• Centralized (all forms go to a central office for entry)
• Heterogeneous (mixed distributed and centralized)
• Distributed (proposals are entered at the source)
• Workflow configuration
– Pre-configured
– Dynamic
9. open source administration software for education
Data integration strategies
One way or two way ?
1. Integration at the business service layer. Preferred!
2. Integration at the LU service layer
3. Db to Db
Legacy
System
KSLU
Learning Unit
Credit Course
10. open source administration software for education
Data Conversion
Data conversion
1. Data mapping
Map legacy elements to KS credit course
2. Create dynamic attributes
Add additional data elements needed
3. Dictionary constraints
Change/relax constraints in xml dictionary files
4. Extract and load programs
Modify/re-use existing code developed at UBC/UCB
11. open source administration software for education
Resources available during implementation
• Formal documentation:
– Implementation guide
– Configuration guide
– Developer guide
– Available at: http://kuali.org/ks/releases on December 15
• KS wiki
• Service contracts
• Database ER diagrams
• Community: Implementer User group (IUG)
• Join ks.collab@kuali.org, rice.collab@kuali.org
12. open source administration software for education
Preparing for Configuration
• Bring KS instance up and running standalone
• Document configuration requirements
• Setup the environment (Dev, Test…)
• Set up local configuration project
• Join ks.collab@kuali.org, rice.collab@kuali.org
• Review KS Install/Config Guides.
– Don’t forget the developer guide
13. open source administration software for education
KS Configuration Options
• Configuration option available at multiple level
• Configuring UI
– Style, themes, logos, messages
– Adding/dropping fields
– Sections, layouts
• Configuring Data
– Spring bean based XML data dictionaries
– Constraints that are used by services and UI
– Dynamic Attributes
• Configure Search/Lookups
16. open source administration software for education
KS Configuration Project
• Separate Project
• All the configuration artifacts (XML, Java,
Properties) goes in it
• Safe from KS Upgrades
• Can clone ks-web/ks-embedded as a starting
point
17. open source administration software for education
Configuration Tools
• KS Admin Client to manage
– Messages, Academic Time Period, Enumerations
18. open source administration software for education
Skill Set Required
• What skill set is required for configuration
– Depends on the configuration
– Configuration guide documents ‘Level of
Complexity’
– Most configuration is XML file editing
– For UI certain amount of Java and preferably GWT
knowledge required
19. open source administration software for education 3
KS Build & Deploy: Summary
• Institution agnostic
• Cloud oriented
– Elastic Compute Cloud (EC2)
– Simple Storage Service (S3)
• Maven centric
– Build from source with “mvn install”
20. open source administration software for education 3
KS Build & Deploy : Cloud Resources
• https://test.kuali.org/svn/student/tags
• EC2
– http://ci.ks.kuali.org – Hudson
– http://nexus.kuali.org – Nexus Repository Manager
– http://dev.ks.kuali.org – Linux + Tomcat + Oracle
• S3
– http://maven.kuali.org – S3 “bucket”
– 99.999999999% durability
– 99.99% up time
– http://s3browse.springsource.com/browse/maven.kuali.org
– Commodity pricing - $0.15 per gigabyte
Everything in this presenation will be covered in greater detail in the product documentation.
There is potentially an enormous variability in the scope of an implementation project. At the one extreme it can be treated as a relatively contained, small/medium project:
Just course approval
Do not change any existing business processes
Small technical footprint: just ks-embedded
Large:
If you want to use Kuali Student as an occasion for business process reengineering
If you want to use Kuali Student
You have 3 options available to you.
You can go directly against the Kuali Student Learning Unit database. You could use SQL scripts from the installation process as a model for this approach. However, this is the most error prone approach. There is no guarantee that your data mappings will match those of the application. The data element names are very abstract. You will by-pass all the all the edits and constraints defined in the dictionaries
The second option is to go against the LU Service