Kuali Rice 2.0.0-m7-SNAPSHOT Technical Reference Guide


Table of Contents

1. Global
Rice Client Overview
Embedded
Bundled
Thin Java Client
Web Services
Global Configuration Parameters
Rice Service Architecture and Configuration Overview
Overview
Implementation Details
Accessing Rice Services and Beans Using Spring
Eclipse and Rice
Overview
Download the Tools
Import rice into Eclipse as a project (Source distribution only)
Check out the Rice code (Non-source SVN distribution only)
Set up database drivers
Set up Eclipse for Maven
Rebuild Rice
Install the database
Installing the appropriate configuration files
Run the sample web application
Changing Rice project dependencies
Other Notes
Creating Rice Enabled Applications
Creating a Rice Client Application Project Skeleton
Reorder Eclipse Classpath
Rice Configuration System
Data Source and JTA Configuration
2. KEN
KEN Overview
What is KEN?
KEN Configuration Parameters
KEN Channels
Channel Subscription
KEN Producers
Adding Producers
KEN Content Types
Overview
Content Type Attributes
KEN Notifications
Common Notification Attributes
Message Content
Notification Response
Enterprise Notification Priority
Managing Priorities
KEN Delivery Types
Implementing the Java Interface
KEN: Sending a Notification
Send a Notification Using the Web Service API
Web Service URL
Exposed Web Services
KEN Authentication
Web
Web Services
3. KEW
What is Kuali Enterprise Workflow?
What is workflow, in general?
What is Kuali Enterprise Workflow, in particular?
What problems or functions does KEW solve?
What problems does KEW NOT solve?
With which applications can KEW integrate?
Can I use KEW without building an entire application?
Steps to Building a KEW Application
Preface
Initial Steps - Determine the Routing Rules
Configure the Process Definition
Client PlugIn Steps
Build PostProcessor and Services
Package PlugIn
Client Web Application Steps
Final Steps
KEW Configuration
KEW Integration Options
Bundling the KEW Application
Using the Remote Java Client
Using the Thin Java Client
Picture of an Enterprise Deployment
KEW Core Parameters
KEW Configuration Properties
Email Configuration
Periodic Email Reminders
Workflow Preferences Configuration
Outbox Configuration
Implementing KEW at your institution
KEW Administration Guide
Configuration Overview
Application Constants
Production Environments
XML Ingestion
Route Queue Administration
KEW System Parameters
System Parameters Covered
Defining Workflow Processes Using Document Types
Common Fields in Document Type XML Definition
Document Types
Document Type Policies
Inheritance
KEW Routing Components and Configuration Guide
Configuration Steps
Routing Rules
InitiatorRoleAttribute
RoutedByUserRoleAttribute
NoOpNode
RequestActivationNode
NetworkIdRoleAttribute
UniversityIdRoleAttribute
SetVarNode
Routing Configuration using KIM Responsibilities
Route Node Definition
Matching Routing Nodes to Responsibilities
Using the Workflow Document API
Overview
WorkflowDocument
WorkflowInfo
Creating an eDocLite Application
Overview
Components
Lazy importing of EDL Styles
Customizing Document Search
Custom Search Screen
Hide Search Fields and Result Columns
Configure Lookup Function
Define Keyword Search
Custom Search Criteria Processing
Custom Search Generation
Custom Search Results
Differences between SearchableAttribute and RuleAttribute
Document Security
Overview
Security Definition
Order of Evaluation
Security - Warning Messages
Service Layer
Action List Configuration Guide
Outbox Configuration
Email Customization
Configure a CustomEmailAttribute
Create a Custom XSLT Style Sheet
Document Link
Document Link Features
Document Link API
Document Link API Example
Reporting Guide
Reporting Features
The Routing Report Screen
The Report APIs
Report Criteria
Interpreting Report Results
Workflow Plugin Guide
Overview
Application Plugin
Plugin Layout
Plugin Configuration
OJB Configuration within a Plugin
Overriding Services with a ResourceLoader
KEW Usage of the Kuali Service Bus
General Usage
Implications of using “Synchronous” KSB messaging with KEW
4. KIM
Terminology
Principal
Entity
Group
Permission
Responsibility
Role
Reference Information
Services
Using the Services
IdentityManagementService
RoleManagementService
Person Service
KIM Types
Implementing Custom KIM Types
KIM Group Type Service
KIM Permission Type Service
KIM Responsibility Type Service
KIM Role Type Service
KIM Database Tables
Table Name Prefixes
Unmapped LAST_UPDT_DT Columns
5. KNS
KNS Configuration Guide
Database Creation
KNSConfigurer and RiceConfigurer
Configuring the KNS Web Application Components
Module Configuration – Loading Data Dictionary and OJB Files
KNS Configuration Parameters
KNS Business Object Framework
Business Object Database Table Definition
Business Object Java Definition
KNS Data Dictionary Overview
Business Object Data Dictionary
Document Data Dictionary Overview
Maintenance Document Data Dictionary Overview
Alternate/Additional Display Properties
Dynamic read-only, hidden, and required Field states
Configuring a KNS Client in Spring
Spring JTA Configuration
KNS Validation and Business Rules Framework
Rules and Events
Standard KNS Events
Notifying Users of Errors
Creating New Events
KNS User Messages
Retrieving User Messages
Error Messages
Struts Messages
KNS Questions and Dialogs
Prompting Before Validation
HTML Markup
Derived Values Setters
KNS Notes and Attachments
KNS Javascript Guide
Integrating Javascript with KNS tags
Incorporating AJAX
KNS Data Masking
KNS Authorization
Common Document Authorizations
Maintenance Document Authorizations
Transactional Document Authorizations
Other Authorizations
Overriding Document Authorizers
KNS Exception Handling and Incident Reporting
KNS System Parameters
Getting text from a system parameter
Using an indicator parameter
Parameter Evaluators
Calling missing System Parameters
Overriding Rice Parameters
Building Screens using the KNS Tag Libraries
Implicit Variables
Tags for Layout
Tags for Controls
Tags for KNS Functionality
Useful Pre-Created Tabs
6. KSB
How to Use the KSB
Introduction
Bean Based Services
Diagram Notes
Details of Supported Service Protocols
Java Rice Client
Any Java Client
Non-Java/Non-Rice Client
Future Enhancement to KSB: Remote the KSB Registry as a Service
Additional Options Once Registry is a Service:
Configuring the KSB Client in Spring
Overview
Spring Property Configuration
Spring JTA Configuration
Put JTA and the Rice Config object in the RiceConfigurer
Configuring KSB without JTA
web.xml Configuration
Configuration Parameters
KSBConfigurer Properties
KSB Configurer
Configuring Quartz for KSB
Quartz Scheduling
Acquiring and Invoking Services Deployed on KSB
Service invocation overview
Acquiring and invoking a service directly
Acquiring and invoking a service using messaging
Getting responses from service calls made with messaging
Failover
Service call failover
Failover with queues
Failover with topics
KSB Clustered Caching Using OSCache
Distributed caching using the KSB wrapper classes and Spring configuration
Configuring the OSCache behind the scenes
Using OSCache directly and using the bus to distribute cache notifications
KSB Exception Messaging
KSB Messaging Paradigms
Queues
Topics
Message Fetcher
Load Balancing
Object Remoting
Publishing Services to KSB
KSBConfigurer
KSBExporter
ServiceDefinition properties
ServiceNameSpaceURI/MessageEntity
SOAPServiceDefinition
JavaServiceDefinition
Publishing Rice services
Store and Forward
Overview
Implementation
The ResourceLoader Stack
Overview
Accessing and overriding Rice services and beans from Spring
Distributed Caching Implementation
KSB Security
Overview
Security types
CredentialsSource
KSB connector and exporter code
Bus Security
Queue and Topic invocation
Queue invocation
Topic invocation
KSB Parameters
Core Parameters
KSB Configurer Properties
JAX-RS / RESTful services
Caveats
A Simple Example
Composite Services
Additional Service Definition Properties
Glossary

