In this section, we will talk about the data Customer's Canvas operates with, or assets.
By "design" we mean the multi-layer image that is editable in Design Editor. It is stored in our own internal format. To work with an image in this format, you can use the Design Atoms SDK.
The designs can be created in several ways:
- Create them from scratch in BackOffice, which has a built-in Template Editor.
- Generate them using the Design Atoms framework.
- Generate a blank design using the DesignProcessor_CreateBlankDesign endpoint.
- Import a design from Adobe formats such as PSD (Photoshop) or IDML (InDesign) files using DesignProcessor_ImportDesign.
There are two scenarios for using designs - public templates and the designs created by the end users based on the templates.
Unlike designs, images are the static graphics files, such as JPEG, PNG, PDF, SVG, or other formats.
They can be even PSD or IDML files, however, when we open such files as an image, Customer's Canvas does not interpret it as a multi-layered image (except in special cases). You may think of it as a regular static image file.
Like designs, images can also be used in two scenarios - as a public image gallery of cliparts, backgrounds, photos, logos, or as private user uploads.
Fonts are required to work with text. We support the most popular font formats - TrueType and OpenType. As usual, you have to purchase fonts from third-party vendors, but you may download some free fonts from Google Fonts or other sources.
Unlike images or designs, the end-users cannot create or upload their own fonts. All fonts are available for all designs in your instance of Customer's Canvas. However, the Design Editor configuration allows you to narrow down the list of fonts available to the end-users.
Color profiles are used for proper color conversion. Without profiles, it is impossible to make a proper conversion between CMYK and RGB and vice-versa.
It is important to choose the right profile that matches the equipment that you will use to print files. Although you may use some generic color profiles like U.S. Web Coated (SWOP) V2, using a profile optimized for the printing equipment increases the precision of the color display.
Public vs. Private Assets
As mentioned above, some assets are divided into two groups - public and private.
Your employees create the public assets. They can create some designs used as templates or prepare an image bank available to your users. It is easy to implement read-only access on a storefront. To be able to modify or delete assets, you need the token created for the employee user.
The end-user can create private images or designs, but access to these files depends on the owner. In other words, one end-user cannot access uploads of another end-user. Of course, the staff accounts have access to them to be able to create a print file.
Folders and collections
It is possible to organize files into folders and collections.
Folders work in the same way as a file system and you can use them to organize a file hierarchy. A folder can contain assets and other folders, and there is no limit of depth of a hierarchy. The same asset may belong only to a single folder at a time.
Collections are more similar to categories or tags. An asset may exist in several collections, and collections may be nested and even contain folders. At the moment, collections are supported only in API, however, in the future, they will be available in the user interface of both Design Editor and BackOffice.
Names and ID
All assets have several properties that help you identify them in a system.
- id - a unique identifier of an asset.
- name - an asset name which works as a file name. It should be unique within a current folder.
- path - a full path to an asset, which includes all parent folders and a file name.
You may use them in different situations to identify you assets.
For example, the id is a good candidate to pass a design name to the editor. It never changes when you move files between folders, so if you re-organize files on your back-end, you don’t need to worry that it would prevent the end-users from opening it in the Design Editor.
The name and a path are the human-readable names, and sometimes you do want to rely on a specific folder structure. For example, you may create a folder with different sizes and orientations, like this:
\Deluxe horizontal vertical \Standard horizontal vertical
In certain scenarios, the best method to access the items is to use its metadata rather than their names. For example, for the fonts, you would typically rely on a postscriptName, or for the color profile - on its description fields.
Metadata and preview
Metadata is information about an asset that helps to organize some business logic. Different assets support different metadata. Here are some examples (see a full list by clicking the links).
- Number of pages/surfaces
- Width and height of each page
- Width and height
- Color space
Additionally, you may add custom fields with your own semantics to each asset type.
Now that we’re done with the theory, we will get some hands-on experience with the help of tutorials in the next chapter.