220 likes | 333 Views
KEW Definitions. DocumentType XML. Document Content. < documentContent > < applicationContent > < cluProposalDocInfo > < cluId >0ed64e1f-9d24-4b10-b21a-e366fc77cc9d</ cluId > < orgId >69</ orgId >
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