...
- OleLicenseRequestCreateService (invoked by requisition submit)
- createLicenseRequest
- OleLicenseRequestService
- generateAgreement
- ingestAgreement
- processAgreementResponse
- getLicenseRequestSearchResults(Map licenseFilters)
- Data Model
XML Ingest for KRMS Builder:
Related jira - https://jira.kuali.org/browse/OLE-3144
Sample xml for creating Rules: license.xml
1) The above xml contains list of Agendas.
2) An Agenda contains list of Rules,each rule contains either a simple proposition or compound proposition and true Actions.
a) A Simple proposition can be validated in two different ways namely
LHS & RHS validations (LHS-Term,RHS-Constant)
Function validations(Term as argument).
b) A Compound proposition is a collection of Simple proposition with an operand.
c) If Proposition of the given rule becomes true, true Actions will be executed which contain list of action.
An Action contain i) service name (e.g.approvalPeopleFlowActionTypeService,notificationPeopleFlowActionTypeService) - to define whether to approve or notify the document.
j) name - people flow name which is already defined through script, the defined people flow contain certain predefined roles(e.g. OLE_Signatory etc.).
3)The Following rules are implemented:
a) Rule1 (newNegFAppCheck) : Validates whether the licenseType is New,the agreementMethod is Negotiated License and the workflowName is Full Approval, if this validation becomes true, newNegFApp People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer,OLE_LicenseManager,OLE_Signatory and OLE_Licensing_Approver.
b) Rule2 (newSERUSignCheck) : Validates whether the licenseType is New,the agreementMethod is SERU and the workflowName is Signatory Only, if this validation becomes true, newSERUSign People Flow Action will be executed which contains certain predefined roles namely OLE_Signatory and OLE_LicenseManager.
c) Rule3 (newSERURevCheck) : Validates whether the licenseType is New,the agreementMethod is SERU and the workflowName is Review Only, if this validation becomes true, newSERURev People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer and OLE_LicenseManager.
d) Rule4 (newSERUAppCheck) : Validates whether the licenseType is New,the agreementMethod is SERU and the workflowName is Approval Only, if this validation becomes true, newSERUApp People Flow Action will be executed which contains certain predefined roles namely OLE_Licensing_Approver and OLE_LicenseManager.
e) Rule5 (newSERUFAppCheck) : Validates whether the licenseType is New,the agreementMethod is SERU and the workflowName is Full Approval, if this validation becomes true, newSERUFApp People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer,OLE_LicenseManager,OLE_Signatory and OLE_Licensing_Approver.
f) Rule6 (newCopyRevCheck) : Validates whether the licenseType is New,the agreementMethod is CopyrightLaw and the workflowName is Review Only, if this validation becomes true, newCopyRev People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer and OLE_LicenseManager.
g) Rule7 (newCopyAppCheck) : Validates whether the licenseType is New,the agreementMethod is CopyrightLaw and the workflowName is Approval Only, if this validation becomes true, newCopyApp People Flow Action will be executed which contains certain predefined roles namely OLE_Licensing_Approver and OLE_LicenseManager.
h) Rule8 (newCopyFAppCheck) : Validates whether the licenseType is New,the agreementMethod is CopyrightLaw and the workflowName is Full Approval, if this validation becomes true, newCopyFApp People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer,OLE_LicenseManager,OLE_Signatory and OLE_Licensing_Approver.
i) Rule9 (newClickRevCheck) : Validates whether the licenseType is New,the agreementMethod is ClickThru and the workflowName is Review Only, if this validation becomes true, newClickRev People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer and OLE_LicenseManager.
j) Rule10 (newClickAppCheck) : Validates whether the licenseType is New,the agreementMethod is ClickThru and the workflowName is Approval Only, if this validation becomes true, newClickApp People Flow Action will be executed which contains certain predefined roles namely OLE_Licensing_Approver and OLE_LicenseManager.
k) Rule11 (newShrinkRevCheck) : Validates whether the licenseType is New,the agreementMethod is ShrinkWrap and the workflowName is Review Only, if this validation becomes true, newShrinkRev People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer and OLE_LicenseManager.
l) Rule12 (newShrinkAppCheck) : Validates whether the licenseType is New,the agreementMethod is ShrinkWrap and the workflowName is Approval Only, if this validation becomes true, newShrinkApp People Flow Action will be executed which contains certain predefined roles namely OLE_Licensing_Approver and OLE_LicenseManager.
m) Rule13 (RenNegRenCheck) : Validates whether the licenseType is Renewal,the agreementMethod is Negotiated License and the workflowName is Renewal, if this validation becomes true, RenNegRen People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer,OLE_LicenseManager,OLE_Signatory and OLE_Licensing_Approver.
n) Rule14 (renSERUSignCheck) : Validates whether the licenseType is Renewal,the agreementMethod is SERU and the workflowName is Signatory Only, if this validation becomes true, renSERUSign People Flow Action will be executed which contains certain predefined roles OLE_Signatory and OLE_LicenseManager.
o) Rule15 (renSERURevCheck) : Validates whether the licenseType is Renewal,the agreementMethod is SERU and the workflowName is Review Only, if this validation becomes true, renSERURev People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer and OLE_LicenseManager.
p) Rule16 (renSERUAppCheck) : Validates whether the licenseType is Renewal,the agreementMethod is SERU and the workflowName is Approval Only, if this validation becomes true, renSERUApp People Flow Action will be executed which contains certain predefined roles namely OLE_Licensing_Approver and OLE_LicenseManager.
q) Rule17 (renSERUFAppCheck) : Validates whether the licenseType is Renewal,the agreementMethod is SERU and the workflowName is Full Approval, if this validation becomes true, renSERUFApp People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer,OLE_LicenseManager,OLE_Signatory and OLE_Licensing_Approver.
r) Rule18 (renSERURenCheck) :Validates whether the licenseType is Renewal,the agreementMethod is SERU and the workflowName is Renewal, if this validation becomes true, renSERURen People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer,OLE_LicenseManager,OLE_Signatory and OLE_Licensing_Approver.
s) Rule19 (renCopyRevCheck) : Validates whether the licenseType is Renewal,the agreementMethod is CopyrightLaw and the workflowName is Review Only, if this validation becomes true, renCopyRev People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer and OLE_LicenseManager.
t) Rule16 (renCopyAppCheck) : Validates whether the licenseType is Renewal,the agreementMethod is CopyrightLaw and the workflowName is Approval Only,, if this validation becomes true, renCopyApp People Flow Action will be executed which contains certain predefined roles namely OLE_Licensing_Approver and OLE_LicenseManager.
u) Rule17 (renCopyFAppCheck) : Validates whether the licenseType is Renewal,the agreementMethod is CopyrightLaw and the workflowName is Full Approval, if this validation becomes true, renCopyFApp People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer,OLE_LicenseManager,OLE_Signatory and OLE_Licensing_Approver.
v) Rule18 (renCopyRenCheck) : Validates whether the licenseType is Renewal,the agreementMethod is CopyrightLaw and the workflowName is Renewal, if this validation becomes true, renCopyRen People Flow Action will be executed which contains certain predefined roles namely OLE_LicenseReviewer,OLE_LicenseManager,OLE_Signatory and OLE_Licensing_Approver.
etc..
If None of the above rules becomes true, validation message should be thrown in the screen.
4) Admin can add a new rule by adding a rule tag in the license.xml , changing the constant for licenseType,agreementMethod and workflowName if needed, and the People Flow Action should be predefined with certain roles,the name of Predefined People Flow should be given under action name.