SlideShare una empresa de Scribd logo
1 de 28
open source administration software for education
next generation student system
Using the Kuali Student Configurable
User Interaction Model & Framework
Brian Smith - User Interaction Development Lead, San Joaquin Delta College
William Washington - User Experience Architect, University of Washington
open source administration software for education
Outline
• Kuali Student Needs: User Experience & Customization
• Solution: Reusable Components
• Implementation: User Interaction Model & Framework
• User Interaction Model: Overview & examples
• User Interaction Framework: Overview & examples
• Next Steps
open source administration software for education
Kuali Student Needs
• A great user experience
– Clear navigation, headers, input labels, instructions,
messaging, and help
• Institutional configuration
– Fields and field labels
• Customize fields
• Add/Remove fields
– Headers
– Sections (Pages)
– Functionality
open source administration software for education
Solution
• Reusable & configurable user interface elements
– Small “components”
• Buttons, Links
• Input fields (e.g. radio button, checkbox, text input)
– Big “composites”
• Tables
• File Upload tool; Commenting tool
• Benefits
– Consistent behavior across the application
– Consistent look and feel
– Reusable code
open source administration software for education
Implementation
• User Interaction Model (UIM)
– Documentation that specifies the behavior of
modular user interface elements for the developers
of the framework
– Interface design guide for implementers and code
contributors.
• User Interaction Framework (UIF)
– Leverages Google Web Toolkit (GWT), and is the
working code that will allow implementers to
configure the user interface.
open source administration software for education
User Interaction Model (UIM)
• Specifies the behavior and display of modular
user interface elements
• Evolving UI guide for implementers and
contributors
• UIM doesn’t describe how to configure UI
elements
open source administration software for education
UIM: Examples
• UIM structure - link
• Individual page examples
– Example: Tables
– Example: Search & Select, Search Results
– Example: Multiplicity
– Example: Sections and Fields
open source administration software for education
UIM: Example: Sections and Fields
Field (FieldDescriptor)
Section (GroupSection)
Requiredness
Explanatory Help
Label
Input
Instructions
Watermark
Constraints
Requiredness (by state)
open source administration software for education
User Interaction Framework (UIF)
• The GWT framework for Kuali Student which
presents and handles our layouts and data
• The UIF is responsible for navigation,
controllers, views, and laying out fields and
widgets on the screen – the functional
requirements of the UI
• Also responsible for interacting with the data
model, and services through RPC calls
open source administration software for education
UIF: Architecture
open source administration software for education
UIF: Components
SectionView (VerticalSectionView)
LayoutController (MenuSectionController)
Field (FieldDescriptor)
Section (GroupSection)
open source administration software for education
UIF: Components
• FieldDescriptors
– Fields that map to a data element that exists in the data dictionary
– Most fields are auto-generated based on their dictionary metadata, but
can be further customized
• Section
– Contain sections, which themselves contain fields
– SectionViews are sections that are also Views
• LayoutControllers
– Contain Views
– Handle the layout, navigation, and breadcrumbs for a defined section
automatically
– The LayoutController is also responsible for sending and receiving data
from the server
– An example of a LayoutController is the CourseProposalController
open source administration software for education
UIF: How To Configure
• Defining Fields and Sections on a screen
– Course and Program screens use a configurer class to define
the fields displayed on the screen
– To override: define a configurer which extends the default
configurer and override its methods to change the content
that appears on the screen. Then, use GWT deferred
binding to use your custom configurer instead.
• Customizing widgets
– Similarly, some widgets in the UIF can be customized by
institutions through deferred binding
• Visual Design Theme
– The existing Theme can also be overridden in a similar
fashion through deferred binding
open source administration software for education
UIF: Examples
• Field Configuration
– Change label
– Add a new field
– Advanced field configuration
• Section configuration
– Change field location
– Change section location
open source administration software for education
UIF: Changing Field Labels
• Changing a Label
– A field is defined with a message key that
corresponds with messages in the DB
– You can change the value of the message in the DB
using SQL or by using the Rice message utility for KS
– Alternatively, hardcode the text in the code when
you override the configurer, if you do not need to
change the text during runtime
addField(section, COURSE + "/" + COURSE_TITLE, generateMessageInfo(“courseTitle”));
open source administration software for education
UIF: Changing Field Labels - Example
• Before
• After
open source administration software for education
UIF: Changing Field Labels - Example
open source administration software for education
UIF: Additional Field Label changes -
Example
• Change additional labels of a field
– “-instruct” for instructions
– “-help” for help
– “-watermark” for watermarks in text fields
– “-constraints” for constraint help text below the
input field
open source administration software for education
UIF: Add a new field
1. Add a new data field in your custom
dictionary extension/override
<bean id="org.kuali.student.lum.course.dto.CourseInfo"
parent="org.kuali.student.lum.course.dto.CourseInfo-parent" >
<property name="attributes">
<list merge="true">
<ref bean="courseInfo.newField" />
</list>
</property>
</bean>
<bean id="courseInfo.newField" parent="baseString">
<property name="name" value="newField" />
<property name="minOccurs" value="1" />
<property name="maxLength" value=“4" />
<property name="dynamic" value="true" />
</bean>
open source administration software for education
UIF: Add a new field
2. Add the field using its field key to a section in
your custom configurer
VerticalSectionView section = initSectionView(CourseSections.COURSE_INFO,
LUConstants.INFORMATION_LABEL_KEY);
…
addField(section, COURSE + "/" + "newField", generateMessageInfo("New
Field"));
…
open source administration software for education
UIF: Add a new field
3. Use your custom configurer, instead of the
default one, in your gwt module through
deferred binding
<replace-with
class="edu.kuali.config.lum.lu.ui.client.course.configuration.SampleCourseConfigurer"
>
<when-type-is
class="org.kuali.student.lum.lu.ui.course.client.configuration.CourseConfigurer"/>
</replace-with>
open source administration software for education
UIF: Add a new field
4. Test:
• Note the field’s size and required indicator –
the field is generated based on its metadata:
maxLength = 4 and minOccurs = 1
open source administration software for education
UIF: Advanced Field Configuration
• You can change the field’s widget:
• You can also change its binding (when there are
differences between how data is stored and how it is
represented in the UI; ie, the translation)
FieldDescriptor addField(Section section, String fieldKey, MessageKeyInfo messageKey,
Widget widget)
fieldDescriptor.setModelWidgetBinding(myNewBinding);
open source administration software for education
UIF: Change Field Location
• Simply change the order of the fields in a
section
• You can also delete fields from a section by
removing the addField call
addField(section, COURSE + "/" + COURSE_TITLE,
generateMessageInfo(LUConstants.COURSE_TITLE_LABEL_KEY));
addField(section, COURSE + "/" + TRANSCRIPT_TITLE,
generateMessageInfo(LUConstants.SHORT_TITLE_LABEL_KEY));
open source administration software for education
UIF: Change Section Location
• Move a section by changing the order of the
addSection calls on its parent section
• Change the menu items by moving/deleting
the addMenuItem calls
• Result:
layout.addMenuItem(sections, generateCourseInfoSection());
layout.addMenuItem(sections, generateGovernanceSection());
layout.addMenuItem(sections, generateCourseLogisticsSection());
open source administration software for education
UIF: Configurable UI Areas
• Following similar configuration patterns
shown, the following areas are also
configurable (with some divergence)
– Curriculum Management Home
– Course Proposal
– Course Summary Table
– View Course
– View and Edit Program Major
– View and Edit Program Specialization
open source administration software for education
Next Steps
• Planned UIM improvements
– General design principles
– Page flow patterns & principles
– Page layout templates and patterns
• Planned UIF improvements
– Investigating GWT 2.1 and MVP framework
– Improved documentation
• KS is looking at complementing the UIF with
KNS/KRAD for the development of some KS
administration screens in it’s next release
open source administration software for education
Q & A

Más contenido relacionado

Destacado

Offshore Company Registration - The Procedure and the Benefits
Offshore Company Registration - The Procedure and the BenefitsOffshore Company Registration - The Procedure and the Benefits
Offshore Company Registration - The Procedure and the Benefitsnoseyjake
 
Internet Exporer 8 BETA PREVIEW
Internet Exporer 8 BETA PREVIEWInternet Exporer 8 BETA PREVIEW
Internet Exporer 8 BETA PREVIEWLauren Cooney
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanPost Planner
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

Destacado (6)

Facebook y Twitter para periodistas
Facebook y Twitter para periodistasFacebook y Twitter para periodistas
Facebook y Twitter para periodistas
 
Offshore Company Registration - The Procedure and the Benefits
Offshore Company Registration - The Procedure and the BenefitsOffshore Company Registration - The Procedure and the Benefits
Offshore Company Registration - The Procedure and the Benefits
 
Internet Exporer 8 BETA PREVIEW
Internet Exporer 8 BETA PREVIEWInternet Exporer 8 BETA PREVIEW
Internet Exporer 8 BETA PREVIEW
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

Similar a Using the Kuali Student Configurable User Interface Framework

Advance Data Analysis & Database
Advance Data Analysis & DatabaseAdvance Data Analysis & Database
Advance Data Analysis & DatabaseAhmed Yasir Khan
 
Discovering the New SuccessFactors LMS Admin Features
Discovering the New SuccessFactors LMS Admin FeaturesDiscovering the New SuccessFactors LMS Admin Features
Discovering the New SuccessFactors LMS Admin FeaturesAshton Plusquellec
 
Educational Information Management System (EIMS)
Educational Information Management System (EIMS)Educational Information Management System (EIMS)
Educational Information Management System (EIMS)Chetan Hireholi
 
Introduction and objectives of the project
Introduction and objectives of the projectIntroduction and objectives of the project
Introduction and objectives of the projectrihan696
 
Online courseregistration tolstoy
Online courseregistration   tolstoyOnline courseregistration   tolstoy
Online courseregistration tolstoyHardik Padhy
 
Online courseregistration tolstoy
Online courseregistration   tolstoyOnline courseregistration   tolstoy
Online courseregistration tolstoyyirgalem ameshe
 
SharePoint for Teaching and Learning
SharePoint for Teaching and LearningSharePoint for Teaching and Learning
SharePoint for Teaching and LearningEduserv
 
Generating User Interface for Information Applications from Task, Domain and ...
Generating User Interface for Information Applications from Task, Domain and ...Generating User Interface for Information Applications from Task, Domain and ...
Generating User Interface for Information Applications from Task, Domain and ...Jean Vanderdonckt
 
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
 
Online library management system
Online library management systemOnline library management system
Online library management systemYesu Raj
 
Library Management System
Library Management SystemLibrary Management System
Library Management SystemMartins Okoi
 
Jurnal e-learning management system using service oriented architecture
Jurnal   e-learning management system using service oriented architectureJurnal   e-learning management system using service oriented architecture
Jurnal e-learning management system using service oriented architectureRatzman III
 
Math-Bridge Architecture
Math-Bridge ArchitectureMath-Bridge Architecture
Math-Bridge Architecturemetamath
 
Using Qualtrics for Online Trainings
Using Qualtrics for Online TrainingsUsing Qualtrics for Online Trainings
Using Qualtrics for Online TrainingsShalin Hai-Jew
 
Final Total Preliminary Report
Final Total Preliminary ReportFinal Total Preliminary Report
Final Total Preliminary ReportMrugen Deshmukh
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
60780174 49594067-cs1403-case-tools-lab-manual
60780174 49594067-cs1403-case-tools-lab-manual60780174 49594067-cs1403-case-tools-lab-manual
60780174 49594067-cs1403-case-tools-lab-manualChitrarasan Kathiravan
 

Similar a Using the Kuali Student Configurable User Interface Framework (20)

Advance Data Analysis & Database
Advance Data Analysis & DatabaseAdvance Data Analysis & Database
Advance Data Analysis & Database
 
Discovering the New SuccessFactors LMS Admin Features
Discovering the New SuccessFactors LMS Admin FeaturesDiscovering the New SuccessFactors LMS Admin Features
Discovering the New SuccessFactors LMS Admin Features
 
Online help desk
Online help deskOnline help desk
Online help desk
 
Educational Information Management System (EIMS)
Educational Information Management System (EIMS)Educational Information Management System (EIMS)
Educational Information Management System (EIMS)
 
Introduction and objectives of the project
Introduction and objectives of the projectIntroduction and objectives of the project
Introduction and objectives of the project
 
Online courseregistration tolstoy
Online courseregistration   tolstoyOnline courseregistration   tolstoy
Online courseregistration tolstoy
 
Online courseregistration tolstoy
Online courseregistration   tolstoyOnline courseregistration   tolstoy
Online courseregistration tolstoy
 
SharePoint for Teaching and Learning
SharePoint for Teaching and LearningSharePoint for Teaching and Learning
SharePoint for Teaching and Learning
 
Generating User Interface for Information Applications from Task, Domain and ...
Generating User Interface for Information Applications from Task, Domain and ...Generating User Interface for Information Applications from Task, Domain and ...
Generating User Interface for Information Applications from Task, Domain and ...
 
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
 
Online library management system
Online library management systemOnline library management system
Online library management system
 
Library Management System
Library Management SystemLibrary Management System
Library Management System
 
Jurnal e-learning management system using service oriented architecture
Jurnal   e-learning management system using service oriented architectureJurnal   e-learning management system using service oriented architecture
Jurnal e-learning management system using service oriented architecture
 
Math-Bridge Architecture
Math-Bridge ArchitectureMath-Bridge Architecture
Math-Bridge Architecture
 
Using Qualtrics for Online Trainings
Using Qualtrics for Online TrainingsUsing Qualtrics for Online Trainings
Using Qualtrics for Online Trainings
 
sem5.pdf
sem5.pdfsem5.pdf
sem5.pdf
 
Final Total Preliminary Report
Final Total Preliminary ReportFinal Total Preliminary Report
Final Total Preliminary Report
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
60780174 49594067-cs1403-case-tools-lab-manual
60780174 49594067-cs1403-case-tools-lab-manual60780174 49594067-cs1403-case-tools-lab-manual
60780174 49594067-cs1403-case-tools-lab-manual
 
SRMS-FINAL 3.pptx
SRMS-FINAL 3.pptxSRMS-FINAL 3.pptx
SRMS-FINAL 3.pptx
 

Último

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Último (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Using the Kuali Student Configurable User Interface Framework

  • 1. open source administration software for education next generation student system Using the Kuali Student Configurable User Interaction Model & Framework Brian Smith - User Interaction Development Lead, San Joaquin Delta College William Washington - User Experience Architect, University of Washington
  • 2. open source administration software for education Outline • Kuali Student Needs: User Experience & Customization • Solution: Reusable Components • Implementation: User Interaction Model & Framework • User Interaction Model: Overview & examples • User Interaction Framework: Overview & examples • Next Steps
  • 3. open source administration software for education Kuali Student Needs • A great user experience – Clear navigation, headers, input labels, instructions, messaging, and help • Institutional configuration – Fields and field labels • Customize fields • Add/Remove fields – Headers – Sections (Pages) – Functionality
  • 4. open source administration software for education Solution • Reusable & configurable user interface elements – Small “components” • Buttons, Links • Input fields (e.g. radio button, checkbox, text input) – Big “composites” • Tables • File Upload tool; Commenting tool • Benefits – Consistent behavior across the application – Consistent look and feel – Reusable code
  • 5. open source administration software for education Implementation • User Interaction Model (UIM) – Documentation that specifies the behavior of modular user interface elements for the developers of the framework – Interface design guide for implementers and code contributors. • User Interaction Framework (UIF) – Leverages Google Web Toolkit (GWT), and is the working code that will allow implementers to configure the user interface.
  • 6. open source administration software for education User Interaction Model (UIM) • Specifies the behavior and display of modular user interface elements • Evolving UI guide for implementers and contributors • UIM doesn’t describe how to configure UI elements
  • 7. open source administration software for education UIM: Examples • UIM structure - link • Individual page examples – Example: Tables – Example: Search & Select, Search Results – Example: Multiplicity – Example: Sections and Fields
  • 8. open source administration software for education UIM: Example: Sections and Fields Field (FieldDescriptor) Section (GroupSection) Requiredness Explanatory Help Label Input Instructions Watermark Constraints Requiredness (by state)
  • 9. open source administration software for education User Interaction Framework (UIF) • The GWT framework for Kuali Student which presents and handles our layouts and data • The UIF is responsible for navigation, controllers, views, and laying out fields and widgets on the screen – the functional requirements of the UI • Also responsible for interacting with the data model, and services through RPC calls
  • 10. open source administration software for education UIF: Architecture
  • 11. open source administration software for education UIF: Components SectionView (VerticalSectionView) LayoutController (MenuSectionController) Field (FieldDescriptor) Section (GroupSection)
  • 12. open source administration software for education UIF: Components • FieldDescriptors – Fields that map to a data element that exists in the data dictionary – Most fields are auto-generated based on their dictionary metadata, but can be further customized • Section – Contain sections, which themselves contain fields – SectionViews are sections that are also Views • LayoutControllers – Contain Views – Handle the layout, navigation, and breadcrumbs for a defined section automatically – The LayoutController is also responsible for sending and receiving data from the server – An example of a LayoutController is the CourseProposalController
  • 13. open source administration software for education UIF: How To Configure • Defining Fields and Sections on a screen – Course and Program screens use a configurer class to define the fields displayed on the screen – To override: define a configurer which extends the default configurer and override its methods to change the content that appears on the screen. Then, use GWT deferred binding to use your custom configurer instead. • Customizing widgets – Similarly, some widgets in the UIF can be customized by institutions through deferred binding • Visual Design Theme – The existing Theme can also be overridden in a similar fashion through deferred binding
  • 14. open source administration software for education UIF: Examples • Field Configuration – Change label – Add a new field – Advanced field configuration • Section configuration – Change field location – Change section location
  • 15. open source administration software for education UIF: Changing Field Labels • Changing a Label – A field is defined with a message key that corresponds with messages in the DB – You can change the value of the message in the DB using SQL or by using the Rice message utility for KS – Alternatively, hardcode the text in the code when you override the configurer, if you do not need to change the text during runtime addField(section, COURSE + "/" + COURSE_TITLE, generateMessageInfo(“courseTitle”));
  • 16. open source administration software for education UIF: Changing Field Labels - Example • Before • After
  • 17. open source administration software for education UIF: Changing Field Labels - Example
  • 18. open source administration software for education UIF: Additional Field Label changes - Example • Change additional labels of a field – “-instruct” for instructions – “-help” for help – “-watermark” for watermarks in text fields – “-constraints” for constraint help text below the input field
  • 19. open source administration software for education UIF: Add a new field 1. Add a new data field in your custom dictionary extension/override <bean id="org.kuali.student.lum.course.dto.CourseInfo" parent="org.kuali.student.lum.course.dto.CourseInfo-parent" > <property name="attributes"> <list merge="true"> <ref bean="courseInfo.newField" /> </list> </property> </bean> <bean id="courseInfo.newField" parent="baseString"> <property name="name" value="newField" /> <property name="minOccurs" value="1" /> <property name="maxLength" value=“4" /> <property name="dynamic" value="true" /> </bean>
  • 20. open source administration software for education UIF: Add a new field 2. Add the field using its field key to a section in your custom configurer VerticalSectionView section = initSectionView(CourseSections.COURSE_INFO, LUConstants.INFORMATION_LABEL_KEY); … addField(section, COURSE + "/" + "newField", generateMessageInfo("New Field")); …
  • 21. open source administration software for education UIF: Add a new field 3. Use your custom configurer, instead of the default one, in your gwt module through deferred binding <replace-with class="edu.kuali.config.lum.lu.ui.client.course.configuration.SampleCourseConfigurer" > <when-type-is class="org.kuali.student.lum.lu.ui.course.client.configuration.CourseConfigurer"/> </replace-with>
  • 22. open source administration software for education UIF: Add a new field 4. Test: • Note the field’s size and required indicator – the field is generated based on its metadata: maxLength = 4 and minOccurs = 1
  • 23. open source administration software for education UIF: Advanced Field Configuration • You can change the field’s widget: • You can also change its binding (when there are differences between how data is stored and how it is represented in the UI; ie, the translation) FieldDescriptor addField(Section section, String fieldKey, MessageKeyInfo messageKey, Widget widget) fieldDescriptor.setModelWidgetBinding(myNewBinding);
  • 24. open source administration software for education UIF: Change Field Location • Simply change the order of the fields in a section • You can also delete fields from a section by removing the addField call addField(section, COURSE + "/" + COURSE_TITLE, generateMessageInfo(LUConstants.COURSE_TITLE_LABEL_KEY)); addField(section, COURSE + "/" + TRANSCRIPT_TITLE, generateMessageInfo(LUConstants.SHORT_TITLE_LABEL_KEY));
  • 25. open source administration software for education UIF: Change Section Location • Move a section by changing the order of the addSection calls on its parent section • Change the menu items by moving/deleting the addMenuItem calls • Result: layout.addMenuItem(sections, generateCourseInfoSection()); layout.addMenuItem(sections, generateGovernanceSection()); layout.addMenuItem(sections, generateCourseLogisticsSection());
  • 26. open source administration software for education UIF: Configurable UI Areas • Following similar configuration patterns shown, the following areas are also configurable (with some divergence) – Curriculum Management Home – Course Proposal – Course Summary Table – View Course – View and Edit Program Major – View and Edit Program Specialization
  • 27. open source administration software for education Next Steps • Planned UIM improvements – General design principles – Page flow patterns & principles – Page layout templates and patterns • Planned UIF improvements – Investigating GWT 2.1 and MVP framework – Improved documentation • KS is looking at complementing the UIF with KNS/KRAD for the development of some KS administration screens in it’s next release
  • 28. open source administration software for education Q & A

Notas del editor

  1. William: provide an example screen shot? Mention breadcrumbs User knowing where they are: breadcrumbs, page title, clearly indicated navigation Once the begin working, meaningful labels on forms, good instructions and clean messaging, and help when they need it. Configuration Customize field: Change label Change widget (to a widget that supports the data type) Constraints – requiredness, min/max chars. Remove fields Add fields – Thru dynamic attributes Change field labels - Change "Course Number" to say "Subject Number" on the Course Id component for Remove/change headers Sections: Take almost all the fields and put them on a single screen for data entry so it is more like MIT's current course screen. Functionality: versioning, LO categories
  2. On a wiki Not a configuration guide Defines how things behave and look UIM TOC (v2) Page template UIF takes UIM and based on configuration needs, makes some components configurable.
  3. What’s in it? On a wiki Not a configuration guide Defines how things behave and look UIM TOC (v2) Page template UIF takes UIM and based on configuration needs, makes some components configurable. In-depth example: Sections and fields Screenshots with call outs Show UIM evolved page Show specific UIM pages for above Show real working example
  4. What are the pieces Where the UIF fits in the “grand scheme” What does the UIF contain? Where are the boundaries of the UIF?
  5. Simple View of our technical architecture for Kuali Student UIF fits at the top of this stack and interacts directly with the user It contains the controllers, views, configurers. It also contains theming such as css and images. It also talks to underlying business services and additional utility services such as the message service These business services talk to our core entity services such as the lu service Everything on the diagram that has the wrench and screwdriver icon is configurable within KS I will be talking about how to configure some aspects the UIF today
  6. This is a screenshot of KS as it will appear in R1.1 I have highlighted the different parts of the screen, and their respective controller The LayoutController controls the display of the views, but also provides the object header and menu for navigation
  7. You do this easily by using the Rice Message utility without touching any code
  8. Once you have your intitution’s configuration project created
  9. Changes to the constraints also give you on the fly UI validation against those constraints when the user interacts with your new field
  10. CurriculumHomeConfigurer CourseConfigurer ViewCourseConfigurer CourseSummaryConfigurer MajorEditConfigurer MajorViewConfigurer VariationEditConfigurer VariationViewConfigurer