Expand my Community achievements bar.

Wondering how Workfront Proof works? Join our AMA on May 8th and ask our Community experts!
SOLVED

Recreating matrix logic in Workfront requests

Avatar

Level 2

For one of our clients, I am trying to automate the creation of a project based on a matrix they now use in Excel. In total there are 3 different data points per row that need to automatically trigger a combination of the tasks of the total project template. Once every row has determined which portion of the tasks of the template are needed, they are stitched together to create a total overview of what needs to be requested. I will try to provide an example that has nothing to do with the client itself but does reflect the complexity of the original idea.

 

Let’s assume I go own a restaurant for which I am keeping track of the different orders. My menu consists of two courses and a drink such that people can order a starter, a main course, and something to drink. In total there are two options per course and the course options have a step-by-step process of how they are created and must be served such that quality is upheld throughout the different orders. This would result in a menu similar to the following:

 

Starter

  • Option 1: Soup
    • Creation Step 1
    • Creation Step 2
  • Option 2: Bread
    • Creation Step 1
    • Creation Step 2

Main Course

  • Option 1: Chicken
    • Creation Step 1
    • Creation Step 2
    • Creation Step 3
  • Option 2: Meat
    • Creation Step 1
    • Creation Step 2
    • Creation Step 3

Drink

  • Option 1: Soft Drink
    • Creation Step 1
  • Option 2: Beer
    • Creation Step 1 

 

Now there enters a family of 4 people that each order a combination of the items on the menu:

 

Starter

Main course

Drink

Person 1

Soup

Chicken

Soft drink

Person 2

Bread

Meat

Beer

Person 3

Bread

Meat

Soft drink

Person 4

Soup

Meat

Beer

 

This information would trigger parts of the tasks in the template to combine the orders of the people with the deliveries for the table such that we receive an order for the kitchen like:

Person 1

  • Soup
    • Creation Step 1
    • Creation Step 2
  • Chicken
    • Creation Step 1
    • Creation Step 2
    • Creation Step 3
  • Soft drink
    • Creation Step 1

Person 2

  • Etc.

Person 3

  • Etc.

Person 4

  • Etc.

 

My problem, however, comes when creating the matrix logic in the request form. As I am not allowed to reuse any of the fields, I have to recreate a field for each of the column names which results in the following field structure:

 

Starter

Main course

Drink

Person 1

Starter_person1

MainCourse_person1

Drink_person1

Person 2

Starter_person2

MainCourse_person2

Drink_person2

Person 3

Starter_person3

MainCourse_person3

Drink_person3

Person 4

Starter_person4

MainCourse_person4

Drink_person4

 

This is scalable for this amount of people but assuming the whole restaurant can be a total of 100 people, you can imagine that creating all these fields can be very time intensive. Additionally, if we want to add any items to the menu this would mean that I must update each field one by one with this new item. This will also be very error prone since if one of the fields is not updated the options can be different between the different fields.

 

Does anyone know how to capture this matrix logic in a request form in a matter where the setup is scalable, and the fields are reusable and automatically updated based on a reference field? Thank you in advance for the help!

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

 

I'll be your huckleberry, @NCorver.

 

For your Restaurant example, and staying within Native Workfront capabilities, I propose:

 

  • Each meal (3 course dinner, in your example) is a Template with one Template Task for each phase (e.g. Starter, Main, Drink)
  • Each menu item is an independent Sub Template of the item and its steps (e.g. Soup > Creation Step 1, Creation Step 2, etc.)
  • Each Table is a Group (e.g. Table A For 4, Table B For 2, Main Bar, etc.)
  • Each Diner is a User assigned to that Group (e.g. Table A Seat 1, Table A Seat 2, ..., Main Bar Seat 1, etc.)

 

As a party of Diners arrived, are seated, and the waiter then takes their order:

 

  • Each Order is a Project created from the appropriate Template, giving basic structure (e.g. YYYY-MM-DD 7pm Table A; possibly "in advance", upon reservation)
  • Each Diner's Item request is an Issue on the Project "raised" by each Diner (Table A Seat 1: Soup, Chicken, Soft Drink)
  • Each Issue is converted to a Task using the appropriate Sub Template (Soup, Chicken, Soft Drink) under the appropriate Phase (Starter, Main, Drink, respectively
  • From there, Tasks can be scheduled "as usual" -- predecessors, lags, assignees, status, issues, etc.
  • For better or worse, this approach also accommodates 1:many (e.g. Table A Seat 2 wants 2 starters, no Meat, and 3 Drinks)

 

Opinions will vary, and I'm sure there is More To It, but perhaps that will give you some ideas on how to approach your situation.

 

That said, if you would be interested in our non-native solutions to allow a custom form to automatically generate such items, and/or visualize and manage such "micro-planning" within Workfront down to the 15 minute interval, I would be delighted to chat further via doug.denhoed@atapstore.com

 

Regards,

Doug

 

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

 

I'll be your huckleberry, @NCorver.

 

For your Restaurant example, and staying within Native Workfront capabilities, I propose:

 

  • Each meal (3 course dinner, in your example) is a Template with one Template Task for each phase (e.g. Starter, Main, Drink)
  • Each menu item is an independent Sub Template of the item and its steps (e.g. Soup > Creation Step 1, Creation Step 2, etc.)
  • Each Table is a Group (e.g. Table A For 4, Table B For 2, Main Bar, etc.)
  • Each Diner is a User assigned to that Group (e.g. Table A Seat 1, Table A Seat 2, ..., Main Bar Seat 1, etc.)

 

As a party of Diners arrived, are seated, and the waiter then takes their order:

 

  • Each Order is a Project created from the appropriate Template, giving basic structure (e.g. YYYY-MM-DD 7pm Table A; possibly "in advance", upon reservation)
  • Each Diner's Item request is an Issue on the Project "raised" by each Diner (Table A Seat 1: Soup, Chicken, Soft Drink)
  • Each Issue is converted to a Task using the appropriate Sub Template (Soup, Chicken, Soft Drink) under the appropriate Phase (Starter, Main, Drink, respectively
  • From there, Tasks can be scheduled "as usual" -- predecessors, lags, assignees, status, issues, etc.
  • For better or worse, this approach also accommodates 1:many (e.g. Table A Seat 2 wants 2 starters, no Meat, and 3 Drinks)

 

Opinions will vary, and I'm sure there is More To It, but perhaps that will give you some ideas on how to approach your situation.

 

That said, if you would be interested in our non-native solutions to allow a custom form to automatically generate such items, and/or visualize and manage such "micro-planning" within Workfront down to the 15 minute interval, I would be delighted to chat further via doug.denhoed@atapstore.com

 

Regards,

Doug