Studio Developer Manual / Version 2401
Table Of Contents
For numerous RemoteBean entities of the CoreMedia Studio,
default pictures can be resolved in terms of their picture blob, their picture URL or both.
Default pictures are calculated on the CoreMedia Studio server and replace
the existing ThumbnailResolver implementation of the client. This section
describes how the resolving can be customized and accessed by the client.
Default Picture Resolving
To support a thumbnail for a Studio RemoteBean entity,
the server has to provide an implementation of DefaultPictureResolver for it.
The product already supports these resolvers for most entities of the Studio,
including a default implementation for content items.
The interface comes with the additional default method default int getOrder().
This allows to re-implement an existing resolver and prefer it over the default implementation.
While DefaultPictureResolver is the interface to implement for any kind
of entity, you can also implement the more specialized interface ContentDefaultPictureResolver
to resolve default pictures for content items. The interface includes the methods
getContentType() and includeSubTypes to specify for
which content items of which type the resolver applies.
Both DefaultPictureResolver and ContentDefaultPictureResolver
also come in a flavour where a DefaultPictureService is passed into their
resolve() method. The service can be used to resolve further
pictures along the way to finally obtain the picture in question. For example, while resolving the
default picture for a Process, one of its content items is
chosen and the process picture is then resolved as the default picture of this content item.
The thumbnail resolving for the content type model can be customized in the application.properties
of the Studio server. Additional entries can be added there, using the format
studio.defaultPicture.content.paths.<DOCTYPE_NAME>=<VALUE>, where
DOCTYPE_NAME matches the name of the content type and VALUE
the name of the mapped content property that contains the picture blob or references another content item
which contains the blob (or again another content item).
studio.default-picture.content.paths.CMVideo=pictures
studio.defaultPicture.content.paths.CMPicture=data
Example 9.101. Example content thumbnail resolver configuration
In this example the thumbnail for a CMVideo is looked up in the pictures link list.
The list itself contains CMPicture content items which have their blob stored
in the property data.
Note that this path notation may also point to Struct properties, e.g.
localSettings.thumbnail.
Access Thumbnails on the Studio Client
Thumbnails for the Studio client RemoteBeans are
resolved through the thumbnailService. The service provides the following methods for this:
getThumbnailUri(model: any, operations: string = null): stringThis is the common service method to resolve a thumbnail URL with optional additional image operations for the given model. The method returns the default picture URL if the entity implementsWithDefaultPictureand the server logic is able to resolve a picture for it.getThumbnail(model: any, operations: string = null): Thumbnail | stringIf available, this method returns the calculatedThumbnailobject. In some cases, the client wants to know details about the image data, like the mime type or the blob size. If only the URL information is available, the URLstringis returned instead.


