220 likes | 339 Vues
This document outlines the capabilities of the Qualifier Resolver in Kuali's workflow engine. It explains how the resolver identifies qualified roles associated with documents through a systematic approach using Route Context for information retrieval. Additionally, it covers enhancements in application tooling for documentation and configuration management. Various dictionaries are discussed, including service and orchestration dictionaries, facilitating improved integration and usability of Kuali's services within document content and application development.
E N D
Document Content <documentContent> <applicationContent> <cluProposalDocInfo> <cluId>0ed64e1f-9d24-4b10-b21a-e366fc77cc9d</cluId> <orgId>69</orgId> <proposalId>44edf1d5-88d0-46d5-b51b-c6e833029ced</proposalId> </cluProposalDocInfo> </applicationContent> </documentContent>
Qualifier Resolver import org.kuali.rice.kew.engine.RouteContext; import org.kuali.rice.kim.bo.types.dto.AttributeSet; /** * A QualifierResolver is responsible for resolving qualifiers that might be used * to identify a Qualified Role from a Document. Information about the Document * can be obtained from the RouteContext. * * @author Kuali Rice Team (rice.collab@kuali.org) * */ public interface QualifierResolver { public List<AttributeSet> resolve(RouteContext context); }
Dictionaries • Service Dictionary, Data Dictionary, DTO Dictionary • Search Dictionary • Orchestration Dictionary, DOL Dictionary • Search Orchestration Dictionary • Not just lookup meta data • Most likely part of regular Search Dictionary • Application Dictionary?
Service Dictionary Configuration • Override value settings • Add constraints • Remove constraints • Override constraints • Override global constraints? • We don’t think this is likely
Spring Config Files • Inheritance from parent bean • Last bean defined with same ID wins • Include files from classpath • Could we include from url? • Would we want to include from url? • Parent bean pattern for overrides
Tooling • Could use standard XML tools • Excel generation • This needs updated output for configurability • Application based tooling • Implementing institution could contribute • Recently added functionality that reads java service DTO’s and creates dictionary stub
Orchestration Dictionary • Is this orchestration/transformation only or should it control UI? • Needs linkage to Service Dictionary • Remove redundant constraints • Provide global config
Application Dictionary Could: • Configure document content • Configure document type • Configure UI • Tie screen to orchestration dictionary/object
Transactions • Solution must implement ws-coordination spec and jta spec (in order to be swappable/purchaseable) • Attempt to create new service methods to reduce numbers of transactions • Currently stuck deploying all services and UI as single application • Possibly attempt to write transactions based on ws spec • Compensation is as much or more work than writing atomic
Transactions In Glassfish • Dropping KS on Glassfish does not get transaction support • Must integrate with some or all of containers implementations of • JTA • JPA • JAX-WS • JNDI Datasource • KSB integration with Metro on Glassfish
Dynamic Attributes • Supported via simple configuration at • Service level • Service dictionary • Pickers • DOL • Must create Orchestration dictionary • Must modify DOL Assemblers • Must modify UI via deferred binding • Need to build an “LU/Course” example into codebase or deployment lab
Authorization Layers • Service Layer • KS application clients and external clients • Lowest level of row/field authorization • Orchestration Layer • May need access to row/fields user can’t access • Needs to respect service layer authZ • Application Layer • Access to particular application • View a specific section • Data must be filtered before this layer since it runs on the browser
Field level AuthZ and Masking • Permissions are positive • Configurations are negative • Assume all fields are editable unless configured otherwise in Dictionary (DOL or Service) • Permissions checked to override configuration
Application Authorization AuthZ Filter DOL Service Layer 4 3 GWT Client 2 1 5 6 7 KIM Permission Service
AuthN Diagram • https://test.kuali.org/confluence/display/KULSTG/KS+Authentication