Attributes

Attributes are metadata objects, which in contrast to Properties, do not need to be pre-defined before being attached to an object. They consist of a key-value pair where both the key and value are string type.

Any user with write permission to an object can create, modify, or delete an attribute on that object.

The following Helix IPLM objects support attributes:

Object Command Widget support
Library pi library attribute Widgets are displayed on the Library details page.
IP pi ip attribute

Widgets are displayed on the Details page.

IPV (release) pi ip attribute Widgets are displayed on the IPV details tab.
IPL (line or branch) pi ip attribute Widget display is not supported.
Saved query pi query attribute Widgets are displayed on Advanced search Saved query page.

Using attributes

A common way to use attributes is to put a JSON dictionary into the value of a particular key. This JSON attribute can be used by other users and flows to make meaningful decisions about the IP.

For example, an IP owner might want to annotate the results of a regression onto the IP (say lib.myip@10.TRUNK) after having run it on that release. This result would contain the number of tests run, the number of tests passed, the date on which the regression was run, the path to the detailed results etc. All of this can be annotated into the IPV by using attributes.

Attributes

> pi ip attribute set lib.myip@10.TRUNK 'regr_results' '{"date": "Jan 1 2019", "num tests": "10", "num failed": 5, "results": "/proj/regressio/ip1/results/"}'

Attribute restrictions

Note these limits on Attributes are on a per attribute basis (not a global restriction in the system)

Parameter Limit
Maximum Attribute Name Length 1K Characters
Maximum Attribute Value Length 100K Characters
Maximum Attributes per design object 10K Attributes
Attribute Name No Whitespace Allowed

Attribute naming restrictions

Forbidden Characters Reason for restriction
No Whitespace Command parsing