Appearance
One Place Suite Onboarding
Introduction
This document provides a comprehensive guide for onboarding to the One Place Suite of applications. The One Place Suite is a collection of internal portal applications built on the IPA (Internal Portal Architecture) platform, designed to provide unified access to various business functions including client search, account visibility management, and PFM (Personal Financial Management) operations.
Key Resources
Application Links
- Dev Environment: https://spaces.dev.investec.io/feature/{path}
- Non-Production Environment: https://spaces.nonprod.investec.io/feature/{path}
- Production Environment: https://spaces.investec.io/feature/{path}
Development Resources
- Source Code Repository: https://dev.azure.com/investec/client-channel-tech/_git/one-place-internal-portal-apps
- CI/CD Pipelines: https://dev.azure.com/investec/client-channel-tech/_build?definitionScope=%5Cone-place-internal-portal-apps
- IPA Configuration Repository: https://dev.azure.com/investec/client-channel-tech/_git/cxt-ipa-config
Azure Resources
- Azure AD Application Registration: Infrastructure as Code - One Place IPA
Prerequisites
Before beginning the onboarding process, ensure you have the following:
- Investec Employee Status: Active Investec employee with internal network access
- Azure DevOps Access: Permissions to access Investec Azure DevOps organization
- ServiceNow Account: Access to raise and track ServiceNow requests
- IDN (IdentityNow) Account: Access to request roles and permissions
- Development Environment: Node.js 18+, Angular CLI, Git, VS Code or similar IDE
Getting Started
Step 1: Request Access and Permissions
1.1 Request IDN Access Profiles
Navigate to the IdentityNow Access Request Portal: https://investec.identitynow.com/ui/d/request-center/request-access
Request the appropriate role group based on your needs:
For Owners (Full Administrative Access):
IPA - CXT - One - Place Owners- Includes:
cxt-one-place-pfm-owner-nonprod - Includes:
cxt-one-place-home-owner-nonprod - Includes:
cxt-one-place-search-owner-nonprod - Includes:
cxt-one-place-account-visibility-manager-owner-nonprod - Includes:
cxt-one-place-pfm-user-nonprod - Includes:
cxt-one-place-search-user-nonprod - Includes:
cxt-one-place-account-visibility-manager-user-nonprod - Includes:
cxt-one-place-pfm-owner-prod - Includes:
cxt-one-place-search-owner-prod - Includes:
cxt-one-place-account-visibility-manager-owner-prod - Includes:
cxt-one-place-home-owner-prod - Includes:
cxt-one-place-pfm-user-prod - Includes:
cxt-one-place-search-user-prod - Includes:
cxt-one-place-account-visibility-manager-user-prod
- Includes:
For CSC Consultants (Business User Access):
IPA - CXT-One - place - CSC Consultant- Includes:
cxt-one-place-pfm-user-prod - Includes:
cxt-one-place-search-user-prod - Includes:
cxt-one-place-account-visibility-manager-user-prod
- Includes:
For Support Teams (Support and User Access):
IPA - CXT - One - place - IPA Apps Support- Includes:
cxt-one-place-pfm-user-prod - Includes:
cxt-one-place-search-user-prod - Includes:
cxt-one-place-account-visibility-manager-user-prod
- Includes:
1.2 ServiceNow Role Group Assignment Requests
Reference these ServiceNow tickets for role group assignment examples:
To request role assignments:
- Navigate to ServiceNow Service Portal
- Search for "Access Request" or "Role Assignment"
- Provide your justification and required role group
- Reference the RITM numbers above as examples
- Submit the request and await approval
1.3 Azure DevOps Access
Request access to the following Azure DevOps resources:
- Navigate to Azure DevOps: https://dev.azure.com/investec
- Request access to
client-channel-techproject - Ensure you have at least Contributor access to work with repositories and pipelines
Step 2: Repository and Configuration Access
2.1 Clone the Source Repository
Once you have access, clone the main repository:
bash
git clone https://dev.azure.com/investec/client-channel-tech/_git/one-place-internal-portal-apps
cd one-place-internal-portal-apps2.2 Review IPA Configuration
Access the IPA configuration files to understand how features are registered:
Base Configuration Repository:https://dev.azure.com/investec/client-channel-tech/_git/cxt-ipa-config
Example Feature Configuration:Account Visibility Manager V2 Config
Key configuration elements:
- Feature registration and metadata
- Authentication and authorization settings
- Feature placement (topFeature, rightFeature, centerFeature)
- API endpoint configurations
Step 3: Development Environment Setup
3.1 Install Node.js and Angular CLI
Install Node.js 18 or higher:
- Download from https://nodejs.org/
- Verify installation:bash
node --version npm --version
Install Angular CLI:
bashnpm install -g @angular/cli@19 ng version
3.2 Install Development Tools
- Git: For version control
- VS Code: Recommended IDE with Angular extensions
- Azure CLI (optional): For Azure resource managementbash
# macOS brew install azure-cli # Windows # Download from https://aka.ms/installazurecliwindows
3.3 Install Project Dependencies
Navigate to the cloned repository and install dependencies:
bash
cd one-place-internal-portal-apps
npm installStep 4: Local Development
4.1 Run Applications Locally
The workspace contains four Angular applications. Each can be run independently:
Dashboard Application:
bash
npm run start:dashboard
# Runs on http://localhost:4200Account Visibility Manager:
bash
npm run start:account-visibility
# Runs on http://localhost:4201PFM Manager:
bash
npm run start:pfm
# Runs on http://localhost:4202Client Search:
bash
npm run start:client-search
# Runs on http://localhost:42034.2 Build Applications
Build All Applications:
bash
npm run build:allBuild Individual Applications:
bash
npm run build:dashboard
npm run build:account-visibility
npm run build:pfm
npm run build:client-searchStep 5: Understanding CI/CD Pipelines
5.1 Access Pipeline Dashboard
Navigate to the pipelines dashboard: https://dev.azure.com/investec/client-channel-tech/_build?definitionScope=%5Cone-place-internal-portal-apps
5.2 Pipeline Structure
The repository uses Azure DevOps YAML pipelines for:
- Continuous Integration: Automated builds on PR creation
- Continuous Deployment: Automated deployments to Non-Prod and Prod
- Quality Gates: Linting, testing, and security scans
5.3 Trigger a Manual Build
- Navigate to the pipeline dashboard
- Select the appropriate pipeline
- Click "Run pipeline"
- Select the branch (usually
mainordevelop) - Monitor the build progress
Step 6: Azure AD Application Configuration
6.1 Review Azure AD App Registration
The One Place IPA Azure AD application is managed via Infrastructure as Code:
Azure AD App Configuration:https://dev.azure.com/investec/ice-infrastructure-as-code/_git/azure-ad-applications?path=/DeploymentFiles/projects/one_place_ipa
Key configuration elements:
- Application ID: Used for authentication
- API Permissions: Required scopes and roles
- Redirect URIs: Configured for IPA platform
- App Roles: Owner, User, Support roles
6.2 Understanding Authentication Flow
The One Place Suite uses Azure AD for authentication through the IPA platform:
- User authenticates with IPA platform
- IPA platform obtains tokens for registered features
- Features receive authenticated context
- API calls include bearer tokens for backend services
Step 7: Working with IPA Configuration
7.1 Feature Registration
Each application in the suite is registered as an IPA feature. Example configuration:
Account Visibility Manager Configuration:https://dev.azure.com/investec/client-channel-tech/_git/cxt-ipa-config?path=/environments/nonprod/features/account-visibility-manager-v2.json
7.2 Adding a New Feature
To add a new feature to the IPA configuration:
- Clone the
cxt-ipa-configrepository - Create a new feature JSON file in
environments/nonprod/features/ - Define feature metadata, authentication, and placement
- Submit a PR for review
- Deploy to Non-Prod for testing
- Promote to Prod after validation
Deployment and Operations
Step 8: Deployment to Non-Production
8.1 Create Feature Branch
bash
git checkout -b feature/your-feature-name
# Make your changes
git add .
git commit -m "feat: description of your changes"
git push origin feature/your-feature-name8.2 Create Pull Request
- Navigate to Azure DevOps repository
- Create a Pull Request from your feature branch to
main - Add reviewers from the One Place team
- Wait for automated checks to pass
- Address any review comments
- Merge after approval
8.3 Automated Deployment
Once merged to main:
- CI/CD pipeline automatically triggers
- Builds all applications
- Deploys to Non-Production environment
- Updates IPA feature configurations
- Deploys to Azure Static Web Apps
8.4 Verify Deployment
Access the Non-Production environment: https://spaces.nonprod.investec.io/feature/one-place-suite-dashboardhttps://spaces.nonprod.investec.io/feature/account-visibility-manager-v2https://spaces.nonprod.investec.io/feature/pfm-managerhttps://spaces.nonprod.investec.io/feature/client-search
Verify:
- Dashboard loads correctly
- All features are accessible
- Navigation between features works
- Client context updates properly
Step 9: Monitoring and Azure Resources
9.1 Access Azure Resource Group
Navigate to the Non-Production resource group: rg-cxt-io-ipa-apps-nonprod-001
Navigate to the Production resource group: rg-cxt-io-ipa-apps-prod-001
Key resources:
- Static Web Apps: Hosting for Angular applications
- Application Insights: Monitoring and logging
- Storage Accounts: Static asset storage
- Key Vault: Secrets and configuration management
9.2 Application Insights
Access Application Insights for:
- Real-time application monitoring
- Error tracking and diagnostics
- Performance metrics
- User analytics
- Custom events and traces
9.3 Log Analysis
View logs in:
- Azure Portal > Application Insights > Logs
- Query using KQL (Kusto Query Language)
- Set up alerts for errors or performance issues
Testing and Validation
Step 10: Functional Testing
10.1 Dashboard Testing
Test the dashboard features:
- Verify responsive layout (center view vs left nav mode)
- Test feature navigation
- Confirm client context sharing
- Validate top feature integration
10.2 Application-Specific Testing
Account Visibility Manager:
- Search for clients via Client Search
- View account settings by profile
- Test loading states and error handling
PFM Manager:
- Retrieve PFM GUIDs for clients
- Test GUID registration flow
- Verify parent-child loading coordination
Client Search:
- Search clients by name or GCN
- Test client selection
- Verify context updates across apps
10.3 Integration Testing
- Test cross-application navigation
- Verify IPA SDK integration
- Confirm authentication flows
- Test error scenarios and recovery
Troubleshooting
Common Issues
Access Denied to Application
- Issue: Cannot access One Place Suite in Non-Prod
- Solution:
- Verify you have requested and received IDN access profiles
- Check ServiceNow ticket status for role assignments
- Ensure VPN connection if accessing from remote location
- Contact CXTOnePlaceTeam@investec.co.za for assistance
Build Failures
- Issue: Pipeline build fails
- Solution:
- Check pipeline logs for specific errors
- Verify all dependencies are up to date
- Ensure no TypeScript compilation errors
- Check for linting issues with
npm run lint
Feature Not Loading in IPA
- Issue: Feature shows error when loaded
- Solution:
- Verify feature is registered in
cxt-ipa-config - Check feature route matches configuration
- Review Application Insights logs for errors
- Confirm authentication roles are correct
- Verify feature is registered in
Client Context Not Updating
- Issue: Selected client doesn't propagate to features
- Solution:
- Verify IPA SDK is properly initialized
- Check
listenForActiveClientContextChanges()subscriptions - Review browser console for JavaScript errors
- Ensure proper cleanup with
takeUntil(unsubscribe$)
Getting Help
Support Contacts
- Email: CXTOnePlaceTeam@investec.co.za
- Subject Format:
[One Place Suite] - Brief description of issue - Include:
- Your role and access level
- Environment (Non-Prod/Prod)
- Steps to reproduce the issue
- Screenshots or error messages
- Browser and version
ServiceNow Requests
For access or infrastructure issues:
- Navigate to ServiceNow Service Portal
- Category: Investec Cloud Apps
- Provide detailed description
- Reference existing RITM numbers if applicable
- Tag with "One Place Suite" or "IPA"
Emergency Support
For production incidents:
- Follow Investec incident management procedures
- Notify One Place team via email
- Raise high-priority ServiceNow ticket
- Include impact assessment and affected users
Next Steps
For Developers
- Explore Codebase: Review the technical documentation
- Read App Guides:
- Set Up Local Environment: Follow Step 4 for local development
- Contribute: Pick up tasks from the team backlog
For CSC Consultants
- Complete Training: Attend One Place Suite training sessions
- Access Applications: Use IDN to request user access
- Learn Features: Familiarize yourself with each application
- Provide Feedback: Share user experience feedback with the team
For Support Teams
- Understand Architecture: Review IPA platform documentation
- Learn Troubleshooting: Practice common issue resolution
- Monitor Applications: Set up alerts and dashboards
- Document Issues: Maintain knowledge base articles
Additional Resources
External Links
- Angular 19 Documentation
- RxJS Documentation
- TypeScript Documentation
- Azure Static Web Apps Documentation
Note: This onboarding guide is specific to the One Place Suite of applications. For questions or clarifications, contact the CXT One Place Team at CXTOnePlaceTeam@investec.co.za.