Skip to end of metadata
Go to start of metadata

Overview

The purpose of this document is to create a high level plan for the Demonstration of the KRAD Lookup.  The plan will identify features to be included in the demonstration.  It will also define the solution and business objects needed to support the demonstration.  The demonstration should represent a real life solution that users can understand and relate to.

KRAD Lookup Features

IDFeature SourceFeature DescriptionNotes
1existing demodirect inquiry in criteria 
2existing demoilookup field (free text and select) in criteria 
3existing demodate field with lookup widget in criteria 
4existing demomasked formatting in criteriasubsidized percent field
5existing democriteria in url 
6existing democonditional criteria 
7existing demodata range in criteria 
8existing demoauto search 
9existing demomulti-value lookup 
10KULRICE-10494delete action 
11KULRICE-10495complex actions 
12KULRICE-10494paging over multiple pages 
13KULRICE-10495complex custom actions 
14KULRICE-10528column totaling 
15KULRICE-10528progressive disclosure within search criteria 
16KULRICE-10528links in lookup header (right group) 
17KULRICE-10528details in search results 
18KULRICE-10528custom button in criteria footerLabsLookup-CriteriaFooterView has this
19KULRICE-10528field group in search criteria 
20KULRICE-10528client side validate for search criteria (required, validation pattern) 
21KULRICE-10528Ajax field query 
22KULRICE-10528uses stacked layout for the results instead of tablePossibly for the stacked group use a horizontal box, and add an image.
23Gap L3automatic inclusion of criteria for the "active" attributewhen the BO class implements the Inactivateable interface
24Gap L9special lookup operators ( |, <, >, .., etc...) in criteria
 
25Gap L19literal search values with operators in them 
26Gap L25includes hidden form fields for read-only input criteria 
27Gap L102authorization checks on lookup results and individual records. 

Solution

In order to create a demonstration based on a real life solution, we have chosen to leverage the existing KUALI Travel and Entertainment Module (TEM).  The Travel and Entertainment module (TEM) is an electronic document process for travel authorization, reimbursements for travel, entertainment, and moving and relocation expenses.  The KRAD lookup demonstration will not require all features of the TEM and will only include basic travel authorization functionality.

Within the solution a user will be able to define a travel authorization document that will include the following sections:

  • Trip Overview - traveler, traveler address (KIM person)
  • Trip Information - trip type, begin/end dates, trip destination, business purpose
  • Trip Detail Estimate - daily cost estimates
  • Actual Expenses - airfare and other expenses

Business Object Overview

TableSectionDescriptionNotes
 Trip Overviewtraveler information, using principalexisting
Trip Type (enum)Trip Informationtype of tripsenum
Primary DestinationTrip Informationlocationsmaintenance table
Millage RateTrip Detail Estimatemillage expense rate (based on primary destination)maintenance table
Per Diem ExpenseTrip Detail Estimatedaily estimated expenses (food, lodging, misc.) 
Actual ExpenseActual Expensesairfare and other expenses 
 Actual Expensestype of expenseenum
Company NameActual Expensesvendersmaintenance table
Travel Authorization DocumentTransactional Documentdocument that will go through authorization workflow. 

Business Object Definitions

Trip Type (enum)

CodeName
ISIn State
OSOut of State
INInternational

Travel Destination (TRVL_DEST_T)

NameDescriptionColumnTypeRequired
idunique identifierTRVL_DEST_ID  
 version numberVER_NBRNumber(8,0) 
 object idOBJ_IDvarchar2(36) 
countryNamecountryPOSTAL_CNTRY_CD  
statestatePOSTAL_STATE_CD  
primaryDestinationNamename of locationDEST_NM  
activewhether active of inactiveACTV_IND  

 

 

Travel Destination Table - mysql create statement

 

 

Millage Rate (TRVL_MLG_RT_T)

NameDescriptionColumnTypeRequired
id 

MLG_RT_ID

  
coderate codeMLG_RT_CD  
namename of rate (i.e. domestic)MLG_RT_NM  
 object idOBJ_IDvarchar2(36) 
 version numberVER_NBRNumber(8,0) 
rate.00$ per mileMLG_RT  
activewhether active or inactiveACTV_IND  
Travel Milage Rate Tabe - mysql create statement

 

Per Diem Expense (TRVL_PD_EXP_T)

NameDescriptionColumnTypeRequired
iduniqueIdentifier

PD_EXP_ID

varchar(40)Y
travelAuthIdtravel authorization (foreign key)TRVL_AUTH_IDvarchar(40)Y
 object idOBJ_IDvarchar2(36)Y
 version numberVER_NBRNumber(8,0)Y
perDiemDatedate of estimatePD_DT  

breakfastValue

amount estimated for breakfastBRKF_VAL  
lunchValueamount estimated for lunchLNCH_VAL  
dinnerValueamount estimated for dinnerDNNR_VAL  
incidentalsValueamount estimated for incidentalsINCD_VAL  
milelageRateIdmileage rate (foreign key)MLG_RT_ID  
milesnumber of estimated milesMLG_EST  
insert table - mysql
Actual Expense (TRVL_EXP_ITEM_T)

NameDescriptionColumnTypeRequired
idunique identifier

EXP_ITM_ID

  
 object idOBJ_IDvarchar2(36) 
 version numberVER_NBRNumber(8,0) 
travelAuthIdtravel authorization id (foreignKey)TRVL_AUTH_IDvarchar(40) 
companyNamevendorTRVL_CO_ID  
expenseDescriptiondescription of expenseEXP_DESC  
expenseDatedate of expenseEXP_DT  
expenseAmountamount of expenseEXP_AMT  
travelExpenseTypeCodeIdexpense type (foreign key)EXP_TYP_CD  
reimbursablewhether expense is reimbursed to travelerEXP_REIMB  
taxablewhether expense is taxedEXP_TXBL  
travel expense item table MYSQL insert

 

ExpenseType (enum)

Code

Name

A

Airfare

L

Lodging

M

Moving Equipment

O

Other

R

Automobile Rental

T

Taxi/Limousine Service

PA

Prepaid Airfare

PC

Conference Registration

PL

Prepaid Lodging

PM

Prepaid Moving Rental

PO

Prepaid Auto Rental

PR

Prepaid Tax/Limo Service

HB

Hosted Meal – Breakfast

HL

Hosted Meal – Lunch

HD

Hosted Meal – Dinner

MH

House hunting costs

MT

Temporary living

ML

Living allowances

MF

Final move meals

MM

Mileage allowed per mile threshold

MD

Domestic storage over 30 days

MI

International storage

ME

Family Travel Expense

MO

Misc. Expense

EL

Light refreshmen

 

Company Name (TRVL_CO_T)

NameDescriptionColumnTypeRequired
codeunique identifierCO_ID  
 object idOBJ_IDvarchar2(36) 
 version numberVER_NBRNumber(8,0) 
namename of CompanyCO_NM  
activewhether active or inactiveACTV_IND  
insert expense item table - mysql
Travel Authorization Document (TRVL_AUTH_T)

NameDescriptionColumnTypeRequired
 kuali doc numberFDOC_NBRvarchar(14)Y

 

object idOBJ_IDvarchar2(36)Y
  version numberVER_NBR decimal(8,0)Y
idunique identifierTRVL_AUTH_IDvarchar(40)Y
principleIdtraveler id (KIM)

PRNCPL_ID

varchar(40)Y
trip type codeforeign keyTRVL_TYP_CDvarchar(40)Y
primary destinationforeign keyTRVL_DEST_IDvarchar(40)Y
begin datebegin dateBGN_DATEdatetimeY
end dateend dateEND_DATEdatetimeY
trip description TRP_DESCvarchar(1000)N
expense limit EXP_LMTdecimal(19,2)Y

   

Travel Authorization table mysql create statement

 

 

 

 

 

 

 

 

 




 

       

 

  
 
 
 
 
 
 
 
 
 
 
 
 
 
 

TRVL_CO_T

  • No labels

4 Comments

  1. It looks like there is already an example for Gap L3 and L9.

    1. I think we actually want to duplicate functionality that exists in demo and labs views here.  The intent is to have a rich sample that provides a high degree of feature coverage in a few screens, while e.g. the demo views are intended to focus on individual features in isolation.

      1. If we can test the full functionality of a feature in the demo app then we should remove the lab sample and use the demo instead.

        • This removes unnecessary code that needs to maintained.
        • And also moves the automated functional test to the demo app so we know when the demo app is broken.
        1. I think there is value in the individual views that focus on single pieces of functionality, but practically speaking, you may be right, it may prove to be too much to maintain.