Skip to content

Managed Package Publication #151

@mitchspano

Description

@mitchspano

Summary:

This document proposes publishing the Trigger Actions Framework (TAF) as a managed package. This will allow other packages, including those from Independent Software Vendors (ISVs), to formally establish a dependency on TAF.

Benefits:

  • Increased adoption: Publishing as a managed package will make TAF more discoverable and easier for both customers and ISVs to integrate into their Salesforce solutions.
  • Improved developer experience: ISVs can build on top of TAF without needing to embed the code directly in their packages. This simplifies development and maintenance.
  • Enhanced collaboration: A managed package fosters a more collaborative ecosystem around TAF.

Considerations for Managed Package Publication:

  • Namespace: Introduce a namespace field on the Trigger_Action__mdt custom metadata type to ensure code isolation and prevent conflicts with other packages.
  • Global vs. Namespaced: Carefully review all classes and interfaces to determine if they should be global (accessible across all packages) or namespaced (accessible only within the TAF package). Consider the intended use of each class/interface and potential conflicts.
  • Backwards Compatibility: Develop a plan to maintain backwards compatibility with existing customers who use the unlocked package. This may involve versioning and providing clear migration paths for future updates.
  • Documentation: Update documentation to reflect changes introduced for the managed package version.

Next Steps:

  • Review Salesforce documentation on managed packages and best practices.
  • Finalize the design for namespace implementation and global vs. namespaced classes/interfaces.
  • Develop a backward compatibility plan for existing users.
  • Prepare documentation for the managed package.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions