Theme precompilation

Why?

During iTop setup themes are compiled to take into account all UI changes. This means using all theme materials to generate a main css file with its associated images.

This step takes quite a long time (about 30 seconds per theme like fullmoon). Theme precompilation is an optimization to spare that time when possible.

How to disable?

To disable this optimization use iTop configuration theme.enable_precompilation parameter.

$MySettings = array(
        'theme.enable_precompilation' => 'false',
...

Default precompilation

When setup compiles a theme a main css file is generated. That file is also saved locally under data/precompiled_styles with a specific signature. you can also check it in iTop setup.log:

2021-03-22 17:41:50 | Ok      | ----> Entering maintenance mode | SetupLog
2021-03-22 17:37:44 | Info    | Theme fullmoon file compiled. | SetupLog
2021-03-22 17:37:44 | Info    | Replacing theme 'fullmoon' precompiled file in file /var/www/html/iTop/data/precompiled_styles/fullmoon.css for next setup. | SetupLog

Next setup will rely on this signature to decide whether current theme needs to be recompiled. if not, previously locally saved css file will be used to spare time for something we already did in previous setups. you can check it in itop setup.log:

2021-03-22 17:47:20 | Info    | For theme 'fullmoon' precompiled file used: '/var/www/html/iTop/data/precompiled_styles/fullmoon.css' | SetupLog
2021-03-22 17:47:20 | Info    | No theme 'fullmoon' compilation was required during setup. | SetupLog

Declaring a precompiled style in datamodel file

Precompiled files can also be packaged in iTop builds via below XML datamodel path:

  <branding >
    <themes>
      <theme>
         ....
        <precompiled_stylesheet>local_path</precompiled_stylesheet>
      </theme>
    </themes>
  </branding>
 

local_path is css precompiled file provided in iTop build in either datamodels/2.x either in extensions/ folders. its associated signature will be used to decide whether theme compilation should occur. if not setup time will be spared.

Example:

itop-structure/datamodel.itop-structure.xml
    <branding>
    <themes>
      <theme id="fullmoon" _delta="define">
        <variables>...</variables>
        <imports>...</imports>
        <stylesheets>
          <stylesheet id="fullmoon">../css/backoffice/main.scss</stylesheet>
        </stylesheets>
        <precompiled_stylesheet>itop-structure/precompiled-themes/fullmoon/main.css</precompiled_stylesheet>
      </theme>
    <themes>
    <branding>
 

fullmoon precompiled file main.css could be provided here either in datamodels/2.x/itop-structure/precompiled-themes/fullmoon/ either in extensions/my-extension/precompiled-themes/beautifull-theme/

You check setup logs to make sure declared file was used:

2021-03-23 07:55:35 | Ok      | ----> Entering maintenance mode | SetupLog
2021-03-23 07:55:50 | Info    | For theme 'fullmoon' precompiled file used: '/tmp/itop-uRt4hS//itop-structure/precompiled-themes/fullmoon/main.css' | SetupLog
2021-03-23 07:55:50 | Info    | No theme 'fullmoon' compilation was required during setup. | SetupLog

Precompilation signature

Precompiled file contains some sort of header (commented) with theme signature followed by main css content.

This signature is a JSON structure with md5sum for:

  • each main scss file under stylesheets section (fullmoon main.scss here)
  • all theme variables under variables section
  • each reference/included external scss file under imports section (like bulma-scss files)
  • each image file referenced by stylesheets under images section

Each time someone customizes iTop theme it will be detected through the signature comparison. It will then trigger another setup theme compilation.

Example for fullmoon 3.0 style:

main.css
/*
=== SIGNATURE BEGIN ===
{"variables":"d751713988987e9331980363e24189ce","stylesheets":{"fullmoon":"1abf3f443691f601e8deaf66e57fb557"},"variable_imports":[],"images":{"images\/tv-item.gif":"719fe2d4566108e73162fb8868d3778c","images\/tv-collapsable.gif":"63a3351ea0d580797c9b8c386aa4f48b","images\/tv-expandable.gif":"a2d1af4128e4a798a7f3390b12a28574","images\/tv-item-last.gif":"2ae7e1d9972ce71e5caa65a086bc5b7e","images\/tv-collapsable-last.gif":"71acaa9d7c2616e9e8b7131a75ca65da","images\/tv-expandable-last.gif":"9d51036b3a8102742709da66789fd0f7","images\/tv-folder.gif":"9f41e1454905fd7416f89aa4380a65e1","images\/tv-file.gif":"9ab0e28d85d8ab5eb954fc28f6ac1e80"},"utility_imports":{"..\/css\/backoffice\/utils\/_all.scss":"fd24aa07b40c91fdee1bbef15d8eacdd","..\/css\/backoffice\/utils\/variables\/_all.scss":"3fa4eaf4a6ae0fc3b3e383cdfc337339","..\/css\/backoffice\/utils\/variables\/colors\/_all.scss":"0c9222dc5e4c46d897ba28e95946ad1b","..\/css\/backoffice\/utils\/variables\/colors\/_base-palette.scss":"2fbf92439664a9606ab84ae6c3a766f0","..\/css\/backoffice\/utils\/variables\/colors\/_semantic-palette.scss":"b0f9d89847d2ee9807fe143bdea5a6cd","..\/css\/backoffice\/utils\/variables\/colors\/_lifecycle-palette.scss":"ea06e857c5d9d442d0b3bdd66db10a7f","..\/css\/backoffice\/utils\/variables\/_border-radius.scss":"334102609a32eb78af0be65efddbe644","..\/css\/backoffice\/utils\/variables\/_depression.scss":"8870a4b14e08d8dbbc98ce833cc92faa","..\/css\/backoffice\/utils\/variables\/_elevation.scss":"09b58442b46fd3722ae9f9b9941504fb","..\/css\/backoffice\/utils\/variables\/_path.scss":"5127683357ba3375fadd33b0e5722908","..\/css\/backoffice\/utils\/variables\/_typography.scss":"4df6a684b909cba8dc44bfc71ac7bc1f","..\/css\/backoffice\/utils\/mixins\/_all.scss":"afefab135bcf21daffa3022ce4529a08","..\/css\/backoffice\/utils\/helpers\/_all.scss":"f7d426dd51c135fe339b583087d7d42c","..\/css\/backoffice\/utils\/helpers\/_border-radius.scss":"4e39edeb6ee7c4ea71f3abdda49256f3","..\/css\/backoffice\/utils\/helpers\/_color.scss":"36008fe20050d3cbb0c7d4502efa9c9b","..\/css\/backoffice\/utils\/helpers\/_depression.scss":"c2a55de471513d368b9ff1c1ca6a1f62","..\/css\/backoffice\/utils\/helpers\/_elevation.scss":"797cdb5c457e83f8e4109f69bda71626","..\/css\/backoffice\/utils\/helpers\/_font-icon.scss":"139adb6b6c29d5532891665adeec5de0","..\/css\/backoffice\/utils\/helpers\/_typography.scss":"cc571d38be1ae67ea53cca26245fb2eb","..\/css\/backoffice\/utils\/helpers\/_misc.scss":"866069015c051206382a9b0094ebc199","..\/css\/backoffice\/vendors\/_all.scss":"392b58d5b87b484d8eaca8bb168f0992","..\/css\/backoffice\/vendors\/_bulma-variables-overload.scss":"27ef02fce9072a3beea71ee34b10ad31","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/bulma.scss":"ac6337c71901f71b197a6628404a70fa","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/utilities\/_all.scss":"e374bc4ffb043b458d29e319b37fec03","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/utilities\/_initial-variables.scss":"527552844220a961a10b9af7b75add8b","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/utilities\/_functions.scss":"b39215085d7b424be74e05ae0c9a096b","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/utilities\/_animations.scss":"9eeec504cab94a45a597592020b7f0e7","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/utilities\/_mixins.scss":"6201fa9f37198a13291708785bed8c9c","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/utilities\/_controls.scss":"d2fd10c6dc0750b99b1f40952e8a4562","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/base\/_all.scss":"22cda0b152315361269f768c4a0e08d0","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/base\/_minireset.scss":"53ee547c0bff77ba3e6353def2f8729b","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/base\/_generic.scss":"c6a82d37120ed7d2dc7a64dccac78efd","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_all.scss":"c97722cd26e014967f6bff6133d43b44","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_box.scss":"d951bc383ad44b7497e9e9b1ab0dbe9c","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_button.scss":"7ab91729f48c3e49d0f6efafda6cbf6f","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_container.scss":"e4cbd75d93c57a919fd4c183ef80e4ba","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_content.scss":"4123c3d4d782cfbaaa8d4726f3a0425a","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_icon.scss":"b9900e2949eaa5a81a56ec382120cf39","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_image.scss":"4a1e324a1b4accad3e777f1bf0117089","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_notification.scss":"5573e46f01e45b1943a574ec1bdbe83c","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_progress.scss":"3700aa5f4e7b0f58b932e242b3bca415","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_table.scss":"4926ed56e8c53fd01543a66c009e0812","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_tag.scss":"b09d520b88f166e2847aed34f1f391e9","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_title.scss":"ecf774ebb3ddaa9097ea7fc66f416a0c","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/elements\/_other.scss":"0e3571082a9629565dddb46712695756","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/form\/_all.scss":"414c51848e9f554070f97df2fe347a78","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/form\/_shared.scss":"73134a972f286fb24dc44e01ef0cf679","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/form\/_input-textarea.scss":"73e1d5c1673fdcd4c70d4a3125a3cdb5","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/form\/_checkbox-radio.scss":"c7430dbb855100ff193641bf31904ccb","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/form\/_select.scss":"c16a527986de7020f25e263943729937","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/form\/_file.scss":"c7a1351cfd94269350029a92dc7db83e","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/form\/_tools.scss":"c2bf0379d43ef365c981b38ef6bfff6c","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_all.scss":"398290ce7b00255b62e0b0c3ad6e6001","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_breadcrumb.scss":"7d90b4a6fae954f3e0c5e42e8c0c452d","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_card.scss":"16ea78a5288bd6ef6f665f1617b56702","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_dropdown.scss":"1a104de77315d37b7bdbd63eb3713be3","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_level.scss":"ce9549ec67ec27e93525de339d5bca87","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_media.scss":"ce5a90fcd100550bb754911ded93b055","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_menu.scss":"95b9cf3ffaec3122b790d86b0e27d299","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_message.scss":"0eff66899482f72804bf97b54e2a1e43","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_modal.scss":"b028228728cd5d50024ec4df9a8ecad3","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_navbar.scss":"8fb55c78c7bceee235db0ce27b344ada","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_pagination.scss":"6f4118ee0348e59cb1e4352d07a913bb","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_panel.scss":"c02cac8901cd7355b3e17ff832fcc59e","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/components\/_tabs.scss":"7b1d3b07dad7d06c9845bf244bceb985","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/grid\/_all.scss":"dff17fcb0a743bc82e2f130ae638baaa","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/grid\/_columns.scss":"52a2c66125f03f8dd707837b2ae67be5","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/grid\/_tiles.scss":"c3cbb200243be1702bf3f20fc003a133","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/helpers\/_all.scss":"cc385355f8f6ac3947c46ac83ffb9621","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/helpers\/_color.scss":"acbcbb2198ae9d0ee36a471d18b6d003","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/helpers\/_float.scss":"1e1656cbd9628e4889ed0c669ff8d552","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/helpers\/_other.scss":"8ea9052a4dff7ce651cb480ae76c3537","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/helpers\/_overflow.scss":"724297f6af3b8ca69fd8532d36992b1f","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/helpers\/_position.scss":"41d70d52c4d9078622e374f96f2266c5","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/helpers\/_spacing.scss":"d54ad9ee813ef6a96aeb2b6b39295909","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/helpers\/_typography.scss":"017c280d5e0d4fe90aa54067d483c965","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/helpers\/_visibility.scss":"4fa33c151d85b0dd99ed1bab93185461","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/layout\/_all.scss":"cd3a2d35edc7b6d00bc65585b2b35961","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/layout\/_hero.scss":"44f9f81a58020b964b856c914c327430","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/layout\/_section.scss":"eacc632700c2257f51bdcabe7dc13d04","..\/css\/backoffice\/vendors\/..\/..\/..\/node_modules\/bulma-scss\/layout\/_footer.scss":"fb4c389411fcff6aacabf5e4de0c403e","..\/css\/backoffice\/vendors\/_ckeditor.scss":"35e296a14a5ff8866721b9d90fb84c25","..\/css\/backoffice\/vendors\/_jqueryui.scss":"d939c626b989afa15d068107f97caaee","..\/css\/backoffice\/vendors\/_jquery-multiselect.scss":"9e07f3c7417a9b939303ba83d564737e","..\/css\/backoffice\/vendors\/_datatables.scss":"9afd18098bf4ea37af696c3f0d2f1f6b","..\/css\/backoffice\/vendors\/_jquery-treeview.scss":"d962e8db308512292d1ea04d777d3761","..\/css\/backoffice\/base\/_all.scss":"5a90fbde32f512506f5822ae9f5e05df","..\/css\/backoffice\/base\/_base.scss":"de2605ea6cb59fe350ee33d9714acd09","..\/css\/backoffice\/base\/_typography.scss":"6eb47d257105bd09af2c4ef2355c6dda","..\/css\/backoffice\/components\/_all.scss":"3a838df1f0e1542d78cb92a0fb296c66","..\/css\/backoffice\/components\/_alert.scss":"81cc21c278295b369f82e32348d9a602","..\/css\/backoffice\/components\/_button.scss":"3c40a0ce008cebaf48b2946f7d6b62a7","..\/css\/backoffice\/components\/_button-group.scss":"358f1096ffeb30e1d86a2df6c9cca347","..\/css\/backoffice\/components\/_breadcrumbs.scss":"4df4bc057791ad985ec7b3e25d605d65","..\/css\/backoffice\/components\/_collapsible-section.scss":"16efa2362d8e0aa383185565f76abc9c","..\/css\/backoffice\/components\/_quick-create.scss":"124861a5d6bff49dd92706517e8518ac","..\/css\/backoffice\/components\/_global-search.scss":"65f8925591801724b8fef0f110892508","..\/css\/backoffice\/components\/popover-menu\/_popover-menu.scss":"7bf9c17f1879407cb89fd618fece15ab","..\/css\/backoffice\/components\/popover-menu\/_popover-menu-item.scss":"fbd6a59276715245240eea0c7b28d7db","..\/css\/backoffice\/components\/_newsroom-menu.scss":"ff947d9c69be99e4129dbfbe4189ad43","..\/css\/backoffice\/components\/_panel.scss":"e1e74b2f27da0322e73f1a3cd01cb5d1","..\/css\/backoffice\/components\/_modal.scss":"d41d8cd98f00b204e9800998ecf8427e","..\/css\/backoffice\/components\/dashlet\/_all.scss":"c9dd70be9f33b53701c6afc7a4749190","..\/css\/backoffice\/components\/dashlet\/_dashlet.scss":"6556cb93e2c0fc8cdb14ba0a91a414a2","..\/css\/backoffice\/components\/dashlet\/_dashlet-badge.scss":"d8043a579d9350413838e5d82925cccc","..\/css\/backoffice\/components\/dashlet\/_dashlet-header-static.scss":"df944fbcf00717cb7bb373e5f57c1b12","..\/css\/backoffice\/components\/dashlet\/_dashlet-header-dynamic.scss":"3dedc214612dde1f4ecd19e59986c4ee","..\/css\/backoffice\/components\/input\/_all.scss":"c8bceeb98cc73d95740ae86aaf504fcb","..\/css\/backoffice\/components\/input\/_input.scss":"8bb63d30efdeceb16360a1db16f13986","..\/css\/backoffice\/components\/input\/_input-checkbox.scss":"ad1644e915cffbee9b94012a8a17949c","..\/css\/backoffice\/components\/input\/_input-date.scss":"9322d73459bd5e9ddc9e830eb92a6c1b","..\/css\/backoffice\/components\/input\/_input-datetime.scss":"ee3f15ab1dde584bf65457bbed3668cc","..\/css\/backoffice\/components\/input\/_input-duration.scss":"6d12508069ff3ca94bfa142c4228f2cb","..\/css\/backoffice\/components\/input\/_input-image.scss":"fae0b98d530e4929f22e16bd5c7adaf1","..\/css\/backoffice\/components\/input\/_input-select.scss":"be918e7a48d88f35ad405d8e881292eb","..\/css\/backoffice\/components\/input\/_input-select-icon.scss":"7356bd623ae91ac9c3df1bc2c52061ef","..\/css\/backoffice\/components\/input\/_input-string.scss":"d41d8cd98f00b204e9800998ecf8427e","..\/css\/backoffice\/components\/input\/_input-set.scss":"1b17f6ca73bf1ebaa0e0d8c7ddc7e270","..\/css\/backoffice\/components\/input\/_input-text.scss":"b5a43875b1d9a4af9a2d3f610905b517","..\/css\/backoffice\/components\/_pill.scss":"870d9184ca8f3325531b96cfa292df03","..\/css\/backoffice\/components\/_prop.scss":"2c29ce740e9301491df004baa7da78af","..\/css\/backoffice\/components\/_title.scss":"6c8e1a58272bc31a8fa8279f881741dc","..\/css\/backoffice\/components\/_datatable.scss":"241eeb462f302cb7b50371eddc46c81e","..\/css\/backoffice\/components\/_form.scss":"94dc266452aeb26f6525a24f84e5e383","..\/css\/backoffice\/components\/_fieldset.scss":"85ce5bce4306e927de99d77b6029cf25","..\/css\/backoffice\/components\/_field.scss":"3dbb8632ad1435f557ab699725611e89","..\/css\/backoffice\/components\/toolbar\/_all.scss":"12e9e9094b4f7d0ccbb4428383b6e728","..\/css\/backoffice\/components\/toolbar\/_toolbar.scss":"e7078bb37ef355ba217c1a8a9f587e1a","..\/css\/backoffice\/components\/toolbar\/_toolbar-spacer.scss":"1fcdd603b20e5848235e930014887d73","..\/css\/backoffice\/components\/toolbar\/_separator.scss":"8ca10dcc3f1d469623d0538748acd4d5","..\/css\/backoffice\/components\/_richtext.scss":"361c5ded07c8e835619bf45e10f7a602","..\/css\/backoffice\/components\/_formtable.scss":"94dc266452aeb26f6525a24f84e5e383","..\/css\/backoffice\/components\/_formtablerow.scss":"94dc266452aeb26f6525a24f84e5e383","..\/css\/backoffice\/components\/_search-form.scss":"edff6421aef1d5bdfec04d788405327d","..\/css\/backoffice\/components\/_field-badge.scss":"628c1d504f86bde8a2bf497edf7541a5","..\/css\/backoffice\/components\/_file-select.scss":"d63bda867799a8f4a1b2adc376024931","..\/css\/backoffice\/components\/_medallion-icon.scss":"ccff061880095b8f9f40412293ac9f76","..\/css\/backoffice\/layout\/_all.scss":"e2eacaef476c057f64d5e28af3262db5","..\/css\/backoffice\/layout\/_navigation-menu.scss":"163581a19a13214fd67a90d020baf451","..\/css\/backoffice\/layout\/_top-bar.scss":"1127d54e2a9f821512f3936288b303bf","..\/css\/backoffice\/layout\/_content.scss":"0fc4b9c60d4cb12faf5eaeb8290185d7","..\/css\/backoffice\/layout\/tab-container\/_tab-container.scss":"046e39b568c76b01f5dab84c3c0e7a79","..\/css\/backoffice\/layout\/tab-container\/_tab.scss":"742392bfd94a5a115bc144ea9aa4ff3f","..\/css\/backoffice\/layout\/multi-column\/_multi-column.scss":"e99d4afb40886d6d942c5020b288b1b8","..\/css\/backoffice\/layout\/multi-column\/_column.scss":"0561df371796667551c8f8cfb0676470","..\/css\/backoffice\/layout\/dashboard\/_all.scss":"0caa6d19d2a52396cbe3752d5bfcd6da","..\/css\/backoffice\/layout\/dashboard\/_dashboard.scss":"07d543ee725e338a79fb9e18eeb8094b","..\/css\/backoffice\/layout\/dashboard\/_dashboard-editor.scss":"54f9a19e48114c02ffd49f8fa3b8c0d9","..\/css\/backoffice\/layout\/wizard-container\/_wizard-container.scss":"6397850c8975248830a1abf177e13023","..\/css\/backoffice\/layout\/object\/_object-details.scss":"0ea429c0dbdff5360855ff6cb625fc4f","..\/css\/backoffice\/layout\/activity-panel\/_all.scss":"e9a1eae6d8be777f838919d22e5e3e45","..\/css\/backoffice\/layout\/activity-panel\/_activity-panel.scss":"dd44ff120b23d4e5cd0100d83451a040","..\/css\/backoffice\/layout\/activity-panel\/_caselog-entry-form.scss":"bb6d49f017e9cf73b3e4ec3f7e5f1637","..\/css\/backoffice\/layout\/activity-panel\/_activity-entry.scss":"e0e8232a4bf6a3b99eb4e41163f25257","..\/css\/backoffice\/layout\/activity-panel\/_caselog-entry.scss":"8b6fb224c4a598bd8987e5f8e32e6405","..\/css\/backoffice\/layout\/activity-panel\/_transition-entry.scss":"054a4415337e48a907cd9682e2f1ca05","..\/css\/backoffice\/layout\/activity-panel\/_edits-entry.scss":"9463d0a303d9be3a28b5feacca662b9c","..\/css\/backoffice\/layout\/activity-panel\/_notification-entry.scss":"76b7431c8953ff7db5c1a2c4218e00d1","..\/css\/backoffice\/layout\/blocks-integrations\/_all.scss":"628553bd54067b84ba1d17656df94c45","..\/css\/backoffice\/layout\/blocks-integrations\/_dashlet-within-dashboard.scss":"b9c1693a941732c66a9fb92e51609fc7","..\/css\/backoffice\/layout\/blocks-integrations\/_add-to-dashboard.scss":"3ecdea8473b6014dd4e73f98e6eaa5b1","..\/css\/backoffice\/layout\/blocks-integrations\/_caselog-entry-form-within-activity-panel.scss":"0ad42544e79da33693facb23eae57b9e","..\/css\/backoffice\/layout\/blocks-integrations\/_panel-with-tab-container.scss":"1f9073afc9c18d5df23f1866298bc3e4","..\/css\/backoffice\/layout\/blocks-integrations\/_panel-with-datatable.scss":"a96f57fa925f87f0c17eacec6ba98fb9","..\/css\/backoffice\/layout\/blocks-integrations\/_object-details-with-tab-container.scss":"cbe8501a15816de7365564ef4f7877fd","..\/css\/backoffice\/layout\/blocks-integrations\/_medallion-with-blocklist.scss":"878ff11609268b57b09ab44c87e164a8","..\/css\/backoffice\/pages\/_all.scss":"84b5f499283c2d0ad35999d77d2d24ac","..\/css\/backoffice\/pages\/_base.scss":"f17903f37251c03e8ee4ff6a9a1d20df","..\/css\/backoffice\/pages\/_preferences.scss":"4b94210a910e9c1df1fcd93c02916f36","..\/css\/backoffice\/pages\/_attachments.scss":"3c1a03b53ed9edbdd1bf94b215536d3a","..\/css\/backoffice\/pages\/_impact-analysis.scss":"6ce563252f413877876431f6a067c6ba","..\/css\/backoffice\/pages\/_audit.scss":"100f725cb6f0b801fda8243cf9342f26","..\/css\/backoffice\/pages\/_data-synchro.scss":"0c0cc941c901d5ffa4dc0845e6f11d6c","..\/css\/backoffice\/pages\/_datamodel-viewer.scss":"e11bb77c712cbbaa22a11ed24949b239","..\/css\/backoffice\/pages\/_csv-import.scss":"c32a07561c1a90ff754b7da2181b7020","..\/css\/backoffice\/pages\/_global-search.scss":"da4695e624d3a95e3b1c9035b4529a20","..\/css\/backoffice\/pages\/_welcome-popup.scss":"bd2b7cb8e148fc5e469e553e596001e4","..\/css\/backoffice\/application\/_all.scss":"c195d8a4e036571ec39869febd886bab","..\/css\/backoffice\/application\/display-block\/_all.scss":"b0b2c8b0064b5f29d8be3d20fd3302ec","..\/css\/backoffice\/application\/display-block\/_block-csv.scss":"8698dfb104cb8986453fec80e4ef64c9","..\/css\/backoffice\/application\/display-block\/_block-indirect-links.scss":"6262d1640f98dbff9e50ea66efed9161","..\/css\/backoffice\/application\/tabular-fields\/_all.scss":"4f6a05c7f41b0bfd60dd91b442ff95a9","..\/css\/backoffice\/application\/tabular-fields\/_tabular-fields-selector.scss":"bd7d531d18c69e714c3d0ac499bbcf56","..\/css\/backoffice\/themes\/_all.scss":"afefab135bcf21daffa3022ce4529a08","..\/css\/backoffice\/_shame.scss":"25a808c59f06c09c8bdee9179cf5a3e9"}}
=== SIGNATURE END ===
*/

How to deliver precompiled files ?

In development environnement (utils::IsDevelopmentEnvironment() === true), when you run setup, precompiled files will be generated under path defined in XML files. this is a way to push easily this changes via git (instead of copying afterwhile from data/precompiled_styles).

see here git pointing at modified files:

~/workspace/iTop  (feature/2982-finalize) $ git status
On branch feature/2982-finalize
Your branch is up to date with 'origin/feature/2982-finalize'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   datamodels/2.x/itop-structure/precompiled-themes/fullmoon/main.css
        modified:   datamodels/2.x/itop-structure/precompiled-themes/test-red/main.css
Make sure these files already exist and iTop has write rights on these files.
latest/advancedtopics/setup_theme_precompilation.txt ยท Last modified: 2024/09/10 10:25 by 127.0.0.1
Back to top
Contact us