Managing IP Libraries
IP Libraries are used in Helix IPLM to group and organize IPs. Libraries can be decorated with Widgets to create a project dashboard. This page details creating, editing, and deleting Libraries from IPLM Web and PiCLI.
Library fields
When adding or editing an IP Library in the Helix IPLM platform, the following fields are available to configure the Library:
Field | Definition |
---|---|
name | The name of the Library. Helix IPLM objects are tracked by UUID, so names can be modified after creation. Library naming has the following restrictions, listed in the section Fixing Mistakes - IP Rename, Delete, Obliterate, rm-from-filelist. |
vendor | Field to track the internal or external supplier of the IPs in a particular IP Library. The vendor field can be used to list Libraries on the command line. |
description | A text field describing the Library, this gets displayed when the Library is listed or viewed in the CLI or IPLM Web. |
icon | The icon to use with the Library in IPLM Web. See the IPLM Web section for more information on configuring icons. |
hooks |
Hooks are scripts tied to events in the lifecycle of IPs, these scripts are used for a variety of purposes, often including automatic characterization and documentation at the time of release, compilation at the time of release or workspace construction, pre-or post integrate actions, amongst many other automation functions. Hooks can be defined at either the IP Library level, or the individual IP level. If defined at the Library level the hooks defined will apply to all the IPs contained in that Library. If a hook is defined at the IP level, it will override the Library level setting. The hooks section of the template is where these scripts are set as the defaults for the IPs in a Library. Client side hooks are run only from the workspace, not for server side releases, see the Server Side Hooks and Events sections for alternative methods of automation. More information on client side hooks, including how to pass arguments to them is available at Hooks.
|
Renaming and deleting Libraries
Libraries can only be deleted if they do not contain any IPs. See Fixing Mistakes - IP Rename, Delete, Obliterate, rm-from-filelist for more information on deleting and obliterating IPs.
Libraries are tracked in Helix IPLM via UUIDs, so they can be renamed as needed, there are some consequences for IPs loaded into workspaces when their name changes (including the Library name) so some care must be taken. See Fixing Mistakes - IP Rename, Delete, Obliterate, rm-from-filelist for details.
Permissions and Libraries
Only members of the admin group can create or delete IP Libraries. Once created Libraries support Read/Write/Owner permissions with the following capabilities:
Permission | Allows | Implied Permissions |
---|---|---|
Read (r) |
Listing the Library object (not its IP) Viewing Library metadata including permissions |
None |
Write (w) |
Edit Library fields (excluding permissions) Creating new IPs in the Library Deleting existing IPs in the Library |
Library Read (r) |
Owner (o) | Edit Library Permissions | Library Read (r) |
See the Permissions Management for a full discussion of object permissions.
Library name restrictions
Forbidden Characters | Reason for restriction |
---|---|
' / ' | UNIX filename separator |
'\', '?', or '*' |
UNIX Special Characters |
No Whitespace | Command parsing |
'@', '#', '.' (dot), or colon ':' |
Helix IPLM Special Characters |
Accessing the Libraries page in IPLM Web
The Libraries page can be accessed (as an admin) in the Create->New Library menu:
Creating a new IP Library
Editing an existing IP Library
To edit an existing Library, select one of the existing Libraries to the side of the Libraries Page.
From this page the Library Description, Name, and Hook Scripts can be modified. Once modifications are complete click the Save button at the top of the form.
Deleting an existing IP Library
Command line
Creating and editing IP Libraries
Libraries can be created on the command line using the 'pi lib add' command, and edited with the 'pi lib edit' command.
Note
Libraries can be created and edited from IPLM Web and the Helix IPLM API as well. A description of the fields in the Library creation template is shown at the top of the page.
The format of the 'pi library add' command is:
> pi library add -h Usage: pi library add [-h] [--template TEMPLATE | identifier]
The format of the 'pi library edit' command is:
> pi lib edit -h Usage: pi library edit [-h] [--template TEMPLATE] identifier
Libraries can be created by directly editing the template that comes up when the command is run, or a template can be submitted via the --template option at the time of Library creation or edit.
If a Library name is provided to the pi lib add command, the Library name is pre-filled in the IP template.
Examples:
> pi lib add newlib Successfully created Library 'newlib'.
> pi lib edit newlib Successfully edited Library 'newlib'.
A description of the template option:
--template TEMPLATE, -t TEMPLATE Use the specified template to edit the Library. The template is an ASCII file that defines the Library. This can be used to edit Libraries with a script and avoid the interactive editor. To read the template from STDIN, set TEMPLATE='-'.
Deleting Libraries
Libraries can be deleted from PiCLI using the 'pi library delete' command. The format for the 'pi library delete' command is:
> pi lib delete -h Usage: pi library delete [-h] identifier
Libraries can't be deleted if they have any IPs. See Fixing Mistakes - IP Rename, Delete, Obliterate, rm-from-filelist for more information on the 'pi ip delete' and 'pi ip obliterate' commands.
> pi lib delete newlib Successfully deleted Library 'newlib'.