Active IQ Unified Manager Discussions

Developer Friendly OnCommand Workflow Automation: Collaborative Development

AkashShukla
3,498 Views

Content development is a regular activity with OnCommand Workflow Automation. Content development may comprise of augmenting new workflows, commands, filters, finders or editing the existing out-of-the-box content. Recent studies highlighted that the regular challenge faced by the developers working with OnCommand Workflow Automation is the silo development of content, the main reason being attributed to lack of viable content sharing methods.

 

However, with latest NetApp OnCommand Workflow Automation 4.1 you now have access to a new content-sharing feature that helps content-developers within team as well as across teams spanning geographical locations share-and-gain their individual work. Along with another benefit of allowing you to keep version control of the content in development phase.

 

This new capability is available for NetApp storage systems running:

 

Pack

 

A pack is a grouping construct for WFA content, which has been used for both NetApp supported packs and community generated packs in the store. The Pack object type will be the foundation for collaborative development execution on content. Pack as a manageable entity has been partially introduced in OnCommand Workflow Automation 4.0 and is now been enhanced. The pack will be used as the main entity with which Source Control Manager/Revision Control System integration will be done. Example of a pack can be an entity which contain a workflow to ‘Create a Clustered Data ONTAP Volume’ and a filter ‘Filter aggregates by cluster and name’.

 

Collaborative Development

 

Currently WFA allows creation and publishing of elements(content) as packs. Earlier multiple developers could not work on the same WFA content simultaneously. The objective of this feature is to facilitate the process of "check-in" and "check-out" of WFA content to source control tools like SVN/GitHub.

With this feature the development of a pack can be connected to a Source Control Manager such as GitHub, any multiple number of designer can develop content pack on different parallel branches. Admin/Architect should be able to save a pack into a file system in an exploded (not DAR/ZIP) format for checking into any source control systems. With a prerequisite that the admin/architect has already set-up a Source Control Management(SCM)/Revision Control System(RCS) like SVM/GitHub.

 

There has been introduction of two additional features for each fundamental component (e.g. Workflow, Filter, etc.) which are:

  • Add to Pack
    Add to Pack image.jpg
    (Selecting this option prompts the user for selection of a pack where the content should be added)

 

  • Remove from Pack
    Remove from Pack image.jpg
    (Selecting this option prompts the user for selection of a pack where the content should be removed from)

 

Also for each pack two features have been added which are:

  • Import from Server Folder
    import from server folder image.jpg

    (This will cause the Pack in the WFA local database to be updated with the content(s) in the Server File System)

 

  • Export to Server Folder
    export to server folder image.jpg

    (This will cause the Pack in the WFA local database to be overwritten to the Server File System)

 

 

Hands-on Exercise

 

To get started, first setup a WFA content repository. Assuming you use GitHub, create a repository C:/WfaContentRepo using GitHub.

 

Note: For versioning tool other than GitHub, copy the same steps with tool respective commands.

 

Go to your WFA homepage. And proceed to the ‘Designer’ Tab from top margin. From the left-pane select ‘Workflows’. And create your own custom workflow named ‘Custom Workflow v1.0’.

 

 hands on image 1.jpg

 

Next create in the same page, select ‘Filters’ from left pane. And create your own custom filter named ‘Custom Filter v1.0’.

 

hands on image 2.jpg 

 

These custom workflow and filter should be added onto a new Pack. Select ‘Packs’ from the left-pane. And create your own custom pack ‘Custom Pack’. Note that the new pack has ‘1.0.0 version’.

 

 hands on image 3.jpg

 

Select workflow ‘Custom Workflow v1.0’ and click ‘Add to Pack’ from top toolbar. Select ‘Custom Pack’ from list and click ‘OK’.

 

hands on image 4.jpg 

 

Repeat the above steps with ‘Custom Filter v1.0’ also.

 

hands on image 5.jpg 

 

Click on the ‘Custom Pack’ and select ‘Export to Server Folder’ from the top toolbar. Provide the repository path ‘C:/WfaContentRepo’. And click ‘OK’ button.

 

hands on image 6.jpg

 

That’s it. Open GitHub. Commit the local repository ‘C:/WfaContentRepo’ with the ‘Custom Pack’.

 

As this repository can be shared. The other developer can access this GitHub repository. And select ‘Import from Server Folder’ on their local WFA. The second developer can now make changes to the ‘Custom Workflow v1.0’ and ‘Custom Filter v1.0’. After making the changes ‘Custom Pack’ can again be committed to the repository on either the same development branch or a new parallel branch.

 

If wished by the developer, the new Pack can be posted on Storage Automation Store as well, for benefit of other developers as a ‘Community Pack’.

 

More Information                                                                                                                                             

 

We recommend that you watch the OnCommand Workflow Automation: Collaborative Development demonstration video for better understanding, posted on NetApp Field Portal here.

Log on to netapp.com and access OnCommand Workflow Automation for more information. You can also contact me Akash Shukla, TME WFA for more details on the feature and product.

 

1 REPLY 1

hariprak
3,174 Views

Hi Akash,

 

Thanks for sharing this information.

 

 

Cheers!

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
Public