Skip to content

eschweitzer78/gps-design-systems-lwc

Repository files navigation

gps-design-systems-lwc

CI Workflow Packaging Workflow codecov

A collection of Salesforce Lightning Web Components (LWCs) for selected Governments' Design Systems. The collection covers Salesforce Experience Cloud as well as Salesforce Communities for Public Sector Solutions (Omnistudio), and may be extended in the future to help with Salesforce Flows provided they're surfaced via an Experience Cloud community.

Note that at this stage there is a dependency on Omnistudio 248.12 (at the minimum), which is the version we built and tested against. You also need to stay on the Omnistudio Managed Package runtime as the standard runtime is not quite on parity yet when it comes to overrides, which we do leverage quite a bit.

Do read our change log if you plan on updating already installed packages in order to check for changes in behaviour or configuration changes.

Structure

  • sfGpsDs is the folder for code that is reusable across individual design systems supported by this repo and sfdx project; it is now fully packaged with the design systems library below but the directory is kept for clarity, deployment as source code or as a dependency package for third party design systems
  • sfGpsDsAuNsw is the folder for code and assets pertaining to the Design System of New South Wales, Australia; check the documentation web site
  • sfGpsDsAuNswS is the folder for code and assets pertaining to the specific Design System of Service NSW, New South Wales, Australia; check the documentation website
  • sfGpsDsAuVic is the folder for code and assets to the Design System of Victoria, Australia aka Ripple v1 (pilot, no production without prior consultation); check the documentation website
  • sfGpsDsAuVic2 is the folder for code and assets to the Design System of Victoria v2, Australia aka Ripple v2 (alpha); check the documentation website
  • sfGpsDsFrGov is the folder for code and assets to the Design System of France (alpha, only sandbox); check the documentation page
  • sfGpsDsUkGov is the folder for code and assets to the Design System of the United Kingdom (pilot, no production without prior consultation); check the documentation website

Important note for existing users of the libraries: we used to require to install a base package and then a package for you design system of choice. We are dropping this pattern and now ship each design system with all dependencies but kindly note that it thus prevents you from having multiple design systems on a single org unless you deploy as source code. If you installed a package prior to November 2023, see instructions further down in this document regarding how to migrate from the former model to the new one.

Installing beta versions using Unlocked Packages

Follow this set of instructions if you want to deploy the library in its most recent build to a more permanent environment than a Scratch org or if you don't want to install the local developement tools. You can use a non source-tracked orgs such as a free Developer Edition Org or a Trailhead Playground, or one of your sandboxes.

  1. Log in to your org

  2. Click this link to install the sfGpsDs unlocked package in your org (only when developing your own design system or as a dependency for a third-party).

  3. Click this link to install the sfGpsDsAuNsw unlocked package in your org (with sfGpsDs included).

  4. Click this link to install the sfGpsDsAuNswS unlocked package in your org (with sfGpsDs included).

  5. Click this link to install the sfGpsDsAuVic unlocked package in your org (with sfGpsDs included).

  6. Click this link to install the sfGpsDsAuVic2 unlocked package in your org (with sfGpsDs included).

  7. Click this link to install the sfGpsDsFrGov unlocked package in your org (with sfGpsDs included).

  8. Click this link to install the sfGpsDsUkGov unlocked package in your org (with sfGpsDs included).

Installing the production versions using Unlocked Packages

Kindly note that the packages might be the same as for non-production orgs (see above) if the latest successful build has alreay been promoted for production.

Make sure you fully understand the support and security implications of installing those assets in production. The applicable license has also wide-ranging disclaimer provisions.

  1. Log in to your org

  2. Click this link to install the sfGpsDs unlocked package in your production org (v2.5.3.4 released on 08/06/2024 -- only when using your own design system or a dependent third-party's).

  3. Click this link to install the sfGpsDsAuNsw unlocked package in your production org (v2.5.5.2 released on 13/06/2024).

  4. Click this link to install the sfGpsDsAuNswS unlocked package in your production org (v2.5.3.4 released on 08/06/2024).

  5. Click this link to install the sfGpsDsAuVic unlocked package in your production org (v2.5.3.4 released on 08/06/2024). Please do let us know when doing so for non-educational use as we aim at supporting early adopters and gathering feedback.

  6. Click this link to install the sfGpsDsUkGov unlocked package in your production org (including sfGpsDs, v1.2.1.4 released on 08/06/2024). Please do let us know when doing so for non-educational use as we aim at supporting early adopters and gathering feedback.

Moving away from separate base and design system libraries

With dependencies now included in each jursidiction's design system library, you will find there is a conflict on files that used to be located in the sfGpsDs library if you try to upgrade a design system, unless you make the contents of former sfGpsDs lib deprecated. The workflow to do so is as follows:

  • upgrade sfGpsDs to a version we packaged with all artefacts marked as deprecated -- this must be done on the command line using sfdx package install --package=04t5j000000dnflAAA --upgrade-type=DeprecateOnly ,
  • upgrade the jurisdiction's design system library to a version with the former sfGpsDs dependencies included using one of the links above,
  • uninstall sfGpsDs now that all deprecated files have been absorbed.

Support, security, contributions and code of conduct

Do read our other guidelines: