V10 , script for dynamic builds

Happy new year, everyone.

It seems they've removed the script for dynamic builds (plugins) in package.json for the Angular project.

I dont know if the documentation is still "unofficial" ,the link in the support page shows nothing for this version (https://support.oneidentity.com/es-es/identity-manager/10.0%20lts/technical-documents)

But digging in, I've found:

https://docs.oneidentity.com/bundle/one-identity-manager_html5-development_10.0/page/sources/html5development/html5devdebuggingwithplugins.htm

where the flag for the dynamic builds is still there.

Needs some fixing/clarification.

Regards!

Parents
  • Even with 9.0 I ended up writing my own PowerShell script that does all the leg work, and prompts for loading of individual components (after qer/qbm), also opens in tabs rather than windows like VST... VST was just too annoying with the way it did it.

  • Hello  
    would you maybe share this script?

  • I'll see if I can.... I don't have a copy, it was for a client and therefore "their IP", but will see if I can get one as its generic and doesn't contain any customer details in it.

  • Here you go  , I've also added the IQC that I didn't have before so its ready for v10.

    -----------------------------------------------------------------------------------------------------------

    $continueList = @('Y', 'N');
    $modules = @(
        @{'id' = 'tsb'; 'title' = 'Target System Base Module'; 'command' = 'npm run build:watch tsb'},
        @{'id' = 'aad'; 'title' = 'Azure Active Directory Module'; 'command' = 'npm run build:watch aad'},
        @{'id' = 'aob'; 'title' = 'Application Governance Module'; 'command' = 'npm run build:watch aob'},
        @{'id' = 'apc'; 'title' = 'Application Management Module'; 'command' = 'npm run build:watch apc'},
        @{'id' = 'att'; 'title' = 'Attestation Module'; 'command' = 'npm run build:watch att'},
        @{'id' = 'cpl'; 'title' = 'Compliance Rules Module'; 'command' = 'npm run build:watch cpl'},
        @{'id' = 'dpr'; 'title' = 'Target System Synchronization Module'; 'command' = 'npm run build:watch dpr'},
        @{'id' = 'hds'; 'title' = 'Helpdesk Module'; 'command' = 'npm run build:watch hds'},
        @{'id' = 'iqc'; 'title' = 'Intelligent Query Chatbot'; 'command' = 'npm run build:watch iqc'},
    #    @{'id' = 'o3t'; 'title' = 'Microsoft Teams Module'; 'command' = 'npm run build:watch o3t'}, # Deprecated
        @{'id' = 'olg'; 'title' = 'OneLogin Module'; 'command' = 'npm run build:watch olg'},
        @{'id' = 'pol'; 'title' = 'Company Policies Module'; 'command' = 'npm run build:watch pol'},
        @{'id' = 'qam'; 'title' = 'Quality and Attestation Management Module'; 'command' = 'npm run build:watch qam'},
        @{'id' = 'rmb'; 'title' = 'Business Roles Module'; 'command' = 'npm run build:watch rmb'},
        @{'id' = 'rms'; 'title' = 'System Roles Module'; 'command' = 'npm run build:watch rms'},
        @{'id' = 'rps'; 'title' = 'Report Subscription Module'; 'command' = 'npm run build:watch rps'},
        @{'id' = 'sac'; 'title' = 'SAP Application Connector Module'; 'command' = 'npm run build:watch sac'}
    #    @{'id' = 'uci'; 'title' = 'Universal Cloud Interface Module'; 'command' = 'npm run build:watch uci'} # Deprecated
    );
    $portals = @(
        @{'id' = 'qbm-app-landingpage'; 'title' = 'Landing Page'; 'command' = 'npm run start qbm-app-landingpage'},
        @{'id' = 'qer-app-portal'; 'title' = 'Main Angular Portal'; 'command' = 'npm run start qer-app-portal'},
        @{'id' = 'qer-app-operationssupport'; 'title' = 'Operations Support Portal'; 'command' = 'npm run start qer-app-operationssupport'},
        @{'id' = 'qer-app-pwdportal'; 'title' = 'Password Portal'; 'command' = 'npm run start qer-app-pwdportal'}
    );
    $wtProfile = 'Windows PowerShell';
     
    $ri = $false;
    while (-not $ri)
    {
        $imxweb = Read-Host -Prompt ('Please enter the full path to the imxweb directory (include drive letter) ');
        if ((Test-Path -Path $imxweb -PathType Container) -and (Test-Path -Path ($imxweb + '\angular.json')))
        {
            $ri = $true;
        }
    }
     
    Write-Host('Cleaning Angular Cache directory first...')  -ForegroundColor Green;
    If (Test-Path -Path ($imxweb + '\.angular\*'))
    {
        Remove-Item -Path ($imxweb + '\.angular\*') -Recurse -Force;
    }
     
    Write-Host('Cleaning old distribution directory first...')  -ForegroundColor Green;
    If (Test-Path -Path ($imxweb + '\dist\*'))
    {
        Remove-Item -Path ($imxweb + '\dist\*') -Recurse -Force;
    }
     
    Write-Host('Building requried Configuration Module...')  -ForegroundColor Green;
    $al = @('-w', '0', 'new-tab', '-d', $imxweb, 'cmd.exe /Q /K npm run build:watch qbm');
    Start-Process wt -ArgumentList $al;
    Write-Host('Wait for build to complete before continuing...') -ForegroundColor Blue;
     
    $ri = $false;
    while (-not $ri)
    {
        $qer = Read-Host -Prompt ('Continue with required Identity Management Base Module build (' + ($continueList -join '/') + ')? ');
        if ($qer.ToUpper() -in $continueList)
        {
            $ri = $true;
        }
    }
     
    if ($qer.ToUpper() -eq $continueList[1].ToUpper())
    {
        Write-Host('Exiting due to required module not being built...') -ForegroundColor Red;
        exit;
    }
    else
    {
        $al = @('-w', '0', 'new-tab', '-d', $imxweb, 'cmd.exe /Q /K npm run build:watch qer');
        Start-Process wt -ArgumentList $al;
        Write-Host('Wait for build to complete before continuing...') -ForegroundColor Blue;
    }
     
    $modules | ForEach-Object {
        $ri = $false;
        while (-not $ri)
        {
            $response = Read-Host -Prompt ('Continue with ' + $_.title + ' build (' + ($continueList -join '/') + ')? ');
            if ($response.ToUpper() -in $continueList)
            {
                $ri = $true;
            }
        }
        if ($response.ToUpper() -eq $continueList[0].ToUpper())
        {
            $al = @('-w', '0', 'new-tab', '-d', $imxweb, 'cmd.exe /Q /K ' + $_.command);
            Start-Process wt -ArgumentList $al;
        }
    };
     
    Write-Host('Wait for build to complete before continuing...') -ForegroundColor Blue;
    $portals | ForEach-Object {
        $ri = $false;
        while (-not $ri)
        {
            $response = Read-Host -Prompt ('Continue with ' + $_.title + ' build (' + ($continueList -join '/') + ')? ');
            if ($response.ToUpper() -in $continueList)
            {
                $ri = $true;
            }
        }
        if ($response.ToUpper() -eq $continueList[0].ToUpper())
        {
            $al = @('-w', '0', 'new-tab', '-d', $imxweb, 'cmd.exe /Q /K ' + $_.command);
            Start-Process wt -ArgumentList $al;
            Write-Host('Only 1 portal can be built. Exiting...') -ForegroundColor Red;
            exit;
        }
    };

    -----------------------------------------------------------------------------------------------------------

    UPDATE: Fixed removed/added modules in v10

  • Hello   Thank you for this, really appreciated 100Exclamation

Reply Children
No Data