Active IQ Unified Manager Discussions

WFA User Input Choices / Drop-Down Menu

A_Campbell
3,924 Views

I'm wondering if anyone could provide advice or get me pointed in the right direction. I want to have a CIFS Share created on an existing volume that is chosen based on user choices. For example....

 

I want the user to select location, application, and environment using dropdown menus, like this:

 

Select location: Hawaii...Ohio.... Texas

Select application: app1...app2....app3.....app4

Select environment: Prod....Test

 

Then, based on choices, a CIFS share is created. For example, if Ohio, app1, and Test are selected, the share would be created on VolumeX. Other choice combinations would indicate VolumeY or VolumeZ would be used.

 

I'm not familiar with how to give the user choices from a dropdown menu in WFA. I'm also not sure how to use the combination of choices to determine the volume where the CIFS share would be created. 

 

 

Anyone worked on an example like this before?

 

 

Thanks

 

1 ACCEPTED SOLUTION

dkorns
3,906 Views

WFA supports two types of dropdown user inputs: 

 

  • ENUM - where the wfa-programmer codes a comma separated list of dropdown choice values (Hawaii, Ohio, etc)
  • QUERY - where the wfa-programmer provides SQL code to present row-values from a WFA Cache DB dictionary/table (table: location with rows for Hawaii, Ohio, etc)

The first is easist to implement. However, it's not extensible by non-wfa-programmers and once you get a catalog of several workflows that may need this construct you've got to edit each workflow's ENUM choices. 

 

Look into EDM-Pack at the automationstore.netapp.com (or in this forum at: http://nt-ap.com/2nhZ2nl with a UserGuide). It lets you build those sorts of tables (for the UI QUERY fields) by just setting them up as tables in Microsoft Excel. Then in WFA the SQL would be something like "SELECT name,description FROM mycompanies.location" and the dropdown is your table of locations.

 

How to determine which volume the share points to? ... that could be based on other information in your tables, and/or MVEL expressions like: ( from your example exactly )

 

   ( $location == 'Ohio' && $application == 'app1' && $environment == 'test' ) ?VolumeX :VolumeY

 

Where "( ) ? :" is a WFA MVEL IF-THEN-ELSE construct (== is 'equal test ...  && is 'and' ... || is 'or' ... ? is THEN ... : is ELSE). This is a pretty painful way to do it. It would work better if you can embed info (other table columns) in your tables to make it easier to determine the volume but I don't know enough about your business-logic needs to offer more.

View solution in original post

2 REPLIES 2

dkorns
3,907 Views

WFA supports two types of dropdown user inputs: 

 

  • ENUM - where the wfa-programmer codes a comma separated list of dropdown choice values (Hawaii, Ohio, etc)
  • QUERY - where the wfa-programmer provides SQL code to present row-values from a WFA Cache DB dictionary/table (table: location with rows for Hawaii, Ohio, etc)

The first is easist to implement. However, it's not extensible by non-wfa-programmers and once you get a catalog of several workflows that may need this construct you've got to edit each workflow's ENUM choices. 

 

Look into EDM-Pack at the automationstore.netapp.com (or in this forum at: http://nt-ap.com/2nhZ2nl with a UserGuide). It lets you build those sorts of tables (for the UI QUERY fields) by just setting them up as tables in Microsoft Excel. Then in WFA the SQL would be something like "SELECT name,description FROM mycompanies.location" and the dropdown is your table of locations.

 

How to determine which volume the share points to? ... that could be based on other information in your tables, and/or MVEL expressions like: ( from your example exactly )

 

   ( $location == 'Ohio' && $application == 'app1' && $environment == 'test' ) ?VolumeX :VolumeY

 

Where "( ) ? :" is a WFA MVEL IF-THEN-ELSE construct (== is 'equal test ...  && is 'and' ... || is 'or' ... ? is THEN ... : is ELSE). This is a pretty painful way to do it. It would work better if you can embed info (other table columns) in your tables to make it easier to determine the volume but I don't know enough about your business-logic needs to offer more.

A_Campbell
3,850 Views

@dkorns

 

This is a tremendous help to get me started on this. I will move forward with your suggestions, really appreciate the advice.

 

 

 

Adam

 

Public