pi-admin global configuration

The administration pi-admin command provides a number of PiServer application configuration settings.

The pi-admin command can be used to set certain Perforce IPLM Platform customization options. These settings apply immediately after they are set, and can only be viewed and set by admin users. 

Configuration option Possible settings Notes
EVENTS.redis.pubsub.enable
  • none - disable events (default)
  • all - enable all Perforce IPLM events
  • write_only - publish write events only

Configuration option to set whether to publish Redis Pub/Sub events and which events should be published.

See Events for information about available events and how to subscribe to them. See Events Administration for information on how to configure the Events system.

EVENTS.redis.stream.enable
  • none - disable events (default)
  • all - enable all Perforce IPLM events
  • write_only - send write events only

Configuration option to set whether to send Redis Stream events

See Events for information about available events and how to subscribe to them. See Events Administration for information on how to configure the Events system.

EVENTS.redis.stream.xadd.maxlen
  • -1 - No limit
  • >0 - Maximum length

Configuration option to set the maximum number of items retained in each stream.
IP.IPV.project_props.auto_resolve
  • alphanumeric - use alphanumeric alias recognition (default)
  • version - use the highest version resolution

When a conflict in an IP Hierarchy is between the same IP included at two (or more) different aliased versions, this setting controls how to auto-resolve the conflict when the IP is loaded into a workspace.

See IP Hierarchy for more information on conflicts.

IP.IPV.delete.operation_permission
  • admin - need to be an admin to delete an IPV (default)
  • w - need write permission on the Line to delete an IPV
  • o - need owner permission on the IP or Line to delete an IPV

Sets the minimum permission required to delete an IPV.

See Fixing Mistakes - IP Rename, Delete, Obliterate, rm-from-filelist for more information.

SEARCH.GLOBAL.global_search_analyzer
  • none - Disables global search, saves time/storage required for full text indexes

Sets the analyzer to use for global search or disables global search. To learn more, see Search analyzers.

SEARCH.GLOBAL.global_search_min_query_length
  • positive integer value

Minimum length of a global search query. Shorter lengths may return too many results.

The pi-admin command is also used for certain IPLM Cache management activities.

Search analyzers

Global search text analyzers create full text indexes to support the global search capability on the IP Catalog and the Resource Browser in the Create/Edit IP interface.

Different analyzers perform better with different language groups. You can choose whether to use language-specific stop words and word stemming. Example English stop words are a, but, and the.

Analyzer name Analyzer description
none Disables global search
standard Splits text by non-letters, filters out stop words and punctuation
standard-no-stop-words Same as standard but no stop word filtering
simple Same as standard but no stop word filtering or word stemming
iplm Same as standard, but no tokenization on hyphen (-) characters. This is a custom analyzer that must be enabled before use. To learn more, see Search analyzer configuration.
english Tailored for the English language
french Tailored for the French language
spanish Tailored for the Spanish language
cjk Tailored for Chinese/Japanese/Korean languages

Command line

The pi-admin command is used to list and edit global PiServer configuration options, and to manage IPLM Cache.

pi-admin Command
> pi-admin -h
Usage: pi-admin [-h] [--piserver PISERVER] SUBCOMMAND ...

Optional arguments:
  --piserver PISERVER, -s PISERVER
                        Specify the PiServer to connect to
  -h, --help            Show this help message and exit

Available sub-commands:
  SUBCOMMAND
    picache             Commands related to IPLM Cache
    settings            Commands related to Settings

Managing settings with pi-admin

Global IPLM Server settings are managed with the pi-admin settings commands:

pi-admin settings Command
> pi-admin settings -h
Usage: pi-admin settings [-h] SUBCOMMAND ...

Description: Commands related to Settings

Optional arguments:
  -h, --help  Show this help message and exit

Available sub-commands:
  SUBCOMMAND
    edit      Edit existing Settings.
    list (ls)
              List all Settings.

Listing current IPLM Server global settings

Use 'pi-admin settings list' to display the current global settings:

> pi-admin settings list
┌─────────────────────────────────────────────────────┬──────────────────┐
│ KEY                                                 │ VALUE            │
╞═════════════════════════════════════════════════════╪══════════════════╡
│ SYSTEM.EVENTS.redis.pubsub.enable                   │ none (*)         │
│ SYSTEM.EVENTS.redis.stream.enable                   │ none (*)         │
│ SYSTEM.EVENTS.redis_stream_xadd_maxlen              │ -1 (*)           │
│ SYSTEM.IP.IPV.delete_operation_permission           │ admin (*)        │
│ SYSTEM.IP.IPV.project_props.auto_resolve            │ alphanumeric (*) │
│ SYSTEM.SEARCH.GLOBAL.global_search_analyzer         │ standard (*)     │
│ SYSTEM.SEARCH.GLOBAL.global_search_min_query_length │ 3 (*)            │
└─────────────────────────────────────────────────────┴──────────────────┘
Items marked (*) are defaults

                                                

Editing IPLM Server global settings

Use 'pi-admin settings edit' to edit the IPLM Server global settings:

> pi-admin settings edit

Brings up the template:

[SYSTEM]

# Perforce IPLM events. Possible choices:
#  none        Disable events (default)
#  all         Enable all Perforce IPLM events
#  write_only  Enables events that result in a Write operation
#              and disables all other events
EVENTS.redis.pubsub.enable = none
EVENTS.redis.stream.enable= none

# PerforceIPLM redis stream maximum length. Integer value:
# -1            No limit
# >0            Maximum length
EVENTS.redis.stream.xadd.maxlen = -1

# Default resolve conflict resolution. Possible choices:
#  alphanumeric  Use alphanumeric alias resolution (default)
#  version       Use highest version resolution
IP.IPV.project_props.auto_resolve = alphanumeric

# Minimum required permission for IPV deletion operation. Possible choices:
# admin  Administrator user
# w      User with Write permission on Line
# o      User with Owner permission on IP or Line
IP.IPV.delete_operation_permission = admin
			
# The minimum length of a global search query, shorter lengths may return
# too many results. Integer value. 
SEARCH.GLOBAL.global_search_min_query_length = 3

Managing IPLM Cache with pi-admin

IPLM Cache management functions are available from the 'pi-admin picache' command:

pi-admin picache Command
> pi-admin picache -h
Usage: pi-admin picache [-h] SUBCOMMAND ...

Description: Commands related to IPLM Cache

Optional arguments:
  -h, --help  Show this help message and exit

Available sub-commands:
  SUBCOMMAND
    remove    Remove an IPV from the cache. 

Removing IPs from IPLM Cache

The 'pi-admin picache remove' command is used to remove IPVs from picache.

pi-admin picache remove Command
> pi-admin picache remove -h
Usage: pi-admin picache remove [-h] [--cache HOST:PORT] [--project PROJECT]
                               ipv_identifier

Description: Remove an IPV from the cache.

Positional arguments:
  ipv_identifier     The IPV to be removed.

Optional arguments:
  --cache HOST:PORT  Use the IPLM Cache at the given HOST:PORT.
  --project PROJECT  Operate only on PROJECT data in the IPLM Cache.
  -h, --help         Show this help message and exit