I Did Not Know You Could Do That With An SIS: How To Make Kuali Student Work For You

Post on 21-Oct-2014

1,077 views 3 download

Tags:

description

Kuali Student provides institutions the ability to configure it according to their needs at various levels of its architectural stack. This includes allowing institutions to change labels/texts on User Interface, updating the constraints/searches around data, and finally changing the data schema itself. These configurations are primarily provided through managing a series of XML (dictionary/property) files. This session will give a brief overview of the KS 1.1 architecture itself and then quickly dive into showing concrete examples with screens on some of the most common configuration/customizations. There would be something of interest for business analysts, technical architects and developers in this session and presumes a very limited knowledge of KS concepts.

transcript

open source administration software for education

next generation student system

I Did Not Know You Could Do That With An SIS: How To Make Kuali Student Work For You

Norman Wright, Business Analyst, University of Southern California Doug Chew, Systems Analyst, University of British Columbia Kamal Muthuswamy, Senior Application Systems Engineer, University of Washington

open source administration software for education

In The Next 60 Minutes …

• Introduction• Architecture• UI Configuration• Search Configuration• Data Configuration• Workflow Configuration• Challenge• Q/A

open source administration software for education

From the Charter…

• Kuali Student will be a modular, open source, standards-based next generation student system that will offer a flexible, scalable, cost-

effective system that can be configured to meet the business requirements of any higher education institution

open source administration software for education

That’s a tall order….

• We wanted a system that is infinitely configurable!

• So we came up with….

open source administration software for education

Welcome to Kuali Student R1.1

open source administration software for education

No Actually…

• The Charter Translated into reality….• We analyzed not just the founder and partner

schools but did a wide scan….• How do schools actually differ?

– Look and Feel– Validation– Text and labels– Additional Data– Lookups– Workflow

open source administration software for education

Draw a Distinction between Validation & UI

Validation• Cares about what

– Data– Rules– Integrity

• Must be rock solid• One Rule for all contexts

User Interface• Cares about how

– Look and feel– Ordering– Ease of Entry

• Can allow in invalid data – and then validation gives

error• Varies by context

open source administration software for education

The resulting KS Architecture

• Highly Configurable• SOA Based• GWT Driven UIF • Spring beans based configurations

open source administration software for education

KS Architecture

open source administration software for education

Configuring UI

• GWT Deferred Binding• Themes• Hiding Sections / Fields• Messages

open source administration software for education

KS Look and Feel

open source administration software for education

Institution Look and Feel

open source administration software for education

Hiding a Section / Field

• Extend CourseConfigurer• Override methods

• Deferred Binding to replace CourseConfigurer

open source administration software for education

Removing the Financials Section

open source administration software for education

Removing the Financials Section

Before After

open source administration software for education

Hide Pass Fail Field

Before After

open source administration software for education

Kuali Student Message Maintenance

• Validation messages• Constraints• Labels• Help text• Instruction text

open source administration software for education

Labels

Before

After

open source administration software for education

Help Text

Before

After

open source administration software for education

Configuring Lookups & Searches

open source administration software for education

Subject Area as Search Oracle

open source administration software for education

Subject Area as Drop Down

open source administration software for education

Before xml

• <property name="widget" value="SUGGEST_BOX" />

• <property name="resultDisplayKey“ value="enumeration.resultColumn.abbrevValue" />

• <property name="resultSortKey" value="enumeration.resultColumn.sortKey" />

open source administration software for education

After xml

• <property name="widget" value="DROP_DOWN" />

• <property name="resultReturnKey" value="enumeration.resultColumn.abbrevValue"/>

• <property name="resultDisplayKey" value="enumeration.resultColumn.value" />

• <property name="resultSortKey" value="enumeration.resultColumn.sortKey" />

open source administration software for education

Applies Cross-listing entry as well

open source administration software for education

Start Term Before

open source administration software for education

Start Term after

open source administration software for education

XML For configuring what is allowed

• <property name="key" value="atp.advancedAtpSearchParam.atpType" />• <property name="name" value="Atp types" />• <property name="desc" value="Atp types for courses" />• <property name="caseSensitive" value="false" />• <property name="writeAccess" value="NEVER" />• <property name="dataType" value="STRING" />• <property name="optional" value="true" />• <property name="defaultValueList">• <list>• <value>kuali.atp.type.Spring</value>• <value>kuali.atp.type.Fall</value>• <value>kuali.atp.type.Session1</value>• <value>kuali.atp.type.Session2</value>• <value>kuali.atp.type.Mini-mester1A</value>• <value>kuali.atp.type.Mini-mester1B</value>• </list>• </property>

open source administration software for education

XML For configuring what is allowed

• <property name="key" value="atp.advancedAtpSearchParam.atpType" />• <property name="name" value="Atp types" />• <property name="desc" value="Atp types for courses" />• <property name="caseSensitive" value="false" />• <property name="writeAccess" value="NEVER" />• <property name="dataType" value="STRING" />• <property name="optional" value="true" />• <property name="defaultValueList">• <list> • <value>kuali.atp.type.Spring</value>• <value>kuali.atp.type.Fall</value>• <!-- <value>kuali.atp.type.Session1</value>• <value>kuali.atp.type.Session2</value>• <value>kuali.atp.type.Mini-mester1A</value>• <value>kuali.atp.type.Mini-mester1B</value> -->• </list>• </property>

