vCO workflows have version numbers although you have to put the version numbers explicitly via vCO Client (UI). What about Packages (vCO workflow packages)? When I export the packages and then import them to different systems for different use cases, how can I make sure I install the correct version of packages?
Thanks.
What do you mean by 'correct version of packages'?
Packages are container for versionable elements but packages themselves do not have a version. If you need to export multiple versions of the same package (with different set of workflows and other elements, or with different versions of workflows and other elements), you may put some descriptive text in the package file name when exporting it. For example, when you export package com.vmware.library.configurator, you may change the default file name from com.vmware.library.configurator.package to something more descriptive like com.vmware.library.configurator-v1-demo.package
What do you mean by 'correct version of packages'?
Packages are container for versionable elements but packages themselves do not have a version. If you need to export multiple versions of the same package (with different set of workflows and other elements, or with different versions of workflows and other elements), you may put some descriptive text in the package file name when exporting it. For example, when you export package com.vmware.library.configurator, you may change the default file name from com.vmware.library.configurator.package to something more descriptive like com.vmware.library.configurator-v1-demo.package
Thanks, Ilian. Your answer is correct and that is what we are doing for now. I just wish the package could have some kind of version info similar to workflows, or is there an external tool to have the packages linked to SVN/GIT version control system?
We do have a Maven plug-in which can translate package elements (workflows, actions, resources, etc) to XML files and assemble these files back to binary package. Most of the newer vCO plug-ins use it to keep their content in VMware Git repository. The typical steps to use it are:
1) The user creates a Maven project for the package (we have a Maven archetypes that generate plug-in skeleton)
2) The user compiles this Maven project and import the produced *.package file into vCO
3) The user makes some modifications using vCO Java client, for example, adds new workflows/resources/etc to the package, removes existing package elements, modifies some of the packages elements.
4) When the user is done with package modifications, it runs a Maven command that updates the XML files in the package Maven project to match the modified binary package in the vCO server.
5) The user commits the changed XML files to the version control system (GIT/SVN/whatever)
6) Repeat from step 3.
So, you can keep the different versions of the package content as different commits in SVN/Git. If at some point you want to recreate an older version of the package, you just checkout the appropriate revision from SVN/Git, build the Maven project, and get the binary package file.
Thanks a lot, Ilian. That is what I am looking for.
In up-comming vCO 5.5.1 update there is "Export to file" functionality available in the vCO Swing client (right click on the package) which will allow you to export the vCO package to disk. Using this option will also create a pom.xml file for preparing .package file from exported content.
I couldnt find Export to File feature in VCO 5.5.1 or 5.5.2. Do i need to install any plugin for this.
Hi
which plugin is that? Is that available for download? Licenses?
Actually, when you right click on a package in vCO/vRO, the menu options are as shown here:
Screenshot taken from vCO 5.5.2. There is no plug-in required for those two Export/Expand menu options, they are standard features of vCO/vRO.
Export package exports a binary zip file with a .package extension that may be imported back to your vCO server or to another server. This serves as a nice backup for your work and is the recommended process when developing content for clients or other organizations.
Expand package to folder dumps the package contents as a bunch of .xml files and a .pom flie
Thanks a lot
Thanks a lot
Hello,
Where I can find your maven plugin to do this and/or maven archetypes?
There supposed to be a maven repo on the vCO appliance, I think. Also, one of the export to disk options in the vCO will expand the package to disk and it will include a maven pom.
You can check FlowGrab.com - central code repository for vRO workflows.
Short video (6:40) about plugin (to access directly from vRO FlowGrab) is here: https://www.youtube.com/watch?v=RE3TUbVP4Fw
Longer presentation in vBrownBag recordings: http://professionalvmware.com/2015/02/vbrownbag-sharing-and-managing-vco-workflows-using-flowgrab-wi...
From licensing:
- free community edition is free
- cloud edition subscription base
- on-premise Enterprise appliance
Comparison of editions FlowGrab: Features
Hope this is useful from another angle
Janek
Hi, do you have more details about how to use it? I want to use maven to generate the vRO code and push to a Git system.Thanks in advance.
Are you asking about FlowGrab solution, or how to use vRO tooling?
If about FlowGrab - they are inactive since October last year.
For vRO tooling, you can use either vRO Client which has commands like Expand package to folder and Import package from folder in Packages tab inside left panel, or a command like
mvn o11n-package:import-package -DserverUrl=user:password@vrohost:8281
which, when run from within the folder where a package source is on disk (assuming you have used one of vRO plug-in Maven archetypes to generate plugin/package, as documented on Develop with the Orchestrator server page on vRO appliance home page), will update the package content XML files from package content stored into vRO database.