List of Figures

1.1. Diagram of a sample embedded implementation
1.2. Diagram of a sample bundled implementation
1.3. Diagram of a sample Thin Java Client implementation
1.4. Resource Loader Stack
1.5. Root Directory Selection
1.6. Root Directory Selection Continued
1.7. Eclipse Classpath Variables
1.8. Eclipse Clean Build
1.9. Eclipse Jetty Launch
1.10. Update Eclipse Classpath
2.1. KEN Message Flow
2.2. KEN Message Storage
3.1. Sample KEW embedded deployment
3.2. Bundled deployment diagram
3.3. Thin client deployment diagram
3.4. Typical enterprise deployment of Kuali Rice
3.5. Ingester
3.6. Ingestion Complete
3.7. Route Queue Screen
3.8. Route Queue Entry Edit Screen
3.9. BlanketApproveSequentialTest Workflow
3.10. BlanketApproveParallelTest Workflow
3.11. NotificationTest Workflow
3.12. Blankte Approve Mandatory Test
3.13. Save Action Event Test
3.14. Save Action Even Test: Non-Initiator
3.15. Take Workgroup Authority
3.16. Move Sequential Test
3.17. Move In Process Test
3.18. Adhoc Route Test
3.19. PreApproval Test
3.20. Variables Test
3.21. Super User Action on Requests
3.22. Activation Type
3.23. EDL Controller Chain
3.24. Custom Search Screen: Delete Course Example
3.25. Custom Document Search: Department Example
3.26. Standard Doc Search Results Set
5.1. Totals
6.1. Overview of Supported Service Protocols
6.2. Global Resource Loader
6.3. Application Resources Properties Tree

List of Tables

1.1. Global Configuration Parameters
2.1. KEN Core Parameters
2.2. KREN_CHNL_T
2.3. KREN_PRODCR_T
2.4. Common Notification Attributes
2.5. KREN_PRIO_T
3.1. Advantages/Disadvantages of KEW Integration Options
3.2. Required Thin Client Configuration Properties
3.3. Optional Thin Client Configuration Properties
3.4. KEW Core Parameters
3.5. KEW Configuration Properties
3.6. Optional Properties to Configure Simple SMTP Authentication
3.7. Configuration Parameters for Email Reminders
3.8. KEW System Parameters
3.9. Common Fields in Document Type XML Definition
3.10. InitiatorRoleAttribute
3.11. RoutedByUserRoleAttribute
3.12. NoOpNode
3.13. RequestActivationNode
3.14. NetworkIdRoleAttribute
3.15. UniversityIdRoleAttribute
3.16. SetVarNode
3.17. Key Reference Table: Default field names and reference keys
3.18. Commonly Overridden Services
4.1. KIM Configuration Parameters
5.1. KNS Configuration Parameters
5.2. Comparison of Maintenance and Transactional Documents
5.3. KNS Events
5.4. KNS Helper Functions for Permission Checks
5.5. Document Presentation Controller Methods
5.6. Document Authorizer Methods
6.1. KSB Configuration Parameters
6.2. Properties of the ServiceDefinition
6.3. ServiceDefinition Properties
6.4. SOAPServiceDefinition
6.5. JavaServiceDefinition
6.6. Core Parameters

List of Examples

2.1. Example – This is an example of how to add a Priority into the table: