Difference between revisions of "Versioning"

From SmartWiki
Jump to: navigation, search
(No summary)
(33 intermediate revisions by one other user not shown)
Line 1: Line 1:
{| class="wikitable"
+
==Overview==
|-
 
||[[Image:How.png|link=|50px]]
 
||This article will explain '''how''' you can implement this feature for use on your SmartSimple system.
 
|}
 
==<br />Overview==
 
 
'''Versioning '''(also referred to as '''SmartVersioning''') is a [[SmartSimple]] function that allows you to make concurrent versions of applications and forms while using a common set of underlying [[Custom Fields – General Information|fields]]. 
 
'''Versioning '''(also referred to as '''SmartVersioning''') is a [[SmartSimple]] function that allows you to make concurrent versions of applications and forms while using a common set of underlying [[Custom Fields – General Information|fields]]. 
 +
 +
Without needing to change the content of previous versions or requiring a test-to-production environment, Versioning means you have the ability to store multiple versions of the same list of fields in a single location. You can test and use a new version prior to it going live. 
 +
 +
Versioning works by starting with a core field-set that contains all fields from all applications, then allows you to choose which fields you want for any new version you're creating. You can add as many fields as you wish for your master '''baseline '''copy. When you're ready to create a new version of an application or form, Versioning takes a '''snapshot '''of your core field-set - that is, a copy of all the custom fields and their respective settings. This is the '''baseline '''that will be used as the starting point of your new version.
  
 
'''<u>Benefits of Versioning</u>''':
 
'''<u>Benefits of Versioning</u>''':
Line 14: Line 13:
  
 
<pre> You must be a user with SysAdmin privileges to configure the Versioning setting in your system. </pre>
 
<pre> You must be a user with SysAdmin privileges to configure the Versioning setting in your system. </pre>
=Configuration - Essentials=
+
==Configuration - Essentials==
==How Versioning Works==
+
===How Versioning Works===
 
'''Versioning '''works by first capturing all of the underlying fields that make up an application or form - this total set of fields is the '''"baseline." '''The baseline set of fields contains all of the fields in all application and form versions. The first step in using '''Versioning '''is to create a new "version" - this process includes giving that version a '''Name, Description, '''selecting the '''Application Name '''and '''Entity '''that contains the field-set, and taking a '''Snapshot '''of the field-set which creates the '''baseline. '''
 
'''Versioning '''works by first capturing all of the underlying fields that make up an application or form - this total set of fields is the '''"baseline." '''The baseline set of fields contains all of the fields in all application and form versions. The first step in using '''Versioning '''is to create a new "version" - this process includes giving that version a '''Name, Description, '''selecting the '''Application Name '''and '''Entity '''that contains the field-set, and taking a '''Snapshot '''of the field-set which creates the '''baseline. '''
  
 
Follow the steps below to create the baseline. 
 
Follow the steps below to create the baseline. 
  
==Enabling Versioning==
+
===Create a New Version===
 
1. Click on the 9-square menu icon on the top right of your page.
 
1. Click on the 9-square menu icon on the top right of your page.
  
 
:: {{Icon-Menu}} 
 
:: {{Icon-Menu}} 
 
2. Under the heading '''Configuration, '''select '''Global Settings.'''
 
2. Under the heading '''Configuration, '''select '''Global Settings.'''
 +
3. Under the heading '''System Configuration, '''click the hyperlink '''SmartVersioning.'''
 +
 +
:: [[File:Smartversioning.png|800px|border]]
 +
Any existing versions that have already been created in your system may be listed here. If you want to edit these, simply click the '''pencil icon '''to the left of each version name.
 +
4. To create a new version, click the '''+ icon '''on the top left. 
 +
 +
:: [[File:New smartversion.png|800px|border]]
 +
5. The New Version form will be displayed. Fill out the fields of this form.
  
3. Under the heading '''System Configuration, '''click the hyperlink '''SmartVersioning.'''
+
:: [[File:New version form.png|600px|border]]
 +
{| class="wikitable"
 +
|-
 +
||'''Version ID'''
 +
||This number will be autopopulated.
 +
|-
 +
||'''Name'''
 +
||Provide an appropriate Name for your new version.
 +
|-
 +
||'''Description'''
 +
||Provide a narrative description of your new version.
 +
|-
 +
||'''Condition'''
 +
||If applicable, insert in any conditions for the new version. See [[Versioning#Conditional Versioning]] for more information.
 +
|}
 +
* You must fill out at least the '''Name '''and '''Description '''fields to save a new version
 +
* '''Tip: '''Naming versions with clear and appropriate titles/descriptions will be of great assistance. For example, clearly name the '''baseline '''version so that it is differentiated from any future versions (i.e. '''Baseline General Application'''). It may also be useful to follow a standard naming convention, such as naming the application and form versions based on their period name (ex: '''2016 Q1 General Application''') so that you know when the versions existed. 
 +
* '''Tip: '''Period-based dates such as '''Up to 2020 Budget Manager '''are particularly useful for future-facing Versioning; label the Version so that you know you will not make it active until the time has come. 
  
:: [[File:SmartVersioning.png|800px|border]]:: [[File:Smartversioning.png|800px|border]]
+
6. When you are done inputting information into the fields, click the '''Save '''button
Any existing versions that have already been created in your system may be listed here. If you want to edit these, simply click the '''pencil icon '''to the left of each version name. To create a new version, however, click the '''+ icon '''on the top left
 
  
:: [[File:New smartversion.png|800px|border]] 
+
===Create a Baseline===
 +
Once you have created and '''Saved '''a new version, the page will reload to display the date and time stamp of the creation/modification, the name of the creator/modifier, and the '''Version Objects '''section. Through the '''Version Objects '''section, we will take the snapshot that comprises the baseline field-set for this version.
  
 +
:: [[File:New forms for smartversioning.png|800px|border]]
 +
1. Click into the '''Select Application '''field - a drop-down list of available {{UTA}}s within the system will appear.
  
==Getting Started and Taking a Snapshot/Creating a Baseline==
+
:: [[File:Smartversion select apps.png|250px|border]]
Versioning works by first capturing all of the underlying fields that makes up an application or form. We call this total set of fields the '''"baseline"'''. The baseline set of fields contains all fields in all application and form versions. The first step in using Versioning is to create a new version. This process includes giving the version a name and description, selecting the '''Application Name''' and '''Entity''' that contains the field-set, and taking a snapshot of the field-set which creates the baseline. Follow the details steps below to create the baseline.
+
Pick which application for which you would like to save a version of its fields. 
  
===Create a new Version===
+
2. After selecting an application, click into the '''Entity '''field which will open a drop-down list of the associated [[Entity|entities]] with that application. All {{L1}}, {{L2}}, and {{L3}} entities will be available. 
: 3. Click on the '''"+"''' icon to create a new version.
 
:: [[Image:new_version_button.png|link:]]
 
  
 +
:: [[File:Smartversion select entity.png|130px|border]]
 +
Select the specific entity level of your application to make up the field-set that you wish to capture. 
  
: 4. The '''New Version''' window is displayed.
+
'''Note: '''If no specific level is chosen, the system will default to the {{L1}} of that application. For example, it will default to '''Budget '''if the application in question is the '''Budget Manager. '''
:: [[Image:create_a_new_version.png|500px|link:]]
 
  
 +
3. Once both the '''Application Name '''and '''Entity '''have been chosen, click the button on the right side: '''Take Snapshot. '''
  
: 5. Give the Version a Name and Description, when done click '''Save'''.
+
4. A confirmation pop-up message will appear. Click '''Yes.'''
'''Note:''' Naming versions with clear and appropriate titles and descriptions will great assistance when using Versioning. Clearly name the baseline version so that it is differentiated from the future versions (ex. Baseline General Application). It may be useful to name application and form versions based on their period name (ex. 2016 Q1 General Application).
 
  
 +
:: [[File:Smartversion are you sure.png|500px|border]] 
 +
5. After you confirm, the '''Version Objects '''section of the version form will reload and display the time and stamp date of the snapshot. 
  
 +
:: [[File:Smartversion created.png|800px|border]] 
 +
The details outlined in red comprise the snapshot that you have taken - all the fields that were included with that application and entity level at the time that the snapshot was taken is what makes up the '''baseline. '''
  
===Take a Snapshot/Create a baseline===
+
* '''Note:''' You may want to capture fields-sets from the Level 1, Level 2, and Level 3. In this case you will repeat the steps above and create additional '''Version Objects '''lines to capture any additional objects, activities, or transactions. 
Once you've created a new Version, the '''Version Objects''' section is displayed. This section allows you to select the '''Application Name''' and '''Entity''' and take a Snapshot. The snapshot captures all fields contained in the selected form or application to the newly created version. The baseline is also created by taking a snapshot.
+
* '''Tip: '''It is useful to repeat the process and capture field-sets from all levels of a {{UTA}}, particularly if they are pulling fields from each other. 
 +
* '''Note: '''A snapshot does not mean that the version is active; the version will not be activated (that is, in use to the extent that all applications in this version will pertain with the field-set of that version) until you [[Versioning#Activating a New Version|activate the version]] in your system. 
  
 +
===Finding the Current Version===
 +
Having followed the steps from the previous sections, you have just enabled Versioning onto your system and created your first snapshot. By default, your '''Current '''is your '''baseline '''version. You can verify the current version used in your system at any time by following the steps below: 
  
 +
1. Navigate to the desired {{UTA}} whose Version you want to confirm. 
  
: 1. Select the '''Application Name''', the dropdown list will include all application forms within the system.
+
'''Note: '''You can navigate to any UTA by clicking the 9-square menu icon on the top right and clicking on the UTA name under the heading '''Applications.'''
: 2. Select the '''Entity Level''', this dropdown list will allow the selection of the Level 1, 2, or 3 to make up the field-set that you wish to capture.
 
:: [[Image:Version_objects_entity.png|500px|link:]]
 
: 3. Click the ''''Take Snapshot''''.
 
: 4. Click '''Save'''.
 
: 5. After clicking the Save button, the window will capture the created on and modified by details as well as display the Version Objects fields.
 
:: [[Image:New_version_window_after_save.png|500px|link:]]
 
'''Note:''' You may want to capture fields-sets from the Level 1, Level 2, and Level 3. In this case you will repeat the steps above and create additional "Version Objects" line to capture any additional objects, activities, or transactions.
 
  
 +
2. Click on the UTA settings icon - the '''gear icon '''- which will allow you to enter into '''Configuration Mode. '''
  
 +
:: [[File:Gear icon.png|200px|border]]
 +
3. Scroll down until the subheading '''Features and Options. '''
  
==Finding the Current Version==
+
4. Locate the '''Current Version '''field, which will display the current version of that UTA.
You have enabled Versioning and created your first snapshot. By default your Current Version is the baseline version. You can verify the current version at any time by following the steps below:
 
  
: 1. Navigate to the desired UTA
+
:: [[File:Smartversion current version.png|500px|border]]
: 2. Click on the UTA Settings icon
 
: 3. Click on the Level 1 tab
 
: 4. In the '''UTA Properties''' section locate the '''Current Version''' field.
 
:: [[Image:Current_version.png|link:]]
 
: 5. The current version is displayed.
 
 
'''Note:''' To change the current version, click on the dropdown menu and select the new version you would like to activate, then click the "Activate" button, and finally click the '''Save''' button at the bottom of the window.
 
'''Note:''' To change the current version, click on the dropdown menu and select the new version you would like to activate, then click the "Activate" button, and finally click the '''Save''' button at the bottom of the window.
  
 +
===Custom Fields and Versioning===
 +
Once Versioning is enabled against a UTA object, then the list of [[Custom Fields]] related to that object will also indicate an '''Active Version '''on the top right of the page. 
 +
 +
1. After navigating to the desired UTA, click the '''gear icon '''above its name in order to enter '''Configuration Mode.'''
 +
 +
:: [[File:Gear icon.png|border]] 
 +
2. Click into the tab for the level of object that you have enabled Versioning for. 
  
 +
3. Click on the hyperlink labelled '''Custom Fields.'''
  
==Custom Fields and Versioning==
+
At the top of the list of custom fields will be the '''Version '''combo box. 
Once Versioning is enabled against a UTA object, then the list of Custom Fields will include be an indication of the "Active Version" at the top alongside a Version combo box.
 
  
The '''Version''' combo box contains the name of the version of the application or form that you are currently editing. It is this field that allows you to switch between the different concurrent versions that are available. Here is where you will switch between the "Baseline" application version, the current application version, and the new application you are building and testing.
+
The '''Version''' combo box contains the name of the version of the application or form that you are currently editing. It is this field that allows you to switch between the different concurrent versions that are available. Here is where you will switch between the '''baseline '''application version, the current application version, and the new application you are building and testing.
  
  
Line 89: Line 119:
  
  
The individual Custom Field Setting page will also include be an indication of the "Active Version" at the top alongside a Version combo box.
+
The individual Custom Field Setting page will also include be an indication of the '''Active Version''' at the top alongside a Version combo box.
  
There will also be a '''Set''' button to allow users to [[Versioning#Editing_fields_in_Versions|edit fields]] in a specific version, and a '''Diff''' button to allow users to [[Versioning#Compare_fields_in_Versions|compare fields]] in one Version with another version.
+
There will also be a '''Set''' button to allow users to [[Versioning#Editing_Fields_in_Versions|edit fields]] in a specific version, and a '''Diff''' button to allow users to [[Versioning#Comparing_Fields_in_Versions|compare fields]] in one Version with another version.
  
  
Line 98: Line 128:
  
  
===Deleting fields in Versions===
+
====Editing Fields in Versions====
It is very important that you always double-check the version that you are editing. '''Always be careful''' when deleting fields from the baseline version. Deleting fields from the baseline will delete those fields from all associated applications and forms. Any new snapshots that are taken afterwards will not include the deleted fields. Also deleting fields from baseline will remove your ability to reference those fields and their values removing the ability to use the previously stored values.
+
1. Navigate to the desired UTA.
 
 
Deleting fields from versions that are not the baseline, will only remove those fields from the specific version you are editing and not other versions.
 
  
 +
You can do so by clicking the 9-square menu icon on the top right of your page ({{Icon-Menu}}), and selecting the UTA under the heading '''Applications.'''
  
 +
2. Click on the '''gear icon '''above the UTA name, which will bring you into the UTA settings in '''Configuration Mode.'''
  
===Editing fields in Versions===
+
:: [[File:Gear icon.png|border]] 
: 1. Navigate to the desired UTA
+
3. Click on the desired tab for {{L1}}, {{L2}}, or {{L3}} entity associated with the UTA. The levels go in sequential order - the first tab after the '''General '''tab represents the Level 1 Entity and so on. 
: 2. Click on the UTA Settings icon
 
: 3. Click on the appropriate Level 1, 2, or 3
 
: 4. Click on the '''Custom Fields" link
 
