Skip to content

salesforce-misc/NZC-ProgramAndOutcome-Tools

🌱 NZC Program and Outcome Tools

A Salesforce Net Zero Cloud accelerator for program, outcome, and indicator management with dashboard-ready operational tooling.

Salesforce Net_Zero_Cloud Lightning Salesforce_CLI

🚀 Quick Deploy

Deploy to Salesforce

One-click deployment to your Salesforce org

Note: If your org blocks GitHub deploy access, use the Workbench or Salesforce CLI deployment options below.


✨ Features

📊 Outcome Management Operations

  • Program and Outcome Navigation: Provides a dedicated console app for Net Zero Programs and Outcome Management records.
  • Indicator Result Workflows: Supports operational updates for indicator performance and result tracking.
  • Impact Strategy Visibility: Surfaces strategy-aligned views for program progress monitoring.

🔐 Role-Based Access Model

  • Admin Persona: Full access for implementation and platform owners.
  • Contributor Persona: Controlled create/edit access for indicator result entry.
  • Analytics Viewer Persona: Read-focused dashboard and report visibility for stakeholders.

📈 Analytics and Implementation Runbooks

  • Dashboard and Report Scaffold: Includes baseline KPI dashboards and reporting folders.
  • Deployment Validation Guide: Documents smoke-test steps after deployment.
  • Import Templates: Provides CSV templates and guidance for repeatable data loading.

🚀 Getting Started

📋 Prerequisites

Before you begin, ensure you have the following:

  • Salesforce org with Net Zero Cloud and Outcome Management available
  • Salesforce CLI installed (latest recommended)
  • Git installed on your local machine
  • Deployment permissions for metadata and permission set assignment
  • Sandbox or scratch org for validation before production rollout

🔧 Installation

Choose your preferred deployment method:

🎯 Option 1: One-Click GitHub Deploy (Recommended)

Click the Deploy to Salesforce button above for guided deployment from this repository.

📦 Option 2: Workbench Deployment

For environments where direct GitHub deployment is restricted:

  1. Download a package from the GitHub Releases tab (if available).
  2. Go to Salesforce Workbench.
  3. Log in to your target org.
  4. Navigate to Migration -> Deploy.
  5. Upload and deploy the package zip.

Alternative tools: Salesforce Inspector or Ant Migration Tool can be used if those are standard in your delivery process.

🛠️ Option 3: Salesforce CLI Deployment

For developer-driven deployment:

3.1 Clone the Repository
git clone https://github.com/salesforce-misc/NZC-ProgramAndOutcome-Tools.git
cd NZC-ProgramAndOutcome-Tools
3.2 Authorize Your Org
# Sandbox or production login
sf org login web --alias MyOrg --instance-url https://test.salesforce.com

# Or default login flow
sf org login web --alias MyOrg
3.3 Deploy the Metadata
# Deploy the project source
sf project deploy start --source-dir force-app/main/default --target-org MyOrg

⚡ Post-Deployment Configuration

After deploying with any method above, complete these manual steps:

  1. Assign permission sets

    • NetZeroPrograms_Admin
    • NetZeroPrograms_User
    • NetZeroPrograms_AnalyticsViewer
  2. Open the Net Zero Programs Console app

    • Verify users can launch the app.
    • Confirm key tabs are visible for each persona.
  3. Validate dashboards and reports

    • Confirm dashboard and report folders are accessible.
    • Validate role-based visibility for Admin and Analytics Viewer users.
  4. Run smoke tests

    • Confirm User persona can create and edit indicator results.
    • Confirm read-only restrictions on strategic definitions where expected.
  5. Load sample data templates

    • Use CSV templates under docs/net-zero-programs/templates/.
    • Follow the data import guidance in the docs section below.

🎯 Usage

🧭 Operate the Net Zero Programs Console

  1. Launch Net Zero Programs Console from the App Launcher.
  2. Open Program, Outcome, Indicator, and Indicator Result records.
  3. Track strategy and KPI progress through dashboard views.

🔄 Run Ongoing Indicator Update Cycles

  1. Prepare source files using provided CSV templates.
  2. Import indicator result updates based on the data runbook.
  3. Validate resulting values in reports and dashboard components.

📘 Follow Operational Runbooks

  • Security model: Validate role mapping and permission set assignment.
  • Deployment validation: Execute post-deploy checks before handoff.
  • Data import: Use repeatable import and QA guidance for updates.

🏗️ Technical Architecture

This accelerator currently includes:

  • 1 Lightning Web Component (programManagementDashboard)
  • 2 Apex Classes (ProgramManagementDashboardController, ProgramManagementDashboardControllerTest)
  • 3 Permission Sets (NetZeroPrograms_Admin, NetZeroPrograms_User, NetZeroPrograms_AnalyticsViewer)
  • 1 Console Application (Net_Zero_Programs_Console)
  • 3 FlexiPages (Net_Zero_Programs_Home, xDO_Net_Zero_Home, SDO_Analytics_Home_Dashboard_Magic)
  • 3 Dashboard Definitions and 3 Report Definitions for KPI scaffolding
  • 1 Report Type (Program_Progress)

Architecture Diagram

graph TB
    A[Net Zero Programs Console App] --> B[Outcome Management Tabs]
    A --> C[Permission Sets]
    B --> D[Program and Outcome Records]
    D --> E[Indicator Results]
    E --> F[Reports]
    F --> G[Dashboards]
    G --> H[Stakeholder Visibility]
Loading

🧩 Key Components

Component Description
Net_Zero_Programs_Console Console app shell with Outcome Management tab structure.
NetZeroPrograms_Admin Full-access permission set for implementation owners.
NetZeroPrograms_User Contributor permission set for day-to-day indicator updates.
NetZeroPrograms_AnalyticsViewer Read-focused access for dashboard/report consumers.
programManagementDashboard LWC component used for program dashboard experience.

🤝 Contributing

We welcome contributions to improve this accelerator:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/your-change)
  3. Commit your updates (git commit -m 'Describe your change')
  4. Push the branch (git push origin feature/your-change)
  5. Open a Pull Request

📝 Development Guidelines

  • Follow Salesforce development best practices for metadata and testing.
  • Keep docs updated for behavior or deployment changes.
  • Validate changes in a sandbox or scratch org before requesting review.

📄 License

This project is licensed under the Apache License 2.0 - see LICENSE.txt for details.


🐛 How to Report Bugs

Found a bug or want to request an improvement? Open an issue in GitHub Issues.

When reporting, include:

  • Steps to reproduce
  • Expected vs. actual behavior
  • Org type/version details
  • Error messages or screenshots

🆘 Support

  • 📚 Documentation: Start with runbooks in docs/net-zero-programs/
  • 🐛 Issues: Report via GitHub Issues
  • 💬 Discussions: Use GitHub Discussions when enabled

⚠️ Disclaimer

This accelerator is open-source, not an official Salesforce product, and is community-supported. Salesforce does not provide official support for this accelerator. Use at your own risk and test thoroughly in a sandbox before deploying to production.


Built for the Salesforce Net Zero community

Star this repo if it helps your implementation.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors