Kathy-Lueckeman / EASY-Open-Source-Solution

BSD 3-Clause "New" or "Revised" License
34 stars 50 forks source link

Incompatible with cumulusci, HEDA, and Translation Workbench #8

Open nicolas-scarrci opened 5 years ago

nicolas-scarrci commented 5 years ago

When I populate a scratch org through cumulusci to include HEDA and EASY the installation of EASY fails if the scratch org has Translation Workbench enabled.

The complaint is that the Application_Admin permission set specifies the CustomizeApplications which depends on ManageTranslation (which is not present in Application_Admin.)

Scratch org shape: dev.json

{
    "orgName": "Test - Dev Org",
    "edition": "Developer",
    "features": ["Communities"],
    "settings": {
      "orgPreferenceSettings" : {
          "sendThroughGmailPref" : false,
          "s1DesktopEnabled": true,
          "networksEnabled" : true,
          "chatterEnabled"  : true,
          "notesReservedPref01" : true,
          "pathAssistantsEnabled" : true,
          "translation" : true
      },
      "liveAgentSettings" : {
          "enableLiveAgent" : true
      },
      "fieldServiceSettings" : {
          "fieldServiceOrgPref" : false
      }
    }
  }

Cumulus project configuration cumulusci.yml

project:
    name: rearchitecture
    package:
        name:  rearchitecture
        api_version: '43.0'
    dependencies:
        - github: 'https://github.com/SalesforceFoundation/HEDAP'
        - github: 'https://github.com/SalesforceFoundation/EASY-Open-Source-Solution'

Scratch org population command: cci flow run dev_org --org dev

kyleschmid commented 5 years ago

This is a conflict between orgs that have translations enabled and those that don’t. Since the majority don’t, we don’t include it as part of the permission set. To get around this, you’ll want to either remove the Application Admin permission set or modify it to include the ManageTranslation permission before deployment to the scratch org.

nicolas-scarrci commented 5 years ago

Oh sorry, I didn't see that you already had a closed issue about this from December - I would have commented there. (https://github.com/SalesforceFoundation/EASY-Open-Source-Solution/issues/6)

The "recommended" way to rename HEDA's email and phone fields is by using translation workbench (https://powerofus.force.com/articles/Resource/HEDA-and-Translation). I know EASY is designed to not require HEDA, but many of your users in higher education are using both.

Would you consider moving the permission sets to the unpackaged folder? I don't believe that would affect your users who do not use Translation Workbench, but it would allow those of us who do to use cumulusci's skip feature to skip the problematic permission sets. (https://cumulusci.readthedocs.io/en/latest/features.html#skipping-unpackaged-in-reference-repositories)

For instance using a cumulus.yml file that looks like this: cumulus.yml

project:
    name: Test
    package:
        name:  Test
        api_version: '43.0'
    dependencies:
        - github: 'https://github.com/SalesforceFoundation/HEDAP'
        - github: 'https://github.com/SalesforceFoundation/EASY-Open-Source-Solution'
          skip: 'unpackaged/post/permissionsets'
kyleschmid commented 5 years ago

@nicolas-scarrci I'll take a look at that. While we have CumulusCI in the repository, but the installation instructions still talk about using regular Ant to install. I'd want to update those instructions before assuming everyone is installing using CumulusCI.

Also, we would have to include it in the unmanaged package installation link and manually move it to the unpackaged folder when we pull down the latest version from our development org (I realize this could all be automated, but I haven't invested the time to do so at this point).