ALM Site Administration API Type Library
CreateProjectCopy Method
Description
Creates a new project by copying some, or all, data and properties from an existing project.
Syntax
Visual Basic
Public Function CreateProjectCopy( _
   ByVal DomainName As String, _
   ByVal NewProjectName As String, _
   ByVal NewDbType As Integer, _
   ByVal SourceDomainName As String, _
   ByVal SourceProjectName As String, _
   ByVal DbServerName As String, _
   ByVal AdminUser As String, _
   ByVal AdminPassword As String, _
   ByVal TableSpace As String, _
   ByVal TempTableSpace As String, _
   ByVal TableSpaceSize As Long, _
   ByVal TempTableSpaceSize As Long, _
   ByVal CopyOptions As Long, _
   ByVal CreationOptions As Long _
) As String
Parameters
DomainName
The domain of the new project.
NewProjectName
The new project name.
NewDbType

The type of database. Use the following constants or their values:

  • SA_MSSQL_DB_TYPE (value: 2)
  • SA_ORACLE_DB_TYPE (value: 3).
SourceDomainName
The domain of the existing project.
SourceProjectName
The name of the existing project.
DbServerName
The database server name.
AdminUser
The database administrator user name.
AdminPassword
The database administrator password.
TableSpace
Storage on disk of Oracle database tables. If not Oracle, pass empty string ("").
TempTableSpace
Temporary storage location on disk for Oracle. If not Oracle, pass empty string ("").
TableSpaceSize
No longer in use. Pass zero (0).
TempTableSpaceSize
No longer in use. Pass zero (0).
CopyOptions

Specifies flags that control project creation. Flags can be ORed together to specify multiply options.

Use the values from the SA_COPY_PROJECT_OPTIONS Enumeration.

CreationOptions

Specifies flags that control project creation. Flags can be ORed together to specify multiply options. Use the values from the SA_PROJECT_CREATION_OPTIONS Enumeration.

Return Type

On success, returns an XML string containing the project properties.

Remarks
The source project must be deactivated before this function is called.
Return Value Details

The properties of the XML return string:

  • PROJECT_ID    -    The ID number of the project.
  • PROJECT_NAME    -    The project name.
  • DESCRIPTION    -    The project description.
  • DOMAIN_ID    -    The domain ID number.
  • DOMAIN_NAME    -    The domain name.
  • DB_NAME    -    The database name.
  • DB_TYPE    -    The database type number: MS SQL (2), Oracle (3).
  • CREATE_FROM_PROJECT    -    The source project of the created project.
  • CREATE_FROM_DOMAIN    -    The source domain of the created project.
  • PHYSICAL_DIRECTORY    -    The physical directory of the project.
  • DB_NATIVE_AUTHENTICATION    -    Indicates if user login is handled by the operating system (MS_SQL Windows Authentication). If 'N', the authentication is handled explicitly using the user name and password.
  • DB_USER    -    The database administrator user name.
  • DB_USER_PASS    -    The database administrator password.
  • DBSERVER_NAME    -    The database server name.
  • DBCONNSTR_FORMAT    -    The database connection string.
  • DB_ENCRYPTED_CONNSTR    -    For internal use.
  • DB_DRIVER_CLASS_NAME    -   The name of the database manager connection class (JDBC driver class). 
  • PR_EXCEPTION_FILE - The pathname of the file that defines errors that the verify process ignores.
  • PROJECT_VERSION    -   The ALM version. 
  • PR_IS_ACTIVE    -    Indicates if the project is active (Y/N).
  • SAQ_IS_ACTIVE    -    Indicates if SEND ALL QUALIFIED is active (Y/N).
  • PR_IS_QPM_AUTO_CALC_ENABLED - Automatic KPI calculation is enabled (Y/N).
  • PR_HAS_VCSDB    -    Indicates if the project includes version control: (Y)es, (N)o, (D)isabled. This field appears only if version control is available.
  • USERS_QUOTA    -    The maximum number of concurrent connections. -1 indicates an unlimited number of connections.
  • PR_LANGUAGE    -    The search language.
  • PROJECT_TYPE - The type of project.
  • IS_TEMPLATE - Indicates whether this is a template project (Y/N).
  • PROJECT_UID - The project ID.
  • PR_SMART_REPOSITORY_ENABLED - One of: NO - not a smart repository; YES - smart repository; PENDING - offline migration completed and waiting for online migration; MIGRATING - online migration in progress.
  • PR_SR_GC_STATUS - Optimized repository garbage collection status.
  • PR_SR_GC_LAST_RUN_TIME - Optimized repository garbage collection last run time.
Example
Private Sub CreateProjectCopy()
    
'The following Visual Basic example creates a new project
' in an existing domain by copying the customization
' requirements and users from an existing project.

    Dim sDomainName As String
    Dim sNewProjectName As String
    Dim sProjectName As String
    Dim sServerName As String
    Dim CreateOptions As Long
    Dim CopyOptions As Long
    Dim sReply As String

    On Error GoTo err
    sDomainName = "MyNewDomain"
    sNewProjectName = "MyBrandNewProject"
    sProjectName = "MyNewProject"
    sServerName = "http://myserver/qcbin"

'Disconnect all users from Project
    Call m_SAClient.DisconnectProject _
        (sDomainName, sProjectName)

' Deactivate source project
    Call m_SAClient.DeactivateProject _
        (sDomainName, sProjectName)

' Copy from source project to new project
    CreateOptions = SA_ACTIVATE_NEW_PROJECT
    CopyOptions = SA_COPY_PROJECT_CUSTOMIZATION _
        + SA_COPY_PROJECT_REQUIREMENTS _
        + SA_COPY_PROJECT_USERS_AND_GROUPS
        
    sReply = m_SAClient.CreateProjectCopy _
        (sDomainName, sNewProjectName, SA_ORACLE_DB_TYPE, _
        sDomainName, sProjectName, _
        sServerName, "admin", "swordfish", _
        "", "", 0, 0, _
        CopyOptions, CreateOptions)
    
' Reactivate source project
    Call m_SAClient.ActivateProject _
        (sDomainName, sProjectName)
    MsgBox sReply
    Exit Sub

err:
    MsgBox "Program failed:" + err.Description
End Sub
See Also