IPLM Core
IPLM Core consists of IPLM Server, the server that manages the database of metadata for all the IPs, and Perforce IPLM Command Line Interface (IPLM CLI), the command-line interface where you can access all Perforce IPLM server data and build and manage workspaces.
IPLM Server
Perforce IPLM Server is the high performance and highly scalable foundation for the Perforce IPLM platform. IPLM Server supports high availability deployments, horizontal scaling, and streamlined upgrades.
IPLM Server introduction
The IPLM Server is backed by a high-speed graph database that can serve many thousands of clients simultaneously. The server supports high levels of redundancy, and can be scaled horizontally by adding additional hardware servers to meet demand. Through redundancy both at a single site and across multiple geographic areas, performance can be maintained with full high availability (HA) and disaster recovery options. IPLM Server manages metadata about the design rather than the actual design files, which are managed by one of many possible Data Management systems, some examples include Perforce or Git. Because it deals with metadata, data volumes are quite manageable and hardware requirements are not extreme.
Scalability and high availability
Perforce IPLM is designed to scale to millions of IP, Workspace, and Line objects. All clients support pagination, compression, and filtering to optimize performance across the available infrastructure. IPLM Server can be scaled horizontally by adding additional parallel servers to support higher transaction volumes.
Perforce IPLM can be deployed in an HA cluster architecture which consists of a primary write server and multiple read servers. Typically >95% of traffic consists of read operations, these can be directed to the multiple read servers via HAProxy. This configuration enables a high degree of horizontal scalability.
Platform support
| Operating system | PiServer / PiForce / PiCli / PiWeb | PiCache / Metrics / Mongo / Redis |
|---|---|---|
| CentOS | 8, 9 | 6, 7 |
| SUSE Linux Enterprise Server | 12, 15 | 12 |
| Debian | 10, 11, 12 | 8, 10 |
| Red Hat Enterprise Linux | 8, 9 | 6, 7, 8 |
| Rocky Linux | 8, 9 | 8 |
IPLM CLI
IPLM CLI (also known as PiClient) provides full access to all Perforce IPLM data and configuration options, and is the primary interface to manage workspaces. It provides an extensive, context-sensitive help system that can be used to discover the exact capabilities of each command.
IPLM CLI introduction
PiCLI has full access to all Perforce IPLM server data and can build and manage workspaces. Catalog functionality is available through the object list commands, with additional options to configure formatting and filtering based on the information that is required. workspace loading, updating, and releasing are supported as well as the workspace status and diff commands which shows workspace changes versus the loaded release.
IPLM CLI is the primary interface into Perforce IPLM for digital and software-based flows.
PiCLI features
-
IP Catalog listing:IPLM CLI provides access to the catalogs of Perforce IPLM IPs, workspaces, Libraries, etc via commands like 'pi ip list'. IPs can be displayed with various formatting options.
-
Result filtering: Catalog lists can be filtered via selective inclusion and exclusion of the full Library and IP identifier. This makes it easy to filter by all IPs in a Library, all lines in an IP, and similar searches
-
Custom formats: In addition to built in verbose and JSON format outputs, the default table output can be customized to show a variety of different fields for different applications, providing easy access to the information needed for each flow.
-
Getting help: IPLM CLI provides an extensive command line help system, with detailed descriptions on available options for each command. At each IPLM CLI sub command level help is available for that set of commands, so 'pi -h' gives a list of all sub commands available and a description of their functions. 'pi ip attribute set -h' gives context dependent help on that specific sub command.
-
IP Hierarchy: Annotated IP Hierarchies are available from IPLM CLI, showing how project dependencies change versus IP Version
-
Finding new revisions: The 'pi ip tree --list-new' command displays the aliased versions of resources in the requested tree. This is useful for system integrators that are interested in finding and bringing in new IP versions into their project Hierarchy. Aliases are applied automatically to the latest revisions, and selectively to revisions that have achieved a certain level of quality.
-
Workspace management: Perforce IPLM workspaces can be loaded from existing releases, checked against releases, listed, queried, and released using the IPLM CLI.
-
Showing workspace status: The 'pi workspace status' command can be used to show the current status of a workspace. The workspace is compared against the release that was used to load it. This provides a clear reference against which to see what has been modified.
-
Getting detailed differences: The 'pi ip diff' command can be used to display file by file differences between what is in the workspace and what is in a release.
-
Tracing IP Version usage - The current contents of all Perforce IPLM workspaces are centrally visible from the Perforce IPLM server. This makes it trivial to find which versions and IPs are currently populated, and easy to track down versions that may have bugs, or special licensing requirements.
-
Adding, copying, and modifying IPs: IPLM CLI can used to add and edit IPs, with full control over configuration and hierarchy management.