SlideShare a Scribd company logo
1 of 60
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.abbrevValu
e" />
• <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.abbrevValu
e"/>
• <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.RevenuePercentVal
idator"/>
• </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
(RequirementComp
onents)
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

More Related Content

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

Arc draft- Education
Arc draft- Education Arc draft- Education
Arc draft- Education selvaslide
 
Real World – Rapid prototyping with Logic Apps
Real World – Rapid prototyping with Logic AppsReal World – Rapid prototyping with Logic Apps
Real World – Rapid prototyping with Logic AppsBizTalk360
 
Using the Kuali Student Configurable User Interface Framework
Using the Kuali Student Configurable User Interface FrameworkUsing the Kuali Student Configurable User Interface Framework
Using the Kuali Student Configurable User Interface FrameworkKuali Student Project
 
Advanced Excel Automation in the Enterprise
Advanced Excel Automation in the EnterpriseAdvanced Excel Automation in the Enterprise
Advanced Excel Automation in the EnterpriseHelpSystems
 
Android webinar class_5
Android webinar class_5Android webinar class_5
Android webinar class_5Edureka!
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP TestingRTTS
 
Kent State University Libraries Develops a New System for Resource Selection
Kent State University Libraries Develops a New System for Resource SelectionKent State University Libraries Develops a New System for Resource Selection
Kent State University Libraries Develops a New System for Resource SelectionCharleston Conference
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery GuideMark Rackley
 
Easy online business processes with Plone forms and workflow
Easy online business processes with Plone forms and workflowEasy online business processes with Plone forms and workflow
Easy online business processes with Plone forms and workflowT. Kim Nguyen
 
Performance Testing your Kuali Student Product
Performance Testing your Kuali Student ProductPerformance Testing your Kuali Student Product
Performance Testing your Kuali Student ProductKuali Student Project
 
Portfolio Oversight With eazyBI
Portfolio Oversight With eazyBIPortfolio Oversight With eazyBI
Portfolio Oversight With eazyBIeazyBI
 
Sakai presentation
Sakai presentationSakai presentation
Sakai presentationcarl33p
 
Bb world 2012 using database statistics to make capacity planning decisions...
Bb world 2012   using database statistics to make capacity planning decisions...Bb world 2012   using database statistics to make capacity planning decisions...
Bb world 2012 using database statistics to make capacity planning decisions...Geoff Mower
 
09 commercial distance learning software systems
09 commercial distance learning software systems09 commercial distance learning software systems
09 commercial distance learning software systems宥均 林
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO DevsWO Community
 

Similar to I Did Not Know You Could Do That With An SIS: How To Make Kuali Student Work For You (20)

Bn1038 demo pega
Bn1038 demo  pegaBn1038 demo  pega
Bn1038 demo pega
 
Arc draft- Education
Arc draft- Education Arc draft- Education
Arc draft- Education
 
Real World – Rapid prototyping with Logic Apps
Real World – Rapid prototyping with Logic AppsReal World – Rapid prototyping with Logic Apps
Real World – Rapid prototyping with Logic Apps
 
Niharika_Shukla_CV
Niharika_Shukla_CVNiharika_Shukla_CV
Niharika_Shukla_CV
 
Using the Kuali Student Configurable User Interface Framework
Using the Kuali Student Configurable User Interface FrameworkUsing the Kuali Student Configurable User Interface Framework
Using the Kuali Student Configurable User Interface Framework
 
Taming the shrew Power BI
Taming the shrew Power BITaming the shrew Power BI
Taming the shrew Power BI
 
Advanced Excel Automation in the Enterprise
Advanced Excel Automation in the EnterpriseAdvanced Excel Automation in the Enterprise
Advanced Excel Automation in the Enterprise
 
Android webinar class_5
Android webinar class_5Android webinar class_5
Android webinar class_5
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP Testing
 
Kent State University Libraries Develops a New System for Resource Selection
Kent State University Libraries Develops a New System for Resource SelectionKent State University Libraries Develops a New System for Resource Selection
Kent State University Libraries Develops a New System for Resource Selection
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
Easy online business processes with Plone forms and workflow
Easy online business processes with Plone forms and workflowEasy online business processes with Plone forms and workflow
Easy online business processes with Plone forms and workflow
 
pavan new
pavan newpavan new
pavan new
 
Performance Testing your Kuali Student Product
Performance Testing your Kuali Student ProductPerformance Testing your Kuali Student Product
Performance Testing your Kuali Student Product
 
Portfolio Oversight With eazyBI
Portfolio Oversight With eazyBIPortfolio Oversight With eazyBI
Portfolio Oversight With eazyBI
 
Sakai presentation
Sakai presentationSakai presentation
Sakai presentation
 
Bb world 2012 using database statistics to make capacity planning decisions...
Bb world 2012   using database statistics to make capacity planning decisions...Bb world 2012   using database statistics to make capacity planning decisions...
Bb world 2012 using database statistics to make capacity planning decisions...
 
abhishek
abhishekabhishek
abhishek
 
09 commercial distance learning software systems
09 commercial distance learning software systems09 commercial distance learning software systems
09 commercial distance learning software systems
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
 

Recently uploaded

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Recently uploaded (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

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

  • 1. 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
  • 2. open source administration software for education In The Next 60 Minutes … • Introduction • Architecture • UI Configuration • Search Configuration • Data Configuration • Workflow Configuration • Challenge • Q/A
  • 3. 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
  • 4. open source administration software for education That’s a tall order…. • We wanted a system that is infinitely configurable! • So we came up with….
  • 5. open source administration software for education Welcome to Kuali Student R1.1
  • 6. 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
  • 7. 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
  • 8. open source administration software for education The resulting KS Architecture • Highly Configurable • SOA Based • GWT Driven UIF • Spring beans based configurations
  • 9. open source administration software for education KS Architecture
  • 10. open source administration software for education Configuring UI • GWT Deferred Binding • Themes • Hiding Sections / Fields • Messages
  • 11. open source administration software for education KS Look and Feel
  • 12. open source administration software for education Institution Look and Feel
  • 13. open source administration software for education Hiding a Section / Field • Extend CourseConfigurer • Override methods • Deferred Binding to replace CourseConfigurer
  • 14. open source administration software for education Removing the Financials Section
  • 15. open source administration software for education Removing the Financials Section Before After
  • 16. open source administration software for education Hide Pass Fail Field Before After
  • 17. open source administration software for education Kuali Student Message Maintenance • Validation messages • Constraints • Labels • Help text • Instruction text
  • 18. open source administration software for education Labels Before After
  • 19. open source administration software for education Help Text Before After
  • 20. open source administration software for education Configuring Lookups & Searches
  • 21. open source administration software for education Subject Area as Search Oracle
  • 22. open source administration software for education Subject Area as Drop Down
  • 23. open source administration software for education Before xml • <property name="widget" value="SUGGEST_BOX" /> • <property name="resultDisplayKey“ value="enumeration.resultColumn.abbrevValu e" /> • <property name="resultSortKey" value="enumeration.resultColumn.sortKey" />
  • 24. open source administration software for education After xml • <property name="widget" value="DROP_DOWN" /> • <property name="resultReturnKey" value="enumeration.resultColumn.abbrevValu e"/> • <property name="resultDisplayKey" value="enumeration.resultColumn.value" /> • <property name="resultSortKey" value="enumeration.resultColumn.sortKey" />
  • 25. open source administration software for education Applies Cross-listing entry as well
  • 26. open source administration software for education Start Term Before
  • 27. open source administration software for education Start Term after
  • 28. 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>
  • 29. 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>
  • 30. open source administration software for education Browse Catalog Before
  • 31. open source administration software for education Browse Course Catalog After
  • 32. 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
  • 33. 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
  • 34. open source administration software for education Basic Constraints: Before
  • 35. open source administration software for education Basic Constraints: After
  • 36. 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>
  • 37. open source administration software for education Custom Validation: Before
  • 38. open source administration software for education Custom Validation: After
  • 39. 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.RevenuePercentVal idator"/> • </bean>
  • 40. 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
  • 41. open source administration software for education Adding New Field: Before
  • 42. open source administration software for education Adding New Field: After
  • 43. 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>
  • 44. open source administration software for education More Configuration • Configure ATP, Messages, Enumerations • Configure Rules (RequirementComp onents)
  • 45. 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
  • 46. open source administration software for education Configuring Workflow • KSOR - Kuali Student Organizations • KIM - Kuali Identity Management • KEW - Kuali Enterprise Workflow
  • 47. open source administration software for education KS Organization • Publication Office • Senate • Division • College • Department
  • 48. open source administration software for education UBC Organization Approval Hierarchy • Publication Office • Senate • Faculty • Department
  • 49. 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
  • 50. open source administration software for education Organization Memberships • Memberships - add people to positions • Workflow tied to positions
  • 51. open source administration software for education KS Approval Workflow
  • 52. open source administration software for education UBC Approval Workflow
  • 53. open source administration software for education Complex Workflows - Branches • Branches • Logic Split Nodes
  • 54. open source administration software for education Undergraduate Course Proposal Workflow
  • 55. open source administration software for education Graduate Course Proposal Workflow
  • 56. open source administration software for education Standard UBC Workflow
  • 57. open source administration software for education Pilot Course Workflow Proposal Workflow
  • 58. 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
  • 59. open source administration software for education KS Configuration Challenge
  • 60. open source administration software for education Questions