Updating Shared Objects in Groups or Symbols

It is likely that there will be objects in your GraphWorX64 displays that will need to conform to uniform standards, updated scripts, a more modern design, naming conventions, or any other facet of a configured object. One such object might be the needle you use in meters; such a needle already has a rotation dynamic, but you might want to add a color dynamic that changes the color of the needle as the temperature fluctuates. If the needle is used in 100 meter objects in a display, maintaining it in all those places takes time and is prone to errors. Using the Update Shared Objects feature makes the job easier. To put Update Shared Objects feature to use, you must:

  1. Assign the same, identical keyword to the object in every meter where it is used by using its ShareKeyword property.

  2. Use the Update Shared Objects feature to push your update to all instances of the object.

Each step is described below in this topic. Refer to Assigning Keywords in the ShareKeyword Property and Push Changes to All Instances using the Update Shared Objects Feature.

For use with groups or Smart Symbols. The ShareKeyword property and Update Shared Objects feature are available with all 2D and 3D objects. However, they are primarily intended for use with objects that are components of groups or Smart Symbols. For more information, refer to Groups and Smart Symbol Basics.

Assigning Keywords in the ShareKeyword Property

The Update Shared Objects feature requires that you assign a uniform ShareKeyword property to identical objects that you will use the feature with. For example, you might assign the ShareKeyword "NEEDLE" to every needle object; as a result, you will be able to push a change uniformly to every object that has that keyword.

Which Objects Need a ShareKeyword? An ideal object to give a keyword to is one that you re-use in groups, Smart Symbols, layers, or displays, and that has a characteristic that requires you to maintain it with some regularity. Perhaps it is:

  • an object that has scripts that are frequently enhanced; or

  • an object that you need to put into production but still needs further development; or

  • an object that has text, such as a phone number or URL, that changes periodically.

For other examples, refer to Examples, at the end of this topic.

Rules. Regardless of the type of object you give ShareKeywords to, there are a few rules about the keywords themselves that you need to observe:

  • Keywords can contain numbers, letters, spaces, and special characters.

  • Keywords are case sensitive. For example, the keywords "NEEDLE" and "needle" are two different keywords.

  • Each object can have only one keyword. In the ShareKeyword property, there are no separators that denote multiple keywords. For example, if you enter "NEEDLE needle" as the ShareKeyword, that is its one ShareKeyword; this doesn't create two keywords in uppercase and lowercase.

  • Assign the same ShareKeyword property to identical objects that appear in multiple groups or symbols. If the objects do not look identical, the first time you use Update Shared Objects, they will be made to look identical.

  • Values should be defined for the ShareKeyword property only for use with the Update Shared feature. However, keep in mind that you can use the ShareKeyword to find objects using the Find and Replace feature.

  • The Update Shared Objects feature pushes modifications based on the entire keyword; you cannot select part of a keyword to push changes to. For example, if one set of shared objects has a keyword of NEEDLE1 and another set has the keyword NEEDLE2, you cannot push modifications to objects with a keyword that contains NEEDLE. (Note, however, that the Find and Replace feature can find objects that contain NEEDLE.)

To assign a keyword to the objects that share it:

  1. Identify the objects that share the keyword.

  2. Locate all instances of the object. If you have named the objects uniformly throughout your displays, you might be able to use the Find feature to locate them.

  3. Open each GraphWorX display that the object is used in, select the object in the display or in Explorer, go to the object's Properties tab and, in the ShareKeyword property, enter the object's keyword.

  4. After all instances have been given the same keyword, you can use the Update Shared Objects feature to push modifications make on one instance to all instances.

Return to Top

Push Changes to All Instances Using the Update Shared Objects Feature

When you propagate an object's modifications using the Update Shared Objects feature, the changed object that is open on the GraphWorX64 work surface is copied to all instances that share the object's keyword. All characteristics of the object will be copied except for those traits you choose to preserve. For example, if you are updating objects with the ShareKeyword of PUMP, but many of these objects have their own scripts, it is imperative that you preserve scripts when you do the update. Think carefully about the changes before you go ahead and propagate them throughout your GraphWorX displays.

  1. Open the display that contains the 2D or 3D object you will be changing. Make the changes to the object.

  2. While the object is selected, go to the Dynamics ribbon and click the Update Shared button in the Smart Symbols section.

  3. Selecting Update Shared from the Dynamics ribbon opens the Update Shared Objects dialog box, as shown in the figure below.