: 5. From the '''Version''' dropdown option, select the Version that you will be editing
 
: 6. Click '''Set'''
 
: 7. Make any required changes to the version your are working on (remember that these edits will only affect the current version you are editing, unless you are making changes to the baseline version.
 
  
 +
4. Click on the '''Custom Fields '''hyperlink. 
  
===Compare fields in Versions===
+
5. From the '''Version '''drop-down option on the top right, select the Version whose fields you want to edit.
: 1. Navigate to the desired UTA
 
: 2. Click on the UTA Settings icon
 
: 3. Click on the appropriate Level 1, 2, or 3
 
: 4. Click on the '''Custom Fields" link.
 
: 5. Select the versions to be compared from the 2 drop-downs.
 
: 6. The screen should automatically refresh and show the custom field settings for the 2 versions side-by-side.
 
[[Image:Diff_custom_field_version2018.png|900px|border|link:]]
 
===Creating a new field===
 
Best practice for creating new fields are to add them to the baseline version first. This makes the new field available to all versions once an update snapshot is taken.
 
  
: 1. Navigate to the desired UTA
+
:: [[File:Smartversion choose version.png|400px|border]]
: 2. Click on the UTA Settings icon
+
The list of Custom Fields displayed will differ depending on what has been saved as the field-set for the Version that you choose. 
: 3. Click on the appropriate Level 1, 2, or 3
 
: 4. Click on the '''Custom Fields" link
 
: 5. Click on the '''+''' icon to add a '''New Field'''
 
: 6. Add all fields required to create the new field. For details on creating custom fields click '''[[Creating Custom Fields|here]]'''.
 
===Adding all new field to existing Version===
 
Add all new field that has been added to the baseline to an existing version by updating the Versions snapshot.
 
  
This will update the field-sets that comprise the selected Version and will include any newly added fields added to the baseline since the last snapshot.
+
6. To edit a specific field, click the '''pencil icon '''to the left of the custom field name.
  
See the section above titled: '''Take a Snapshot/Create a baseline''' for details on taking a snapshot.
+
:: [[File:Edit fieldd.png|200px|border]] 
 +
You will be brought to the '''Custom Field '''edit page of that field. Make any required changes to the version you are working on.
  
 +
* Remember, these edits will only affect the current version you are editing - which can always be known with the text box at the top right - unless you are making changes to the '''baseline '''version. 
 +
* To learn more about editing a Custom Field, see our [[Custom Fields – General Information#General Settings|Custom Fields - General Settings]] page. 
  
 +
====Deleting Fields in Versions====
 +
It is very important you always double-check the version that you are editing. '''Always be careful''' when deleting fields from the baseline version. Deleting fields from the baseline will delete those fields from all associated applications and forms. Any new snapshots that are taken afterwards will not include the deleted fields. As well, deleting fields from baseline will remove your ability to reference those fields and their values, thus removing the ability to use the previously stored values.
  
===Add / update individual fields to Older Version===
+
Deleting fields from versions that are '''not the baseline '''will only remove those fields from the specific version you are editing - they will not be removed from other versions.
Sometimes a user may wish to apply a new custom field to an older version, or to apply changes made in single field, without taking a snapshot that would apply unwanted updates in other fields to the old version.
 
  
The '''Copy to Older Version''' option will allow users to do this.
+
To delete a field, check the box next to the desired field(s) to delete. A '''trashcan icon '''will then appear in the top row of buttons. Clicking on this icon will delete the fields. 
  
[[Image:CopyToOldVersion1.png]]
+
:: [[File:Smartversion deleting field.png|900px|border]] 
 +
:
 +
:* Remember, you can always note which version you are in with the '''Active Version '''text box that appears on the top right of your page. 
  
 +
<pre> To delete an entire Version (not just an individual field), you can only do so when there are no fields attached to it. </pre>
  
This is available against all UTA custom field lists, but only appears once at least one field has been selected.
 
  
[[Image:CopyToOldVersion2.png|700px]]
+
====Comparing Fields in Versions====
 +
1. Navigate to the desired UTA.
  
 +
You can do so by clicking the 9-square menu icon on the top right of your page ({{Icon-Menu}}), and selecting the UTA under the heading '''Applications.'''
  
If you select some custom fields and click on the '''Copy to Older Version''' button then you are presented with the Copy to Older Versions screen.
+
2. Click on the '''gear icon '''above the UTA name, which will bring you into the UTA settings in '''Configuration Mode.'''
  
[[Image:CopyToOldVersion_3.png|700px|border]]
+
:: [[File:Gear icon.png|border]] 
 +
3. Click on the desired tab for {{L1}}, {{L2}}, or {{L3}} entity associated with the UTA. The levels go in sequential order - the first tab after the '''General '''tab represents the Level 1 Entity and so on. 
  
 +
4. Click on the '''Custom Fields '''hyperlink.
  
Users select the version (or versions) that the field, or edits, should be added to from the Version drop-down list.
+
5. Click the '''pencil icon '''to edit a specific '''Custom Field.'''
  
If this is a brand new field then it will automatically be added to the selected Versions.
+
6. The details of the Custom Field will be displayed. At the top right, the '''Active Version '''is displayed. On the right of the '''Version '''field box, select the button '''Diff. '''
  
If the field already exists on the selected versions then updates will only occur if users select the '''Update''' option from the '''If field already exists''' setting. If users leave it as '''Ignore''' then the changes will not be applied.
+
:: [[File:Smartversion diff.png|400px|border]]
 +
7. A modal window that allows '''Version Comparison '''will appear, showing the custom field settings for two different versions side-by-side.
  
Users must then click on the Submit button, and should a confirmation message to indicate that the changes have been applied.
+
To toggle between which versions you would like to compare this custom field against, simply select different versions by clicking into each '''Version '''field. 
  
[[Image:CopyToOldVersion4.png|700px]]
+
:: [[File:Smartversion comparison.png|750px|border]]
 +
====Creating a New Field====
 +
Best practice for creating new fields are to add them to the''' baseline''' version first. This makes the new field available to all versions once an update snapshot is taken.
  
==Viewing changes to the Application/Form==
+
1. Navigate to the desired UTA.
The changes that have been made to a version view can be viewed by opening the application or form and selecting the appropriate form document.
 
  
: 1. Navigate to the desired UTA
+
You can do so by clicking the 9-square menu icon on the top right of your page ({{Icon-Menu}}), and selecting the UTA under the heading '''Applications.'''
: 2. Open the desired application / form
 
: 3. From the Version dropdown option, select the version you with to view.
 
[[Image:Viewing_changes_to_version.png|800px|link:]]
 
  
: 4. Click '''Set'''
+
2. Click on the '''gear icon '''above the UTA name, which will bring you into the UTA settings in '''Configuration Mode.'''
  
 +
:: [[File:Gear icon.png|border]] 
 +
3. Click on the desired tab for {{L1}}, {{L2}}, or {{L3}} entity associated with the UTA. The levels go in sequential order - the first tab after the '''General '''tab represents the Level 1 Entity and so on. 
  
: '''Note:''' Toggling between different versions from this page will allow you to easily flip between the existing form and your modified version.
+
4. Click on the '''Custom Fields '''hyperlink.
  
 +
5. Click on the '''+ ''''''icon '''on the left hand side to create a new field.
  
 +
:: [[File:Create new field.png|350px|border]] 
 +
6. Input all the fields required to create your new field. For details on creating custom fields, see [[Custom Fields – General Information#General Settings|Custom Fields – General Settings]]. 
  
 +
====Adding All New Fields to an Existing Version====
 +
If you want to mass update fields to an existing version, you can easily do by updating the '''Version Snapshot. '''This will update the field-sets that comprise the selected Version, and will include any newly added fields added to the '''baseline '''since the last snapshot. 
  
==Activating a new Version==
+
See [[Versioning#Create a Baseline|Create a Baseline]] for details on how to take a snapshot. 
: 1. Navigate to the desired UTA
 
: 2. Click on the UTA Settings icon
 
: 3. Click on the appropriate Level 1, 2, or 3
 
: 4. Under the UTA Properties section, locate the '''Current Version''' field.
 
: 5. From the dropdown options select the version you wish to make active.
 
: 6. Click on the '''Activate''' button.
 
: 7. Click '''Save'''.
 
: '''Note:''' Once an application or form is made active all new submissions will be completed and associated with the current version. Past submissions will retain their original version information.
 
==Batch updating records to Versions==
 
To update many different applications and forms to a new version, first start by creating the new version, then use the batch update feature to update as many applications and forms as desired.
 
  
: 1. Navigate to the desired UTA
+
====Add or Update Individual Fields to an Older Version====
: 2. Add a check mark to the check box for each application and form you want to bulk update
+
Sometimes a user may wish to apply a new custom field to an older version, or they might want to apply changes made in a single field without taking a snapshot that might apply unwanted updates in other fields to the old version.
: [[Image:Batch_update_version_checkmark.png|600px|link:]]
 
: 3. Click on the '''Batch Update''' icon
 
: [[Image:Batch_update_icon.png|link:]]
 
: 4. From the '''Update version to:''' drop down field, select the new version
 
: 5. Select the '''Batch Update''' button
 
: [[Image:Batch_update_window.png|600px|link:]]
 
==Conditional Versioning==
 
'''Conditional Versioning''' allows for a customized version of an application or form to be displayed to specific users based on conditions you set.
 
  
Conditions can include (but are not limited to):
+
In order to do so, follow these steps: 
  
* Geography
+
1. Navigate to the desired UTA.
* Role
 
* Organization type
 
* Gender
 
* Age
 
* Past Activities
 
* Many, many more
 
  
Conditions can also be based on the individual fields that make up an application or form. Any field can be the basis of a condition.
+
You can do so by clicking the 9-square menu icon on the top right of your page ({{Icon-Menu}}), and selecting the UTA under the heading '''Applications.'''
  
Each Version has a Condition field. In the example below the condition looks at Country field value entered against the current users profile, and will only display the current version if the Country is not set to Canada.
+
2. Click on the '''gear icon '''above the UTA name, which will bring you into the UTA settings in '''Configuration Mode.'''
  
[[Image: ConditionalVersion2.png|700px]]
+
:: [[File:Gear icon.png|border]] 
 +
3. Click on the desired tab for {{L1}}, {{L2}}, or {{L3}} entity associated with the UTA. The levels go in sequential order - the first tab after the '''General '''tab represents the Level 1 Entity and so on. 
  
==Also See==
+
4. Click on the '''Custom Fields '''hyperlink.
[[Versioning - Why?]]
 
  
 +
The list of Custom Fields will be displayed.
  
 +
5. Select ''at least one ''custom field for which you want to apply its updated modifications to an older version. 
  
 +
<pre> If a field is not selected, then the Copy to Older Version function will not show up. </pre>
 +
6. Click the '''Copy to Older Version '''option which looks like a '''two page icon '''on the top row of buttons.
  
 +
:: [[File:Smartversion copy to older versions.png|350px|border]]
 +
7. A modal window that allows you to choose which version you want to apply this updated field to will appear.
  
 +
:: [[File:Smartversion copy to other versions.png|650px|border]] 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
||[[Image:Why.jpeg|link=?|50px]]
+
||'''Version'''
||Click [[Versioning - Why?|here]] to learn why this feature is a benefit to your organization.
+
||
 +
Check the box next to the name of the version that you want to update this field to. You can also choose '''Select All '''if you want to apply this updated field to all of the older versions.
 +
 
 +
|-
 +
||'''If field already exists'''
 +
||
 +
If the field already exists on the selected versions, then updates will only occur if users specifically select the '''Update '''option. 
 +
 
 +
If a user leaves this option as '''Ignore, '''then changes will not be applied to the field that already exists in older versions. 
 +
 
 
|}
 
|}
 +
8. Click the '''Submit '''button..
 +
 +
The modal window will refresh and provide a confirmation message of '''Update Completed '''if the field was successfully updated to the older version(s). 
 +
 +
<pre> You cannot copy a Version ''into ''a core field-set; it is a unidirectional process. </pre>
 +
 +
 +
===Viewing Changes to the Application/Form===
 +
The changes that have been made to a version view can be viewed by opening the application or form and selecting the appropriate form document.
 +
 +
1. Navigate to the desired UTA.
 +
 +
You can do so by clicking the 9-square menu icon on the top right of your page and selecting the UTA under the heading '''Applications.'''
 +
 +
2. Open the desired application or form.
 +
 +
3. From the '''Version '''drop-down option on the top right, select the version that you would like to view. 
 +
 +
:: [[File:Smartversion choose version.png|400px|border]]
 +
Toggling between the different versions will allow you to easily flip between the existing form, and your modified version so that you can keep track of what the changes will employ from an applicant perspective.
 +
 +
===Activating a New Version===
 +
1. Navigate to the desired UTA.
 +
 +
You can do so by clicking the 9-square menu icon on the top right of your page and selecting the UTA under the heading '''Applications.'''
 +
 +
2. Click on the '''gear icon '''above the UTA name, which will bring you into the UTA settings in '''Configuration Mode.'''
 +
 +
:: [[File:Gear icon.png|border]] 
 +
3. Click on the desired tab for {{L1}}, {{L2}}, or {{L3}} entity associated with the UTA. The levels go in sequential order - the first tab after the '''General '''tab represents the Level 1 Entity and so on, in chronological order.
 +
 +
4. Under the subheading '''Features and Options, '''locate the '''Current Version field.'''
 +
 +
5. Click into the drop-down list of available versions and select the version you wish to make active for your UTA.
 +
 +
6. Click on the '''Activate '''button to the right of this field.
 +
 +
7. A confirmation message will appear - click '''Yes. '''
 +
 +
:: [[File:Smartversion activate confirmation.png|300px|border]]
 +
8. Once the version has been activated, another confirmation message will appear to state that the activation has been successful. Click '''OK.'''
 +
 +
:: [[File:Smartversion successful activation.png|200px|border]]
 +
'''Note: '''Once an application or form is made active, all new submissions that are completed will be associated with the current version - however, past submissions retain their original version information. 
 +
 +
===Batch Updating Records to Versions===
 +
To update many different applications and forms in a new version, first start by creating the new version, then use the batch update feature to update as many applications and forms as desired.
 +
 +
1. Navigate to the desired UTA.
 +
 +
You can do so by clicking the 9-square menu icon on the top right of your page and selecting the UTA under the heading '''Applications.'''
 +
 +
2. Check the box on the right of each application you want to bulk update.
 +
 +
:: [[File:Versioning batch update selected 2019.png|700px|border]]
 +
3. Click on the '''Batch Update '''icon found on the top right of your page.
 +
 +
:: [[File:Batch update button 2019.png|border]]
 +
The Batch Update modal window will appear.
 +
 +
4. On the left side, you are able to select which fields you want to update. As soon as you select a field, its options will appear on the right side. Either select from the '''drop down '''or use the '''binocular icon '''to look up the options that you can choose to batch update the records to for each field. 
 +
 +
:: [[File:Batch update process 2019.png|400px|border]]
 +
5. Once you are done selecting your batch update options, click the '''Update '''button at the bottom of the modal window. 
 +
 +
====Custom Batch Update====
 +
Next to the Batch Update button is a '''down arrow '''button that allows you to '''Custom Batch Update. '''Options available include making a '''Copy '''of the applications as well as changing the status of the applications.
 +
 +
:: [[File:Custom batch update button 2019.png|150px|border]]
 +
If you select '''Batch Update Copy, '''a confirmation message will appear to confirm that you want to ''copy ''and trigger the [[Workflows Overview|workflows]] associated with all selected records.
 +
 +
If you select the second option (Approved),''' '''you will run the '''Batch Update '''to change the status and trigger the [[Workflows Overview|workflows]] associated with all selected records.
 +
 +
:: [[File:Custom batch update example 2019.png|700px|border]]
 +
:
 +
:* In this example, a UTA with grants as the Level 1 Entity can be selected and batch '''Approved '''so that each [[Status|status]] of the grants selected changes to approved at once.
 +
:* When you have successfully updated a record, the [[List View Overview|list]] will reload and there will be a pop-up notification at the top of your screen confirming the number of records that have been updated.
 +
:* Note the '''Approved '''status of the record that was successfully updated. This record will now also appear in the second tab, in the list of '''Approved '''grants.
 +
 +
==Configuration - Advanced==
 +
===Conditional Versioning===
 +
'''Conditional Versioning''' allows for a customized version of an application or form to be displayed to specific users based on conditions you set.
 +
 +
Conditions can include (but are not limited to):
 +
 +
::* Geography
 +
::* Role
 +
::* Organization type
 +
::* Gender
 +
::* Age
 +
::* Past Activities
 +
::* Many, many more
 +
Conditions can also be based on the individual fields that make up an application or form. Any field can be the basis of a condition.
 +
 +
:
 +
Each Version has a Condition field. In the example below the condition looks at Country field value entered against the current users profile, and will only display the current version if the Country is not set to Canada.
 +
 +
See [[System Variables]] and SmartSimple's [[Variable List]] for more information about which variables you might want to use when setting conditions. 
 +
 +
[[Image: ConditionalVersion2.png|700px]]
 +
 +
===Reporting with Versions===
 +
After more than one Version is created, you can select which Version you would like to include in your [[Reports]] by searching through the versions. 
  
 
<!-- [[Category:Versioning]] -->
 
<!-- [[Category:Versioning]] -->
 
[[Category:Versioning]]
 
[[Category:Versioning]]

Revision as of 16:20, 18 October 2021

Overview

Versioning (also referred to as SmartVersioning) is a SmartSimple function that allows you to make concurrent versions of applications and forms while using a common set of underlying fields

Without needing to change the content of previous versions or requiring a test-to-production environment, Versioning means you have the ability to store multiple versions of the same list of fields in a single location. You can test and use a new version prior to it going live. 

Versioning works by starting with a core field-set that contains all fields from all applications, then allows you to choose which fields you want for any new version you're creating. You can add as many fields as you wish for your master baseline copy. When you're ready to create a new version of an application or form, Versioning takes a snapshot of your core field-set - that is, a copy of all the custom fields and their respective settings. This is the baseline that will be used as the starting point of your new version.

Benefits of Versioning:

  • Greatly reduces the work required to manage the changes that occur in forms and applications
  • Easy creation, modification, and testing of forms prior to going live 
  • Preservation of past forms' values and appearance, allowing System Administrators to view previous form versions in their original format
 You must be a user with SysAdmin privileges to configure the Versioning setting in your system. 

Configuration - Essentials

How Versioning Works

Versioning works by first capturing all of the underlying fields that make up an application or form - this total set of fields is the "baseline." The baseline set of fields contains all of the fields in all application and form versions. The first step in using Versioning is to create a new "version" - this process includes giving that version a Name, Description, selecting the Application Name and Entity that contains the field-set, and taking a Snapshot of the field-set which creates the baseline. 

Follow the steps below to create the baseline. 

Create a New Version

1. Click on the 9-square menu icon on the top right of your page.

052919 MenuIcon.png 

2. Under the heading Configuration, select Global Settings. 3. Under the heading System Configuration, click the hyperlink SmartVersioning.

Smartversioning.png

Any existing versions that have already been created in your system may be listed here. If you want to edit these, simply click the pencil icon to the left of each version name. 4. To create a new version, click the + icon on the top left. 

New smartversion.png

5. The New Version form will be displayed. Fill out the fields of this form.

New version form.png
Version ID This number will be autopopulated.
Name Provide an appropriate Name for your new version.
Description Provide a narrative description of your new version.
Condition If applicable, insert in any conditions for the new version. See Versioning#Conditional Versioning for more information.
  • You must fill out at least the Name and Description fields to save a new version
  • Tip: Naming versions with clear and appropriate titles/descriptions will be of great assistance. For example, clearly name the baseline version so that it is differentiated from any future versions (i.e. Baseline General Application). It may also be useful to follow a standard naming convention, such as naming the application and form versions based on their period name (ex: 2016 Q1 General Application) so that you know when the versions existed. 
  • Tip: Period-based dates such as Up to 2020 Budget Manager are particularly useful for future-facing Versioning; label the Version so that you know you will not make it active until the time has come. 

6. When you are done inputting information into the fields, click the Save button. 

Create a Baseline

Once you have created and Saved a new version, the page will reload to display the date and time stamp of the creation/modification, the name of the creator/modifier, and the Version Objects section. Through the Version Objects section, we will take the snapshot that comprises the baseline field-set for this version.

New forms for smartversioning.png

1. Click into the Select Application field - a drop-down list of available s within the system will appear.

Smartversion select apps.png

Pick which application for which you would like to save a version of its fields. 

2. After selecting an application, click into the Entity field which will open a drop-down list of the associated entities with that application. All Level 1, Level 2, and Level 3 entities will be available. 

Smartversion select entity.png

Select the specific entity level of your application to make up the field-set that you wish to capture. 

Note: If no specific level is chosen, the system will default to the Level 1 of that application. For example, it will default to Budget if the application in question is the Budget Manager. 

3. Once both the Application Name and Entity have been chosen, click the button on the right side: Take Snapshot. 

4. A confirmation pop-up message will appear. Click Yes.

Smartversion are you sure.png 

5. After you confirm, the Version Objects section of the version form will reload and display the time and stamp date of the snapshot. 

Smartversion created.png 

The details outlined in red comprise the snapshot that you have taken - all the fields that were included with that application and entity level at the time that the snapshot was taken is what makes up the baseline. 

  • Note: You may want to capture fields-sets from the Level 1, Level 2, and Level 3. In this case you will repeat the steps above and create additional Version Objects lines to capture any additional objects, activities, or transactions. 
  • Tip: It is useful to repeat the process and capture field-sets from all levels of a , particularly if they are pulling fields from each other. 
  • Note: A snapshot does not mean that the version is active; the version will not be activated (that is, in use to the extent that all applications in this version will pertain with the field-set of that version) until you activate the version in your system. 

Finding the Current Version

Having followed the steps from the previous sections, you have just enabled Versioning onto your system and created your first snapshot. By default, your Current is your baseline version. You can verify the current version used in your system at any time by following the steps below: 

1. Navigate to the desired whose Version you want to confirm. 

Note: You can navigate to any UTA by clicking the 9-square menu icon on the top right and clicking on the UTA name under the heading Applications.

2. Click on the UTA settings icon - the gear icon - which will allow you to enter into Configuration Mode. 

Gear icon.png

3. Scroll down until the subheading Features and Options. 

4. Locate the Current Version field, which will display the current version of that UTA.

Smartversion current version.png

Note: To change the current version, click on the dropdown menu and select the new version you would like to activate, then click the "Activate" button, and finally click the Save button at the bottom of the window.

Custom Fields and Versioning

Once Versioning is enabled against a UTA object, then the list of Custom Fields related to that object will also indicate an Active Version on the top right of the page. 

1. After navigating to the desired UTA, click the gear icon above its name in order to enter Configuration Mode.

Gear icon.png 

2. Click into the tab for the level of object that you have enabled Versioning for. 

3. Click on the hyperlink labelled Custom Fields.

At the top of the list of custom fields will be the Version combo box. 

The Version combo box contains the name of the version of the application or form that you are currently editing. It is this field that allows you to switch between the different concurrent versions that are available. Here is where you will switch between the baseline application version, the current application version, and the new application you are building and testing.


link:


The individual Custom Field Setting page will also include be an indication of the Active Version at the top alongside a Version combo box.

There will also be a Set button to allow users to edit fields in a specific version, and a Diff button to allow users to compare fields in one Version with another version.


link:


Editing Fields in Versions

1. Navigate to the desired UTA.

You can do so by clicking the 9-square menu icon on the top right of your page (052919 MenuIcon.png), and selecting the UTA under the heading Applications.

2. Click on the gear icon above the UTA name, which will bring you into the UTA settings in Configuration Mode.

Gear icon.png 

3. Click on the desired tab for Level 1, Level 2, or Level 3 entity associated with the UTA. The levels go in sequential order - the first tab after the General tab represents the Level 1 Entity and so on. 

4. Click on the Custom Fields hyperlink. 

5. From the Version drop-down option on the top right, select the Version whose fields you want to edit.

Smartversion choose version.png

The list of Custom Fields displayed will differ depending on what has been saved as the field-set for the Version that you choose. 

6. To edit a specific field, click the pencil icon to the left of the custom field name.

Edit fieldd.png 

You will be brought to the Custom Field edit page of that field. Make any required changes to the version you are working on.

  • Remember, these edits will only affect the current version you are editing - which can always be known with the text box at the top right - unless you are making changes to the baseline version. 
  • To learn more about editing a Custom Field, see our Custom Fields - General Settings page. 

Deleting Fields in Versions

It is very important you always double-check the version that you are editing. Always be careful when deleting fields from the baseline version. Deleting fields from the baseline will delete those fields from all associated applications and forms. Any new snapshots that are taken afterwards will not include the deleted fields. As well, deleting fields from baseline will remove your ability to reference those fields and their values, thus removing the ability to use the previously stored values.

Deleting fields from versions that are not the baseline will only remove those fields from the specific version you are editing - they will not be removed from other versions.

To delete a field, check the box next to the desired field(s) to delete. A trashcan icon will then appear in the top row of buttons. Clicking on this icon will delete the fields. 

Smartversion deleting field.png 
  • Remember, you can always note which version you are in with the Active Version text box that appears on the top right of your page. 
 To delete an entire Version (not just an individual field), you can only do so when there are no fields attached to it. 


Comparing Fields in Versions

1. Navigate to the desired UTA.

You can do so by clicking the 9-square menu icon on the top right of your page (052919 MenuIcon.png), and selecting the UTA under the heading Applications.

2. Click on the gear icon above the UTA name, which will bring you into the UTA settings in Configuration Mode.

Gear icon.png 

3. Click on the desired tab for Level 1Level 2, or Level 3 entity associated with the UTA. The levels go in sequential order - the first tab after the General tab represents the Level 1 Entity and so on. 

4. Click on the Custom Fields hyperlink.

5. Click the pencil icon to edit a specific Custom Field.

6. The details of the Custom Field will be displayed. At the top right, the Active Version is displayed. On the right of the Version field box, select the button Diff. 

Smartversion diff.png

7. A modal window that allows Version Comparison will appear, showing the custom field settings for two different versions side-by-side.

To toggle between which versions you would like to compare this custom field against, simply select different versions by clicking into each Version field. 

Smartversion comparison.png

Creating a New Field

Best practice for creating new fields are to add them to the baseline version first. This makes the new field available to all versions once an update snapshot is taken.

1. Navigate to the desired UTA.

You can do so by clicking the 9-square menu icon on the top right of your page (052919 MenuIcon.png), and selecting the UTA under the heading Applications.

2. Click on the gear icon above the UTA name, which will bring you into the UTA settings in Configuration Mode.

Gear icon.png 

3. Click on the desired tab for Level 1Level 2, or Level 3 entity associated with the UTA. The levels go in sequential order - the first tab after the General tab represents the Level 1 Entity and so on. 

4. Click on the Custom Fields hyperlink.

5. Click on the '+ 'icon on the left hand side to create a new field.

Create new field.png 

6. Input all the fields required to create your new field. For details on creating custom fields, see Custom Fields – General Settings

Adding All New Fields to an Existing Version

If you want to mass update fields to an existing version, you can easily do by updating the Version Snapshot. This will update the field-sets that comprise the selected Version, and will include any newly added fields added to the baseline since the last snapshot. 

See Create a Baseline for details on how to take a snapshot. 

Add or Update Individual Fields to an Older Version

Sometimes a user may wish to apply a new custom field to an older version, or they might want to apply changes made in a single field without taking a snapshot that might apply unwanted updates in other fields to the old version.

In order to do so, follow these steps: 

1. Navigate to the desired UTA.

You can do so by clicking the 9-square menu icon on the top right of your page (052919 MenuIcon.png), and selecting the UTA under the heading Applications.

2. Click on the gear icon above the UTA name, which will bring you into the UTA settings in Configuration Mode.

Gear icon.png 

3. Click on the desired tab for Level 1Level 2, or Level 3 entity associated with the UTA. The levels go in sequential order - the first tab after the General tab represents the Level 1 Entity and so on. 

4. Click on the Custom Fields hyperlink.

The list of Custom Fields will be displayed.

5. Select at least one custom field for which you want to apply its updated modifications to an older version. 

 If a field is not selected, then the Copy to Older Version function will not show up. 

6. Click the Copy to Older Version option which looks like a two page icon on the top row of buttons.

Smartversion copy to older versions.png

7. A modal window that allows you to choose which version you want to apply this updated field to will appear.

Smartversion copy to other versions.png 
Version

Check the box next to the name of the version that you want to update this field to. You can also choose Select All if you want to apply this updated field to all of the older versions.

If field already exists

If the field already exists on the selected versions, then updates will only occur if users specifically select the Update option. 

If a user leaves this option as Ignore, then changes will not be applied to the field that already exists in older versions. 

8. Click the Submit button..

The modal window will refresh and provide a confirmation message of Update Completed if the field was successfully updated to the older version(s). 

 You cannot copy a Version ''into ''a core field-set; it is a unidirectional process. 


Viewing Changes to the Application/Form

The changes that have been made to a version view can be viewed by opening the application or form and selecting the appropriate form document.

1. Navigate to the desired UTA.

You can do so by clicking the 9-square menu icon on the top right of your page and selecting the UTA under the heading Applications.

2. Open the desired application or form.

3. From the Version drop-down option on the top right, select the version that you would like to view. 

Smartversion choose version.png

Toggling between the different versions will allow you to easily flip between the existing form, and your modified version so that you can keep track of what the changes will employ from an applicant perspective.

Activating a New Version

1. Navigate to the desired UTA.

You can do so by clicking the 9-square menu icon on the top right of your page and selecting the UTA under the heading Applications.

2. Click on the gear icon above the UTA name, which will bring you into the UTA settings in Configuration Mode.

Gear icon.png 

3. Click on the desired tab for Level 1Level 2, or Level 3 entity associated with the UTA. The levels go in sequential order - the first tab after the General tab represents the Level 1 Entity and so on, in chronological order.

4. Under the subheading Features and Options, locate the Current Version field.

5. Click into the drop-down list of available versions and select the version you wish to make active for your UTA.

6. Click on the Activate button to the right of this field.

7. A confirmation message will appear - click Yes. 

Smartversion activate confirmation.png

8. Once the version has been activated, another confirmation message will appear to state that the activation has been successful. Click OK.

Smartversion successful activation.png

Note: Once an application or form is made active, all new submissions that are completed will be associated with the current version - however, past submissions retain their original version information. 

Batch Updating Records to Versions

To update many different applications and forms in a new version, first start by creating the new version, then use the batch update feature to update as many applications and forms as desired.

1. Navigate to the desired UTA.

You can do so by clicking the 9-square menu icon on the top right of your page and selecting the UTA under the heading Applications.

2. Check the box on the right of each application you want to bulk update.

Versioning batch update selected 2019.png

3. Click on the Batch Update icon found on the top right of your page.

Batch update button 2019.png

The Batch Update modal window will appear.

4. On the left side, you are able to select which fields you want to update. As soon as you select a field, its options will appear on the right side. Either select from the drop down or use the binocular icon to look up the options that you can choose to batch update the records to for each field. 

Batch update process 2019.png

5. Once you are done selecting your batch update options, click the Update button at the bottom of the modal window. 

Custom Batch Update

Next to the Batch Update button is a down arrow button that allows you to Custom Batch Update. Options available include making a Copy of the applications as well as changing the status of the applications.

Custom batch update button 2019.png

If you select Batch Update Copy, a confirmation message will appear to confirm that you want to copy and trigger the workflows associated with all selected records.

If you select the second option (Approved), you will run the Batch Update to change the status and trigger the workflows associated with all selected records.

Custom batch update example 2019.png
  • In this example, a UTA with grants as the Level 1 Entity can be selected and batch Approved so that each status of the grants selected changes to approved at once.
  • When you have successfully updated a record, the list will reload and there will be a pop-up notification at the top of your screen confirming the number of records that have been updated.
  • Note the Approved status of the record that was successfully updated. This record will now also appear in the second tab, in the list of Approved grants.

Configuration - Advanced

Conditional Versioning

Conditional Versioning allows for a customized version of an application or form to be displayed to specific users based on conditions you set.

Conditions can include (but are not limited to):

  • Geography
  • Role
  • Organization type
  • Gender
  • Age
  • Past Activities
  • Many, many more

Conditions can also be based on the individual fields that make up an application or form. Any field can be the basis of a condition.

Each Version has a Condition field. In the example below the condition looks at Country field value entered against the current users profile, and will only display the current version if the Country is not set to Canada.

See System Variables and SmartSimple's Variable List for more information about which variables you might want to use when setting conditions. 

ConditionalVersion2.png

Reporting with Versions

After more than one Version is created, you can select which Version you would like to include in your Reports by searching through the versions.