Sidebar

Can I export Qvera configuration/functions/etc as YAML or JSON format to be used in a version control system?

0 votes
585 views
asked Dec 8, 2017 by (120 points)
edited Dec 8, 2017 by gary-t-8719
I am working on a team that would like to share work on configuring our Qvera instance, especially data transformations.  As far as we know, the only way to share this config is to export the configuration in a ".qie" format and pass it to the next person on every change.  Is there a way to extract configuration in a file format that is readable by a version control system (e.g. git?) so we can manage and share changes more effectively?

2 Answers

+1 vote
One method of accomplishing this would be exporting the .qie, adding the .zip extension and then unzipping the file to reveal its underlying xml which can be committed to version control for tracked changes.

This xml can also be directly imported to Qvera without any reverse process to transform back to the zipped .qie file.
answered Apr 24, 2020 by (160 points)
–1 vote

This is a great question. Currently, QIE does not have the ability to export configuration files suitable for a git repository. However, here are some suggestions and best practices that will help.

Your question has two aspects to it. One is Version Control and Revision History, and the Second is Multi-User Simultaneous coding to a specific object (Channel, Mapping, Published Function, et cetera). We will address both questions separately below.

Version Control & Revision History

QIE has built into the product Revision History. All changes made in QIE are tracked at the user level. In addition, all changes are tracked on the object as a whole and at a granular level within each object. The Revision History can be viewed by clicking on the Magnifying Glass usually found in the upper right-hand corner on various pages within QIE. 

In addition, QIE also backs up the configurations on a nightly bases. The Backup files can be found in the QIE Home Directory under a directory called Backup. QIE can also be configured to back up its configuration files on a separate server. This setting can be found under System Administration -> System Configuration -> System Configuration Nightly Backup Alternate Path.

Best Practice:

  • Setup two Servers, One for Development/Testing and another for Production.
  • Setup individual user accounts for each user on the system.
  • Review Backup strategies. (Refer to the QIE Backup and Disaster Recovery Guide found under the QIE Help menu for more suggestions on this topic.)
  • View Revision History as needed.

 

Multi-User Simultaneous Coding on a Specific Object.

Users can update/change objects in QIE if they are the only ones in that particular object without any conflicts. The problem comes into play when two or more users want to modify the same object simultaneously.  For example when users are both logging onto a QIE instance via a browser that is installed on a centralized server and access the same object\channel the user who saves their changes first will not have an issue while the subsequent users will get an error indicating that “The record has been modified by another user. Please reload the record and try again”. The user getting this error would need to preserve their code in a notepad and then reload the channel and reapply their changes.

If you need more than one user to work on the same object simultaneously the best practice would be to have a master copy of the object (perhaps on the centralized QIE Development/Test server) and working copies of that object for each user either on the same QIE instance or on their individual local installs and changes would need to be coordinated when applying them to the Master copy. Copies of the master channel can be shared via the Import/Export tool in QIE.

Best Practice:

  • Setup two Servers, One for Development/Testing and another for Production.
  • Setup individual user accounts for each user on the system.
  • Have a master copy of the object on the centralized QIE install.
  • Export a copy of the master channel/object and distribute to the team members.
  • Coordinate planned changes to the master copy. Changes to the master copy can be made by using the Import/Export tool or by using the copy/paste functions found in the edit menus throughout QIE. For example, I could copy an entire mapping function from the edit menu on the Visual Channel Editor from my local install that I have open in a browser to the QIE Server Instance opened in another tab/window browser.

 

Qvera currently has an open enhancement to add the ability to revert changes found in the Revision History, and long-term will be adding additional features to help with version control and enhancing Multi-User usability.

answered Dec 8, 2017 by gary-t-8719 (14,860 points)
edited Dec 8, 2017 by michael-h-5027
...