Versiondog AdminGuide
Versiondog AdminGuide
VALIDITY
XXXX 00000000
Page 1 of 33
VersionDog
Group Admin Guide
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 2 of 33
HISTORY OF CHANGES
REV. NO. DATE DESCRIPTIONS OF THE CHANGES
3.0 11 Nov 2015 Added sections User group management and Jobs
configuration (M.Bes)
4.0 29 Apr 2016 Update (M.Bes)
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 3 of 33
TABLE OF CONTENTS
Contents
1. Introduction .......................................................................................................... 4
2. Administration of versiondog ................................................................................... 5
3. Installation of the AdminClient ................................................................................ 5
4. Overview of the admin client ................................................................................... 5
5. User group management ........................................................................................ 7
5.1 Creating a new group of users ............................................................................. 7
5.2 Creating a new workspace for the group ............................................................... 8
5.3 Access rights management ............................................................................... 12
5.4 Adding users ................................................................................................... 17
5.5 Adding users using the LDAP synchronisation ...................................................... 18
6. Jobs Configuration ............................................................................................... 20
6.1 Common settings............................................................................................. 23
6.2 Time Plan ....................................................................................................... 24
6.3 Compare settings ............................................................................................ 26
6.4 Component-type specific settings ...................................................................... 28
6.5 Activating the Job ............................................................................................ 31
6.6 Checking the results of the job .......................................................................... 32
7. Final considerations ............................................................................................. 33
8. Other resources ................................................................................................... 33
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 4 of 33
1. Introduction
versiondog is software dedicated to PLC projects management. Main goals of versiondog are:
version and backup management
data backup
reporting
quality management
All projects are stored on servers whereas clients are distributed among user computers. Every
time user checks-out project from the server files are copied to his local machine and can be
modified, tested and locally versioned. After applying changes, user checks-in to the server with
new version of the project. History of changes is maintained with a minimal contribution of a
user.
Development of a PLC code is kept outside the versiondog and is still done with dedicated tools
as Simatic Step7 or Unity.
versiondog has a schedule mechanism called Jobs that automatically creates a backup of the
program running in a device and checks coherency of the retrieved program with a version
stored on server.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 5 of 33
2. Administration of versiondog
All administrative tasks are done using the versiondog AdminClient which is installed next to
the UserClient and other clients:
To login to the versiondog AdminClient you need to have the administrator rights. In order to
become a versiondog administrator send a request to [email protected].
The administration tasks are split among group admins. The main responsibility of each one is
to:
- Prepare the workspace for the group and maintain a clear structure of projects
- Manage a user group and its access rights
- Coordinate a schedule for projects according to needs of users
There are no different admin rights levels, so each administrator has full access to all
user groups, projects and program settings.
Since its not possible to programmatically prevent from interfering with areas that
are not under admins responsibility its crucial to stay self-disciplined when
undertaking actions to avoid problems.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 6 of 33
The only parts related to Group Administrators responsibilities are the modules User
management and Jobs.
Only one administrator can start the Jobs or User management module at the
same time. Once its opened other administrators will get the information that
module is not accessible.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 7 of 33
Once changes in user management or Job configuration are done administrator must
save the changes and close the module.
User Management in VersionDog is group-oriented (it uses groups for users and
rights management). If necessary, you can manage rights on a user-by-user basis,
but we strongly recommend that you manage the rights with groups.
If rights are assigned directly to individual users, it becomes challenging to keep
track of who has which rights to which components (projects).
Create a few basic users groups and then create other groups with more and more
rights. These rights are often related to responsibilities within your user structure.
Use the responsibilities to name the groups and as a guideline to assign the rights.
If there is no strict need of differentiating the access level to your projects for different users,
we recommend to keep all your users in one group with the same access rights to all the
projects in the groups workspace.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 8 of 33
In order to finish, enter the correct name of the created group and save changes.
To assign group rights to specified directories, these directories must exist in versiondog. Each
directory path is seen in versiondog only if it contains at least one component (it cannot be
empty path).
To create a directory, login into the UserClient (as a regular user) and go to the Project Tree
on the left side of the window:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 9 of 33
Name the directory with exactly the same name as the name of the main group of
users you are responsible for.
As a next step create a new directory inside the one you created and name it EmptyProject:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 10 of 33
In the next window select the Siemens->SPS->Simatic S7 component type (the type does not
really matter, it has to be any empty component) and choose Create Component:
As the last step Check-In with created empty Component by selecting it and choosing Extras-
>Check-In component without base version (take selection):
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 11 of 33
Once Check-In finishes you should see the Successful Check-In state:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 12 of 33
Instead of creating an empty fake component you can provide any real project that
will be stored in versiondog for your group.
If there are no contraindications its recommended to keep all users in one group
that has the access to all projects in its workspace.
Once the access right for the group are assigned (as described in the next section),
the EmptyProject might be deleted. It is created only in order to make the
directory path visible in the UserManagement module of versiondog.
Take special note of the following six key points when granting and removing rights:
1. Rights are cumulative. "Read" is the lowest level, then "Edit" then "Create", and
"Delete" is the highest.
This is why you cannot give a higher right without giving all lower rights at the same
time. Checking the "Delete" rights box, for example, will result in all four boxes in the
row being checked. Checking the "Read" rights box (the lowest) will result in just
"Read" rights being granted.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 13 of 33
2. After you have made any changes to rights, you need to SAVE or DISCARD them on
the ribbon.
In the screenshot above there are no pending changes (both "Save" and
In this second screenshot, "Save" and "Discard pending changes" are not
greyed-out, so changes have been made and need to be either saved or
discarded.
3. Individual user rights remain, no matter what you do with group rights (a reason to
avoid individual rights).
If you follow the best practices for managing users in VersionDog and stick to group
rights as far as possible (or even, ideally, exclusively) then you will not have to
constantly check if individual rights have been left after removing group rights.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 14 of 33
Actions that remove group rights DO NOT remove any individual rights that have
been granted.
4. A green check-mark in "User management" is the root of a right and a grey check-
mark is an inherited right.
o If you click on a box that does not already contain a green check-mark, then
a GREEN check-mark will appear for that right and GREEN check-marks for each
of the lower rights (to the left) will also appear. You have just granted all those
rights.
o If you click on a box that does contain a green check-mark, then the GREEN
check-mark will disappear for that right and any existing GREEN check-marks for
higher rights (to the right) will also disappear. You have just removed all those
rights.
5. Inherited rights are not designed to be removed directly, so you cannot uncheck a
grey check-mark.
If you try to uncheck a grey check-mark to remove an inherited right, then you will
find that instead of the grey check-mark disappearing, a green one will appear. In
fact, it might look like the grey check-mark has changed colour green, but what you
have effectively done is put a green check-mark ON TOP of a grey one. Inherited
rights (grey check-marks) cannot be removed directly, they have to be removed at
their root.
Hover the cursor over the check-mark and wait for the tooltip to tell you where the
root of that right is.
If you want to remove some of the inherited rights of a user or a number of users in
a group, but leave the existing rights for other members of the group (while sticking
to the recommended group rights strategy), you need to create a new group for the
user/users with the lower rights.
A group with one user is not a problem; it may in fact save a lot of time later if you
find you need to add another user with the same rights.
6. You can always find the root of an inherited right by hovering over the grey check-
mark and waiting for the tooltip.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 15 of 33
7. If you need to remove rights from a user, just move the user out of the
corresponding group. If you always manage rights by groups, you can be sure that
the user will not retain rights to anything that they should not have access to. That
way, no rights will be carried over without your knowledge (something it is difficult
to be sure of if you assign rights to a user, not to a group).
In the next window, select your group directory in the Project tree on the left side and set proper
access rights in the group window by changing the default setting:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 16 of 33
to the one that would give an exclusive access to the directory only to your group:
Figure 20 Limited access to the directory for the specified group of users
After changing the access rights close the window and click Save in the main UserManagement
window:
In case you see Users instead of Groups in the Rights per path window:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 17 of 33
Click the button in the upper right corner to switch the view.
In the next window complete the data of the user and select the group(s) he should be assigned
to:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 18 of 33
The username should be the same as the users NICE account login and the domain should be
set to CERN. This way user will be able to login using his NICE account credentials.
In the next window specify what Domain/Group you want to scan (in User
name/Password/Domain fields provide details of your own account):
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 19 of 33
Accept by clicking OK and you should see the result in the synchronisation manager:
Select users you want to add from the group in the right (you can multi-select, pressing the Ctrl
key) and click the arrow to transfer users to versiondog.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 20 of 33
6. Jobs Configuration
Mechanism of jobs allows you to prepare a schedule to create a backup of the project in the PLC
and compare it with the previous backup and/or the latest version stored on server. The
configuration of Jobs is placed under the Job module in the versiondog AdminClient.
To configure a job for the project select it in the Project tree and choose the tab of the project
type in right part of the window (SimaticS7 in this example):
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 21 of 33
When you click on the row related to the new Job you will see Configuration of the job in lower
part of the window:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 22 of 33
If you dont see all options, check if the More options button is selected:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 23 of 33
Job name field purpose is self-explanatory. You should choose meaningful name corresponding
to the project name.
Component is read-only field with the path to the component.
The field Notify contains the list of users that should be notified by an e-mail message about
result of each execution of the Job. You can add users to this list by clicking Edit.
In Save policy you decide under what circumstances backup should be stored on the server.
You can choose from the following options:
Two first options are very similar and the result is the same - new backup will be stored only in
case there were differences between two last backups.
Third option will keep the new backup even if it is exactly the same as the previous one.
Keep in mind that number of backups is limited and the oldest one will be removed when a new
one is created.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 24 of 33
We suggest to set the Save policy to Save current backup only if it is different to the previous
backup and keeping backup count low.
In the field Upload agent select the machine that corresponds to the type of the project. The
main indicator of the agents purpose is placed under its IP number or DNS name.
Serial number of the versiondog server should be left empty. It allows to decide which one of
servers should execute the Job, but in current configuration agents are used for the schedule
exclusively.
If you select Standard job for this component you allow users to use this Job configuration
to use functionality Upload and compare in the UserClient:
The Upload and compare functionality allows users to compare their working copies of the
project with a data source as a PLC.
If there is no Job configured with selected option Standard job for this component user wont
be able to perform this action.
Usage of the Upload and compare functionality is described in the versiondog UserGuide
document.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 25 of 33
To set the frequency of the Job execution click Edit next to the Run field:
We recommend to execute a job not more often than once a day at a different times to
balance load on the agent machines.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 26 of 33
Here you can specify if the action should be repeated, how many times and what should be the
delay between the next attempts.
- Comparison between the version (the latest version of component stored on server) and
the last backup (data uploaded from a PLC).
- Comparison between the two last backups.
First (version vs backup) will tell you if the project running in the PLC is really matching the
binaries of the project stored on the server.
Second (last backup vs previous backup) will let you know if the content of the PLC was
changed since the last backup.
You can select both of the comparisons, choose only one or even decide not to compare
anything:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 27 of 33
Similarly to the Upload Agent configuration you should select an agent with the label
corresponding to the type of the managed project:
The comparison between projects is done according to the central configuration of a comparator
for a given component type. Leaving Main configuration checkbox selected, these common
rules will be used for comparison.
However, if you need specific configuration for a comparator, uncheck the box and fill the
comparator configuration in the bottom clicking Comparator configuraton.
This will let you decide what exactly should be compared, as in the following example of Siemens
comparator settings:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 28 of 33
In the S7 specific settings you can configure the connection to the PLC and device-specific
options.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 29 of 33
S7 program path is the name of the program in the project and is automatically detected by
the extension *.s7p inside the project.
Access path determines the path of communication between an agent station and the PLC.
Once you select the correct path type for the connection more options will show up, as for
example for TCP/IP settings:
In each case you have to provide the IP address or DNS name of the PLC.
In next fields you have to specify details as CPU slot and Rack and slot CPs. You can detect
this configuration automatically if you have already entered the IP or Name of the device. To
do this click the Automatic button and the following window should show up:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 30 of 33
When you click Scan it will scan the selected range on the device:
This way you can not only automatically detect the configuration, but also confirm that there is
a connection with the device.
For the TCP/IP port field the default port number (102) should be left.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 31 of 33
The only part you need to specify is the Media (the type of connection) and the IP Address or
DNS name of the PLC.
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 32 of 33
At this point, Job is scheduled and will be executed regularly. You can also invoke the job
manually by clicking Execute selected jobs once (a good practice to check whether the Job
runs correctly).
After configuring Job, do not forget to close Jobs Module. Access to this module is
exclusive and if you leave it opened you will block the access for others
administrators.
After the job is executed results are inserted into a database. Summary of the result is also sent
by e-mail to the users included in notification configuration.
You can see the list of backups in section at the bottom after selecting your project:
1
REFERENCE EDMS NO. REV. VALIDITY
XXXX 00000000
Page 33 of 33
7. Final considerations
The BE/ICS admin is allowed to:
8. Other resources
You can find other resources as UserGuide and InstallationGuide or Auvesy documentation
for versiondog on CERNs versiondog website:
https://wikis.web.cern.ch/wikis/display/EN/VersionDog
https://its.cern.ch/jira/browse/VDOG/