/
[deployment] Automatically dump assets during deployment [5.2.2-B1]

[deployment] Automatically dump assets during deployment [5.2.2-B1]

Assets are CSS/JS files that are used on almost all pages to make them look/work as expected. To ease development process developers can create multiple CSS/JS files and In-Portal would combine them together to make page load faster (less network traffic). It works like this:

  1. upon page load the missing assets are generated and existing assets are reused
  2. during new website version deployment all assets are deleted

This approach works fine, when In-Portal is used to both "show the page" and to "prepare page html".

Unfortunately when In-Portal page referencing assets is transformed into static HTML and later used outside of In-Portal (e.g. on the WordPress) the referenced assets won't exist anymore. The assets won't exist because next deployment removed them in hope, that next website visit would happen and rebuild them.

Solution

  1. create "MinifyHelper::dump" method, that will CURL website homepage to trigger generation of assets
  2. create "adm:OnDumpAssets" event, that will call "MinifyHelper::delete" and "MinifyHelper::dump" methods
  3. no longer call "MinifyHelper::delete" method from "kThemesHelper::refreshThemes" method
  4. create "DeploymentHelper::dumpAssets" method, that will:
    1. be declared after and be similar to "DeploymentHelper::refreshThemes" method
    2. call "adm:adm:OnDumpAssets" event
  5. call "DeploymentHelper::dumpAssets" method right after "DeploymentHelper::refreshThemes" method
  6. on "Tools > System Tools" page:
    1. update documentation for "Deploy" button to explain that assets are also being dumped
    2. add another button for dumping assets

Related Tasks

INP-1706 - Getting issue details... STATUS