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