![Page 1: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/1.jpg)
Creating an Extended Attribute
Vince Schimizzi, Michigan State University
Evelyn Portee, Michigan State University
Lauri Thornhill, Michigan State University
![Page 2: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/2.jpg)
Agenda
I. What is an Extended Attribute?
II. Why create an Extended Attribute?
III. How do I create an Extended Attribute?
IV. Assigning functionality to an Extended Attribute• Business Rules• Workflow Rules
![Page 3: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/3.jpg)
I. What is an Extended Attribute
• Attribute: An object associated with and serving to identify an
entity. In the Kuali Financial System (KFS) an attribute is a field, delivered with the system, to which values can be assigned (e.g. account name, account number, account expiration date, etc.).
• Extended Attribute:Custom, table-driven business object attribute that can
be established by implementing institutions and added to KFS without modifying the delivered functionality.
![Page 4: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/4.jpg)
How is your institution unique?
- Special reporting requirements?
- Out of the ordinary accounting policies or rules?
- Complex workflow needs?
![Page 5: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/5.jpg)
II. Why create an Extended Attribute?
• In the event your institution is unique and requires additional attributes, the KFS allows you to add extended attributes to your maintenance tables for the following purposes:
• Reporting
• Business Rules
• Workflow Rules
![Page 6: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/6.jpg)
Account
ACCOUNT
PK ACCOUNT NUMBERPK CHART CODE
ACCOUNT NAME FISCAL OFFICER ORG CODE SUB FUND CODE HIGHER ED CODE Etc.
![Page 7: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/7.jpg)
Account Attributes (green)
ACCOUNT
PK ACCOUNT NUMBERPK CHART CODE
ACCOUNT NAME FISCAL OFFICER ORG CODE SUB FUND CODE HIGHER ED CODE Etc.
CHART
PK CHART CODE
CHART NAME CHART MANAGER REPORTS TO CHART
ORGANIZATION
PK ORG CODE
ORG NAME CHART CODE ORG MANAGER REPORTS TO ORG
SUB FUND
PK SUB FUND CODE
SUB FUND NAME FUND CODE
FUND
PK FUND CODE
FUND NAME RPRT SORT CODE
HIGHER ED
PK HIGHER ED CODE
HIGHER ED NAME
![Page 8: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/8.jpg)
Account Extended Attribute (blue)
Extension Table
Extended Attribute Tables
ACCOUNT_EXT
PK ACCOUNT NUMBERPK CHART CODE
YY CODE XX CODE
YY
PK YY CODE
YY NAME YY MANAGER
XX
PK XX CODE
XX NAME XX PURPOSE
ACCOUNT
PK ACCOUNT NUMBERPK CHART CODE
ACCOUNT NAME FISCAL OFFICER ORG CODE SUB FUND CODE HIGHER ED CODE Etc.
CHART
PK CHART CODE
CHART NAME CHART MANAGER REPORTS TO CHART
ORGANIZATION
PK ORG CODE
ORG NAME CHART CODE ORG MANAGER REPORTS TO ORG
SUB FUND
PK SUB FUND CODE
SUB FUND NAME FUND CODE
FUND
PK FUND CODE
FUND NAME RPRT SORT CODE
HIGHER ED
PK HIGHER ED CODE
HIGHER ED NAME
![Page 9: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/9.jpg)
Extension Table
• The extension table can hold a collection of extended attributes.
• The extension table acts as a bridge between the account and the extended attributes. This relationship allows the system to treat the two tables, account and account extension, as one. This design facilitates assigning business rules or workflow rules to the newly created extended attributes.
• The extension table and the parent table have the same primary keys, creating a one to one relationship that enforces data integrity.
• The different types of attributes - direct, associated and extended - allow your institution to leverage their relationships in order to customize KFS to meet just about any reporting, business rule or workflow rule need your institution may have.
![Page 10: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/10.jpg)
III. How do I create an Extended Attribute?
• Configuring KFS to add an Extended Attribute involves both functional and technical resources.
![Page 11: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/11.jpg)
Functional Issues to Consider/Decisions to Make
• Determining the functionality of the extended attribute is a major step and will directly affect the technical aspect.
• Take a global approach when creating an extended attribute (usually not created to meet the needs of a specific unit).
• Assess the level of data governance needed
• An Extended Attribute should be created to serve one purpose
• Required or Optional
![Page 12: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/12.jpg)
User Interface Options
Option 1 - Text Field
Advantages • User-defined values• Unlimited and immediate creation of values• Flexibility on reporting
Disadvantages • Limited data integrity (lowest)• Increased potential for input errors
![Page 13: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/13.jpg)
User Interface Options – cont’d
Option 2 - Values Not Supported by a Table
Advantages • Institution-defined values • Enforces integrity of data (highest)
Disadvantages • Limited flexibility on reporting• Time to add or remove values (highest)
![Page 14: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/14.jpg)
User Interface Options – cont’d
Option 3 - Values Supported by a Table
Advantages • Institution-defined values• Assign attributes• Enforces integrity of data
Disadvantage
• More time to set up
![Page 15: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/15.jpg)
Prepare a Functional Specification Document
• Document functional justification and intentions for future reference.
• Describes functionality of the new extended attribute.
• Bridges the communication gap between the functional and technical teams.
• Request should be reviewed by a business analyst.
![Page 16: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/16.jpg)
Technical Steps
Step 1 – Update the Data Model Oracle Database – add tables
ACCOUNT
PK ACCOUNT NUMBERPK CHART CODE
ACCOUNT NAME FISCAL OFFICER ORG CODE SUB FUND CODE HIGHER ED CODE Etc.
CHART
PK CHART CODE
CHART NAME CHART MANAGER REPORTS TO CHART
ORGANIZATION
PK ORG CODE
ORG NAME CHART CODE ORG MANAGER REPORTS TO ORG
SUB FUND
PK SUB FUND CODE
SUB FUND NAME FUND CODE
FUND
PK FUND CODE
FUND NAME RPRT SORT CODE
HIGHER ED
PK HIGHER ED CODE
HIGHER ED NAME
ACCOUNT_EXT
PK ACCOUNT NUMBERPK CHART CODE
REVENUE SOURCE CODE REVENUE SOURCE
PK REVENUE SOURCE CODE
REVENUE SOURCE NAME
![Page 17: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/17.jpg)
Technical Steps (cont’d)
Step 2 – Update the Data Dictionary
Create new maintenance form
Update the associated forms (lookup, global, etc.)
Step 3 – Application Recognizes the Extended Attribute
Add to Application Document Type
Add to Workflow Document Type
![Page 18: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/18.jpg)
MSU Example
Enhancement Request:
Create new extended attribute named “Revenue Source” on an account maintenance document. The new attribute will capture the levels of government that provide funding to the institution. The attribute should have full search capabilities and have the ability to support both business and workflow rules.
Extended Attribute Table = Revenue SourceExtension Table = Account _ Extension
Values: FD = FederalST = State
Etc.
![Page 19: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/19.jpg)
Maintenance Tab
Access to the new Extended Attribute’s maintenance document will appear in the Chart of Account’s section on the Maintenance Tab.
![Page 20: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/20.jpg)
Extended Attribute Main’t Doc
Functions the same as other KFS maintenance docs
![Page 21: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/21.jpg)
Values – Revenue Source
Institution Defined Values
![Page 22: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/22.jpg)
Account Maintenance Form
Appears on Associated eDocs
![Page 23: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/23.jpg)
Account Lookup Document
Search Lookup and Search Results
![Page 24: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/24.jpg)
Security Rule
Restrict access to the Extended Attribute maint doc
![Page 25: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/25.jpg)
IV. Assign Functionality to an Extended Attribute
• Creating Business Rules and Workflow
- Exploring the functionality
- Translating the functionality
- Technical from 30,000 feet
![Page 26: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/26.jpg)
Creating a Business Rule
• Decide on what document(s) the business rule will apply.
• Translate the functionality of the rule in clear-cut terms
• Decide when you want the business rule to apply• The decision you make here affects how the
document cycles and may impact user frustration.
![Page 27: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/27.jpg)
Exploring the functionality of the business rule (MSU example)
MSU Business Rule in Standard English
(Normal English Narrative)
• MSU wants to prevent federal monies on Michigan State University Extension (MSUE) funds from being used to pay for scholarships on the Distribution of Income and Expense document.
![Page 28: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/28.jpg)
Translating the functionality of the business rule (MSU example)
MSU Business Rule in Structured English(More easily transferred into programming logic)
On the Distribution of Income and Expense Financial Document:
If Revenue Source Code = FD (Federal), and SubFund Group Code = MSUE (MSU Extension),
Then Object Subtype Code ≠ SC (Student Scholarships)
![Page 29: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/29.jpg)
Technical Steps – Business Rule
• Step 1: Create parameters related to the values defined in the if/then statement.
![Page 30: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/30.jpg)
Technical Steps – Business Rule
• Step 2: Create the business rule class that corresponds to the parameters set up in
step 1.
• Step 3: Add the name of the business rule class into the data dictionary of Distribution of Income & Expense document.
Remember – 30,000 feet
![Page 31: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/31.jpg)
MSU Business RuleError Message
• If Revenue Source Code = FD, and
SubFund Group Code = MSUE,
• Then Object Subtype Code ≠ SC
![Page 32: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/32.jpg)
Workflow
Workflow rules must be created in order for the financial processing document to route on the extended attribute.
![Page 33: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/33.jpg)
Workflow
• Similar to business rules, you need to create a functional description of workflow rule to be established.
• Translate the functional description for the technical personnel
![Page 34: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/34.jpg)
Translating the functionality of the Workflow Rule
(MSU example)
On a Distribution of Income & Expense eDoc:
If Revenue Source Code = ST (State), and SubFund Group Code = MAES (Michigan Ag Experiment Station)
Then, document routes to MAES_MSUE_ADMIN workgroup for approval.
![Page 35: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/35.jpg)
Workflow (technical)
Step 1: Create a Rule Attribute Specify the attribute fields on which to base the rule template.
![Page 36: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/36.jpg)
Workflow (technical)
Step 2: Create a Rule Template Incorporate the rule attribute(s).
![Page 37: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/37.jpg)
Workflow (technical)
Step 3: Add the route node
• In the XML code of the Distribution of Income & Expense document type:
- the route node must be added
- the rule template must be added
![Page 38: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/38.jpg)
Workflow (technical)
<name>DistributionOfIncomeAndExpenseDocument</name> <parent>KualiFinancialDocument</parent> <label>Distribution Of Income And Expense</label> <postProcessorName>org.kuali.workflow.postprocessor.KualiPostProcessor</postProcessorName> <superUserWorkgroupName>KUALI_ROLE_SUPERVISOR</superUserWorkgroupName> <blanketApproveWorkgroupName>KUALI_ROLE_ADMINISTRATOR</blanketApproveWorkgroupName> <defaultExceptionWorkgroupName>KUALI_ROLE_SUPERVISOR</defaultExceptionWorkgroupName> <docHandler>${application.url}/financialDistributionOfIncomeAndExpense.do?
methodToCall=docHandler</docHandler> <active>true</active> <routingVersion>1</routingVersion> <routePaths><routePath> <start name="Adhoc Routing" nextNode="Account Review" /> <requests name="Account Review" nextNode="Org Review" /> <requests name="Org Review" nextNode="Subfund" /> <requests name="Subfund" nextNode="Award Workgroup" /> <requests name="Award Workgroup" nextNode="SubFund and Revenue Source Routing" /> <requests name="SubFund and Revenue Source Routing" />
![Page 39: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/39.jpg)
Workflow (technical)
Adding the route node automatically updates Rule Quicklinks
![Page 40: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/40.jpg)
Workflow (functional)
Step 4: Create the rule.
![Page 41: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/41.jpg)
Workflow (functional)
Step 4: Create the rule (cont’d)
![Page 42: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/42.jpg)
MSU Workflow Demo
![Page 43: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/43.jpg)
MSU Workflow Demo
![Page 44: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/44.jpg)
Final Thoughts
Making the functional decision involves a variety of stakeholders and may be a time-consuming process.
In our MSU example, after the functional decision was made, from the technical to resolution and completion was approximately 40-80 hours.
The level of complexity of the extended attribute’s functionality will directly affect the amount of technical time required.
![Page 45: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/45.jpg)
Take Aways
• When and why you might want an extended attribute.
• The ease that Kuali provides to create the extended attributes.
• The ease of creating business rules.
• The ease of creating workflow rules.
![Page 46: Creating an Extended Attribute Vince Schimizzi, Michigan State University Evelyn Portee, Michigan State University Lauri Thornhill, Michigan State University](https://reader035.vdocuments.us/reader035/viewer/2022062801/56649e7c5503460f94b7e48c/html5/thumbnails/46.jpg)
Questions?