Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move to "Package" #3

Closed
ChuckJonas opened this issue May 21, 2019 · 1 comment
Closed

Move to "Package" #3

ChuckJonas opened this issue May 21, 2019 · 1 comment
Labels
help wanted Extra attention is needed

Comments

@ChuckJonas
Copy link
Collaborator

ChuckJonas commented May 21, 2019

Options

Unmanaged (no package)

Pros

  • path of least resistance (this is how things work)

Cons

  • Cannot install
  • Cannot "depend on" with from packages
  • Upgrade process less straight-forward
  • cannot implement Add Encrypted Type #4

Unlocked without namespace

Pros

  • get an install url / id
  • can upgrade over existing versions without needed to migrate
  • Full transparency of code.
  • Installers can make changes in org if they really need to (not a good idea tho)
  • upgradable

Cons

  • cannot implement Add Encrypted Type #4
  • could cause conflicts with unmanaged code (if they already have ENV.cls class or Env_Var__mdt

Unlocked with namespace

Pros

  • No concern with overwriting metadata
  • get an install url / id
  • Full transparency of code.
  • Installers can make changes in org if they really need to (not a good idea tho)
  • upgradable

Cons

  • will need to migrate anyone whose installed in unmanaged space (pretty minimal effort, could provide script to copy mdt from one namespace to other)
  • cannot implement Add Encrypted Type #4

Managed Package

Pros

  • No concern with overwriting metadata
  • get an install url / id
  • can implement Add Encrypted Type #4
  • upgradable

Cons

  • full transparency of code.
  • will need to migrate anyone whose installed in unmanaged space (pretty minimal effort, could provide script to copy mdt from one namespace to other)
  • Notoriously more challenging to upgrade / make changes / depreciate

Unlocked Package & Managed Package in same namespace

Pros

  • No concern with overwriting metadata
  • get an install url(s) / id(s)
  • can implement Add Encrypted Type #4
  • Would allow us to put support for Add Encrypted Type #4 in a managed package but keep the rest of it "unlocked" which makes it easier to manage
  • upgradable

Cons

  • have to install two separate packages (maybe there is someway to make the unlocked package install the managed package automatically?)
  • full transparency of code (except Add Encrypted Type #4).
  • will need to migrate anyone whose installed in unmanaged space (pretty minimal effort, could provide script to copy mdt from one namespace to other)
@ChuckJonas ChuckJonas changed the title Move to "Unlocked Package" Move to "Package" May 22, 2019
@ChuckJonas ChuckJonas pinned this issue Jun 4, 2019
@ChuckJonas
Copy link
Collaborator Author

ChuckJonas commented Jun 4, 2019

I'm thinking that Unlocked Package & Managed Package in same namespace is the current route.

We can use a soft dependency (using callable) on the env-vars-encrypt managed package which will allow us to provide the capability, optionally, if the user wants to install it.

The biggest downside is the need to migrate data, apex, formulas...

However, I think we can provide a method to make it easy to copy over the ENV vars. (plus who is actually using this beside me?)

@ChuckJonas ChuckJonas added the help wanted Extra attention is needed label Jun 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant