🔀 Use a Cross-App Look-up in Kuali Build

Body

Sometimes in Kuali Build, it's helpful to attach additional data to a dropdown gadget. This might be helpful in use cases like the following:

  • An academic department might want to ask a submitter to select a specific course or program that is offered by that department
  • An office might want to ask a submitter to specify a specific event from a list of future events
  • An office might want to distribute a unique link or instructions to a submitter, based on their selection of a specific service

In each of these cases, it would be helpful to have additional data attached to the selection. For a course, perhaps that would be the professor who is currently teaching that class. For an event, it might be a location, a start/end time, or contact info for a coordinator. It's possible to manually setup the additional data (using branches in a workflow to select the appropriate notification step, for example), but it's cumbersome and requires modification of a lot of workflow steps, and careful tracking of logic. 

With a cross-app look-up, it's easy to make the main form and workflow generic, requiring no form or workflow changes when adding additional options (events/courses/services), or when changing the additional data associated with an event. 

This article will help you set up two Kuali Build apps to work together. The core app will be the one offered to submitters, which will ingest the submissions and run the workflow. The look-up app will be used exclusively by the staff supporting the process, to maintain those additional data fields and selectable options. 

Step 1: Identify your additional data. 

Before you start, think through the kind of data that you would like to have available to be attached to a single selectable option in your core app. 

For our simple example, we'd like people to be able to sign up for a list of separate events. Each event will have the following information attached to it: 

  • Event Name
  • Event Date
  • Event Time
  • Organizer Contact Information
  • Event Location & Directions

In this case, we want the submitter to be able to select the event based on its name, to see the date and time, and to be notified with the event location and directions after they've signed up. Additionally, if the submitter has a special request for the event (i.e. requesting that their meal to conform to their dietary restrictions), we want to notify the organizer about that request so they can follow up or set up that accommodation. 

Step 2: Create the Core App

Create a new app in Kuali Build (if you don't already have one), and give it an appropriate name. For our example, we could use "Event Sign-up" 

This will be the app that you will link people to in order for them to submit the app. 

We'll leave this app for now, and come back to it later.

Step 3: Set up the Look-up App

Now that we know what information we want to collect & store, we can set up the app to store it. 

Create a new app in your Kuali Build space for the lookup. If you're not sure what to name it, take the name you used for the core app, and add "Look-up" to the end (e.g. "Event Sign-up Look-up"). 

In this app, add a section, and inside that section, add a gadget for each of the pieces of data you selected in the second step. For our example, we'll add: 

  • Event Name (Short Text gadget)
  • Event Date (Date gadget)
  • Event Time (Time gadget)
  • Organizer Contact Information (Data Lookup (List) gadget, configured for Kuali Data > People
  • Event Location & Directions (Long Text or Rich Text gadget)

Uploaded Image (Thumbnail)

You will likely want to mark all these fields required. 

Once you have your fields set up and named, you'll need to set the Form Title. This setting will choose one of these fields to uniquely identify each submission. These names will appear on the drop-down menu that the end user will see in the core app later. To do this: 

  1. Go to the Form tab of the look-up app.
  2. Choose Form Settings from the upper right corner. 
  3. Select one of your fields from the Form Title drop-down. 
    (for our example, we would select the Event Name field since that's what we'll want the end user to see in the core app)

Uploaded Image (Thumbnail)

Next, we need to enable data sharing from this look-up app so that the data in it can be accessed by the core app.

  1. Click the 3-dot menu near the name of your look-up app, and choose Data Sharing
  2. On the Data Sharing page, select Share only with SPECIFIC Apps, and then type in the name of your core app to find it. 
  3. Leave the option for Conditional Access unchecked. This is an advanced feature for limiting the options that people will be able to choose from the look-up that is outside the scope of these instructions.

Uploaded Image (Thumbnail)

Next, publish this app from the Publish tabYou do not need to alter the permissions on the look-up app. 

Last, we'll need to submit the look-up form at least once so that we have data to work with as we set up the core app. To do this: 

  1. From the Document List tab, click New
  2. Enter in some details in each of the fields you configured.
  3. Submit the form.

The information you enter here doesn't have to be real data. Use placeholder data if you'd like -- we can come back and modify or delete it later. Depending on your situation, it may be helpful to have 2-3 submissions so that you have multiple options to choose from as we move into the next step. 

Step 4: Configure the Core App's Form

Go back to your core app, and do the following: 

  1. Drag in a Data Lookup (List) gadget to your form. This will be the dropdown from which a submitter can select one of the options we have added in the other form. 
  2. Select the blue Choose button in the right-hand sidebar
  3. Select Kuali Data
  4. Select the look-up app from the list. 
  5. Check the boxes next to the 5 fields you identified in Step 1 to indicate that you'd like to pull that data in from the look-up app. 
  6. Mark the field as required.

Uploaded Image (Thumbnail)

When a person fills out this form, they will be presented with a list made up of the submissions to the look-up app. For our example, they will see the information we entered in the Event Name field in each of our submissions from step 3. 

Add any additional fields that you might want on this core app, unrelated to the data stored in your look-up app. In our example, we will add a non-required field where people can any dietary restrictions that will affect their attendance of this event. 

Step 5: Configure the Look-up App's Workflow

Still in your core app, you can use any of the values attached to the look-up submission in the workflow. 

What you do with them will be heavily dependent on the specific use case that you have for this, but in our example, we will do the following: 

  1. Add a branch step, and configure it to send documents down Route 1 when the dietary restrictions field is not empty.
  2. Inside Route 1 of the branch step, add a notification step. 
  3. Configure the notification step to notify a person specified on this form, and select the person specified in our look-up field. 

Uploaded Image (Thumbnail)

Uploaded Image (Thumbnail)

This way, regardless of which event is selected, the person associated with that event in the look-up app will get the notification. 

What's Next?

Your cross-app look-up is all set up! Here's what you can do next to make this even more functional: 

  1. Add additional options: To change the available options in the data lookup gadget on the core app, just submit additional copies of the look-up app. 
  2. Change or Delete options: From the Document List of the look-up app, you can edit or delete submissions. Deleted submissions will disappear from the data lookup gadget on the core app.
  3. Be Creative! What other things can you think of to do with this new feature? Maybe combine it with an Assignment app, use the look-up field in additional apps. We are excited to see what you come up with! 

 

Details

Details

Article ID: 161579
Created
Thu 9/12/24 12:16 PM
Modified
Fri 9/20/24 4:44 PM