diff --git a/cumulusci.yml b/cumulusci.yml index 2be1078..9f7b960 100644 --- a/cumulusci.yml +++ b/cumulusci.yml @@ -1,227 +1,223 @@ minimum_cumulusci_version: 3.23.0 project: - name: Volunteers-for-Salesforce - package: - name: Volunteers for Salesforce - namespace: GW_Volunteers - api_version: '40.0' - install_class: InstallScript - git: - prefix_release: rel/ - prefix_beta: beta/ - repo_url: https://github.com/SalesforceFoundation/Volunteers-for-Salesforce - dependency_resolutions: - preproduction: include_beta + name: Volunteers-for-Salesforce + package: + name: Volunteers for Salesforce + namespace: GW_Volunteers + api_version: "40.0" + install_class: InstallScript + git: + prefix_release: rel/ + prefix_beta: beta/ + repo_url: https://github.com/SalesforceFoundation/Volunteers-for-Salesforce + dependency_resolutions: + preproduction: include_beta sources: - npsp: - github: https://github.com/SalesforceFoundation/NPSP + npsp: + github: https://github.com/SalesforceFoundation/NPSP tasks: - deploy_dev_config: - description: Deploys the post install configuration for an unmanaged DE org - class_path: cumulusci.tasks.salesforce.Deploy - options: - path: unpackaged/config/dev - - deploy_qa_config: - description: Deploys the post install configuration for a regression or QA scratch org - class_path: cumulusci.tasks.salesforce.Deploy - options: - path: unpackaged/config/qa - - deploy_tab_config: - description: Deploys the post install configuration for custom tabs - class_path: cumulusci.tasks.salesforce.Deploy - options: - path: unpackaged/config/tabs - - deploy_v4s_only_page_layouts: - description: Deploys the page layouts for an org with Volunteers for Salesforce, but not NPSP - class_path: cumulusci.tasks.salesforce.Deploy - options: - path: unpackaged/config/v4s_only_layouts - - deploy_npsp_v4s_page_layouts: - description: Deploys the page layouts for an org with Volunteers for Salesforce and NPSP - class_path: cumulusci.tasks.salesforce.Deploy - options: - path: unpackaged/config/npsp_v4s_layouts - - deploy_delete_config: - description: Deploys the metadata deletions for the post install DE org config - class_path: cumulusci.tasks.salesforce.Deploy - options: - path: unpackaged/config/delete - - deploy_package_settings: - description: Configure the default Volunteers Package Settings - class_path: cumulusci.tasks.apex.anon.AnonymousApexTask - options: - path: scripts/DeployScript.cls - apex: insertPackageSettings(); + deploy_dev_config: + description: Deploys the post install configuration for an unmanaged DE org + class_path: cumulusci.tasks.salesforce.Deploy + options: + path: unpackaged/config/dev + + deploy_qa_config: + description: Deploys the post install configuration for a regression or QA scratch org + class_path: cumulusci.tasks.salesforce.Deploy + options: + path: unpackaged/config/qa + + deploy_tab_config: + description: Deploys the post install configuration for custom tabs + class_path: cumulusci.tasks.salesforce.Deploy + options: + path: unpackaged/config/tabs + + deploy_v4s_only_page_layouts: + description: Deploys the page layouts for an org with Volunteers for Salesforce, but not NPSP + class_path: cumulusci.tasks.salesforce.Deploy + options: + path: unpackaged/config/v4s_only_layouts + + deploy_npsp_v4s_page_layouts: + description: Deploys the page layouts for an org with Volunteers for Salesforce and NPSP + class_path: cumulusci.tasks.salesforce.Deploy + options: + path: unpackaged/config/npsp_v4s_layouts + + deploy_delete_config: + description: Deploys the metadata deletions for the post install DE org config + class_path: cumulusci.tasks.salesforce.Deploy + options: + path: unpackaged/config/delete + + deploy_package_settings: + description: Configure the default Volunteers Package Settings + class_path: cumulusci.tasks.apex.anon.AnonymousApexTask + options: + path: scripts/DeployScript.cls + apex: insertPackageSettings(); + + assign_pset: + description: Runs anonymous apex to assign pset for guest user. + class_path: cumulusci.tasks.apex.anon.AnonymousApexTask + options: + apex: > + Id psetId = [SELECT ID From PermissionSet WHERE Name = 'V4S_Site_Minimum' LIMIT 1][0].id; + Id guestId = [SELECT ID From User WHERE Name = 'Volunteers Site Guest User' LIMIT 1][0].id; + insert new PermissionSetAssignment(PermissionSetId=psetId, AssigneeId=guestId); + + delete_data: + options: + objects: + - Volunteer_Hours__c + - Volunteer_Shift__c + - Job_Recurrence_Schedule__c + - Volunteer_Recurrence_Schedule__c + - Volunteer_Job__c + - Contact + - Account + - Campaign + + ensure_record_type: + name: Ensure Campaign Record Types + description: This will ensure Record Types are enabled for the Campaign object in your org before installing Volunteers for Salesforce. If there are no Campaign record types yet, it will create one called Default. + class_path: cumulusci.tasks.salesforce.EnsureRecordTypes + options: + record_type_label: Default + record_type_developer_name: Default + sobject: Campaign + + run_tests: + options: + retry_failures: + - "unable to obtain exclusive access to this record" + - "UNABLE_TO_LOCK_ROW" + - "connection was cancelled here" + retry_always: True - assign_pset: - description: Runs anonymous apex to assign pset for guest user. - class_path: cumulusci.tasks.apex.anon.AnonymousApexTask - options: - apex: > - Id psetId = [SELECT ID From PermissionSet WHERE Name = 'V4S_Site_Minimum' LIMIT 1][0].id; - Id guestId = [SELECT ID From User WHERE Name = 'Volunteers Site Guest User' LIMIT 1][0].id; - insert new PermissionSetAssignment(PermissionSetId=psetId, AssigneeId=guestId); - - delete_data: +flows: + config_unmanaged: + steps: + 1: + task: deploy_delete_config + 2: + task: deploy_dev_config + 3: + task: deploy_tab_config + 4: + task: deploy_package_settings + when: '"GW_Volunteers" not in org_config.installed_packages' + 5: + task: assign_pset + ignore_failure: True + 6: + task: load_dataset + + config_managed: + steps: + 3: + task: deploy_tab_config + config_dev: + steps: + 3: + flow: config_unmanaged + + config_qa: + steps: + 3: + flow: config_unmanaged + 4: + task: deploy_qa_config + + config_regression: + steps: + 3: + flow: config_unmanaged + 4: + task: deploy_qa_config + + install_npsp: + steps: + 1: + flow: npsp:install_prod + + customer_org: + steps: + 1: + task: ensure_record_type + ui_options: + name: Default Campaign Record Type + 2: + task: install_managed + 3: + task: deploy_tab_config + checks: + - when: "'GW_Volunteers' in tasks.get_installed_packages()" # Cached at start + action: "hide" options: - objects: - - Volunteer_Hours__c - - Volunteer_Shift__c - - Job_Recurrence_Schedule__c - - Volunteer_Recurrence_Schedule__c - - Volunteer_Job__c - - Contact - - Account - - Campaign - - ensure_record_type: - name: Ensure Campaign Record Types - description: This will ensure Record Types are enabled for the Campaign object in your org before installing Volunteers for Salesforce. If there are no Campaign record types yet, it will create one called Default. - class_path: cumulusci.tasks.salesforce.EnsureRecordTypes + unmanaged: False + ui_options: + name: "Install Volunteers for Salesforce Tabs" + 4: + task: deploy_npsp_v4s_page_layouts + checks: + - when: "'npsp' not in tasks.get_installed_packages()" + action: hide options: - record_type_label: Default - record_type_developer_name: Default - sobject: Campaign - - run_tests: + unmanaged: False + ui_options: + name: "Install Page Layouts (NPSP)" + is_required: False + when: "org_config.has_minimum_package_version('npsp', '1.0')" + 5: + task: deploy_v4s_only_page_layouts + checks: + - when: "'npsp' in tasks.get_installed_packages()" + action: hide options: - retry_failures: - - "unable to obtain exclusive access to this record" - - "UNABLE_TO_LOCK_ROW" - - "connection was cancelled here" - retry_always: True - -flows: - config_unmanaged: - steps: - 1: - task: deploy_delete_config - 2: - task: deploy_dev_config - 3: - task: deploy_tab_config - 4: - task: deploy_package_settings - when: '"GW_Volunteers" not in org_config.installed_packages' - 5: - task: assign_pset - ignore_failure: True - 6: - task: load_dataset - - config_managed: - steps: - 3: - task: deploy_tab_config - config_dev: - steps: - 3: - flow: config_unmanaged - - config_qa: - steps: - 3: - flow: config_unmanaged - 4: - task: deploy_qa_config - - config_regression: - steps: - 3: - flow: config_unmanaged - 4: - task: deploy_qa_config - - install_npsp: - steps: - 1: - flow: npsp:install_prod - - customer_org: - steps: - 1: - task: ensure_record_type - ui_options: - name: Default Campaign Record Type - 2: - task: install_managed - 3: - task: deploy_tab_config - checks: - - when: "'GW_Volunteers' in tasks.get_installed_packages()" # Cached at start - action: "hide" - options: - unmanaged: False - ui_options: - name: "Install Volunteers for Salesforce Tabs" - 4: - task: deploy_npsp_v4s_page_layouts - checks: - - when: "'npsp' not in tasks.get_installed_packages()" - action: hide - options: - unmanaged: False - ui_options: - name: "Install Page Layouts (NPSP)" - is_required: False - when: "org_config.has_minimum_package_version('npsp', '1.0')" - 5: - task: deploy_v4s_only_page_layouts - checks: - - when: "'npsp' in tasks.get_installed_packages()" - action: hide - options: - unmanaged: False - ui_options: - name: "Install Page Layouts (V4S)" - is_required: False - when: "not org_config.has_minimum_package_version('npsp', '1.0')" + unmanaged: False + ui_options: + name: "Install Page Layouts (V4S)" + is_required: False + when: "not org_config.has_minimum_package_version('npsp', '1.0')" orgs: - scratch: - dev_namespaced: - config_file: orgs/dev.json - namespaced: True - days: 7 - prerelease: - config_file: orgs/prerelease.json + scratch: + dev_namespaced: + config_file: orgs/dev.json + namespaced: True + days: 7 + prerelease: + config_file: orgs/prerelease.json plans: - install: - slug: install - title: Install Volunteers for Salesforce - tier: primary - is_listed: True - checks: - - when: "not tasks.check_chatter_enabled()" - action: error - message: "Please enable Chatter in your org prior to installing." - steps: - 1: - flow: customer_org - - upgrade: - slug: upgrade - title: Product Upgrade - tier: additional - is_listed: False - preflight_message: "This installer upgrades this package and any required dependencies to the latest version in your org. This installer isn't supported and has risks. Please don't run this installer unless you're aware of its specific use cases and considerations." - post_install_message: "Installation complete and package is on the latest version." - steps: - 1: - task: update_dependencies - options: - security_type: PUSH - packages_only: True - 2: - task: install_managed - options: - security_type: PUSH + install: + slug: install + title: Install Volunteers for Salesforce + tier: primary + is_listed: True + steps: + 1: + flow: customer_org + + upgrade: + slug: upgrade + title: Product Upgrade + tier: additional + is_listed: False + preflight_message: "This installer upgrades this package and any required dependencies to the latest version in your org. This installer isn't supported and has risks. Please don't run this installer unless you're aware of its specific use cases and considerations." + post_install_message: "Installation complete and package is on the latest version." + steps: + 1: + task: update_dependencies + options: + security_type: PUSH + packages_only: True + 2: + task: install_managed + options: + security_type: PUSH diff --git a/metadeploy/labels_en.json b/metadeploy/labels_en.json index 75119d0..7eb621a 100644 --- a/metadeploy/labels_en.json +++ b/metadeploy/labels_en.json @@ -1,54 +1,54 @@ { - "product": { - "title": { - "message": "Volunteers for Salesforce (V4S)", - "description": "name of product" - }, - "short_description": { - "message": "Volunteer management for your organization.", - "description": "tagline of product" - }, - "description": { - "message": "Volunteer management for your organization.\r\n\r\nVolunteers for Salesforce helps manage your volunteer events and people. It manages volunteers, jobs, shifts, and hours, allowing you to track and report on all of the data as well as allow public signups via Sites pages on your website.\r\n\r\nOnce you've installed Volunteers for Salesforce, check out these great resources:\r\n\r\n* [Set Up and Configure Volunteers for Salesforce](https://powerofus.force.com/s/article/V4S-Before-You-Configure-V4S)\r\n\r\n* [Volunteers for Salesforce User Guide](https://powerofus.force.com/s/article/V4S-Plan-a-One-Time-Event)\r\n\r\n* [All Volunteers for Salesforce Documentation](https://powerofus.force.com/s/article/V4S-Documentation)\r\n\r\nQuestions? Become a member of the [Volunteers for Salesforce App customer group](https://powerofus.force.com/s/group/0F980000000CjjxCAC/volunteers-for-salesforce-app) in the Power of Us Hub.", - "description": "shown on product detail page (markdown)" - }, - "click_through_agreement": { - "message": "Copyright (c) 2017, Salesforce.org \r\nAll rights reserved.\r\n\r\nRedistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions are met:\r\n\r\n* Redistributions of source code must retain the above copyright\r\nnotice, this list of conditions and the following disclaimer.\r\n* Redistributions in binary form must reproduce the above copyright\r\nnotice, this list of conditions and the following disclaimer in the\r\ndocumentation and/or other materials provided with the distribution.\r\n* Neither the name of Salesforce.org nor the names of\r\nits contributors may be used to endorse or promote products derived\r\nfrom this software without specific prior written permission.\r\n\r\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r\nFOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\r\nCOPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r\nLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r\nANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r\nPOSSIBILITY OF SUCH DAMAGE.", - "description": "legal text shown in modal dialog" - } + "product": { + "title": { + "message": "Volunteers for Salesforce (V4S)", + "description": "name of product" }, - "plan:install": { - "title": { - "message": "Install Volunteers for Salesforce", - "description": "title of installation plan" - } + "short_description": { + "message": "Volunteer management for your organization.", + "description": "tagline of product" }, - "steps": { - "Default Campaign Record Type": { - "message": "Default Campaign Record Type", - "description": "title of installation step" - }, - "Install {product} {version}": { - "message": "Install {product} {version}", - "description": "title of installation step" - }, - "Install Volunteers for Salesforce Tabs": { - "message": "Install Volunteers for Salesforce Tabs", - "description": "title of installation step" - }, - "Install Page Layouts (NPSP)": { - "message": "Install Page Layouts (NPSP)", - "description": "title of installation step" - }, - "Install Page Layouts (V4S)": { - "message": "Install Page Layouts (V4S)", - "description": "title of installation step" - } + "description": { + "message": "Volunteer management for your organization.\r\n\r\nVolunteers for Salesforce helps manage your volunteer events and people. It manages volunteers, jobs, shifts, and hours, allowing you to track and report on all of the data as well as allow public signups via Sites pages on your website.\r\n\r\nOnce you've installed Volunteers for Salesforce, check out these great resources:\r\n\r\n* [Manage Volunteers for Nonprofits on Trailhead](https://trailhead.salesforce.com/content/learn/trails/nonprofit_volunteer)\r\n\r\n* [Salesforce.org Hub](https://trailhead.salesforce.com/trailblazer-community/groups/0F94S000000kHOwSAM?tab=discussion&sort=LAST_MODIFIED_DATE_DESC)\r\n\r\n* [All Volunteers for Salesforce Documentation](https://help.salesforce.com/s/articleView?id=sfdo.Volunteers_for_Salesforce.htm&type=5)", + "description": "shown on product detail page (markdown)" }, - "checks": { - "Please enable Chatter in your org prior to installing.": { - "message": "Please enable Chatter in your org prior to installing.", - "description": "shown if validation fails" - } + "click_through_agreement": { + "message": "Copyright (c) 2017, Salesforce.org \r\nAll rights reserved.\r\n\r\nRedistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions are met:\r\n\r\n* Redistributions of source code must retain the above copyright\r\nnotice, this list of conditions and the following disclaimer.\r\n* Redistributions in binary form must reproduce the above copyright\r\nnotice, this list of conditions and the following disclaimer in the\r\ndocumentation and/or other materials provided with the distribution.\r\n* Neither the name of Salesforce.org nor the names of\r\nits contributors may be used to endorse or promote products derived\r\nfrom this software without specific prior written permission.\r\n\r\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r\nFOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\r\nCOPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r\nLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r\nANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r\nPOSSIBILITY OF SUCH DAMAGE.", + "description": "legal text shown in modal dialog" } -} \ No newline at end of file + }, + "plan:install": { + "title": { + "message": "Install Volunteers for Salesforce", + "description": "title of installation plan" + } + }, + "steps": { + "Default Campaign Record Type": { + "message": "Default Campaign Record Type", + "description": "title of installation step" + }, + "Install {product} {version}": { + "message": "Install {product} {version}", + "description": "title of installation step" + }, + "Install Volunteers for Salesforce Tabs": { + "message": "Install Volunteers for Salesforce Tabs", + "description": "title of installation step" + }, + "Install Page Layouts (NPSP)": { + "message": "Install Page Layouts (NPSP)", + "description": "title of installation step" + }, + "Install Page Layouts (V4S)": { + "message": "Install Page Layouts (V4S)", + "description": "title of installation step" + } + }, + "checks": { + "Please enable Chatter in your org prior to installing.": { + "message": "Please enable Chatter in your org prior to installing.", + "description": "shown if validation fails" + } + } +} diff --git a/src/pages/VolunteersAbout.page b/src/pages/VolunteersAbout.page index 3b61a2e..b527adc 100644 --- a/src/pages/VolunteersAbout.page +++ b/src/pages/VolunteersAbout.page @@ -46,7 +46,7 @@
{!$Label.labelVolunteersHelpStep2}
- + {!$Label.labelVolunteersHelpStep2}
@@ -55,8 +55,8 @@
{!$Label.labelVolunteersHelpStep3}
- - + {!$Label.labelVolunteersHelpStep3}