plainblack.com
Username Password
search
Bookmark and Share

Versioning

The versioning system in WebGUI versions the properties of assets so that you can easily undo changes that you or your users mistakenly made. It also allows you to make changes to your site and not publish them until you are satisfied that they are ready to go out.

Revisions and Versions

A revision is a change to a particular asset. A version tag (or a version) is a collection of one or more revisions. A single version tag may include multiple revisions of the same asset, or multiple revisions made to more than one asset.

WebGUI works in terms of version tags rather than revisions, because often you'll want to make several changes before publishing them live on your site. However, if you prefer to have the option, you can change the “enableSaveAndCommit” option in your WebGUI config file to enable a second button on all your assets.

enableSaveAndCommit” : 1,

You'll then see buttons that look like this when editing assets:

What Is Versioned?

You might think that since there is a versioning system that all data would be versioned. However, not all data needs to be versioned, or is practical to version. For this reason only asset data is versioned, not data like users, groups, and profiling data.

Within assets, only the properties of an asset and the files attached to the asset are versioned. Assets like Data Form and Survey have collateral data like fields, questions, and answers. These collateral data fields are not versioned unless the asset developer specifically decides to version them.

Finally, the relationship of assets to each other are not versioned; therefore, cut, paste, and delete functions are not versioned. If you cut a page from one place, and paste it to another place in the site, that change will be reflected immediately on the site.

The User Interface

To use the versioning system you just need to edit something. A version tag will automatically be created for you. When this happens you'll have a new tab in the admin bar that looks like this:

If there are other tags open you can click on one of them to join it. Two people can be working under the same tag at the same time. In this way you can collaboratively develop content. Click on the highlighted version tag again and you'll be taken to the screen to edit the version tag. Here you can rename the version tag. Naming version tags is a good idea if multiple version tags are present on the site. This helps avoid confusion over what is being edited under each tag.

Committing a Tag

If, instead, you click “Commit My Changes” you'll be taken to a screen where you can attach comments about the changes you made. These can be invaluable if you need to look back in the future to find out why a particular change was made. Commenting can be hidden in the site settings.

Open Tags

The admin bar isn't the only place to see the open version tags. While making further edits to assets you'll see all the open version tags in the menu on the right. side of the screen, which looks like this:

You can also go to Admin Console > Version Tags.

Viewing Revisions

You can look at all existing revisions of a particular asset. While editing an asset the top five edits will be available on the right menu, and will look like this:

If you click on the word “Revisions” you'll see a list of all the revisions of this asset ever made. Or, if you click on an individual revision's time the edit interface will actually display what the asset properties were with that edit. You can also get the the revisions list from the “More” menu in the asset manager, or the class icon in the inline view.

Locking

Once you have edited an asset, it becomes locked for someone else to edit unless they are part of your version tag, you commit your version tag, or you delete the revision of that asset in your version tag. In the toolbar they'll see a lock icon instead of the delete and edit icons, like this:

If you know you want to edit an asset, but you're worried that someone else might also want to edit it, and therefore lock it under their version tag, you can use the lock feature, under the class icon. This just creates a new revision of the asset with the exact same properties as the old asset, thereby including it in your version tag. The only way to unlock an asset is to commit the version tag or delete the locked version from the revisions list.

Revisions in a Tag

Under Admin Console > Version Tags you can not only see all the open version tags, but you can also see all the version tags that have been committed. There is a menu on the right side of the screen to “Manage Committed Versions”.

Whichever you are looking at, you can click on the tag name in the list to display a list of revisions in the tag. It shows you the asset title, type, who revised it and when. You also have delete and view options. If you delete the revision then that asset will revert to its old revision back on the site. However, if you delete the last revision of an asset, that asset will cease to exist entirely, so be careful. If you click on the view button you can see how that asset looks as of that revision. You can also click the Edit button to open the asset Edit screen.

Restoring an Old Version

If something should happen and you no longer want a version tag around, you can do a “Rollback” on it. What that means is that all the changes of that version tag will be eliminated as if they never existed. Therefore, all assets will revert back to their previous versions, or if they were new in this version tag, then they will cease to exist entirely. This is usually not something you ever want to do, unless you wanted something to appear on your site temporarily, or someone has made a big mistake.

To use this function, go to Admin Console > Version Tags and then choose “Manage committed versions” from the right menu. You'll then be presented with a screen that looks like this:

From that screen choose the “Rollback” link on the item you wish to permanently remove. Remember that rollbacks are irreversible.

Hiding Versioning and Workflow

Versioning and workflow is a very powerful combination, but often on small sites it's just overkill. The good news is that you can hide it from your users to make the publishing process easier. (After WebGUI version 7.5 versioning is hidden by default)

Go to Admin Console > Settings. Then click on the “Content” tab. Set the “Default Version Tag Workflow” to “Commit Without Approval”. Set "Version Tag Mode" to "Commit Automatically," then set “Skip commit comments?” to “Yes”. Voila, your users won't know that workflow and versioning even exist.

In the Database

In the database a revision is nothing more than a database table row, or rather a series of rows, one for each table related to the asset. Take Article for example. It is made up of the asset, assetData, wobject, and Article tables. The asset table contains the information that isn't versioned, such as the article's position in the asset tree. The other three tables each have an assetId field (which uniquely identifies this asset), and a revisionDate field, which uniquely identifies a revision within an asset.


To find out what version tag a particular asset revision belongs to, look for the tagId column in the assetData table. The tagId column relates to a row (the tag) in the assetVersionTag table.


As an administrator you should never have to know this. It's more the domain of a programmer. However, if you're an administrator that also can do a little coding, this information can be invaluable with reporting and troubleshooting.

Keywords: revisions version tags versioning workflow

Search | Most Popular | Recent Changes | Wiki Home
© 2018 Plain Black Corporation | All Rights Reserved