Workday Canvas

Extended Systems

Extensions of Canvas with custom components, patterns and features.

What is an Extended System?

An Extended System is a custom library of components and patterns built with Canvas building blocks, which lives outside of Canvas. These are generally created, documented, and maintained by the team (or teams) who create it. They cater to the individual contextual needs of the user, and account for the products area’s tech stack and technical limitations. The components in the official Canvas Figma libraries and Canvas Kit code repository have been created to be as universal, flexible and scaleable as possible. This means they can be of most value to the most amount of teams using them.

Extended Systems may be created for a variety of reasons, usually to serve a more tailored, specific experience in a product area or for a technological need. New custom components should be composed using Canvas tokens and components where possible. These can be simple components (generally more shareable) or highly-tailored components (generally less shareable).

Check out our Step by Step guide to creating your own Extended System. Feel free to reach out to the team on the #canvas slack channel too.

Extended Systems start with the creation of custom components and patterns. If you need to create custom components for your product which don’t already exist in Canvas design libraries or Canvas kit, check out our guidance for creating custom components with Canvas and creating custom Figma libraries.

Note: due to the composable and flexible nature of React, Extended Systems is a concept generally reserved for teams building in React. While the overall set of Standard Tooling widgets/components/patterns can be seen as its own Extended System, product teams working with metadata-driven UI are generally not able to create their own Extended System.

Types of Extended Systems

Product Extended Systems

These systems exist to serve a particular product area or areas. For example, Workday Learning has a custom library of components tailored to their product’s need. These components have been made with Canvas as a foundation, but are specifically tailored to Learning’s needs. However, as these systems grow, they can also be useful to other products, particularly when multiple products share a similar interface concept (e.g. a toolbar). In this case, components can be shared between products, or the ownership of and maintenance of the Extended System can be scaled to multiple product teams.

Alternatively, some custom libraries may be more self-contained within a particular product area. So they may have a central library which serves multiple related products within that particular domain. For example, a product team might have a suite of components which they share only with other teams within their own product area, but not teams outside of this product area.

A flow chart showing two paths, 1. Library within a product area shared internally, 2. Different product libraries sharing some components

Generic / Universal Libraries

Some product teams build an Extended System that ends up being used by many other teams. Eventually, these are often abstracted outside of the original product, for general use. The examples below are created and maintained outside Canvas Kit, but use Canvas Kit for the basis of their components.

For example:

  • WD Components is a component library that composes Canvas Kit tokens and components to support products built with React. It provides Workday-specific UI elements that are either too complex/composed to go in Canvas, or are too tied to Workday business logic.

  • UI-C Features UI-C Features contains components built in React for Standard Tooling, as the metadata-driven platform slowly transitions away from GWT/UI-HTML.

  • Productivity Technology Charts is just one data visualization library that exists at Workday

Anthology

Anthology Storybook screenshot

Anthology is the curated collection of Workday’s UI Storybook stories - a Storybook-of-Storybooks, if you will. It will help you:

  • Search for and discover available React components from many products and Extended Systems
  • Improve awareness and communication between you and your development teams
  • Share components between teams to encourage reuse over rebuilding

Essentially, its goal is to foster a community model for building and maintaining components at Workday by encouraging maximum visibility, code sharing between products, duplicate management, and more. Discover how to Add your Extended System. For discussions and more info, join the #anthology Slack channel.

Can't Find What You Need?

Check out our FAQ section which may help you find the information you're looking for. For further information, contact the #ask-canvas-design or #ask-canvas-kitchannels on Slack.

On this Page: