Move, Copy, Paste Objects
DataStudio is very flexible in allowing you to move, cut, copy and paste objects within the different model panels. The easy to use interface means that objects with complex configurations (including embedded Lua scripts) can to quickly moved or copied intuitively without having to re-configure or create Mass Configuration tables or Lua scripts.
To move an object from one location to another, the object should be selected in the model panel, then using drag and drop, moved to the new location.
For example, if we wish to move the Generic Item "GenA" in the screenshot below from Folder "A" to Folder "B" we can do this by drag and drop.
Selecting "GenA" in the I/O Model and then dragging it onto the desired new location (and new parent object) folder "B" brings up the "Hand" icon. This indicates that the move is allowed and possible.
Releasing the mouse button will drop the object in the new folder and "blue spinning wheels" are displayed by both the original folder and the new location folder, indicating that the system is processing the object move.
Once complete, "GenA" is now in Folder "B".
- Can I move all inmation objects?
Not all objects are able to be moved. The System and Core objects, for example, have a fixed location, as do any created Connector objects. Datasource objects that represent physical server objects such as OPC Servers also have fixed Connector object parents. However items such as Generic Items, Action Items, DataHolders etc. can be moved successfully.
- Can objects be moved to any location?
There are limitations to the locations where objects can be moved. This is sometimes determined by the object being moved and sometimes by the location of the proposed move action. For example, it is not possible to move objects to directly below the System object as only Core objects can sit directly below the System. It is also not possible to move objects from one model panel to another (for example, KPI model objects can not be moved to the I/O Model). An object move may also not be possible if it creates a naming conflict with another object in the tree, in these cases a error dialog will be displayed. The allowed parent objects for different object classes is documented in the System Model documentation.
- What happens to a moved object’s history?
The archived values of a moved object remain with the moved object and can be accessed through the usual history calls using one of the DataStudio displays or APIs.
- What happens to references between objects after a move?
The references between objects are automatically modified when objects are moved. The modification ensures that there is no loss of connection between linked objects.
Objects are also able to undergo cut, copy and paste actions. This feature is available for objects in all of the model panels although there are some restrictions.
The cut/copy/paste actions are similar to those encountered in modern operating systems. Performing a cut or copy action on an object, will place that object on the clipboard. A paste action will then paste the object on the clipboard to the selected location. Performing another cut or copy action will replace the item on the clipboard with the new object.
Once a object is selected, the cut/copy/paste actions can be selected, either by right-clicking on the object and selecting them from the context menu, or by using the familiar keyboard shortcuts shown below:
Cut = Ctrl+X
Copy = Ctrl+C
Paste = Ctrl+V
A copy-paste action will result in the object (including it’s full configuration) being copied to the selected location. Multiple objects can be selected and copied at the same time.
When copying objects in the model panels, any references to other objects in the namespace (or to other objects being copied, if multiple objects have been selected for copy) can also be included when the object on the clipboard is pasted.
If references exist then a dialog will be shown upon performing the object paste action, indicating the type of reference and allowing the user to decide what should be done with the reference in the copied object.
If the object(s) has a reference(s) to another object in the namespace then a dialog for each reference will be displayed with an option to Keep or Remove the reference, or Cancel the copy action.
If you are copying multiple objects and there is a reference(s) between the objects actually being copied (the copy set) then you will also be given the option to Modify the reference(s) when performing the paste action.
The dialog show information about the object and also the reference. The proposed modification of the reference is displayed.
Click on the icon to get an overview of what the result of each of the proposed options would be.
A separate dialog is displayed for each reference in the copy set, allowing for a different option to be chosen for each reference. However, to save time you can also check the "Do this for all" checkbox to perform the same option for each reference.