DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Encryption / Versioning

Good day,

 

First of all please excuse my average english, i hope some of you understand what I'm looking for.

I am currently working at the test center of an automotive supplier. Here the component produced is tested through its paces. DIAdem (2012) is used for evaluating the test results. As many tests often need to be repeated serveral times, more and more scripts have been created to automate the processes over time. The scripts are located in a folder in the central network that can be accessed by all test stations.

 

The problem:
Now the large number of test and the usage of scripts can cause some mistakes. For example, depending on component and material some parameters in the script need to be changed, by now every user can do this very easily. Another engineer still tests the old component and did not notice the changes of the script. This may cause false test results. If he notices the mistakes this is not really serious. However, it can be a huge problem if he does not notice because the values ​​differ only slightly (but are incorrect) and the report goes to the customer. This is only one example of possible problems.

 

The desire of the "bosses":

My task now is to find a way to get the scripts protected against unauthorised changes (possibly with a password). So only people who know the password, can make changes.
Furthermore, there should be some sort versioning. So whenever a script is changed a new version is created. This version info should appear (in a dialogue) before running the script (version, short changelog, last change date, last change by)


In addition, the company wants to publish the scripts in a central location, so that customers and other departments or other test centers abroad can access it. Here a kind of encryption would be necessary again. But the others should be able to run the Scripts in DIAdem without implementing them in another script of their own (Just "Run Script >> Example.VBC"  >> Profit!)

Does anyone have any suggestions? Ideas?
I have a few things on my list, but first I want to hear expert opinions before I start developing a solution that is possibly not the best.

 

Many thanks,
B. Janssen

0 Kudos
Message 1 of 9
(5,127 Views)

Hello bjoernj,

I don't have a a solution for your versioning problem. At least not through DIAdem. Typically if you want to do versioning, you would use a standard source code control system which in this case might be too complex of a solution for your purpose.

 

Regarding "protecting the scripts against changes" you may want to consider that you keep the "VBS"/ unencrypted versions of the script on a network share where only certain users have access to. You could then have only encrypted versions of your scripts in the network folder everyone has access to. Not a perfect solution, but clear and simple.

 

But reading through your description, I was wondering whether the root cause of your problems is somewhere else.

If I understand correctly, users need to change parameters in the script depending on which data they want to analyse. If they forget to set those parameters matching the data, then the results are wrong. If this is what happens, then I recommend to evaluate whether its possible to read the parameters from the data set (the measurement data). E.g. there might be information in the dataset header which allows you to derive the parameters from teh measurement.Or you can derive the parameters from teh file name or the folder name.

 

If this is possible, you would avoid teh root cause of the problems right from the beginning.

 

Andreas

Message 2 of 9
(5,084 Views)

Be aware of the fact that there are S(ource)C(ontrol)M(anagment) systems out there that are free and do not necessarily need a central server.

 

  • Mecurial/Hg is one of them. With TortoiseHg there is also a graphical frontend for it.
  • Git

Using such a tool it is possible to determine changes made to a central folder.

Its also possible to develop test new versions on a local system and then use the system to put it on central domain.

 

Be aware that you should use the system to distribute it and not just copy the complete folder.

0 Kudos
Message 3 of 9
(5,060 Views)

Hi AndreasH_Ha,

thanks for your suggestions!

The idea regarding Encryption was on my list. Just wanted to know if someone had a somehow more elegant way to do it.

I think ill suggest my bosses to change the way the scripts are stored in our network.

Root cause: Sometimes they change parameters like the range of a displacement sensor or the thickness of components. For all these tests they use the same script. In the future I will try to ask for these variable parameters before executing the script using a dialogue box or something similar.

 

Im interested in your solution for versioning. Maybe you can give me a short digression on what you do and how.


Thank you so far...
Björn

0 Kudos
Message 4 of 9
(5,059 Views)

Hello Björn,

I was thinking about a solution like the ones described by AndreaK in the above post.

 

Andreas

0 Kudos
Message 5 of 9
(5,045 Views)

To describe a SCM in a thread is nearly inpossible.

Just download the Mecurial installer.

It contains a visual tool that integrates into MS Explorer.

 

Just start with the graphical tool started using the context menu of File Explorer.

  • Right click folder
  • TortoiseHg->Create Repository here
  • Right click commit
  • Hg Commit
  • Enter a text like "start version"
  • pick the files from the list that you want to have in the source control
  • right click and select "Add"
  • close the dialog

Here you have your starting point.

  • change one of the files and see what happens

Start Hg Workbench in the context menu of you folder and play with it.

 

To put the repository to a central path choose

  • File->clone archive
    for the first time

Afterwards you can send changes to the central place.

!! Those changes need to be accepted in the central repository.

 

Read in TortoiseHg manual tutorials.

 


Why descripe mercurial. Most people will say do use git for it. Yes you can use git but git is used everywhere and in my oppinion the small one is a better start.

 

 

Message 6 of 9
(5,029 Views)

Hi,

 

I've looked at some tools for versioning and find TortoiseSVN is suitable for my purposes. Can you think of a way to access the log data of this external Shell Expansion in VBScript? I want to show a short changelog, date of the last changes, last editor in a dialogue box at the beginning of the script.

 

Björn

0 Kudos
Message 7 of 9
(4,930 Views)

As TortoiseHg is a wrapper/GUI to use hg.exe,

TortoiseSVN is a wrapper in top of the svn.exe.

 

Check for tutorials how svn.exe is called or have alook at the logging of the tools. most time they show you the command they called to do soething.

 

Be aware of the fact that svn always needs a SVN server which must be available for checkin/checkout while HG needs a file share to run.

 

0 Kudos
Message 8 of 9
(4,904 Views)

Hi it's me again,

 

I'm done with the versioning-problem now and found a suitable solution for my needs.

 

Now I went back to encrypting my scripts and came to a new question:

Is there a possibility to execute .vbc scripts via doubleclick right from the explorer? Atm DIAdem is trying to read them instead of executing them. One possible solution would be a .vbs script which does nothing but executing the .vbc script but for me this solution seems to be a bit inelegant. Any suggestions?

P.S.: I know its kind of petty, but i want the process to be as uncomplicated as possible.

0 Kudos
Message 9 of 9
(4,822 Views)