Concept

Top | Previous | Next

 

The Assembly Copier plugin is basically a .dll library containing a class whose task is to perform the renaming as the user wants it. This class necessarily uses the Init method. Its purpose is to form an object and let’s call it, conditionally, a copying context. This copying context is automatically filled in when the plugin is started.

 

The copying context is a data structure that represents the structure of the assembly uploaded to the Assembly Copier and the properties of each component. Basically, it is a data tree. You can create a function in a class that recursively traverses all items of a tree. Each item of the tree carries its own information container, which includes the file name, iProperties and Custom iProperties. In this way, the programmer can read the existing Property values of each component and use them to create new values. In other words, they can write/overwrite the value of any property. This can include the name of the file.

 

How these new values are to be formed is up to the programmer and the desired functionality is developed for this. When the user clicks on the "Apply" naming scheme button in the Assembly Copier, the selected plugin is started. The Assembly Copier program finds the class described in the plugin and runs it. At the end of the process, all changes made in the copying context are represented in the Assembly Copier program interface. Now you just need to click the "Copy" button and the assembly, and its components will be renamed/copied according to the new copying context that was created during the plugin’s operation.

 

A basic diagram of how the Assembly Copier plugin works

A basic diagram of how the Assembly Copier plugin works

 

The plugin can use APIs from other systems. For example, the MS Excel API or the API of an ERP system. This allows the automatic maintenance of centrally generated product code logs. It is possible to enter the client interaction via a dialog box in the plugin operation. For example, you can select different coding modes, ask for project and client data and then use them to create Custom iProperties.

 

One of the possible schemes for using the plug-in

One of the possible schemes for using the plug-in