The Update Shared Objects Dialog Box

  • In theLook In section, specify where you want the object's changes to be pushed. You can copy them to shared objects in:

    • The currently selected item (Current Selection) in the display.

    • The selected group, Smart Symbol, or layer (Current Layer/Group). If no group, Smart Symbol, or layer is selected (look in the Explorer to see what is selected), this option is disabled.

    • The entire display (Current Display).

    • A group of display files (Multiple Files). To specify the files to search, click the ellipsis button next to the Multiple Files radio button. The Edit File List dialog box appears, where you can create a list of the files in which changes are to be copied.

  • In the Preserve section, put a check mark beside those facets you do not want changed in objects that share the same keyword. Note that all other aspects of the originating object will be pushed to its shared objects. For example, if you change the needle in a pressure gauge in the East Wing Line of your Boston industrial center, that needle will be pushed to other needles so that everything about them is identical, unless you preserve any or all of the features listed below:

    • Size and Orientation - A check mark leaves the sizes of shared objects unchanged, and prevents shared objects from being moved to the originating object's location in their displays.

    • Name - A check mark leaves all shared objects' names unchanged.
      If you remove the check mark, all shared objects will be given the name of the originating object; the originating object name will be suffixed with the number 1, and all other shared objects will have the same name with sequentially designating suffix numbers.

    • Text Label - This option affects only those shared objects that have a Text property, such as Data Entry dynamics and Label shapes.
      A check mark leaves all shared objects' Text property unchanged.
      If you remove the check mark, all shared objects will be given the same Text property as the originating object's Text property.

    • Dynamic Tag - This option affects objects that have OPC tags or global aliases, such as dynamics and Smart Symbols.
      A check mark leaves the shared objects' Data Source dynamic properties unchanged.
      If you remove the check mark, shared objects will be given the same Data Source dynamic property as the originating object.

    • Smart Property Values - This option affects only smart symbols.
      A check mark leaves the shared objects' Smart Property values unchanged.  
      If you remove the check mark, all shared objects will be given the same Smart Property values as the originating object. For more information, refer to Smart Symbol Basics.

    • Scripts- A check mark leaves the shared objects' scripts unchanged.
      If you remove the check mark, all shared objects will lose their current scripts and be given the scripts that the originating object has.

Return to Top

Examples

Labels. One display has many inputs and outputs. For all input label objects you assign a ShareKeyword property of INPUT and for all output label objects the ShareKeyword in OUTPUT.  Using the Update Shared feature it is fast and easy to change the color, size, and shadow for all of them. Just do the change on one INPUT object and apply it to the rest; then repeat for OUTPUT objects. (Remember to check the Preserve Text Labels check box.)

Pumps. In one project there are several pumps. If the displays in the project are created carefully from the beginning, and all desired pumps are marked as shared with same keyword, it is fast and easy to change their appearance. If the pumps are connected to different signals, remember to check the Preserve Text Labels check box on the Update Shared Objects dialog box. If you are changing the pumps' OPC tags, instead of using Update Shared you might consider using the Find/Replace with wildcards to select the desired group of signals to be searched or replaced.

Company logo. You use your company's logo in many displays but recently the company changed its name and its logo. In one operation, all instances of the company logo can be modified or increased in size using the Update Shared Objects feature. In this case you would need to remember to uncheck Preserve Size and Orientation on the Update Shared Objects dialog box so that the logos don't resize and they don't move.

Note: If you assign the same share keyword to both a 2D symbol and a 3D symbol, they will be updated in relation to the kind of symbol of the source for the replacement.  If the source is a 2D symbol, 3D symbols with the same keyword will not be updated, and if the source is a 3D symbol, 2D symbols with the same keyword will not be updated.

Return to Top