Perforce Public Knowledge Base - P4V Global Settings, Part 1
Reset Search
 

 

Article

P4V Global Settings, Part 1

« Go Back

Information

 
Problem
P4V 2013.1 introduced some major new functionality, including support for a property table which can be used to push some P4V settings centrally. This functionality is mentioned in the P4V release notes under changelist #550213. Properties added after P4V 2013.1 appear in the release notes individually.

This article provides information about the P4V properties that are supported, how to view the settings, when any new changes to settings take effect, the order of precedence if multiple settings exist, and how to troubleshoot.
Solution

Properties Supported by P4V

How do the P4V preferences a user might see under "Edit -> Preferences" map to the new global properties available to administrators beginning with P4V 2013.1?

Performance-related properties

 
P4V (under P4V Preferences -> Server Data)Global property
Check server updates everyP4V.Performance.ServerRefresh
Limit the number of files to check in the 'opened' call during a rollbackP4V.Performance.OpenedLimit
Maximum number of files displayed per changelistP4V.Performance.MaxFiles
Maximum size of files to previewP4V.Performance.MaxPreviewSize
Number of changelists, jobs ... to fetch at a timeP4V.Performance.FetchCount
Enable/disable global 'istat' commands in P4V Stream graphP4V.Performance.AllowFullIstats
 

Feature-related properties

P4V (mostly under P4V Preferences -> Features)Global property
LabelsP4V.Features.Labeling
JobsP4V.Features.Jobs
StreamsP4V.Features.Streams
Merge, Copy and Branch DialogsP4V.Features.Integration
Set Up Connection WizardP4V.Features.ConnectionWizard
Sandbox ConfigurationP4V.Features.Sandbox
Revision GraphP4V.Features.RevisionGraph
Custom ToolsP4V.Features.CustomTools
Time-lapseP4V.Features.Timelapse
Administrator ToolP4V.Features.Administration
DVCS support is on by default (although governed by the 'server.allowpush' and 'server.allowfetch' configurables on the shared server). Admins can disable the DVCS feature with this property.P4V.Features.Dvcs (2017.1)
  
Other features 
Allow Perforce applets to run in P4VP4V.Features.P4Applets
Disable P4V DashboardP4V.Features.Dashboard
Prevent users from creating/modifying workspacesP4V.Features.Workspaces
Disable "Check for Updates" menu option (under Help menu)P4V.Features.CheckForUpdates (2013.2)
Maximum version hint (when checking for updates)P4V.Features.MaxAllowedVersion (2013.2)
Use parallel sync/submit always, or neverP4V.Features.Parallel (2015.2)
 

Viewing properties (as a non-admin user)

Choose "Help -> System Info" from the P4V menu to open the System Info window.  Effective settings, together with any disabled features, will be displayed under the 'Application' heading:

Application:
P4V version: Perforce Visual Client/LINUX26X86/2013.1.BETA/589620
Qt build library: 4.8.4
Qt runtime library: 4.8.4
Disabled features: Sandbox
Server refresh interval: 10 minute(s) (pushed from the server)
Maximum files displayed per changelists: 5000 (pushed from the server)
Maximum file preview size: 500 k-byte(s) (pushed from the server)
Entries fetched at a time: 500 (pushed from the server)

The text '(pushed from the server)' indicates the settings have been set using 'p4 property' and are being read from the central properties table.

Properties can also be listed from the command line using the 'p4 property' command.  For example:
  p4 property -l -n P4V.Features      // List enabled/disabled features
  p4 property -l -n P4V.Performance   // List performance-related settings

If nothing is listed the user's local P4V preferences will be used.
 

Setting Properties

Properties can be set by the Perforce administrator on a system-wide, or a per-user or per-group basis using the new 'p4 property' command.  A minimum access level of 'admin' is required in order to create or update properties.

If an admin adds or updates a property while P4V is running, P4V will need to be restarted before the new value takes effect.  Properties that control P4V features are read once, upon P4V startup, from the first Perforce Server to which the user connects.  For performance-related properties, if a user connects to a new Perforce Server after P4V startup, the properties are reloaded for the Perforce Server to which to the user has most recently connected.

 

Precedence

A) Settings added using 'p4 property' override any central settings that may have been set using a P4JSAPI  centralsettings.js file.

B) If a system-wide value is set and other values exist for the same property, such as for individual users and one or more groups, the precedence will depend on the sequence number for the property.

For example, the following output shows that P4V.Features.Sandbox is set system-wide, but also on a user and group level.  User 'bill' is a member of the 'p4users' and 'dev' groups.  Which setting applies?
  $ p4 property -l -A -n P4V.Features.Sandbox
  P4V.Features.Sandbox = Off
  P4V.Features.Sandbox = On (user bill)
  P4V.Features.Sandbox = Off (group p4users)
  P4V.Features.Sandbox = On (group dev)

If all four versions of P4V.Features.Sandbox were created using the same sequence number, the answer will be:

1) System-wide, which takes precedence over
2) User, which takes precedence over
3) Group

However, if the sequence number is set to anything above 1, the highest sequence number wins.  So, if P4V.Features.Sandbox for user 'bill' was created with a sequence number of 500 and the other three have the default sequence number (1), the setting for 'bill' takes precedence.

To view the sequence number for a property, an administrator can use the '-ztag' flag.  For example:
  $ p4 -ztag property -l -A -n P4V.Features.Sandbox
  ... name P4V.Features.Sandbox
  ... sequence 500
  ... value On
  ... time 1363106274
  ... modified 2013/03/12 16:37:54
  ... modifiedBy swood
  ... appliesToType user
  ... appliesTo bill

  ... name P4V.Features.Sandbox
  ... sequence 1
  ... value Off
  ... time 1363105851
  ... modified 2013/03/12 16:30:51
  ... modifiedBy swood

  ... name P4V.Features.Sandbox
  ... sequence 1
  ... value On
  ... time 1363102022
  ... modified 2013/03/12 15:27:02
  ... modifiedBy swood
  ... appliesToType group
  ... appliesTo dev

  ... name P4V.Features.Sandbox
  ... sequence 1
  ... value Off
  ... time 1363102040
  ... modified 2013/03/12 15:27:20
  ... modifiedBy swood
  ... appliesToType group
  ... appliesTo p4users

Troubleshooting

What to check if P4V is not picking up the value or setting you expected:

- Get the user to send full output from 'Help -> System Info' in P4V
- Ask the admin to send the output from these commands:
    p4 -ztag property -l -A -n P4V.Features
    p4 -ztag property -l -A -n P4V.Performance
    p4 groups -u <user>
Note that property names are case sensitive, so 'P4V.Features.Sandbox' and 'P4V.Features.sandBox' are NOT the same thing!
Related Links

Reference Materials

Feedback

 

Was this article helpful?


   

Feedback

Please tell us how we can make this article more useful.

Characters Remaining: 255