Actions
Bug #26002
openThe directive page is much slower with Rudder 8.1 than in 7.3
Status:
Pending release
Priority:
1 (highest)
Assignee:
Category:
Web - Config management
Target version:
Pull Request:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
0
Name check:
To do
Fix check:
Checked
Regression:
No
Description
When we access the Directive page, it takes a couple of second before we can click on a specific directive
Then, when we want to access a directive, the loader sign stays for at least 2 seconds, with apparent reload of the panel (if we change tab, it reverts to the parameter tabs)
On the load platform, it takes a solid 5 seconds to fully load a directive
Updated by Nicolas CHARLES 26 days ago
- Assignee set to François ARMAND
- Priority changed from To review to 1 (highest)
Updated by François ARMAND 26 days ago
There is nothing obvious network-related for the first page load: the directive page is loaded from the GET. Perhaps some JS processing takes time, I will look at that latter.
For displaying a directive, things are strange though:
- some request are doubled:
ruleCompliances = {}; recentChanges = {}; recentGraphs = {}; refreshTable("grid_rules_grid_zone", [{"name": "Global configuration for all nodes", "id": "32377fd7-02fd-43d0-aab7-28460a91347b", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "reasons": "Rule unapplied, No policy defined", "checkboxCallback": function(checked) {lift.ajax('F1669402744344Y5MMXM=' + encodeURIComponent(checked), null, null, null);}}, {"name": "20 - After 100, yes", "id": "05cfdfca-a1cb-4750-b902-bb4bf3c1d8f6", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "reasons": "Empty groups", "checkboxCallback": function(checked) {lift.ajax('F1669402744345AJLVM2=' + encodeURIComponent(checked), null, null, null);}}, {"name": "IIS", "id": "0d6f450a-575a-4b7a-9fce-b452a663e114", "description": "", "applying": false, "category": "", "status": "N/A", "trClass": " error", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "checkboxCallback": function(checked) {lift.ajax('F1669402744346WHR32Z=' + encodeURIComponent(checked), null, null, null);}}, {"name": "Subnode with union", "id": "12e9aae9-26f9-4b2d-932c-a9f2595ba74b", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "reasons": "Empty groups", "checkboxCallback": function(checked) {lift.ajax('F1669402744347YBYWQM=' + encodeURIComponent(checked), null, null, null);}}, {"name": "ZZ - last rule ?", "id": "1c64c0ad-c5a3-42fb-8b1e-493b77a04cc4", "description": "", "applying": false, "category": "", "status": "In application", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "checkboxCallback": function(checked) {lift.ajax('F1669402744348UPWBUI=' + encodeURIComponent(checked), null, null, null);}}, {"name": "JCD Fedora localization - 4.0 (fc18)", "id": "207a7c6e-3f42-4cb5-aaad-81f3ec7ae925", "description": "", "applying": false, "category": "Some more cool name", "status": "N/A", "trClass": " error", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "checkboxCallback": function(checked) {lift.ajax('F1669402744349SK32G1=' + encodeURIComponent(checked), null, null, null);}}, {"name": "A new rule!", "id": "2278f76f-28d3-4326-8199-99561dd8c785", "description": "a beautiful archive", "applying": false, "category": "", "status": "In application", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{\"foo2\": \"bar2\", \"plop\": \"plop\"}", "tagsDisplayed": [{"key":"foo2","value":"bar2"},{"key":"plop","value":"plop"}], "checkboxCallback": function(checked) {lift.ajax('F16694027443503GDDWZ=' + encodeURIComponent(checked), null, null, null);}}, {"name": "a test 1", "id": "2c544941-d74a-4edf-9201-63af40db47f7", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "reasons": "Rule unapplied, No policy defined, Empty groups", "checkboxCallback": function(checked) {lift.ajax('F1669402744351UNYVS0=' + encodeURIComponent(checked), null, null, null);}}, {"name": "100 - Before 20 \u005co/", "id": "3085519f-6de6-484f-92a0-51c7732d38ec", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "reasons": "Technique for \u0027NTP Technique cloned\u0027 disabled", "checkboxCallback": function(checked) {lift.ajax('F1669402744352GXERJW=' + encodeURIComponent(checked), null, null, null);}}, {"name": "test", "id": "33509e0f-4559-4ed2-aeb4-6f415526a243", "description": "add a description", "applying": false, "category": "foo", "status": "Not applied", "trClass": "", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "reasons": "Rule unapplied, No policy defined, Empty groups", "checkboxCallback": function(checked) {lift.ajax('F1669402744353VIPGF4=' + encodeURIComponent(checked), null, null, null);}}, {"name": "App OpenSCAP Relay4", "id": "3c222b29-b069-4ebe-9685-5fdeab701ebb", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "reasons": "Rule unapplied, No policy defined, Empty groups", "checkboxCallback": function(checked) {lift.ajax('F1669402744354SD4GBU=' + encodeURIComponent(checked), null, null, null);}}, {"name": "a new test rule", "id": "440bbc30-c995-4be6-bd89-89364335990c", "description": "This is my new rule testing elm UI", "applying": false, "category": "foo", "status": "Not applied", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "reasons": "Rule unapplied, No policy defined", "checkboxCallback": function(checked) {lift.ajax('F1669402744355ZTHWIW=' + encodeURIComponent(checked), null, null, null);}}, {"name": "One node motd", "id": "4a9068e4-8bc6-4cd5-9885-0e9653c83002", "description": "", "applying": false, "category": "", "status": "N/A", "trClass": " error", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "checkboxCallback": function(checked) {lift.ajax('F1669402744356V2KFY5=' + encodeURIComponent(checked), null, null, null);}}, {"name": "Welcome", "id": "77fc8bcc-77bd-4e3f-a350-933a02919de7", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "reasons": "Rule unapplied, No policy defined", "checkboxCallback": function(checked) {lift.ajax('F16694027443571CVIL4=' + encodeURIComponent(checked), null, null, null);}}, {"name": "Only ffffffff-94ef-0000-0264-78f063000000", "id": "7a772593-1919-48af-bf3c-2a9750604793", "description": "", "applying": false, "category": "", "status": "In application", "trClass": "", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "checkboxCallback": function(checked) {lift.ajax('F1669402744358JL1T2W=' + encodeURIComponent(checked), null, null, null);}}, {"name": "Subgroup with Intersect", "id": "812c9785-b2d8-4624-855b-cbbe8d218744", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "reasons": "Empty groups", "checkboxCallback": function(checked) {lift.ajax('F1669402744359JJH0IR=' + encodeURIComponent(checked), null, null, null);}}, {"name": "Test Change Validation", "id": "a3a796b9-8499-4e0b-86c5-975fc5a13505", "description": "", "applying": false, "category": "", "status": "In application", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{\"foo\": \"bar\"}", "tagsDisplayed": [{"key":"foo","value":"bar"}], "checkboxCallback": function(checked) {lift.ajax('F1669402744360T5RZPU=' + encodeURIComponent(checked), null, null, null);}}, {"name": "only centos", "id": "b4c1b6c8-d836-417d-a4ab-9edc3d42e32c", "description": "", "applying": false, "category": "", "status": "In application", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "checkboxCallback": function(checked) {lift.ajax('F1669402744361OINYZE=' + encodeURIComponent(checked), null, null, null);}}, {"name": "\u00df - UTF-8 sorting", "id": "d60ac228-ff09-41b0-b02e-b7ddb6df9f39", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "reasons": "Rule unapplied, No policy defined, Empty groups", "checkboxCallback": function(checked) {lift.ajax('F1669402744362A5THZP=' + encodeURIComponent(checked), null, null, null);}}, {"name": "01 - Rule on top", "id": "db1eb3cc-e405-498c-8ade-9c7c860ce980", "description": "", "applying": false, "category": "", "status": "Partially applied", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "reasons": "Directive testreportid disabled, Directive NTP Technique cloned disabled", "checkboxCallback": function(checked) {lift.ajax('F16694027443634S11GD=' + encodeURIComponent(checked), null, null, null);}}, {"name": "rulerulerule", "id": "e0402cf2-8dd6-4b7b-aef2-3f24b5c2b265", "description": "", "applying": false, "category": "Some more cool name", "status": "N/A", "trClass": " error", "policyMode": "enforce", "explanation": "This mode is the globally defined default. You can change it in the global <i><b>settings</b></i>.", "tags": "{}", "tagsDisplayed": [], "checkboxCallback": function(checked) {lift.ajax('F1669402744364OYFANN=' + encodeURIComponent(checked), null, null, null);}}, {"name": "050. Test grouping by value", "id": "eff9e40d-5ccf-450a-801a-d4432a7592e4", "description": "", "applying": false, "category": "", "status": "In application", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "checkboxCallback": function(checked) {lift.ajax('F1669402744365EFQFWG=' + encodeURIComponent(checked), null, null, null);}}, {"name": "Test new rule", "id": "f300ef37-55a8-4e7f-947c-bc192599bd6d", "description": "", "applying": false, "category": "", "status": "Not applied", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "reasons": "Technique for \u0027File content (from remote template)\u0027 disabled", "checkboxCallback": function(checked) {lift.ajax('F1669402744366SZBS2P=' + encodeURIComponent(checked), null, null, null);}}, {"name": "Nodes only", "id": "ff31e98b-7325-4926-a8d8-fe551d2c3be1", "description": "test foo", "applying": false, "category": "", "status": "In application", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{\"foo\": \"bar\"}", "tagsDisplayed": [{"key":"foo","value":"bar"}], "checkboxCallback": function(checked) {lift.ajax('F1669402744367ROMDE3=' + encodeURIComponent(checked), null, null, null);}}, {"name": "01 - Rule on top in my new branch v2", "id": "db1eb3cc-e405-498c-8ade-9c7c860ce980+myNewBranche", "description": "", "applying": false, "category": "", "status": "In application", "trClass": "", "policyMode": "mixed", "explanation": "This rule is applied on at least one node or directive that will <b class=\u0027text-Enforce\u0027>enforces</b> configurations, and at least one that will <b class=\u0027text-Audit\u0027>audits</b> them.", "tags": "{}", "tagsDisplayed": [], "checkboxCallback": function(checked) {lift.ajax('F1669402744368K3ZHF5=' + encodeURIComponent(checked), null, null, null);}}] ); ;
- one take A LOT of time (two times) with payload:
jQuery('#'+"techniqueDetails").html(""); jQuery('#'+"policyConfiguration").replaceWith("\u000a\u000a <div id=\"policyConfiguration\">\u000a \u000a <style>\u000a .rudder-template .template-main .main-container > .fit-height,\u000a .rudder-template .template-main .main-container .fit-height > .fit-height,\u000a #techniqueDetails {\u000a height: initial !important;\u000a }\u000a </style>\u000a <form id=\"F1669402744289P31MNX\"><div id=\"editForm\">\u000a <div class=\"main-header\">\u000a <div class=\"header-title\">\u000a <h1>\u000a <i class=\"title-icon fa fa-file-text\"></i>\u000a <span id=\"info-title\">Directive <b id=\"directiveTitle\"><span>Several packages </span></b></span>\u000a </h1>\u000a \u000a <div class=\"header-buttons\">\u000a <input id=\"removeAction\" name=\"zF1669402744220OSJXZ1\" type=\"submit\" class=\"btn btn-danger\" value=\"Delete\">\u000a <input id=\"desactivateAction\" name=\"zF1669402744221AMXF1W\" type=\"submit\" class=\"btn btn-default\" value=\"Disable\">\u000a <button id=\"clone\" class=\"btn btn-default\" type=\"button\">Clone</button>\u000a <input name=\"zF16694027442230QO151\" type=\"submit\" value=\"Save\" id=\"policyConfigurationSave\" class=\"btn btn-success\">\u000a </div>\u000a \u000a </div>\u000a \u000a </div>\u000a <div class=\"main-navbar\">\u000a <ul class=\"nav nav-underline\">\u000a <li id=\"infoNav\" class=\"nav-item\" role=\"presentation\">\u000a <button aria-selected=\"true\" aria-controls=\"directiveInfo\" role=\"tab\" type=\"button\" data-bs-target=\"#directiveInfo\" data-bs-toggle=\"tab\" class=\"nav-link active\">Information</button>\u000a </li>\u000a <li id=\"paramNav\" class=\"nav-item\">\u000a <button aria-selected=\"false\" aria-controls=\"parametersTab\" role=\"tab\" type=\"button\" data-bs-target=\"#parametersTab\" data-bs-toggle=\"tab\" class=\"nav-link\">Parameters</button>\u000a </li>\u000a <li id=\"rulesNav\" class=\"nav-item\" role=\"presentation\">\u000a <button aria-selected=\"false\" aria-controls=\"rulesTab\" role=\"tab\" type=\"button\" data-bs-target=\"#rulesTab\" data-bs-toggle=\"tab\" class=\"nav-link\">Target rules</button>\u000a </li>\u000a <li id=\"complianceNav\" class=\"nav-item\" role=\"presentation\">\u000a <button aria-selected=\"false\" aria-controls=\"complianceTab\" role=\"tab\" type=\"button\" data-bs-target=\"#complianceTab\" data-bs-toggle=\"tab\" class=\"nav-link\" id=\"complianceLinkTab\">Compliance</button>\u000a </li>\u000a </ul>\u000a </div>\u000a <div id=\"notification\"></div>\u000a \u000a <div class=\"main-details\">\u000a \u000a <div class=\"row\">\u000a <div class=\"col\">\u000a \u000a </div>\u000a </div>\u000a \u000a <div class=\"tab-content\">\u000a <div class=\"tab-pane active\" id=\"directiveInfo\">\u000a <div class=\"row\">\u000a <div class=\"col-sm-12 col-md-6 col-xl-7\">\u000a <div id=\"nameField\" class=\"row wbBaseField form-group \">\u000a <label for=\"F1669402744224K03G5M\" class=\"col-sm-12 wbBaseFieldLabel\"><span>Name</span> </label>\u000a <div class=\"col-sm-12\">\u000a <input name=\"F16694027442251M1YGX\" type=\"text\" value=\"Several packages\" id=\"F1669402744224K03G5M\" class=\"form-control\">\u000a \u000a \u000a </div>\u000a </div>\u000a <div id=\"tagField\">\u000a <div id=\"tags-app\"></div>\u000a <div id=\"directiveTags\"><textarea id=\"tags-result\" name=\"F16694027442261BULKZ\"></textarea></div>\u000a </div>\u000a <div id=\"shortDescriptionField\" class=\"row wbBaseField form-group \">\u000a <label for=\"F1669402744227PLWZND\" class=\"col-sm-12 wbBaseFieldLabel\"><span class=\"fw-normal\">Short description</span> </label>\u000a <div class=\"col-sm-12\">\u000a <input name=\"F16694027442280W3DCM\" type=\"text\" value=\"\" id=\"F1669402744227PLWZND\" class=\"form-control\">\u000a \u000a \u000a </div>\u000a </div>\u000a <div id=\"longDescriptionFieldMarkdownContainer\">\u000a <label class=\"fw-normal\">Description\u000a <i id=\"lift-event-js-F1669402744290VJBBR0\" title=\"Edit description\" class=\"fa fa-pencil text-primary cursorPointer half-opacity edit-description-icon\"></i>\u000a </label>\u000a <div class=\"markdown\">\u000a <div id=\"longDescriptionFieldMarkdown\"></div>\u000a <p class=\"nodisplay half-opacity\" id=\"longDescriptionFieldMarkdownEmpty\">No description defined, click on <i id=\"lift-event-js-F1669402744291DNW5JM\" class=\"fa fa-pencil text-primary cursorPointer half-opacity\"></i> to edit </p>\u000a </div>\u000a </div>\u000a <div class=\"d-flex visually-hidden\" id=\"longDescriptionFieldContainer\">\u000a <div id=\"longDescriptionField\" class=\"row wbBaseField form-group col-6 pe-2\">\u000a <label for=\"F1669402744229XOYYEV\" class=\" wbBaseFieldLabel\"><span class=\"fw-normal\">Description</span> <i id=\"lift-event-js-F1669402744292IYVVTG\" class=\"fa fa-check text-success cursorPointer half-opacity\" title=\"Valid description\"></i> <i id=\"lift-event-js-F1669402744293EU0ERX\" class=\"fa fa-eye-slash text-primary cursorPointer half-opacity\" title=\"Show/hide preview\"></i></label>\u000a <div class=\"\">\u000a <textarea name=\"F16694027442305LBYVH\" id=\"F1669402744229XOYYEV\" class=\"form-control\" rows=\"15\"></textarea>\u000a \u000a \u000a </div>\u000a </div>\u000a <div class=\"col-md-6 ps-2\" id=\"longDescriptionFieldMarkdownPreviewContainer\">\u000a <label class=\"fw-normal\">Preview</label>\u000a <div class=\"markdown\" id=\"longDescriptionFieldPreviewMarkdown\"></div>\u000a </div>\u000a </div>\u000a\u000a <div id=\"showTechniqueDescription\" class=\"directiveTechnicalInfo\"><button id=\"lift-event-js-F1669402744294ANUWYA\" type=\"button\" class=\"btn btn-technical-details btn-default\">technique description</button></div>\u000a <div class=\"markdown\" id=\"techniqueDescriptionPanel\" style=\"display:none\">\u000a <div id=\"techniqueDescription\">This technique operates on individual packages.\u000a\u000a It will ensure that the defined packages are in the desired state (installed or removed) using the appropriate package manager.</div>\u000a </div>\u000a\u000a <div id=\"priority\" class=\"row wbBaseField form-group mt-3\">\u000a <label for=\"F1669402744231JG3V5M\" class=\"col-sm-12 wbBaseFieldLabel\"><div>\u000a Priority\u000a <span>\u000a <span class=\"ruddericon fa fa-question-circle\" data-bs-toggle=\"tooltip\" title=\"
<div>
 <h4> Priority </h4>
 <p>Priority has two uses depending if the technique from which that directive is derived is <b>Unique</b> or not.</p>
 <p>Unique directives can be applied only once (for example Time Settings), so only the highest priority will be applied.</p>
 <p>For <b>non-unique</b> directives, priority is used to choose the order of the directive application when applicable. The
 highest priority directive comes first.</p>
 <p>Note that overriding variable definitions are the ones coming last and so, the used value will be the one with the lowest priority.</p>
 <p>More information is available in <a href="https://docs.rudder.io/reference/current/usage/advanced_configuration_management.html#_special_use_case_overriding_generic_variable_definition">documentation about ordering directive application</a>.</p>
 </div>
\"></span>\u000a </span>\u000a </div> </label>\u000a <div class=\"col-sm-12\">\u000a <select name=\"F1669402744232MUKKFL\" id=\"F1669402744231JG3V5M\" class=\"form-select\"><option value=\"ZSDU22MU12UVFKK0L0AD\">Highest</option><option value=\"5ESGPWV3ACKRZJBUO13A\">+4</option><option value=\"SYBLQDU0TPUDXTS4BIHN\">+3</option><option value=\"R3LI5TOYVY2DNOYODGFU\">+2</option><option value=\"CGGRNAWULCKDLXIFGLS1\">+1</option><option selected=\"selected\" value=\"G5RURLNKJTJ0EC3UQKDU\">Default</option><option value=\"HVIFPHJVJJBTXDMBKHTU\">-1</option><option value=\"BLV42V1ZCMF0EUPCEKU0\">-2</option><option value=\"XIX3YMXKGVCDBWQFERCC\">-3</option><option value=\"VBGIIF14LL0UP5EBES1V\">-4</option><option value=\"G0HI5QV0QC5K5XSP2TVR\">Lowest</option></select>\u000a \u000a \u000a </div>\u000a </div>\u000a <div class=\"wbBaseField form-group\">\u000a <label id=\"policyModesLabel\" class=\"wbBaseFieldLabel\">\u000a Policy mode\u000a <span>\u000a <span class=\"ruddericon fa fa-question-circle\" data-bs-toggle=\"tooltip\" title=\"
<div>
 <h4>Policy mode</h4>
 <p>Configuration rules in Rudder can operate in one of two modes:</p>
 <ol>
 <li><b>Audit</b>: the agent will examine configurations and report any differences, but will not make any changes</li>
 <li><b>Enforce</b>: the agent will make changes to fix any configurations that differ from your directives</li>
 </ol>
 <p>
 By default all nodes and all directives operate in the global default mode defined in
 <b> Settings</b>, which is currently <b>enforce</b>.
 </p>
 <div>
 You may override the agent policy mode on this directive.
 If set to <b>Audit</b> this directive will never be enforced.
 If set to <b>Enforce</b> this directive will appply necessary changes except on nodes with a <b>Verify</b> override setting.
 </div>
 </div>
\"></span>\u000a </span>\u000a </label>\u000a <div id=\"policyModes\" class=\"row wbBaseField form-group \">\u000a <label for=\"F1669402744233I4STI5\" class=\"visually-hidden wbBaseFieldLabel\"><span class=\"fw-normal\">Policy Mode</span> </label>\u000a <div class=\"col-sm-12\">\u000a <div id=\"F1669402744233I4STI5\" class=\"checkbox-group policymode-group\">\u000a <label class=\"radio-inline\">\u000a <input checked=\"checked\" class=\"radio\" type=\"radio\" name=\"F16694027442342CLNDN\" value=\"global\">\u000a <span class=\"radioTextLabel\"><span class=\"global-btn\">Global mode (<span class=\"global-mode enforce\"></span>)</span></span>\u000a </label><label class=\"radio-inline\">\u000a <input class=\"radio\" type=\"radio\" name=\"F16694027442342CLNDN\" value=\"audit\">\u000a <span class=\"radioTextLabel\"><span class=\"audit-btn\">Audit</span></span>\u000a </label><label class=\"radio-inline\">\u000a <input class=\"radio\" type=\"radio\" name=\"F16694027442342CLNDN\" value=\"enforce\">\u000a <span class=\"radioTextLabel\"><span class=\"enforce-btn\">Enforce</span></span>\u000a </label>\u000a </div>\u000a \u000a \u000a </div>\u000a </div>\u000a </div>\u000a <div id=\"version\" class=\"row wbBaseField form-group \">\u000a <label for=\"F1669402744218VTDKPZ\" class=\"col-sm-12 text-bold wbBaseFieldLabel\"><span class=\"fw-normal\">Technique version</span> </label>\u000a <div class=\"version-group\">\u000a <select name=\"F16694027442193ODRVK\" id=\"F1669402744218VTDKPZ\" class=\"form-select\"><option value=\"FDC3EYIGXQTWOMQOYETJ\">1.0 (deprecated)</option><option selected=\"selected\" value=\"XEWXSQKNMBPKARMM2IPG\">1.1 </option><option value=\"IDJ1VCBMJ4J5ZCWXR5KP\">1.2 (deprecated)</option><option value=\"UW5SPUYCPERFFLSQUTX3\">1.3 </option></select>\u000a \u000a \u000a </div>\u000a \u000a <input value=\"Migrate\" class=\"btn btn-default\" id=\"migrationButton\" type=\"submit\" name=\"zF1669402744235VWUIUY\">\u000a </div>\u000a <div id=\"showTechnical\" class=\"directiveTechnicalInfo\"><button id=\"lift-event-js-F1669402744295MU1KUU\" type=\"button\" class=\"btn btn-technical-details btn-default\">Technical details</button></div>\u000a <div class=\"well\" style=\"display:none\" id=\"technicalDetails\">\u000a\u000a <table>\u000a <tbody><tr>\u000a <td><label>Directive ID:</label></td>\u000a <td id=\"directiveID\">1b2fb9bb-2461-49a9-a40c-9050a4b7d51b</td>\u000a </tr>\u000a <tr>\u000a <td><label>Technique ID:</label></td>\u000a <td id=\"techniqueID\">packageManagement</td>\u000a </tr>\u000a <tr>\u000a <td><label>Technique name:</label></td>\u000a <td id=\"techniqueName\"><a href=\"/rudder-web/secure/administration/techniqueLibraryManagement/packageManagement\">\u000a Packages\u000a version\u000a 1.1\u000a </a></td>\u000a </tr>\u000a <tr>\u000a <td><label>Technique unicity:</label></td>\u000a <td id=\"isSingle\"><span>\u000a Multi instance: Several Directives based on this Technique can be applied on any given node\u000a </span></td>\u000a </tr>\u000a </tbody></table>\u000a </div>\u000a </div>\u000a <div class=\"col-sm-12 col-md-6 col-xl-5\">\u000a <div class=\"callout-fade callout-warning visually-hidden\" role=\"alert\" id=\"deprecation-warning\">\u000a <div class=\"marker\">\u000a <span class=\"fa fa-info-circle\"></span>\u000a </div>\u000a <h4>Technique version deprecated</h4>\u000a <div>This Directive uses a version of this Technique that is deprecated: <span id=\"deprecation-message\"></span>.<br>\u000a <span id=\"migrate-button\"></span>\u000a </div>\u000a </div>\u000a <div id=\"paramInfo\"></div>\u000a </div>\u000a </div>\u000a </div>\u000a <div class=\"tab-pane\" id=\"parametersTab\">\u000a <div id=\"parameters\" class=\"variableDefinition\">\u000a <table class=\"directiveVarDef\">\u000a <tr id=\"F1669402744200QKVUPZ\"><td colspan=\"3\">\u000a <div class=\"directiveGroup\"><div id=\"F1669402744236E4FXEP\" class=\"groupFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F1669402744296ZG3HGJ\" class=\"section-title\">Package #1</div>\u000a <table class=\"directiveGroupDef\">\u000a <tbody>\u000a <tr>\u000a <td colspan=\"2\">\u000a <span><b>Package name (or path)</b> <span class=\"fa fa-question-circle icon-info\" data-bs-toggle=\"tooltip\" data-bs-placement=\"bottom\" title=\"You can use a path to install a local package, when using the "present" state.\"></span> </span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F1669402744238XGR2OH\" class=\"directive-input-group\">\u000a <div id=\"F1669402744238XGR2OH-controller\" class=\"input-group input-group-sm text-section col-12\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F1669402744297WUK4D2\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F1669402744298BNKEUI\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a <input id=\"lift-event-js-F1669402744299JDK2QJ\" type=\"text\" class=\"form-control monospace-font\">\u000a <textarea style=\"display:none;\" id=\"F1669402744238XGR2OH-value\" name=\"F1669402744239SW02ST\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span><b>Package state</b> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><div><div class=\"radio\">\u000a <label>\u000a <input checked=\"checked\" type=\"radio\" name=\"F1669402744240JWJMHZ\" value=\"present\">\u000a Present\u000a </label>\u000a </div><div class=\"radio\">\u000a <label>\u000a <input type=\"radio\" name=\"F1669402744240JWJMHZ\" value=\"absent\">\u000a Absent\u000a </label>\u000a </div></div></td>\u000a </tr><tr><td colspan=\"3\">\u000a <div id=\"F1669402744244IHKWMX\" class=\"sectionFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F1669402744300RY5DZY\" class=\"section-title\">Section: Package version</div>\u000a <table class=\"directiveSectionDef\">\u000a <tr>\u000a <td colspan=\"2\">\u000a <span><b>Package version</b> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><div><div class=\"radio\">\u000a <label>\u000a <input type=\"radio\" name=\"F1669402744241HWINR4\" value=\"any\">\u000a Any version\u000a </label>\u000a </div><div class=\"radio\">\u000a <label>\u000a <input checked=\"checked\" type=\"radio\" name=\"F1669402744241HWINR4\" value=\"latest\">\u000a Latest available version\u000a </label>\u000a </div><div class=\"radio\">\u000a <label>\u000a <input type=\"radio\" name=\"F1669402744241HWINR4\" value=\"specific\">\u000a This specific version:\u000a </label>\u000a </div></div></td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span>Specific package version <span> - <small class=\"greyscala\">Optional</small></span></span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F1669402744242DXCSHK\" class=\"directive-input-group\">\u000a <div id=\"F1669402744242DXCSHK-controller\" class=\"input-group input-group-sm text-section col-12\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F1669402744301SFWD1F\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F1669402744302UCJRDY\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a <input id=\"lift-event-js-F16694027443030KDMB3\" type=\"text\" class=\"form-control monospace-font\">\u000a <textarea style=\"display:none;\" id=\"F1669402744242DXCSHK-value\" name=\"F1669402744243YGPG0K\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr>\u000a </table>\u000a </div>\u000a </td></tr><tr><td colspan=\"3\">\u000a <div id=\"F1669402744249OQWFWI\" class=\"sectionFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F1669402744304QMI2SS\" class=\"section-title\">Section: Package architecture</div>\u000a <table class=\"directiveSectionDef\">\u000a <tr>\u000a <td colspan=\"2\">\u000a <span><b>Package architecture</b> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><div><div class=\"radio\">\u000a <label>\u000a <input checked=\"checked\" type=\"radio\" name=\"F1669402744246PYOD4M\" value=\"default\">\u000a Default architecture\u000a </label>\u000a </div><div class=\"radio\">\u000a <label>\u000a <input type=\"radio\" name=\"F1669402744246PYOD4M\" value=\"specific\">\u000a This specific architecture:\u000a </label>\u000a </div></div></td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span>Specific package architecture <span> - <small class=\"greyscala\">Optional</small></span></span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F1669402744247PHOWZP\" class=\"directive-input-group\">\u000a <div id=\"F1669402744247PHOWZP-controller\" class=\"input-group input-group-sm text-section col-12\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F1669402744305NV5IA4\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F1669402744306AXGCS5\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a <input id=\"lift-event-js-F16694027443073AV0ZI\" type=\"text\" class=\"form-control monospace-font\">\u000a <textarea style=\"display:none;\" id=\"F1669402744247PHOWZP-value\" name=\"F1669402744248OLPJSO\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr>\u000a </table>\u000a </div>\u000a </td></tr><tr><td colspan=\"3\">\u000a <div id=\"F16694027442555ERHSF\" class=\"sectionFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F1669402744308LO3YZW\" class=\"section-title\">Section: Package manager</div>\u000a <table class=\"directiveSectionDef\">\u000a <tr>\u000a <td colspan=\"2\">\u000a <span><b>Package manager</b> <span class=\"fa fa-question-circle icon-info\" data-bs-toggle=\"tooltip\" data-bs-placement=\"bottom\" title=\"This can be used to override auto-detection of the package manager.\"></span> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><select name=\"F1669402744251GNKDHU\"><option selected=\"selected\" value=\"default\">Default package manager</option><option value=\"yum\">yum/rpm</option><option value=\"apt\">apt/dpkg</option><option value=\"zypper\">zypper/rpm</option><option value=\"pkg\">pkg</option></select></td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span><b>Allow untrusted packages (only with apt for now)</b> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><input type=\"checkbox\" name=\"F1669402744252PQNSBL\" value=\"true\"><input type=\"hidden\" name=\"F1669402744252PQNSBL\" value=\"false\"></td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span>Specify options to pass to the package manager (only with apt for now) <span> - <small class=\"greyscala\">Optional</small></span></span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F1669402744253JD5PWY\" class=\"directive-input-group\">\u000a <div id=\"F1669402744253JD5PWY-controller\" class=\"input-group input-group-sm text-section col-12\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F16694027443093IU5ZB\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F16694027443104JRHCO\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a <input id=\"lift-event-js-F166940274431120X2ZC\" type=\"text\" class=\"form-control monospace-font\">\u000a <textarea style=\"display:none;\" id=\"F1669402744253JD5PWY-value\" name=\"F16694027442544TDJSG\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr>\u000a </table>\u000a </div>\u000a </td></tr><tr><td colspan=\"3\">\u000a <div id=\"F1669402744259GAWW2H\" class=\"sectionFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F1669402744312JC1PD4\" class=\"section-title\">Section: Post-modification script</div>\u000a <table class=\"directiveSectionDef\">\u000a <tr>\u000a <td colspan=\"2\">\u000a <span>Command to run after changes on this package <span> - <small class=\"greyscala\">Optional</small></span></span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F1669402744257FDGDBN\" class=\"directive-input-group\">\u000a <div id=\"F1669402744257FDGDBN-controller\" class=\"input-group input-group-sm text-section d-table col-12\">\u000a <div class=\"btn-group btn-group-sm input-feature\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F1669402744313DG10RY\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F1669402744314S5LURG\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a </div>\u000a <textarea id=\"lift-event-js-F1669402744315BLIBZM\" class=\"form-control textarea monospace-font w-100 mx-0\"></textarea>\u000a <textarea style=\"display:none;\" id=\"F1669402744257FDGDBN-value\" name=\"F1669402744258VDB0D1\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr>\u000a </table>\u000a </div>\u000a </td></tr>\u000a </tbody>\u000a </table>\u000a <div class=\"textright directiveDeleteGroup\"><input id=\"lift-event-js-F16694027443163KZX1V\" value=\"Delete \u0027Package #1\u0027\" class=\"btn btn-danger\" =\"\" type=\"submit\" name=\"zF1669402744261JQZVYA\"></div>\u000a \u000a </div><div id=\"F16694027442623BDIAD\" class=\"groupFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F16694027443172MEVJM\" class=\"section-title\">Package #2</div>\u000a <table class=\"directiveGroupDef\">\u000a <tbody>\u000a <tr>\u000a <td colspan=\"2\">\u000a <span><b>Package name (or path)</b> <span class=\"fa fa-question-circle icon-info\" data-bs-toggle=\"tooltip\" data-bs-placement=\"bottom\" title=\"You can use a path to install a local package, when using the "present" state.\"></span> </span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F1669402744264BCSIWY\" class=\"directive-input-group\">\u000a <div id=\"F1669402744264BCSIWY-controller\" class=\"input-group input-group-sm text-section col-12\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F1669402744318JUA20T\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F1669402744319FK5VJQ\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a <input id=\"lift-event-js-F1669402744320OLHE5N\" type=\"text\" class=\"form-control monospace-font\">\u000a <textarea style=\"display:none;\" id=\"F1669402744264BCSIWY-value\" name=\"F1669402744265UUBJWO\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span><b>Package state</b> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><div><div class=\"radio\">\u000a <label>\u000a <input type=\"radio\" name=\"F1669402744266RRPURJ\" value=\"present\">\u000a Present\u000a </label>\u000a </div><div class=\"radio\">\u000a <label>\u000a <input checked=\"checked\" type=\"radio\" name=\"F1669402744266RRPURJ\" value=\"absent\">\u000a Absent\u000a </label>\u000a </div></div></td>\u000a </tr><tr><td colspan=\"3\">\u000a <div id=\"F1669402744270Z445C3\" class=\"sectionFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F16694027443213YFWCP\" class=\"section-title\">Section: Package version</div>\u000a <table class=\"directiveSectionDef\">\u000a <tr>\u000a <td colspan=\"2\">\u000a <span><b>Package version</b> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><div><div class=\"radio\">\u000a <label>\u000a <input type=\"radio\" name=\"F1669402744267SLNK4C\" value=\"any\">\u000a Any version\u000a </label>\u000a </div><div class=\"radio\">\u000a <label>\u000a <input type=\"radio\" name=\"F1669402744267SLNK4C\" value=\"latest\">\u000a Latest available version\u000a </label>\u000a </div><div class=\"radio\">\u000a <label>\u000a <input checked=\"checked\" type=\"radio\" name=\"F1669402744267SLNK4C\" value=\"specific\">\u000a This specific version:\u000a </label>\u000a </div></div></td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span>Specific package version <span> - <small class=\"greyscala\">Optional</small></span></span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F1669402744268SQC0OC\" class=\"directive-input-group\">\u000a <div id=\"F1669402744268SQC0OC-controller\" class=\"input-group input-group-sm text-section col-12\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F1669402744322ALOOAO\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F1669402744323RT35E3\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a <input id=\"lift-event-js-F16694027443245KIG0V\" type=\"text\" class=\"form-control monospace-font\">\u000a <textarea style=\"display:none;\" id=\"F1669402744268SQC0OC-value\" name=\"F16694027442695S3AL4\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr>\u000a </table>\u000a </div>\u000a </td></tr><tr><td colspan=\"3\">\u000a <div id=\"F1669402744275H3RKZX\" class=\"sectionFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F1669402744325GTIGF2\" class=\"section-title\">Section: Package architecture</div>\u000a <table class=\"directiveSectionDef\">\u000a <tr>\u000a <td colspan=\"2\">\u000a <span><b>Package architecture</b> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><div><div class=\"radio\">\u000a <label>\u000a <input checked=\"checked\" type=\"radio\" name=\"F1669402744272LYCKJL\" value=\"default\">\u000a Default architecture\u000a </label>\u000a </div><div class=\"radio\">\u000a <label>\u000a <input type=\"radio\" name=\"F1669402744272LYCKJL\" value=\"specific\">\u000a This specific architecture:\u000a </label>\u000a </div></div></td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span>Specific package architecture <span> - <small class=\"greyscala\">Optional</small></span></span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F1669402744273GR1XDC\" class=\"directive-input-group\">\u000a <div id=\"F1669402744273GR1XDC-controller\" class=\"input-group input-group-sm text-section col-12\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F1669402744326X1AWRE\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F1669402744327LU34XN\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a <input id=\"lift-event-js-F1669402744328S3X0R0\" type=\"text\" class=\"form-control monospace-font\">\u000a <textarea style=\"display:none;\" id=\"F1669402744273GR1XDC-value\" name=\"F1669402744274W2BNDN\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr>\u000a </table>\u000a </div>\u000a </td></tr><tr><td colspan=\"3\">\u000a <div id=\"F16694027442812HNQKR\" class=\"sectionFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F1669402744329TPAD0S\" class=\"section-title\">Section: Package manager</div>\u000a <table class=\"directiveSectionDef\">\u000a <tr>\u000a <td colspan=\"2\">\u000a <span><b>Package manager</b> <span class=\"fa fa-question-circle icon-info\" data-bs-toggle=\"tooltip\" data-bs-placement=\"bottom\" title=\"This can be used to override auto-detection of the package manager.\"></span> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><select name=\"F1669402744277GIK2MB\"><option selected=\"selected\" value=\"default\">Default package manager</option><option value=\"yum\">yum/rpm</option><option value=\"apt\">apt/dpkg</option><option value=\"zypper\">zypper/rpm</option><option value=\"pkg\">pkg</option></select></td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span><b>Allow untrusted packages (only with apt for now)</b> </span>\u000a </td>\u000a <td class=\"directiveVarValue\"><input type=\"checkbox\" name=\"F1669402744278FRXD20\" value=\"true\"><input type=\"hidden\" name=\"F1669402744278FRXD20\" value=\"false\"></td>\u000a </tr><tr>\u000a <td colspan=\"2\">\u000a <span>Specify options to pass to the package manager (only with apt for now) <span> - <small class=\"greyscala\">Optional</small></span></span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F1669402744279JGP0LU\" class=\"directive-input-group\">\u000a <div id=\"F1669402744279JGP0LU-controller\" class=\"input-group input-group-sm text-section col-12\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F1669402744330P4MCVI\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F1669402744331EOCNVC\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a <input id=\"lift-event-js-F1669402744332CMIG2X\" type=\"text\" class=\"form-control monospace-font\">\u000a <textarea style=\"display:none;\" id=\"F1669402744279JGP0LU-value\" name=\"F1669402744280R5WMI2\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr>\u000a </table>\u000a </div>\u000a </td></tr><tr><td colspan=\"3\">\u000a <div id=\"F1669402744285EYSKCF\" class=\"sectionFieldset foldableSection unfoldedSection\">\u000a <div id=\"lift-event-js-F1669402744333NR3HBQ\" class=\"section-title\">Section: Post-modification script</div>\u000a <table class=\"directiveSectionDef\">\u000a <tr>\u000a <td colspan=\"2\">\u000a <span>Command to run after changes on this package <span> - <small class=\"greyscala\">Optional</small></span></span>\u000a </td>\u000a <td class=\"directiveVarValue\">\u000a <div id=\"F16694027442834UWZHX\" class=\"directive-input-group\">\u000a <div id=\"F16694027442834UWZHX-controller\" class=\"input-group input-group-sm text-section d-table col-12\">\u000a <div class=\"btn-group btn-group-sm input-feature\">\u000a <button type=\"button\" data-bs-toggle=\"dropdown\" class=\"btn btn-default lh-1 dropdown-toggle\"> <span class=\"prefix-selected\">Text</span> <span class=\"caret\"></span></button>\u000a <ul class=\"dropdown-menu\">\u000a <li><a id=\"lift-event-js-F16694027443342GS4ME\" class=\"dropdown-item\">Text </a></li>\u000a <li><a id=\"lift-event-js-F16694027443352WIKF3\" class=\"dropdown-item\">JS </a></li>\u000a </ul>\u000a </div>\u000a <textarea id=\"lift-event-js-F166940274433653RWYT\" class=\"form-control textarea monospace-font w-100 mx-0\"></textarea>\u000a <textarea style=\"display:none;\" id=\"F16694027442834UWZHX-value\" name=\"F1669402744284L2WBYO\"></textarea></div>\u000a </div>\u000a</td>\u000a </tr>\u000a </table>\u000a </div>\u000a </td></tr>\u000a </tbody>\u000a </table>\u000a <div class=\"textright directiveDeleteGroup\"><input id=\"lift-event-js-F1669402744337KFDTKR\" value=\"Delete \u0027Package #2\u0027\" class=\"btn btn-danger\" =\"\" type=\"submit\" name=\"zF1669402744287D4ZYCG\"></div>\u000a \u000a </div></div>\u000a <div> \u000a <div class=\"directiveAddGroup\"><input id=\"lift-event-js-F1669402744338JNVNHT\" value=\"Add another \u0027Package\u0027\" class=\"btn new-icon btn-success btn-outline\" type=\"submit\" name=\"zF1669402744288VYKLU3\"></div>\u000a </div>\u000a </td></tr>\u000a </table>\u000a </div>\u000a </div>\u000a <div class=\"tab-pane\" id=\"rulesTab\">\u000a <div id=\"directiveRulesTab\"><div>\u000a <div class=\"row col-small-padding\">\u000a <div class=\"col-sm-12 col-xl-3 col-lg-4\">\u000a <div class=\"box\">\u000a <div class=\"box-header with-border\">\u000a <h3 class=\"box-title\"><i class=\"fa fa-filter\" aria-hidden=\"true\"></i>Filters</h3>\u000a </div>\u000a <div class=\"box-body\">\u000a <div class=\"row\">\u000a <div class=\"col-sm-12\">\u000a <div id=\"showFiltersRules\" class=\"filters\">\u000a <div>\u000a <div class=\"filterTag\">\u000a <div class=\"input-group search-addon\">\u000a <label for=\"searchStr\" class=\"input-group-text search-addon\"><span class=\"ion ion-search\"></span></label>\u000a <input type=\"text\" id=\"searchStr\" class=\"input-sm form-control\" placeholder=\"Filter\">\u000a </div>\u000a <!--\u000a <div class=\"form-group\">\u000a <label>Tags</label>\u000a <div class=\"input-group\">\u000a <div id=\"ruleFilterKeyInput\" angucomplete-alt=\"\" placeholder=\"key\" minlength=\"1\" maxlength=\"100\"\u000a pause=\"500\" selected-object=\"selectTag\" remote-url=\"{{contextPath}}/secure/api/completion/tags/rule/key/\"\u000a remote-url-data-field=\"data\" title-field=\"value\" input-class=\"form-control input-sm input-key\"\u000a match-class=\"highlight\" input-changed=\"updateTag\" override-suggestions=\"true\">\u000a </div>\u000a <span class=\"input-group-text addon-json\">=</span>\u000a <div id=\"ruleFilterValueInput\" angucomplete-alt=\"\" placeholder=\"value\" minlength=\"1\" maxlength=\"100\"\u000a pause=\"500\" selected-object=\"selectValue\" remote-url=\"{{contextPath}}/secure/api/completion/tags/rule/value/{{newTag.key}}/\"\u000a remote-url-data-field=\"data\" title-field=\"value\" input-class=\"form-control input-sm input-value\" match-class=\"highlight\"\u000a input-changed=\"updateValue\" override-suggestions=\"true\">\u000a </div>\u000a <button type=\"button\" ng-click=\"addTag(newTag)\" class=\"btn btn-default btn-sm\" ng-disabled=\" (isEmptyOrBlank(newTag.key) && isEmptyOrBlank(newTag.value)); \">\u000a <span class=\"fa fa-plus\"></span>\u000a </button>\u000a </div>\u000a </div>\u000a <div class=\"only-tags\">\u000a <button class=\"btn btn-default btn-xs pull-right\" ng-click=\"clearAllTags()\" ng-hide=\"tags.length==0\">\u000a Clear all tags\u000a <i class=\"fa fa-trash\" aria-hidden=\"true\"></i>\u000a </button>\u000a </div>\u000a <div class=\"tags-container\">\u000a <div class=\"btn-group btn-group-xs\" role=\"group\" ng-repeat=\"tag in tags track by $index\">\u000a <button class=\"btn btn-default tags-label\" ng-class=\"{\u0027onlyKey\u0027:only.key, \u0027onlyValue\u0027:only.value, \u0027already-exist\u0027:tag.alreadyExist}\" ng-click=\"modifyTag(tag,\u0027ruleFilterKeyInput\u0027,\u0027ruleFilterValueInput\u0027)\" >\u000a <i class=\"fa fa-tag\"></i>\u000a <span class=\"tag-key\">\u000a <span ng-show=\"tag.key!=\u0027\u0027\">{{{{tag.key}}}}</span>\u000a <i class=\u0027fa fa-asterisk\u0027 aria-hidden=\u0027true\u0027 ng-show=\"tag.key==\u0027\u0027\"></i>\u000a </span>\u000a <span class=\"tag-separator\">=</span>\u000a <span class=\"tag-value\">\u000a <span ng-show=\"tag.value!=\u0027\u0027\">{{{{tag.value}}}}</span>\u000a <i class=\u0027fa fa-asterisk\u0027 aria-hidden=\u0027true\u0027 ng-show=\"tag.value==\u0027\u0027\"></i>\u000a </span>\u000a </button>\u000a <button type=\"button\" class=\"btn btn-default\" ng-click=\"removeTag($index)\">\u000a <span class=\"fa fa-times\"></span>\u000a </button>\u000a </div>\u000a </div>\u000a -->\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a <div class=\"box\">\u000a <div class=\"box-header with-border\">\u000a <h3 class=\"box-title\"><i class=\"fa fa-list\" aria-hidden=\"true\"></i>Categories</h3>\u000a <div class=\"box-tools pull-right\">\u000a \u000a \u000a \u000a </div>\u000a </div>\u000a <div class=\"box-body\" id=\"boxTreeRules\">\u000a <div class=\"row\">\u000a <div class=\"col-sm-12\" id=\"categoryTreeParent\">\u000a <div id=\"treeParent\">\u000a <ul class=\"form-group list-sm\">\u000a <li class=\"rudder-form\">\u000a <div class=\"input-group\">\u000a <label for=\"includeCheckbox\" class=\"input-group-text\" id=\"includeSubCategory\">\u000a <input checked=\"checked\" id=\"includeCheckbox\" type=\"checkbox\">\u000a <label class=\"label-radio\" for=\"includeCheckbox\">\u000a <span class=\"ion ion-checkmark-round\"></span>\u000a </label>\u000a <span class=\"ion ion-checkmark-round check-icon\"></span>\u000a </label>\u000a <label for=\"includeCheckbox\" class=\"form-control\">\u000a Display Rules from subcategories\u000a </label>\u000a </div>\u000a </li>\u000a </ul>\u000a <div id=\"categoryTree\">\u000a <ul><li id=\"rootRuleCategory\" data-jstree=\"{ "type" : "category" }\">\u000a <a id=\"lift-event-js-F166940274433921SMU3\"><span id=\"rootRuleCategoryName\" title=\"<div>
<h3>Rules</h3>
<div>This is the main category of Rules</div>
</div>\" class=\"treeRuleCategoryName\">\u000a <input style=\"margin : 2px 5px 0px 2px;\" id=\"rootRuleCategoryCheckbox\" type=\"checkbox\">Rules\u000a </span></a>\u000a <ul>\u000a <li id=\"50f6894a-e7eb-4153-831b-b9b4e0efa2ab\" data-jstree=\"{ "type" : "category" }\">\u000a <a id=\"lift-event-js-F1669402744340001MRY\"><span id=\"50f6894a-e7eb-4153-831b-b9b4e0efa2abName\" class=\"treeRuleCategoryName\">\u000a <input style=\"margin : 2px 5px 0px 2px;\" id=\"50f6894a-e7eb-4153-831b-b9b4e0efa2abCheckbox\" type=\"checkbox\">foo\u000a </span></a>\u000a <ul>\u000a \u000a </ul>\u000a </li><li id=\"4f647d67-5527-41f2-85f3-d8169f640374\" data-jstree=\"{ "type" : "category" }\">\u000a <a id=\"lift-event-js-F1669402744341GDGZUD\"><span id=\"4f647d67-5527-41f2-85f3-d8169f640374Name\" title=\"<div>
<h3>Some more cool name</h3>
<div>bla bla bala</div>
</div>\" class=\"treeRuleCategoryName\">\u000a <input style=\"margin : 2px 5px 0px 2px;\" id=\"4f647d67-5527-41f2-85f3-d8169f640374Checkbox\" type=\"checkbox\">Some more cool name\u000a </span></a>\u000a <ul>\u000a \u000a </ul>\u000a </li>\u000a </ul>\u000a </li>\u000a </ul>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a <div class=\"col-xl-9 col-sm-12 col-lg-8\">\u000a <div class=\"box\">\u000a <div class=\"box-header with-border\">\u000a <h3 class=\"box-title\"><i class=\"fa fa-gears\" aria-hidden=\"true\"></i>Rules</h3>\u000a <div class=\"box-tools pull-right\">\u000a <button class=\"btn btn-box-tool btn-default toggleTabFilter updateTable btn-sm\" id=\"updateRuleTable\">Refresh<span class=\"fa fa-refresh\"></span></button>\u000a \u000a \u000a \u000a </div>\u000a </div>\u000a <div class=\"box-body\">\u000a <div class=\"row\">\u000a <div class=\"col-sm-12\" id=\"view\">\u000a <div>\u000a <div id=\"rules_grid_zone\">\u000a <div id=\"modal_rules_grid_zone\" class=\"nodisplay\">\u000a <div id=\"popup_rules_grid_zone\"></div>\u000a </div>\u000a <table id=\"grid_rules_grid_zone\" class=\"display\" cellspacing=\"0\"> </table>\u000a <div class=\"grid_rules_grid_zone_pagination, paginatescala\">\u000a <div id=\"grid_rules_grid_zone_paginate_area\"></div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div>\u000a </div></div>\u000a </div>\u000a <div class=\"tab-pane tab-app\" id=\"complianceTab\">\u000a <div id=\"directiveComplianceApp\"></div>\u000a </div>\u000a </div>\u000a </div>\u000a </div></form>\u000a \u000a <div tabindex=\"-1\" class=\"modal fade\" id=\"removeActionDialog\"></div>\u000a <div tabindex=\"-1\" class=\"modal fade\" id=\"disableActionDialog\"></div>\u000a <div tabindex=\"-1\" class=\"modal fade\" id=\"confirmUpdateActionDialog\"></div>\u000a <div tabindex=\"-1\" class=\"modal fade\" id=\"createCloneDirectivePopup\"></div>\u000a\u000a </div>\u000a"); lift.onEvent("F1669402744289P31MNX","submit",function(event) {lift.ajax(jQuery('#'+"F1669402744289P31MNX").serialize(), null, null, "javascript");return false;;}); lift.onEvent("removeAction","click",function(event) {lift.setUriSuffix('zF1669402744220OSJXZ1=_'); return true;;}); lift.onEvent("desactivateAction","click",function(event) {lift.setUriSuffix('zF1669402744221AMXF1W=_'); return true;;}); lift.onEvent("clone","click",function(event) {lift.ajax("F1669402744222URE013=true", null, null, null); return false;;}); lift.onEvent("policyConfigurationSave","click",function(event) {lift.setUriSuffix('zF16694027442230QO151=_'); return true;;}); lift.onEvent("lift-event-js-F1669402744290VJBBR0","click",function(event) {toggleMarkdownEditor('longDescriptionField');}); lift.onEvent("lift-event-js-F1669402744290VJBBR0","mouseout",function(event) {toggleOpacity(this);}); lift.onEvent("lift-event-js-F1669402744290VJBBR0","mouseenter",function(event) {toggleOpacity(this);}); lift.onEvent("lift-event-js-F1669402744291DNW5JM","click",function(event) {toggleMarkdownEditor('longDescriptionField');}); lift.onEvent("lift-event-js-F1669402744291DNW5JM","mouseout",function(event) {toggleOpacity(this);}); lift.onEvent("lift-event-js-F1669402744291DNW5JM","mouseenter",function(event) {toggleOpacity(this);}); lift.onEvent("lift-event-js-F1669402744292IYVVTG","mouseenter",function(event) {toggleOpacity(this);}); lift.onEvent("lift-event-js-F1669402744292IYVVTG","mouseout",function(event) {toggleOpacity(this);}); lift.onEvent("lift-event-js-F1669402744292IYVVTG","click",function(event) {toggleMarkdownEditor('longDescriptionField');}); lift.onEvent("lift-event-js-F1669402744293EU0ERX","mouseenter",function(event) {toggleOpacity(this);}); lift.onEvent("lift-event-js-F1669402744293EU0ERX","mouseout",function(event) {toggleOpacity(this);}); lift.onEvent("lift-event-js-F1669402744293EU0ERX","click",function(event) {togglePreview(this, 'longDescriptionField');}); lift.onEvent("lift-event-js-F1669402744294ANUWYA","click",function(event) {$('#techniqueDescriptionPanel').toggle(400);$(this).toggleClass('opened');;}); lift.onEvent("migrationButton","click",function(event) {lift.setUriSuffix('zF1669402744235VWUIUY=_'); return true;;}); lift.onEvent("lift-event-js-F1669402744295MU1KUU","click",function(event) {$('#technicalDetails').toggle(400);$(this).toggleClass('opened');;}); lift.onEvent("lift-event-js-F1669402744296ZG3HGJ","click",function(event) {F1669402744237VOVOZP();}); lift.onEvent("lift-event-js-F1669402744297WUK4D2","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F1669402744298BNKEUI","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F1669402744299JDK2QJ","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F1669402744300RY5DZY","click",function(event) {F1669402744245KBRJZH();}); lift.onEvent("lift-event-js-F1669402744301SFWD1F","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F1669402744302UCJRDY","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F16694027443030KDMB3","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F1669402744304QMI2SS","click",function(event) {F1669402744250BR52AL();}); lift.onEvent("lift-event-js-F1669402744305NV5IA4","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F1669402744306AXGCS5","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F16694027443073AV0ZI","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F1669402744308LO3YZW","click",function(event) {F1669402744256YMEEGO();}); lift.onEvent("lift-event-js-F16694027443093IU5ZB","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F16694027443104JRHCO","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F166940274431120X2ZC","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F1669402744312JC1PD4","click",function(event) {F1669402744260CEL0MN();}); lift.onEvent("lift-event-js-F1669402744313DG10RY","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F1669402744314S5LURG","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F1669402744315BLIBZM","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F16694027443163KZX1V","click",function(event) {lift.setUriSuffix('zF1669402744261JQZVYA=_'); return true;;}); lift.onEvent("lift-event-js-F16694027443172MEVJM","click",function(event) {F1669402744263MUN0G3();}); lift.onEvent("lift-event-js-F1669402744318JUA20T","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F1669402744319FK5VJQ","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F1669402744320OLHE5N","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F16694027443213YFWCP","click",function(event) {F1669402744271UXEC5G();}); lift.onEvent("lift-event-js-F1669402744322ALOOAO","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F1669402744323RT35E3","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F16694027443245KIG0V","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F1669402744325GTIGF2","click",function(event) {F166940274427635Y3HX();}); lift.onEvent("lift-event-js-F1669402744326X1AWRE","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F1669402744327LU34XN","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F1669402744328S3X0R0","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F1669402744329TPAD0S","click",function(event) {F16694027442824SRNVF();}); lift.onEvent("lift-event-js-F1669402744330P4MCVI","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F1669402744331EOCNVC","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F1669402744332CMIG2X","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F1669402744333NR3HBQ","click",function(event) {F1669402744286UEQBXZ();}); lift.onEvent("lift-event-js-F16694027443342GS4ME","click",function(event) {updatePrefix(this, '');}); lift.onEvent("lift-event-js-F16694027443352WIKF3","click",function(event) {updatePrefix(this, 'evaljs:');}); lift.onEvent("lift-event-js-F166940274433653RWYT","input",function(event) {updateResult(this);;}); lift.onEvent("lift-event-js-F1669402744337KFDTKR","click",function(event) {lift.setUriSuffix('zF1669402744287D4ZYCG=_'); return true;;}); lift.onEvent("lift-event-js-F1669402744338JNVNHT","click",function(event) {lift.setUriSuffix('zF1669402744288VYKLU3=_'); return true;;}); lift.onEvent("searchStr","keyup",function(event) {searchTargetRules(this);}); lift.onEvent("includeCheckbox","click",function(event) {lift.ajax('F1669402744204SKTLAV=' + this.checked, null, null, null);}); lift.onEvent("lift-event-js-F166940274433921SMU3","click",function(event) {lift.ajax("F1669402744207H1IKTJ=true", null, null, null); return false;;}); lift.onEvent("rootRuleCategoryCheckbox","click",function(event) {lift.ajax('F1669402744206VTLBO5=' + this.checked, null, null, null);}); lift.onEvent("lift-event-js-F1669402744340001MRY","click",function(event) {lift.ajax("F1669402744210PLZEKT=true", null, null, null); return false;;}); lift.onEvent("50f6894a-e7eb-4153-831b-b9b4e0efa2abCheckbox","click",function(event) {lift.ajax('F1669402744209RNJTPC=' + this.checked, null, null, null);}); lift.onEvent("lift-event-js-F1669402744341GDGZUD","click",function(event) {lift.ajax("F1669402744213JBS4BS=true", null, null, null); return false;;}); lift.onEvent("4f647d67-5527-41f2-85f3-d8169f640374Checkbox","click",function(event) {lift.ajax('F16694027442122N0FUW=' + this.checked, null, null, null);}); // <![CDATA[ jQuery(document).ready(function() { var main = document.getElementById("tags-app") var initValues = { contextPath : contextPath , hasWriteRights : hasWriteRights , tags : [] , filterId : "directiveFilter" , isEditForm : true , objectType : "directive" , objectId : "1b2fb9bb-2461-49a9-a40c-9050a4b7d51b" }; tagsApp = Elm.Tags.init({node: main, flags: initValues}); tagsApp.ports.updateResult.subscribe(function(result) { $('#tags-result').val(result); }); tagsApp.ports.addToFilters.subscribe(function(tag) { if (typeof filterApp === "undefined") return false; filterApp.ports.addToFilter.send(tag); }); ;}); // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F1669402744238XGR2OH", "htop", "", true); ;}); // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F1669402744242DXCSHK", "", "", true); ;}); // ]]> ; // <![CDATA[ function F1669402744245KBRJZH() { lift.ajax('F1669402744245KBRJZH=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F1669402744247PHOWZP", "", "", true); ;}); // ]]> ; // <![CDATA[ function F1669402744250BR52AL() { lift.ajax('F1669402744250BR52AL=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F1669402744253JD5PWY", "", "", true); ;}); // ]]> ; // <![CDATA[ function F1669402744256YMEEGO() { lift.ajax('F1669402744256YMEEGO=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F1669402744257FDGDBN", "", "", true); ;}); // ]]> ; // <![CDATA[ function F1669402744260CEL0MN() { lift.ajax('F1669402744260CEL0MN=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ function F1669402744237VOVOZP() { lift.ajax('F1669402744237VOVOZP=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F1669402744264BCSIWY", "vim", "", true); ;}); // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F1669402744268SQC0OC", "6.3.1", "", true); ;}); // ]]> ; // <![CDATA[ function F1669402744271UXEC5G() { lift.ajax('F1669402744271UXEC5G=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F1669402744273GR1XDC", "", "", true); ;}); // ]]> ; // <![CDATA[ function F166940274427635Y3HX() { lift.ajax('F166940274427635Y3HX=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F1669402744279JGP0LU", "", "", true); ;}); // ]]> ; // <![CDATA[ function F16694027442824SRNVF() { lift.ajax('F16694027442824SRNVF=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ jQuery(document).ready(function() { newInputText("F16694027442834UWZHX", "", "", true); ;}); // ]]> ; // <![CDATA[ function F1669402744286UEQBXZ() { lift.ajax('F1669402744286UEQBXZ=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ function F1669402744263MUN0G3() { lift.ajax('F1669402744263MUN0G3=' + encodeURIComponent(), null, null, null) } ; // ]]> ; // <![CDATA[ jQuery(document).ready(function() { $("input").not("#treeSearch").keydown( function(event) { processKey(event , 'policyConfigurationSave') } ); ;}); // ]]> ; // <![CDATA[ jQuery(document).ready(function() {setTimeout(function() { $('#rootRuleCategoryCheckbox').click(function (e) { e.stopPropagation(); }) $('#rootRuleCategoryCheckbox').prop("indeterminate",false);;}, 400);}); // ]]> ; // <![CDATA[ jQuery(document).ready(function() {setTimeout(function() { $('#50f6894a-e7eb-4153-831b-b9b4e0efa2abCheckbox').click(function (e) { e.stopPropagation(); }) $('#50f6894a-e7eb-4153-831b-b9b4e0efa2abCheckbox').prop("indeterminate",false);;}, 400);}); // ]]> ; // <![CDATA[ jQuery(document).ready(function() {setTimeout(function() { $('#4f647d67-5527-41f2-85f3-d8169f640374Checkbox').click(function (e) { e.stopPropagation(); }) $('#4f647d67-5527-41f2-85f3-d8169f640374Checkbox').prop("indeterminate",false);;}, 400);}); // ]]> ; // <![CDATA[ setTimeout(function() { buildRuleCategoryTreeNoDnD('#categoryTree','rootRuleCategory','/rudder-web'); $('#categoryTree').bind("move_node.jstree", function (e,data) { var sourceCatId = data.node.id; var destCatId = data.parent; if( destCatId ) { if( sourceCatId ) { var arg = JSON.stringify({ 'sourceCatId' : sourceCatId, 'destCatId' : destCatId }); lift.ajax('F1669402744214JSATFM=' + encodeURIComponent(arg), null, null, null); } else { alert("Can not move that kind of object"); $.jstree.rollback(data.rlbk); } } else { alert("Can not move to something else than a category"); $.jstree.rollback(data.rlbk); } }); initBsTooltips();;}, 50); // ]]> ; // <![CDATA[ jQuery(document).ready(function() {createRuleTable ( "grid_rules_grid_zone" , [] , true , false , false , false , function(checked) {lift.ajax('F1669402744215XN05OQ=' + encodeURIComponent(checked), null, null, null);} , "/rudder-web" , function() {lift.ajax('F1669402744216UUEJS0=' + encodeURIComponent(null), null, null, null);} , false ); initBsTooltips() ;}); // ]]> ; // <![CDATA[ jQuery(document).ready(function() {(function() {lift.ajax('F16694027442174KDDSJ=' + encodeURIComponent(null), null, null, null);})();}); // ]]> ; // <![CDATA[ var include = true; var filter = ""; var column = 3;; // ]]> ; // <![CDATA[ jQuery(document).ready(function() { activateButtonOnFormChange("policyConfiguration", "policyConfigurationSave"); setupMarkdown("", "longDescriptionField") generateMarkdown("", "#techniqueDescription") $('#technicalDetails').hide(); $("input").not("#treeSearch").keydown( function(event) { processKey(event , 'policyConfigurationSave'); } ); checkMigrationButton("1.1 ","F1669402744218VTDKPZ"); $('#F1669402744218VTDKPZ').change( function () { checkMigrationButton("1.1 ","F1669402744218VTDKPZ") } ); var main = document.getElementById("directiveComplianceApp") var initValues = { directiveId : "1b2fb9bb-2461-49a9-a40c-9050a4b7d51b", contextPath : contextPath }; var app = Elm.Directivecompliance.init({node: main, flags: initValues}); app.ports.errorNotification.subscribe(function(str) { createErrorNotification(str) }); // Initialize tooltips app.ports.initTooltips.subscribe(function(msg) { setTimeout(function(){ initBsTooltips(); }, 400); }); $("#complianceLinkTab").on("click", function (){ app.ports.loadCompliance.send(""); }); if(false){ $("#complianceNav").hide(); }else{ $("#complianceNav").show(); };}); // ]]> ;; removeBsTooltips(); this.window.location.hash = "#" + JSON.stringify({"directiveId":"1b2fb9bb-2461-49a9-a40c-9050a4b7d51b"}) sessionStorage.removeItem('tags-1b2fb9bb-2461-49a9-a40c-9050a4b7d51b'); ; setTimeout(function() {removeBsTooltips();initBsTooltips();;}, 0);
Updated by François ARMAND 26 days ago
- Related to Bug #24775: Directive details displaying leads to firing duplicated rest queries added
Updated by François ARMAND 26 days ago
- Related to Bug #24439: Clicking on technique in technique tree doesn't do anything added
Updated by François ARMAND 26 days ago
- Related to Bug #25046: Some results of quicksearch cannot be opened added
Updated by François ARMAND 26 days ago
- Status changed from In progress to Pending technical review
- Assignee changed from François ARMAND to Clark ANDRIANASOLO
- Pull Request set to https://github.com/Normation/rudder/pull/6082
Updated by Anonymous 26 days ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder|1f858fc498616b25363b937c12c604424192b3aa.
Actions