open source administration software for education

Browse Catalog Before

open source administration software for education

Browse Course Catalog After

open source administration software for education

Data Configuration: Dictionaries

• Central to KS data configurations• Spring bean based XML files• Manages constraints around data• Allows adding new data fields without code

changes• Easy to extend and override• Consumed by both the services and UIF

open source administration software for education

Data Configuration: Overriding default constraints

• Basic constraints – minLength, maxLength, validChars, etc

• Conditional constraints– When State = ‘active’ require Title

• Lookup based constraints– Program Code should be in X lookup table

• Custom constraint– Any custom logic for validating fields

open source administration software for education

Basic Constraints: Before

open source administration software for education

Basic Constraints: After

open source administration software for education

Basic Constraints: XML

• <bean id="courseInfo.courseNumberSuffix-parent" abstract="true"parent="cluIdentifierInfo.suffixCode-parent">• <property name="name" value="courseNumberSuffix" />• <property name="minLength" value=“4" />• <property name="maxLength" value=“4" />• <property name="validChars" ref="digits" />• <property name="caseConstraint">• <bean parent="caseConstraint">• <property name="operator" value="EQUALS"/>• <property name="fieldPath" value="state"/>• <property name="whenConstraint">• <list>• <bean parent="whenConstraint">• <property name="values“> <list> <value>DRAFT</value> </list> </property>• <property name="constraint">

<bean > <property name="minOccurs" value="1" /></bean>• </property>• </bean>• </list>• </property>• </bean>• </property>• </bean>

open source administration software for education

Custom Validation: Before

open source administration software for education

Custom Validation: After

open source administration software for education

Custom Validation: XML

• <bean id="courseInfo.revenues-parent" abstract="true" parent="baseComplexRepeating">

• <property name="name" value="revenues" />• <property name="dataObjectStructure"

ref="org.kuali.student.lum.course.dto.CourseRevenueInfo" />• </bean>

• <bean id="courseInfo.revenues" parent="courseInfo.revenues-parent" >

• <property name="customValidatorClass" value="org.kuali.student.lum.course.service.utils.RevenuePercentValidator"/>

• </bean>

open source administration software for education

Data Configuration:Adding new fields

• Dynamic attributes (DA) on most message structures

• No code change required at the service level• All constraints available for DA• Expose DA as regular field to KS UIF

open source administration software for education

Adding New Field: Before

open source administration software for education

Adding New Field: After

open source administration software for education

Adding New Field: XML

• <bean id="org.kuali.student.lum.course.dto.CourseInfo-parent” abstract="true" parent="objectStructureDefinition">

• <property name="attributes“> <list>• <!-- Dynamic Attributes -->• <ref bean="courseInfo.finalExamStatus" />• <ref bean="courseInfo.finalExamRationale"/>• </list> </property>• </bean>

• <bean id="courseInfo.finalExamStatus" parent="baseString">• <property name="name" value="finalExamStatus" />• <property name="maxLength" value="15" />• <property name="validChars" ref="alpha"/>• <!-- Maybe a lookup constraint to restrict the values -->• <property name="dynamic" value="true"/>• </bean>

open source administration software for education

More Configuration

• Configure ATP, Messages, Enumerations

• Configure Rules (RequirementComponents)

open source administration software for education

Infrastructure Configuration

• Tomcat 6.0.24• JAVA JDK: 1.6.0_18• RICE 1.03• dB:• Oracle XE 10.2.0 for development and test• Oracle 11G in test• OS: Fedora 8

open source administration software for education

Configuring Workflow

• KSOR - Kuali Student Organizations• KIM - Kuali Identity Management• KEW - Kuali Enterprise Workflow

open source administration software for education

KS Organization

• Publication Office• Senate• Division• College• Department

open source administration software for education

UBC Organization Approval Hierarchy

• Publication Office• Senate• Faculty• Department

open source administration software for education

Positions and People

• Define positions in organizations• Add people in Kuali Rice (KIM)• Configure KIM for field level authorization

open source administration software for education

Organization Memberships

• Memberships - add people to positions• Workflow tied to positions

open source administration software for education

KS Approval Workflow

open source administration software for education

UBC Approval Workflow

open source administration software for education

Complex Workflows - Branches

• Branches• Logic Split Nodes

open source administration software for education

Undergraduate Course

Proposal

Workflow

open source administration software for education

Graduate Course

Proposal

Workflow

open source administration software for education

Standard UBC Workflow

open source administration software for education

Pilot Course Workflow

Proposal

Workflow

open source administration software for education

Summary

• Highly not Infinitely Configurable• Leverage Configurability in Rice• Clean separation of different layers of

archictecture

• KS Configuration Guide

open source administration software for education

KS Configuration Challenge

open source administration software for education

Questions