Asset Migration from FE to Backend (5.17 Upgrade) — DevOps

This guide describes how to migrate assets from the old layout used in TAS 5.7 to the new backend layout introduced in version 5.17. The procedure also applies to newer versions that use the same backend asset structure — this change has historically been communicated under the 5.17 label.

Perform the migration before the first start of the backend image in version 5.17+. If the new image is started without this migration, the assets will not be available at the expected paths.

Prerequisites

  • The backend in version 5.7 is stopped — during the migration the source directory is only read, but any writes must be prevented.
  • A backup of the original frontend/assets folder exists (disk snapshot, tarball, storage snapshot — depending on the practices of the environment).
  • rsync (recommended) or alternatively cp is available on the server.
  • You have access to a user with write permissions to backend/assets (typically dkr-tas or root).

Target structure

In version 5.7, files were stored in the frontend storage. Since version 5.17, the backend storage is used with the following structure (paths inside the container):

/app/tas/storage/assets/manuals
/app/tas/storage/assets/logos
/app/tas/storage/assets/visual-identity
/app/tas/storage/assets/images
/app/tas/storage/assets/documents
/app/tas/storage/assets/ai-content

Mapping of old and new folders

Old location (5.7)

New location (5.17+)

Note

uploads

manuals

Move the contents of uploads, but without _schemaLogos_.

logos

logos

Move the entire contents, including any subfolders (e.g. _org_).

uploads/_schemaLogos_

visual-identity

Does not belong in manuals.

images

images

Move the entire contents.

did not exist

documents

Create as an empty folder.

did not exist

ai-content

Create as an empty folder.

Do not move the _schemaLogos_ folder to manuals. It belongs exclusively in visual-identity. If it ends up in both locations, the content will be duplicated.

In some environments, documents is populated individually based on the customer's decision. For a standard migration, create it as an empty folder. ai-content did not exist in version 5.7 — always create it as an empty folder.

Example paths

This guide assumes the common stack layout:

/srv/tas/stack/stack_name/deployment/instance/stack_name/storage/frontend/assets
/srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets

Replace stack_name with the actual name of the stack in your environment.

Migration procedure (rsync)

The recommended variant using rsync — it preserves the structure better and makes it easy to exclude _schemaLogos_ from uploads.

1. Prepare the target structure

cd /srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets

mkdir -p manuals
mkdir -p logos
mkdir -p visual-identity
mkdir -p images
mkdir -p documents
mkdir -p ai-content

2. Transfer the content from the frontend storage

Run the commands from the directory:

/srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets
rsync -a --exclude '_schemaLogos_/' ../../frontend/assets/uploads/ ./manuals/
rsync -a ../../frontend/assets/logos/ ./logos/
rsync -a ../../frontend/assets/uploads/_schemaLogos_/ ./visual-identity/
rsync -a ../../frontend/assets/images/ ./images/
mkdir -p ./documents
mkdir -p ./ai-content

Variant without rsync (cp)

If rsync is not available on the server, you can use cp -a. This variant requires explicitly removing _schemaLogos_ from manuals so that the same content does not end up in two places.

cd /srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets

mkdir -p manuals logos visual-identity images documents ai-content

cp -a ../../frontend/assets/uploads/. ./manuals/
rm -rf ./manuals/_schemaLogos_

cp -a ../../frontend/assets/logos/. ./logos/
cp -a ../../frontend/assets/uploads/_schemaLogos_/. ./visual-identity/
cp -a ../../frontend/assets/images/. ./images/

The notation ../../frontend/assets/uploads/. (with a dot at the end) copies the contents of the folder, including hidden files, rather than the folder itself.

Post-migration check

Once finished, verify that the target folders exist and that their contents match the expected mapping:

cd /srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets

find manuals -maxdepth 2 -type d | head
find logos -maxdepth 2 -type d | head
find visual-identity -maxdepth 2 -type d | head
find images -maxdepth 2 -type d | head
ls -la documents
ls -la ai-content

Focus mainly on the following:

  • manuals does not contain _schemaLogos_.
  • visual-identity contains the original contents of _schemaLogos_.
  • logos contains the original logos and any subfolders (e.g. _org_).
  • images contains the old files from frontend/assets/images.
  • documents exists and is empty, unless the customer specified otherwise.
  • ai-content exists and is empty.

Permissions

Finally, set the owner of the target folders and their contents. In the TAS environment, the required user is typically dkr-tas:

chown -R dkr-tas:dkr-tas /srv/tas/stack/stack_name/deployment/instance/stack_name/storage/backend/assets

If the environment uses a different user or group, adjust the command according to the local deployment. The group can be omitted (chown -R dkr-tas ...) if ownership on the server is managed without an explicit group.

Mapping summary

manuals         <- uploads without _schemaLogos_
logos <- logos
visual-identity <- _schemaLogos_
images <- images
documents <- new empty folder
ai-content <- new empty folder

Next steps

After a successful migration and setting the permissions, start the backend image in version 5.17+ and verify that the assets load correctly (manuals, logos, visual identity, images in cases).

Subsequently, the consultant scripts/calculations need to be adjusted, as described here.

Frantisek Brych Updated by Frantisek Brych

Upgrade to TAS 5.17 - Key Changes and Removed Features

Contact

Syca (opens in a new tab)

Powered by HelpDocs (opens in a new tab)