This article explains the various ways that Harvest uses and stores userids and passwords in its system.
CA Harvest SCM all versions and platforms
There are several ways that userids and passwords are used with the Harvest software. The one thing to know about all these is that in almost all circumstances, Harvest will keep passwords in an encrypted format, and those cannot be “decrypted.” There is no way to know what password has been encrypted for any particular userid. With that in mind, here are the types of userids that can be used with SCM:
In both cases, the file is stored as a “hidden” file as an added layer of protection. You can find out what user ID is being used to access your Harvest database by examining the header information in one of your *Hserver*.log files. These can be found in the % CA_SCM_HOME%log folder (on Windows) or the $CA_SCM_HOME/log folder (on Linux and Unix).
Here are some places to look for more information:
Synchronizing Reference Directories
Setting up HRefresh
Command line utilities:
Hexecp Command – Execute Program
hci Command – Check-In
hco Command – Check-out
hmvproj Command – Move or Copy Projects
hrefresh Command – Refresh Directories
hsync Command – Synchronize Directory from View Path
svrenc Command – Encrypt User and Password Credentials to a File
The most common use of the command line utilities is in scripts and User Defined Processes (UDPs). You can get a complete inventory of all UDPs defined in your Harvest database with the following query:
SELECT HARENVIRONMENT.ENVIRONMENTNAME,
DECODE(HARENVIRONMENT.ENVISACTIVE, 'T', 'TEMPLATE', 'Y', 'ACTIVE', 'INACTIVE') AS PROJECTTYPE,
HARSTATE.STATENAME,
'Stand-Alone' AS PARENTPROCESS,
'-' AS LINKED,
HARUDP.PROCESSNAME AS UDPPROCESS,
HARUDP.PROGRAMNAME
FROM HARENVIRONMENT
INNER JOIN HARSTATE ON HARENVIRONMENT.ENVOBJID = HARSTATE.ENVOBJID
INNER JOIN HARSTATEPROCESS ON HARSTATE.STATEOBJID = HARSTATEPROCESS.STATEOBJID
INNER JOIN HARUDP ON HARSTATEPROCESS.STATEOBJID = HARUDP.STATEOBJID
AND HARSTATEPROCESS.PROCESSOBJID = HARUDP.PROCESSOBJID
UNION
SELECT HARENVIRONMENT.ENVIRONMENTNAME,
DECODE(HARENVIRONMENT.ENVISACTIVE, 'T', 'TEMPLATE', 'Y', 'ACTIVE', 'INACTIVE') AS PROJECTTYPE,
HARSTATE.STATENAME,
HARSTATEPROCESS.PROCESSNAME AS PARENTPROCESS,
DECODE(HARLINKEDPROCESS.PROCESSPRELINK, 'Y', 'PRELINKED','POSTLINKED') AS LINKED,
HARUDP.PROCESSNAME AS UDPPROCESS,
HARUDP.PROGRAMNAME
FROM HARENVIRONMENT
INNER JOIN HARSTATE ON HARENVIRONMENT.ENVOBJID = HARSTATE.ENVOBJID
INNER JOIN HARSTATEPROCESS ON HARSTATE.STATEOBJID = HARSTATEPROCESS.STATEOBJID
INNER JOIN HARLINKEDPROCESS ON HARSTATEPROCESS.STATEOBJID = HARLINKEDPROCESS.STATEOBJID
AND HARSTATEPROCESS.PROCESSOBJID = HARLINKEDPROCESS.PARENTPROCOBJID
INNER JOIN HARUDP ON HARLINKEDPROCESS.PARENTPROCOBJID = HARUDP.PARENTPROCOBJID
AND HARLINKEDPROCESS.PROCESSOBJID = HARUDP.PROCESSOBJID
ORDER BY 2, 1, 3, 4, 5
From the SCM perspective these are the types and usages of userids and passwords in SCM.