Skip to content

Instantly share code, notes, and snippets.

@fanf
Last active November 9, 2020 16:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fanf/2edf0757d5ec1c249f41c2afffb73d3c to your computer and use it in GitHub Desktop.
Save fanf/2edf0757d5ec1c249f41c2afffb73d3c to your computer and use it in GitHub Desktop.
6.1
<a href="javascript://" onclick="lift.ajax(&quot;F1181437850057OOOOSP=true&quot;, null, null, null); return false;"><span class="treeActiveTechniqueName bsTooltip " data-toggle="tooltip" data-placement="top" data-html="true" title="&#x000a; &lt;h4>Package manager settings (RUG/YaST/ZMD)&lt;/h4>&#x000a; &lt;div class=&quot;tooltip-content&quot;>&#x000a; &lt;p>This technique configures the RUG and YaST package manager using Novell's ZMD.&lt;/p>&#x000a; &lt;p>This Technique is only compatible with &lt;b>Classic&lt;/b> agent.&lt;/p>&#x000a; &#x000a; &lt;/div>"><i class="fa fa-gear tree-icon"></i>Package manager settings (RUG/YaST/ZMD)</span></a>
6.2
<a href="javascript://" onclick="lift.ajax(&quot;F10805191239355LRKGG=true&quot;, null, null, null); return false;"><span class="treeActiveTechniqueName bsTooltip " data-toggle="tooltip" data-placement="top" data-html="true" title="&#x000a; &lt;h4>Package manager settings (RUG/YaST/ZMD)&lt;/h4>&#x000a; &lt;div class=&quot;tooltip-content&quot;>&#x000a; &lt;p>This technique configures the RUG and YaST package manager using Novell's ZMD.&lt;/p>&#x000a; &lt;p>This Technique is only compatible with &lt;b>Classic&lt;/b> agent.&lt;/p>&#x000a; &#x000a; &lt;/div>"><i class="fa fa-gear tree-icon"></i>Package manager settings (RUG/YaST/ZMD)</span><span class="btn btn-success btn-xs create" style="opacity: 0;" onclick="event.preventDefault();event.stopPropagation();jQuery('#'+&quot;policyConfiguration&quot;).replaceWith(&quot;\u000a &lt;div id=\&quot;policyConfiguration\&quot;>\u000a \u000a &lt;link href=\&quot;/rudder/cache-6.2.0~beta2-SNAPSHOT/style/rudder/rudder-filemanager.css\&quot; rel=\&quot;stylesheet\&quot;>\u000a &lt;script src=\&quot;/rudder/cache-6.2.0~beta2-SNAPSHOT/javascript/rudder/angular/fileManager.js\&quot;>&lt;/script>\u000a &lt;script type=\&quot;text/javascript\&quot; id=\&quot;angular-passwordForm\&quot; src=\&quot;/rudder/cache-6.2.0~beta2-SNAPSHOT/javascript/rudder/angular/passwordForm.js\&quot;>&lt;/script>\u000a &lt;script type=\&quot;text/javascript\&quot; id=\&quot;angular-textForm\&quot; src=\&quot;/rudder/cache-6.2.0~beta2-SNAPSHOT/javascript/rudder/angular/textForm.js\&quot;>&lt;/script>\u000a &lt;script type=\&quot;text/javascript\&quot; src=\&quot;/rudder/cache-6.2.0~beta2-SNAPSHOT/javascript/rudder/angular/tags.js\&quot;>&lt;/script>\u000a &lt;form id=\&quot;F10805191239342CGJW2\&quot; action=\&quot;javascript://\&quot; onsubmit=\&quot;lift.ajax(jQuery(\u0027#\u0027+&amp;quot;F10805191239342CGJW2&amp;quot;).serialize(), null, null, &amp;quot;javascript&amp;quot;);return false;\&quot;>&lt;div id=\&quot;editForm\&quot;>\u000a &lt;div class=\&quot;main-header\&quot;>\u000a &lt;div class=\&quot;header-title\&quot;>\u000a &lt;h1>\u000a &lt;i class=\&quot;title-icon fa fa-file-text\&quot;>&lt;/i>\u000a &lt;span id=\&quot;info-title\&quot;>Directive &lt;b id=\&quot;directiveTitle\&quot;>&lt;span class=\&quot;\&quot;>Package manager settings (RUG/YaST/ZMD)&lt;/span>&lt;/b>&lt;/span>\u000a &lt;/h1>\u000a \u000a &lt;div class=\&quot;header-buttons\&quot;>\u000a &lt;input id=\&quot;removeAction\&quot; name=\&quot;zF1080519123886NKHBYS\&quot; type=\&quot;submit\&quot; class=\&quot;btn btn-danger\&quot; value=\&quot;Delete\&quot; onclick=\&quot;lift.setUriSuffix(\u0027zF1080519123886NKHBYS=_\u0027); return true;\&quot;>\u000a &lt;input id=\&quot;desactivateAction\&quot; name=\&quot;zF10805191238875DFK3Z\&quot; type=\&quot;submit\&quot; class=\&quot;btn btn-default\&quot; value=\&quot;disable\&quot; onclick=\&quot;lift.setUriSuffix(\u0027zF10805191238875DFK3Z=_\u0027); return true;\&quot;>\u000a &lt;button id=\&quot;clone\&quot; onclick=\&quot;lift.ajax(&amp;quot;F1080519123888MMNCAT=true&amp;quot;, null, null, null); return false;\&quot; class=\&quot;btn btn-default\&quot; type=\&quot;button\&quot;>Clone&lt;/button>\u000a &lt;input name=\&quot;zF1080519123889CQZWAO\&quot; type=\&quot;submit\&quot; value=\&quot;Save\&quot; onclick=\&quot;lift.setUriSuffix(\u0027zF1080519123889CQZWAO=_\u0027); return true;\&quot; id=\&quot;policyConfigurationSave\&quot; class=\&quot;btn btn-success\&quot;>\u000a &lt;/div>\u000a \u000a &lt;/div>\u000a \u000a &lt;/div>\u000a &lt;div id=\&quot;navbar-scrollspy\&quot; class=\&quot;main-navbar\&quot;>\u000a &lt;ul class=\&quot;ui-tabs-nav nav nav-tabs\&quot;>\u000a &lt;li role=\&quot;presentation\&quot; class=\&quot;ui-tabs-tab\&quot;>\u000a &lt;a onclick=\&quot;navScroll(event, \u0027#directiveInfo\u0027, \u0027.main-details\u0027)\&quot; href=\&quot;#directiveInfo\&quot;>\u000a Information\u000a &lt;/a>\u000a &lt;/li>\u000a &lt;li role=\&quot;presentation\&quot; class=\&quot;ui-tabs-tab\&quot;>\u000a &lt;a onclick=\&quot;navScroll(event, \u0027#parametersTitle\u0027, \u0027.main-details\u0027)\&quot; href=\&quot;#parametersTitle\&quot;>\u000a Parameters\u000a &lt;/a>\u000a &lt;/li>\u000a &lt;li role=\&quot;presentation\&quot; class=\&quot;ui-tabs-tab\&quot;>\u000a &lt;a onclick=\&quot;navScroll(event, \u0027#directiveRulesTabTitle\u0027, \u0027.main-details\u0027)\&quot; href=\&quot;#directiveRulesTabTitle\&quot;>\u000a Target Rules\u000a &lt;/a>\u000a &lt;/li>\u000a &lt;/ul>\u000a &lt;/div>\u000a \u000a \u000a &lt;div class=\&quot;main-details\&quot;>\u000a &lt;div class=\&quot;callout callout-warning hidden\&quot; role=\&quot;alert\&quot; id=\&quot;deprecation-warning\&quot;>\u000a &lt;div class=\&quot;marker\&quot;>\u000a &lt;span class=\&quot;glyphicon glyphicon-info-sign\&quot;>&lt;/span>\u000a &lt;/div>\u000a &lt;h4>Technique version deprecated&lt;/h4>\u000a &lt;div>This Directive uses a version of this Technique that is deprecated: &lt;span id=\&quot;deprecation-message\&quot;>&lt;/span>.&lt;br>\u000a &lt;span id=\&quot;migrate-button\&quot;>&lt;/span>\u000a &lt;/div>\u000a &lt;/div>\u000a \u000a \u000a \u000a\u000a &lt;div id=\&quot;directiveInfo\&quot;>\u000a &lt;div id=\&quot;nameField\&quot; class=\&quot;row wbBaseField form-group \&quot;>\u000a &lt;label for=\&quot;F1080519123890AX0HJH\&quot; class=\&quot;col-xs-12 wbBaseFieldLabel\&quot;>&lt;b>Name&lt;/b> &lt;/label>\u000a &lt;div class=\&quot;col-xs-12\&quot;>\u000a &lt;input name=\&quot;F1080519123891010QJP\&quot; type=\&quot;text\&quot; value=\&quot;Package manager settings (RUG/YaST/ZMD)\&quot; id=\&quot;F1080519123890AX0HJH\&quot; class=\&quot;form-control\&quot;>\u000a \u000a \u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div id=\&quot;tagField\&quot;>\u000a &lt;div id=\&quot;directiveEditTagsApp\&quot;>\u000a &lt;div ng-controller=\&quot;tagsController\&quot; ng-cloak=\&quot;\&quot; id=\&quot;directiveTags\&quot;>\u000a &lt;label class=\&quot;col-xs-12 row\&quot; for=\&quot;newTagKey\&quot;>&lt;span class=\&quot;text-fit\&quot;>Tags&lt;/span>&lt;/label>\u000a &lt;div ng-class=\&quot;{\u0027noTags\u0027:tags.length==0}\&quot; class=\&quot;tags-container form-group row col-xs-12\&quot;>\u000a &lt;div ng-class=\&quot;{\u0027match\u0027: tagMatch(tag)}\&quot; ng-mouseleave=\&quot;showDelete[$index\u005d = false\&quot; ng-mouseenter=\&quot;showDelete[$index\u005d = true\&quot; ng-repeat=\&quot;tag in tags track by $index\&quot; role=\&quot;group\&quot; class=\&quot;btn-group btn-group-xs\&quot;>\u000a &lt;button ng-click=\&quot;toggleTag(tag)\&quot; class=\&quot;btn btn-default tags-label\&quot; type=\&quot;button\&quot;>\u000a &lt;i class=\&quot;fa fa-tag\&quot;>&lt;/i>\u000a &lt;span class=\&quot;tag-key\&quot;>{{tag.key}}&lt;/span>\u000a &lt;span class=\&quot;tag-separator\&quot;>=&lt;/span>\u000a &lt;span class=\&quot;tag-value\&quot;>{{tag.value}}&lt;/span>\u000a &lt;span class=\&quot;fa fa-search-plus\&quot;>&lt;/span>\u000a &lt;/button>\u000a &lt;button ng-click=\&quot;removeTag($index)\&quot; class=\&quot;btn btn-default\&quot; type=\&quot;button\&quot; ng-if=\&quot;isEditForm &amp;&amp; showDelete[$index\u005d\&quot;>&lt;span class=\&quot;fa fa-times text-danger\&quot;>&lt;/span>&lt;/button>\u000a &lt;/div>\u000a &lt;/div>\u000a \u000a &lt;div class=\&quot;form-group\&quot;>\u000a &lt;div class=\&quot;input-group col-xs-6\&quot;>\u000a \u000a &lt;div override-suggestions=\&quot;true\&quot; input-changed=\&quot;updateTag\&quot; match-class=\&quot;highlight\&quot; input-class=\&quot;form-control input-sm input-key\&quot; title-field=\&quot;value\&quot; remote-url-data-field=\&quot;data\&quot; remote-url=\&quot;{{contextPath}}/secure/api/completion/tags/{{kind}}/key/\&quot; selected-object=\&quot;selectTag\&quot; pause=\&quot;500\&quot; maxlength=\&quot;100\&quot; minlength=\&quot;1\&quot; placeholder=\&quot;key\&quot; angucomplete-alt=\&quot;\&quot; id=\&quot;newTagKey\&quot;>\u000a &lt;/div>\u000a &lt;span class=\&quot;input-group-addon addon-json\&quot;>=&lt;/span>\u000a \u000a &lt;div override-suggestions=\&quot;true\&quot; input-changed=\&quot;updateValue\&quot; match-class=\&quot;highlight\&quot; input-class=\&quot;form-control input-sm input-value\&quot; title-field=\&quot;value\&quot; remote-url-data-field=\&quot;data\&quot; remote-url=\&quot;{{contextPath}}/secure/api/completion/tags/{{kind}}/value/{{newTag.key}}/\&quot; selected-object=\&quot;selectValue\&quot; pause=\&quot;500\&quot; maxlength=\&quot;100\&quot; minlength=\&quot;1\&quot; placeholder=\&quot;value\&quot; angucomplete-alt=\&quot;\&quot; id=\&quot;newTagValue\&quot;>\u000a &lt;/div>\u000a &lt;span class=\&quot;input-group-btn\&quot;>\u000a &lt;button ng-click=\&quot;addTag()\&quot; ng-disabled=\&quot;newTag === undefined || newTag.key.length === 0 || newTag.value.length === 0\&quot; class=\&quot;btn btn-success btn-sm\&quot; type=\&quot;button\&quot;>&lt;span class=\&quot;fa fa-plus\&quot;>&lt;/span>&lt;/button>\u000a &lt;/span>\u000a &lt;/div>\u000a &lt;/div>\u000a\u000a &lt;textarea ng-hide=\&quot;true\&quot; ng-model=\&quot;result\&quot; name=\&quot;F1080519123892GWINYD\&quot;>&lt;/textarea>&lt;/div>\u000a &lt;/div>\u000a&lt;/div>\u000a &lt;div id=\&quot;shortDescriptionField\&quot; class=\&quot;row wbBaseField form-group \&quot;>\u000a &lt;label for=\&quot;F1080519123893M3A5A1\&quot; class=\&quot;col-xs-12 wbBaseFieldLabel\&quot;>&lt;span class=\&quot;text-fit\&quot;>Short description&lt;/span> &lt;/label>\u000a &lt;div class=\&quot;col-xs-12\&quot;>\u000a &lt;input name=\&quot;F1080519123894LW0AXF\&quot; type=\&quot;text\&quot; value=\&quot;\&quot; id=\&quot;F1080519123893M3A5A1\&quot; class=\&quot;form-control\&quot;>\u000a \u000a \u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div id=\&quot;longDescriptionFieldMarkdownContainer\&quot;>\u000a &lt;label class=\&quot;wbBaseFieldLabel\&quot;>&lt;span class=\&quot;text-fit\&quot;>Description&lt;/span>\u000a &lt;i onclick=\&quot;toggleMarkdownEditor(\u0027longDescriptionField\u0027)\&quot; onmouseout=\&quot;toggleOpacity(this)\&quot; title=\&quot;Edit description\&quot; onmouseenter=\&quot;toggleOpacity(this)\&quot; class=\&quot;fa fa-pencil text-primary cursorPointer half-opacity edit-description-icon\&quot;>&lt;/i>\u000a &lt;/label>\u000a &lt;div class=\&quot;markdown\&quot;>\u000a &lt;div id=\&quot;longDescriptionFieldMarkdown\&quot;>&lt;/div>\u000a &lt;p class=\&quot;nodisplay half-opacity\&quot; id=\&quot;longDescriptionFieldMarkdownEmpty\&quot;>No description defined, click on &lt;i onclick=\&quot;toggleMarkdownEditor(\u0027longDescriptionField\u0027)\&quot; onmouseout=\&quot;toggleOpacity(this)\&quot; onmouseenter=\&quot;toggleOpacity(this)\&quot; class=\&quot;fa fa-pencil text-primary cursorPointer half-opacity\&quot;>&lt;/i> to edit &lt;/p>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;nodisplay\&quot; id=\&quot;longDescriptionFieldContainer\&quot;>\u000a &lt;div id=\&quot;longDescriptionField\&quot; class=\&quot;row wbBaseField form-group col-xs-6 row\&quot;>\u000a &lt;label for=\&quot;F1080519123895EBVZUW\&quot; class=\&quot;row col-xs-12 wbBaseFieldLabel\&quot;>&lt;span class=\&quot;text-fit\&quot;>Description&lt;/span> &lt;i class=\&quot;fa fa-check text-success cursorPointer half-opacity\&quot; onmouseenter=\&quot;toggleOpacity(this)\&quot; title=\&quot;Valid description\&quot; onmouseout=\&quot;toggleOpacity(this)\&quot; onclick=\&quot;toggleMarkdownEditor(\u0027longDescriptionField\u0027)\&quot;>&lt;/i> &lt;i class=\&quot;fa fa-eye-slash text-primary cursorPointer half-opacity\&quot; onmouseenter=\&quot;toggleOpacity(this)\&quot; title=\&quot;Show/hide preview\&quot; onmouseout=\&quot;toggleOpacity(this)\&quot; onclick=\&quot;togglePreview(this, \u0027longDescriptionField\u0027)\&quot;>&lt;/i>&lt;/label>\u000a &lt;div class=\&quot;row col-xs-12\&quot;>\u000a &lt;textarea name=\&quot;F1080519123896FLBAGU\&quot; id=\&quot;F1080519123895EBVZUW\&quot; class=\&quot;form-control\&quot; rows=\&quot;15\&quot;>&lt;/textarea>\u000a \u000a \u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;wbBaseField col-xs-6 row\&quot; id=\&quot;longDescriptionFieldMarkdownPreviewContainer\&quot;>\u000a &lt;label class=\&quot;col-xs-12 row wbBaseFieldLabel\&quot;>&lt;span class=\&quot;text-fit\&quot;>Preview&lt;/span>&lt;/label>\u000a &lt;div class=\&quot; col-xs-12 row markdown\&quot; id=\&quot;longDescriptionFieldPreviewMarkdown\&quot;>&lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div>\u000a &lt;label class=\&quot;wbBaseFieldLabel\&quot;>&lt;span class=\&quot;text-fit\&quot;>Technique documentation&lt;/span>&lt;/label>\u000a &lt;div class=\&quot;markdown\&quot;>\u000a &lt;div id=\&quot;techniqueDescription\&quot;>This technique configures the RUG and YaST package manager using Novell\u0027s ZMD.&lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div id=\&quot;priority\&quot; class=\&quot;row wbBaseField form-group \&quot;>\u000a &lt;label for=\&quot;F10805191238972F4BBH\&quot; class=\&quot;col-xs-12 wbBaseFieldLabel\&quot;>&lt;div>\u000a &lt;b>Priority&lt;/b>\u000a &lt;span>\u000a &lt;span tooltipid=\&quot;priorityId\&quot; class=\&quot;ruddericon tooltipable glyphicon glyphicon-question-sign\&quot; title=\&quot;\&quot;>&lt;/span>\u000a &lt;div class=\&quot;tooltipContent\&quot; id=\&quot;priorityId\&quot;>\u000a &lt;h4> Priority &lt;/h4>\u000a &lt;p>Priority has two uses depending if the technique from which that directive is derived is &lt;b>Unique&lt;/b> or not.&lt;/p>\u000a &lt;p>Unique directives can be applied only once (for example Time Settings), so only the highest priority will be applied.&lt;/p>\u000a &lt;p>For &lt;b>non-unique&lt;/b> directives, priority is used to choose the order of the directive application when applicable. The\u000a highest priority directive comes first.&lt;/p>\u000a &lt;p>Note that overriding variable definitions are the ones coming last and so, the used value will be the one with the lowest priority.&lt;/p>\u000a &lt;p>More information is available in &lt;a href=\&quot;https://docs.rudder.io/reference/current/usage/advanced_configuration_management.html#_special_use_case_overriding_generic_variable_definition\&quot;>documentation about ordering directive application&lt;/a>.&lt;/p>\u000a &lt;/div>\u000a &lt;/span>\u000a &lt;/div> &lt;/label>\u000a &lt;div class=\&quot;col-xs-12\&quot;>\u000a &lt;select name=\&quot;F1080519123898XG4F4V\&quot; id=\&quot;F10805191238972F4BBH\&quot; class=\&quot;form-control\&quot;>&lt;option value=\&quot;SYGMBO2Z10UT0QOP10VW\&quot;>Highest&lt;/option>&lt;option value=\&quot;HWIEBQHR5OUALIIEPX5Q\&quot;>+4&lt;/option>&lt;option value=\&quot;SVQBNQ5QINENZGUEBNUP\&quot;>+3&lt;/option>&lt;option value=\&quot;R50YZMDETMPKJKDNJ0U1\&quot;>+2&lt;/option>&lt;option value=\&quot;D4UFA23UR311MBKEF1O0\&quot;>+1&lt;/option>&lt;option selected=\&quot;selected\&quot; value=\&quot;SEPZTFBJKMSYG2XOYRB0\&quot;>Default&lt;/option>&lt;option value=\&quot;UVWRDTPUALLOP5PUK0TM\&quot;>-1&lt;/option>&lt;option value=\&quot;KX2PDQHDPTZ1MNFM3NUB\&quot;>-2&lt;/option>&lt;option value=\&quot;AZSQVIYVEDXYFW0GZ3RQ\&quot;>-3&lt;/option>&lt;option value=\&quot;SZNRG5R0L3ZQQ2JHCL3U\&quot;>-4&lt;/option>&lt;option value=\&quot;GBVX2AFYLIH3U34OENNG\&quot;>Lowest&lt;/option>&lt;/select>\u000a \u000a \u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;wbBaseField form-group\&quot;>\u000a &lt;label id=\&quot;policyModesLabel\&quot; class=\&quot;wbBaseFieldLabel\&quot;>\u000a &lt;b>Policy mode&lt;/b>\u000a &lt;span>\u000a &lt;span tooltipid=\&quot;policyModeId\&quot; class=\&quot;ruddericon tooltipable glyphicon glyphicon-question-sign\&quot; title=\&quot;\&quot;>&lt;/span>\u000a &lt;div class=\&quot;tooltipContent\&quot; id=\&quot;policyModeId\&quot;>\u000a &lt;h4>Policy mode&lt;/h4>\u000a &lt;p>Configuration rules in Rudder can operate in one of two modes:&lt;/p>\u000a &lt;ol>\u000a &lt;li>&lt;b>Audit&lt;/b>: the agent will examine configurations and report any differences, but will not make any changes&lt;/li>\u000a &lt;li>&lt;b>Enforce&lt;/b>: the agent will make changes to fix any configurations that differ from your directives&lt;/li>\u000a &lt;/ol>\u000a &lt;p>\u000a By default all nodes and all directives operate in the global default mode defined in\u000a &lt;b> Settings&lt;/b>, which is currently &lt;b>enforce&lt;/b>.\u000a &lt;/p>\u000a &lt;div>\u000a You may override the agent policy mode on this directive.\u000a If set to &lt;b>Audit&lt;/b> this directive will never be enforced.\u000a If set to &lt;b>Enforce&lt;/b> this directive will appply necessary changes except on Nodes with a &lt;b>Verify&lt;/b> override setting.\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/span>\u000a &lt;/label>\u000a &lt;div id=\&quot;policyModes\&quot; class=\&quot;row wbBaseField form-group \&quot;>\u000a &lt;label for=\&quot;F10805191238995GPQQX\&quot; class=\&quot;hidden wbBaseFieldLabel\&quot;>&lt;span class=\&quot;text-fit\&quot;>Policy Mode&lt;/span> &lt;/label>\u000a &lt;div class=\&quot;col-xs-12\&quot;>\u000a &lt;div id=\&quot;F10805191238995GPQQX\&quot; class=\&quot;checkbox-group policymode-group\&quot;>\u000a &lt;label class=\&quot;radio-inline\&quot;>\u000a &lt;input checked=\&quot;checked\&quot; class=\&quot;radio\&quot; type=\&quot;radio\&quot; name=\&quot;F1080519123900CL3SHD\&quot; value=\&quot;global\&quot;>\u000a &lt;span class=\&quot;radioTextLabel\&quot;>&lt;span class=\&quot;global-btn\&quot;>Global mode (&lt;span class=\&quot;global-mode enforce\&quot;>&lt;/span>)&lt;/span>&lt;/span>\u000a &lt;/label>&lt;label class=\&quot;radio-inline\&quot;>\u000a &lt;input class=\&quot;radio\&quot; type=\&quot;radio\&quot; name=\&quot;F1080519123900CL3SHD\&quot; value=\&quot;audit\&quot;>\u000a &lt;span class=\&quot;radioTextLabel\&quot;>&lt;span class=\&quot;audit-btn\&quot;>Audit&lt;/span>&lt;/span>\u000a &lt;/label>&lt;label class=\&quot;radio-inline\&quot;>\u000a &lt;input class=\&quot;radio\&quot; type=\&quot;radio\&quot; name=\&quot;F1080519123900CL3SHD\&quot; value=\&quot;enforce\&quot;>\u000a &lt;span class=\&quot;radioTextLabel\&quot;>&lt;span class=\&quot;enforce-btn\&quot;>Enforce&lt;/span>&lt;/span>\u000a &lt;/label>\u000a &lt;/div>\u000a \u000a \u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;row wbBaseField form-group\&quot; id=\&quot;version\&quot;>\u000a &lt;label for=\&quot;version\&quot; class=\&quot;col-xs-12 wbBaseFieldLabel\&quot;>&lt;span class=\&quot;text-fit\&quot;>&lt;b>Technique version&lt;/b>&lt;/span>&lt;/label>\u000a &lt;div class=\&quot;col-xs-12\&quot;>&lt;input name=\&quot;version\&quot; class=\&quot;form-control\&quot; readonly=\&quot;\&quot; value=\&quot;3.0\&quot;>&lt;/div>\u000a &lt;/div>\u000a &lt;div id=\&quot;showTechnical\&quot; class=\&quot;directiveTechnicalInfo\&quot;>&lt;button type=\&quot;button\&quot; class=\&quot;btn btn-technical-details btn-sm btn-primary\&quot; onclick=\&quot;$(\u0027#technicalDetails\u0027).toggle(400);$(this).toggleClass(\u0027opened\u0027);\&quot;>Technical Details&lt;/button>&lt;/div>\u000a &lt;div class=\&quot;well\&quot; style=\&quot;display:none\&quot; id=\&quot;technicalDetails\&quot;>\u000a\u000a &lt;table>\u000a &lt;tbody>&lt;tr>\u000a &lt;td>&lt;label>Directive ID:&lt;/label>&lt;/td>\u000a &lt;td id=\&quot;directiveID\&quot;>9e3f2dfb-9b31-467f-97ea-81e7d0924e22&lt;/td>\u000a &lt;/tr>\u000a &lt;tr>\u000a &lt;td>&lt;label>Technique ID:&lt;/label>&lt;/td>\u000a &lt;td id=\&quot;techniqueID\&quot;>zmdPackageManagerSettings&lt;/td>\u000a &lt;/tr>\u000a &lt;tr>\u000a &lt;td>&lt;label>Technique name:&lt;/label>&lt;/td>\u000a &lt;td id=\&quot;techniqueName\&quot;>&lt;a href=\&quot;/rudder/secure/administration/techniqueLibraryManagement/zmdPackageManagerSettings\&quot;>\u000a Package manager settings (RUG/YaST/ZMD) version 3.0\u000a &lt;/a>&lt;/td>\u000a &lt;/tr>\u000a &lt;tr>\u000a &lt;td>&lt;label>Technique unicity:&lt;/label>&lt;/td>\u000a &lt;td id=\&quot;isSingle\&quot;>&lt;span>\u000a Multi instance: Several Directives based on this Technique can be applied on any given node\u000a &lt;/span>&lt;/td>\u000a &lt;/tr>\u000a &lt;/tbody>&lt;/table>\u000a &lt;/div>\u000a &lt;/div>\u000a\u000a &lt;h2 class=\&quot;title-tab\&quot; id=\&quot;parametersTitle\&quot;>Parameters&lt;/h2>\u000a &lt;div id=\&quot;parameters\&quot; class=\&quot;variableDefinition\&quot;>\u000a &lt;table class=\&quot;directiveVarDef\&quot;>\u000a &lt;tr>&lt;td colspan=\&quot;3\&quot;>\u000a &lt;div id=\&quot;F1080519123914XUOYCW\&quot; class=\&quot;sectionFieldset foldableSection unfoldedSection\&quot;>\u000a &lt;div class=\&quot;section-title\&quot; onClick=\&quot;F1080519123915UPGO5Z()\&quot;>Section: General settings&lt;/div>\u000a &lt;table class=\&quot;directiveSectionDef\&quot;>\u000a &lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>&lt;b>Security level&lt;/b> &lt;span tooltipid=\&quot;F1080519123904CVTVKF\&quot; class=\&quot;ruddericon tooltipable glyphicon glyphicon-question-sign\&quot; title=\&quot;\&quot;>&lt;/span>&lt;div class=\&quot;tooltipContent\&quot; id=\&quot;F1080519123904CVTVKF\&quot;>This option defines which component of a repository is used as a trusted reference for the packages. Signature checks the package against the repository PGP key and Checksum only checks the package integrity. None installs the packages blindly without checking them.&lt;/div> &lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>&lt;select name=\&quot;F1080519123903DK0XXH\&quot;>&lt;option value=\&quot;signature\&quot;>Signature&lt;/option>&lt;option value=\&quot;checksum\&quot;>Checksum&lt;/option>&lt;option value=\&quot;none\&quot;>Nothing&lt;/option>&lt;option selected=\&quot;selected\&quot; value=\&quot;dontchange\&quot;>Don\u0027t change&lt;/option>&lt;/select>&lt;/td>\u000a &lt;/tr>&lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>Proxy URL &lt;span tooltipid=\&quot;F108051912390744SYEK\&quot; class=\&quot;ruddericon tooltipable glyphicon glyphicon-question-sign\&quot; title=\&quot;\&quot;>&lt;/span>&lt;div class=\&quot;tooltipContent\&quot; id=\&quot;F108051912390744SYEK\&quot;>The URL should be in the following format: http://[user:password@\u005dserver[:port\u005d/&lt;/div> &lt;span> - &lt;small class=\&quot;greyscala\&quot;>Optional&lt;/small>&lt;/span>&lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>\u000a &lt;div id=\&quot;F10805191239052S2ZRV\&quot; class=\&quot;directive-input-group\&quot;>\u000a &lt;div id=\&quot;F10805191239052S2ZRV-controller\&quot; ng-controller=\&quot;textController\&quot; class=\&quot;input-group input-group-sm text-section col-xs-12\&quot;>\u000a &lt;div ng-cloak=\&quot;\&quot; ng-show=\&quot;feature\&quot; class=\&quot;input-group-btn\&quot;>\u000a &lt;button type=\&quot;button\&quot; data-toggle=\&quot;dropdown\&quot; class=\&quot;btn btn-default dropdown-toggle\&quot;>{{prefixName()}} &lt;span class=\&quot;caret\&quot;>&lt;/span>&lt;/button>\u000a &lt;ul class=\&quot;dropdown-menu\&quot;>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027\u0027\&quot;>Text&lt;/a>&lt;/li>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027evaljs:\u0027\&quot;>JS&lt;/a>&lt;/li>\u000a &lt;/ul>\u000a &lt;/div>\u000a &lt;input type=\&quot;text\&quot; ng-model=\&quot;current.value\&quot; class=\&quot;form-control monospace-font\&quot;>\u000a &lt;textarea ng-hide=\&quot;true\&quot; ng-model=\&quot;result\&quot; name=\&quot;F1080519123906I351CU\&quot;>&lt;/textarea>&lt;/div>\u000a &lt;/div>\u000a&lt;/td>\u000a &lt;/tr>&lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>Proxy username &lt;span tooltipid=\&quot;F1080519123910KZ0G5Z\&quot; class=\&quot;ruddericon tooltipable glyphicon glyphicon-question-sign\&quot; title=\&quot;\&quot;>&lt;/span>&lt;div class=\&quot;tooltipContent\&quot; id=\&quot;F1080519123910KZ0G5Z\&quot;>This should be the username used to connect to the proxy, if required&lt;/div> &lt;span> - &lt;small class=\&quot;greyscala\&quot;>Optional&lt;/small>&lt;/span>&lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>\u000a &lt;div id=\&quot;F1080519123908HHEGMH\&quot; class=\&quot;directive-input-group\&quot;>\u000a &lt;div id=\&quot;F1080519123908HHEGMH-controller\&quot; ng-controller=\&quot;textController\&quot; class=\&quot;input-group input-group-sm text-section col-xs-12\&quot;>\u000a &lt;div ng-cloak=\&quot;\&quot; ng-show=\&quot;feature\&quot; class=\&quot;input-group-btn\&quot;>\u000a &lt;button type=\&quot;button\&quot; data-toggle=\&quot;dropdown\&quot; class=\&quot;btn btn-default dropdown-toggle\&quot;>{{prefixName()}} &lt;span class=\&quot;caret\&quot;>&lt;/span>&lt;/button>\u000a &lt;ul class=\&quot;dropdown-menu\&quot;>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027\u0027\&quot;>Text&lt;/a>&lt;/li>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027evaljs:\u0027\&quot;>JS&lt;/a>&lt;/li>\u000a &lt;/ul>\u000a &lt;/div>\u000a &lt;input type=\&quot;text\&quot; ng-model=\&quot;current.value\&quot; class=\&quot;form-control monospace-font\&quot;>\u000a &lt;textarea ng-hide=\&quot;true\&quot; ng-model=\&quot;result\&quot; name=\&quot;F1080519123909QWH2YQ\&quot;>&lt;/textarea>&lt;/div>\u000a &lt;/div>\u000a&lt;/td>\u000a &lt;/tr>&lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>Proxy password &lt;span tooltipid=\&quot;F1080519123913ZT14GO\&quot; class=\&quot;ruddericon tooltipable glyphicon glyphicon-question-sign\&quot; title=\&quot;\&quot;>&lt;/span>&lt;div class=\&quot;tooltipContent\&quot; id=\&quot;F1080519123913ZT14GO\&quot;>This should be the password used to connect to the proxy, if required&lt;/div> &lt;span> - &lt;small class=\&quot;greyscala\&quot;>Optional&lt;/small>&lt;/span>&lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>\u000a &lt;div id=\&quot;F1080519123911A1JVJK\&quot; class=\&quot;password-app\&quot;>\u000a &lt;div id=\&quot;F1080519123911A1JVJK-controller\&quot; ng-cloak=\&quot;\&quot; ng-controller=\&quot;passwordController\&quot; class=\&quot;password-section\&quot;>\u000a &lt;div ng-if=\&quot;displayCurrent()\&quot; class=\&quot;current-password padding-form\&quot;>\u000a &lt;div class=\&quot;form-group row is-passwd\&quot; ng-if=\&quot;! current.isScript\&quot;>\u000a &lt;label class=\&quot;control-label\&quot;>Current password &lt;small style=\&quot;color: #999\&quot;>- {{displayCurrentHash()}}&lt;/small>&lt;/label>\u000a &lt;div class=\&quot;input-group col-xs-12\&quot;>\u000a &lt;input ng-value=\&quot;displayedPass\&quot; class=\&quot;form-control toggle-type\&quot; placeholder=\&quot;\&quot; readonly=\&quot;\&quot; ng-if=\&quot;current.show\&quot; type=\&quot;text\&quot;>\u000a &lt;input placeholder=\&quot;\&quot; ng-model=\&quot;displayedPass\&quot; class=\&quot;form-control toggle-type animate-show\&quot; readonly=\&quot;\&quot; type=\&quot;password\&quot; ng-hide=\&quot;current.show\&quot;>\u000a &lt;span class=\&quot;input-group-btn\&quot;>\u000a &lt;button aria-expanded=\&quot;false\&quot; aria-haspopup=\&quot;true\&quot; ng-if=\&quot;otherPasswords !== undefined\&quot; data-toggle=\&quot;dropdown\&quot; class=\&quot;btn btn-default dropdown-toggle\&quot; type=\&quot;button\&quot;>\u000a &lt;span class=\&quot;caret\&quot;>&lt;/span>&lt;span class=\&quot;sr-only\&quot;>Toggle Dropdown&lt;/span>\u000a &lt;/button>\u000a &lt;ul ng-if=\&quot;otherPasswords !== undefined\&quot; class=\&quot;dropdown-menu dropdown-menu-right\&quot;>\u000a &lt;li>&lt;a ng-click=\&quot;changeDisplayPass(current.password)\&quot;>Default&lt;/a>&lt;/li>\u000a &lt;li ng-repeat=\&quot;(name, password) in otherPasswords\&quot;>\u000a &lt;a ng-click=\&quot;changeDisplayPass(password)\&quot;>{{name}}&lt;/a>&lt;/li>\u000a &lt;/ul>\u000a &lt;button class=\&quot;btn btn-default reveal-password\&quot; ng-click=\&quot;current.show = ! current.show\&quot; type=\&quot;button\&quot;>\u000a &lt;span class=\&quot;glyphicon \&quot; ng-class=\&quot;current.show ? \u0027glyphicon-eye-close\u0027 : \u0027glyphicon-eye-open\u0027\&quot;>&lt;/span>\u000a &lt;/button> \u000a &lt;button ng-click=\&quot;changeAction(\u0027change\u0027)\&quot; ng-if=\&quot;action !== \u0027change\u0027\&quot; class=\&quot;btn btn-info\&quot; type=\&quot;button\&quot;>Change&lt;/button>\u000a &lt;button ng-click=\&quot;changeAction(\u0027keep\u0027)\&quot; ng-if=\&quot;action === \u0027change\u0027\&quot; class=\&quot;btn btn-success\&quot; type=\&quot;button\&quot;>Revert&lt;/button>\u000a &lt;button ng-if=\&quot;canBeDeleted\&quot; ng-click=\&quot;changeAction(\u0027delete\u0027)\&quot; class=\&quot;btn btn-danger\&quot; type=\&quot;button\&quot;>Delete&lt;/button>\u000a &lt;/span>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div>\u000a &lt;div ng-if=\&quot;current.isScript\&quot; class=\&quot;form-group is-script\&quot;>\u000a &lt;label class=\&quot;control-label\&quot;>Script to compute passwords&lt;/label>\u000a &lt;span class=\&quot;btn-group\&quot;>\u000a &lt;button ng-click=\&quot;changeAction(\u0027change\u0027)\&quot; ng-if=\&quot;action !== \u0027change\u0027\&quot; class=\&quot;btn btn-info\&quot; type=\&quot;button\&quot;>Change&lt;/button>\u000a &lt;button ng-click=\&quot;changeAction(\u0027keep\u0027)\&quot; ng-if=\&quot;action === \u0027change\u0027\&quot; class=\&quot;btn btn-success\&quot; type=\&quot;button\&quot;>Revert&lt;/button>\u000a &lt;button ng-click=\&quot;changeAction(\u0027delete\u0027)\&quot; class=\&quot;btn btn-danger\&quot; type=\&quot;button\&quot;>Delete&lt;/button>\u000a &lt;/span>\u000a &lt;div class=\&quot;input-group col-xs-12\&quot;>\u000a &lt;textarea placeholder=\&quot;\&quot; ng-model=\&quot;current.password\&quot; class=\&quot;form-control toggle-type\&quot; rows=\&quot;4\&quot; readonly=\&quot;\&quot;>&lt;/textarea>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div ng-if=\&quot;action === \u0027delete\u0027\&quot; class=\&quot;password-deleted\&quot;>\u000a &lt;h4 class=\&quot;\&quot;>Password will not be managed by Rudder anymore\u000a &lt;button ng-click=\&quot;changeAction(\u0027keep\u0027)\&quot; class=\&quot;btn btn-success\&quot; type=\&quot;button\&quot;>Revert&lt;/button>\u000a &lt;/h4>\u000a &lt;/div>\u000a &lt;div ng-if=\&quot;action === \u0027change\u0027\&quot; class=\&quot;actions\&quot;>\u000a &lt;div role=\&quot;group\&quot; class=\&quot;btn-group \&quot;>\u000a &lt;a class=\&quot;btn btn-default\&quot; ng-click=\&quot;passwordForm(\u0027withHashes\u0027)\&quot; ng-class=\&quot;formType === \u0027withHashes\u0027 ? \u0027active\u0027 : \u0027\u0027 \&quot;>Enter password + hash&lt;/a>\u000a &lt;a class=\&quot;btn btn-default\&quot; ng-click=\&quot;passwordForm(\u0027preHashed\u0027) \&quot; ng-class=\&quot;formType === \u0027preHashed\u0027 ? \u0027active\u0027 : \u0027\u0027 \&quot;>Enter pre-hashed value&lt;/a>\u000a &lt;a class=\&quot;btn btn-default\&quot; ng-click=\&quot;passwordForm(\u0027clearText\u0027) \&quot; ng-class=\&quot;formType === \u0027clearText\u0027 ? \u0027active\u0027 : \u0027\u0027 \&quot;>Use clear text password&lt;/a>\u000a &lt;a ng-if=\&quot;scriptEnabled\&quot; class=\&quot;btn btn-default\&quot; ng-click=\&quot;passwordForm(\u0027script\u0027) \&quot; ng-class=\&quot;formType === \u0027script\u0027 ? \u0027active\u0027 : \u0027\u0027 \&quot;>Enter script to set passwords&lt;/a>\u000a &lt;/div>\u000a &lt;div ng-if=\&quot;formType === \u0027withHashes\u0027\&quot; class=\&quot;bloc-action\&quot;>\u000a &lt;div>\u000a &lt;div class=\&quot;form-group has-feedback\&quot;>\u000a &lt;label class=\&quot;control-label\&quot;>New password&lt;/label>\u000a &lt;div class=\&quot;input-group col-xs-12\&quot;>\u000a &lt;input placeholder=\&quot;\&quot; ng-model=\&quot;newPassword.password\&quot; class=\&quot;form-control toggle-type animate-show\&quot; type=\&quot;text\&quot; ng-if=\&quot;newPassword.show\&quot;>\u000a &lt;input placeholder=\&quot;\&quot; ng-model=\&quot;newPassword.password\&quot; class=\&quot;form-control toggle-type animate-show\&quot; type=\&quot;password\&quot; ng-hide=\&quot;newPassword.show\&quot;>\u000a &lt;span class=\&quot;input-group-btn\&quot;>\u000a &lt;button class=\&quot;btn btn-default reveal-password\&quot; ng-click=\&quot;newPassword.show = ! newPassword.show\&quot; type=\&quot;button\&quot;>\u000a &lt;span class=\&quot;glyphicon \&quot; ng-class=\&quot;newPassword.show ? \u0027glyphicon-eye-close\u0027 : \u0027glyphicon-eye-open\u0027\&quot;>&lt;/span>\u000a &lt;/button>\u000a &lt;/span>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;form-group \&quot;>\u000a &lt;label class=\&quot;control-label\&quot;>Hash algorithm&lt;/label>\u000a &lt;div class=\&quot;col-xs-12\&quot;>\u000a &lt;select ng-options=\&quot;prefix as hash for (prefix, hash) in hashes\&quot; ng-model=\&quot;newPassword.hash\&quot; class=\&quot;form-control\&quot;>\u000a &lt;/select>\u000a &lt;span class=\&quot;help-block\&quot;>\u000a This password will be hashed using the &lt;strong>{{hashes[newPassword.hash\u005d}}&lt;/strong> algorithm and stored and distributed only as a hash.\u000a The plain text value entered above will not be stored.\u000a &lt;/span>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div ng-if=\&quot;formType === \u0027preHashed\u0027 || formType === \u0027clearText\u0027\&quot; class=\&quot;panel bloc-action\&quot;>\u000a &lt;div class=\&quot;\&quot;>\u000a &lt;div class=\&quot;form-group has-feedback\&quot;>\u000a &lt;label class=\&quot;control-label\&quot;>New password&lt;/label>\u000a &lt;div ng-if=\&quot; formType === \u0027clearText\u0027\&quot; class=\&quot;input-group col-xs-12\&quot;>\u000a\u000a &lt;input placeholder=\&quot;\&quot; ng-model=\&quot;newPassword.password\&quot; class=\&quot;form-control toggle-type animate-show\&quot; type=\&quot;text\&quot; ng-if=\&quot;newPassword.show\&quot;>\u000a &lt;input placeholder=\&quot;\&quot; ng-model=\&quot;newPassword.password\&quot; class=\&quot;form-control toggle-type animate-show\&quot; type=\&quot;password\&quot; ng-hide=\&quot;newPassword.show\&quot;>\u000a &lt;span class=\&quot;input-group-btn\&quot;>\u000a &lt;button class=\&quot;btn btn-default reveal-password\&quot; ng-click=\&quot;newPassword.show = ! newPassword.show\&quot; type=\&quot;button\&quot;>\u000a &lt;span class=\&quot;glyphicon \&quot; ng-class=\&quot;newPassword.show ? \u0027glyphicon-eye-close\u0027 : \u0027glyphicon-eye-open\u0027\&quot;>&lt;/span>\u000a &lt;/button>\u000a &lt;/span>\u000a &lt;/div>\u000a &lt;div ng-if=\&quot; formType === \u0027preHashed\u0027\&quot; class=\&quot;col-xs-12\&quot;>\u000a &lt;input placeholder=\&quot;\&quot; ng-model=\&quot;newPassword.password\&quot; class=\&quot;form-control toggle-type\&quot; type=\&quot;text\&quot;>\u000a &lt;/div>\u000a &lt;span class=\&quot;help-block col-xs-12\&quot;>\u000a This &lt;strong class=\&quot;variation\&quot;>{{formType === \u0027preHashed\u0027 ? &amp;quot;hash&amp;quot; : &amp;quot;password&amp;quot;}}&lt;/strong> will be stored and distributed verbatim (plain text).\u000a &lt;/span>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div ng-if=\&quot;formType === \u0027script\u0027\&quot; class=\&quot;panel bloc-action\&quot;>\u000a &lt;div class=\&quot;\&quot;>\u000a &lt;div class=\&quot;form-group has-feedback\&quot;>\u000a &lt;label class=\&quot;control-label\&quot;>Script&lt;/label>\u000a &lt;div class=\&quot;input-group col-xs-12 \&quot;>\u000a &lt;textarea rows=\&quot;4\&quot; ng-model=\&quot;newPassword.password\&quot; class=\&quot;form-control\&quot;>&lt;/textarea>\u000a &lt;span class=\&quot;help-block\&quot;>\u000a You can enter a JavaScript expression here. See &lt;a href=\&quot;/rudder-doc/reference/current/usage/advanced_configuration_management.html#_javascript_evaluation_in_directives\&quot;>documentation&lt;/a> here for details.&lt;br>\u000a Passwords will be computed for each node during policy generation. To use hashed passwords, make sure to call the rudder.password function in the script above.\u000a &lt;/span>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;input value=\&quot;\&quot; ng-hide=\&quot;true\&quot; ng-model=\&quot;result\&quot; type=\&quot;text\&quot; name=\&quot;F1080519123912LJPQNE\&quot;>&lt;/div>\u000a &lt;/div>\u000a&lt;/td>\u000a &lt;/tr>\u000a &lt;/table>\u000a &lt;/div>\u000a &lt;/td>&lt;/tr>&lt;tr>&lt;td colspan=\&quot;3\&quot;>\u000a &lt;div id=\&quot;F1080519123932UVUQ2D\&quot; class=\&quot;sectionFieldset foldableSection unfoldedSection\&quot;>\u000a &lt;div class=\&quot;section-title\&quot; onClick=\&quot;F10805191239333RES3W()\&quot;>Section: Repository settings&lt;/div>\u000a &lt;table class=\&quot;directiveSectionDef\&quot;>\u000a &lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>&lt;b>Add the following repository(ies)&lt;/b> &lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>&lt;input type=\&quot;checkbox\&quot; name=\&quot;F1080519123916XRUKPZ\&quot; value=\&quot;true\&quot;>&lt;input type=\&quot;hidden\&quot; name=\&quot;F1080519123916XRUKPZ\&quot; value=\&quot;false\&quot;>&lt;/td>\u000a &lt;/tr>&lt;tr id=\&quot;F1080519123874J5TQEY\&quot;>&lt;td colspan=\&quot;3\&quot;>\u000a &lt;div class=\&quot;directiveGroup\&quot;>&lt;div id=\&quot;F1080519123917JZYWY2\&quot; class=\&quot;groupFieldset foldableSection foldedSection\&quot;>\u000a &lt;div class=\&quot;section-title\&quot; onClick=\&quot;F1080519123918VBKHTZ()\&quot;>Repository #1&lt;/div>\u000a &lt;table class=\&quot;directiveGroupDef\&quot;>\u000a &lt;tbody>\u000a &lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>Repository URL &lt;span> - &lt;small class=\&quot;greyscala\&quot;>Optional&lt;/small>&lt;/span>&lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>\u000a &lt;div id=\&quot;F1080519123919KACJQE\&quot; class=\&quot;directive-input-group\&quot;>\u000a &lt;div id=\&quot;F1080519123919KACJQE-controller\&quot; ng-controller=\&quot;textController\&quot; class=\&quot;input-group input-group-sm text-section col-xs-12\&quot;>\u000a &lt;div ng-cloak=\&quot;\&quot; ng-show=\&quot;feature\&quot; class=\&quot;input-group-btn\&quot;>\u000a &lt;button type=\&quot;button\&quot; data-toggle=\&quot;dropdown\&quot; class=\&quot;btn btn-default dropdown-toggle\&quot;>{{prefixName()}} &lt;span class=\&quot;caret\&quot;>&lt;/span>&lt;/button>\u000a &lt;ul class=\&quot;dropdown-menu\&quot;>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027\u0027\&quot;>Text&lt;/a>&lt;/li>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027evaljs:\u0027\&quot;>JS&lt;/a>&lt;/li>\u000a &lt;/ul>\u000a &lt;/div>\u000a &lt;input type=\&quot;text\&quot; ng-model=\&quot;current.value\&quot; class=\&quot;form-control monospace-font\&quot;>\u000a &lt;textarea ng-hide=\&quot;true\&quot; ng-model=\&quot;result\&quot; name=\&quot;F108051912392001BQAH\&quot;>&lt;/textarea>&lt;/div>\u000a &lt;/div>\u000a&lt;/td>\u000a &lt;/tr>&lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>Repository local name &lt;span> - &lt;small class=\&quot;greyscala\&quot;>Optional&lt;/small>&lt;/span>&lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>\u000a &lt;div id=\&quot;F1080519123921VEKQ4C\&quot; class=\&quot;directive-input-group\&quot;>\u000a &lt;div id=\&quot;F1080519123921VEKQ4C-controller\&quot; ng-controller=\&quot;textController\&quot; class=\&quot;input-group input-group-sm text-section col-xs-12\&quot;>\u000a &lt;div ng-cloak=\&quot;\&quot; ng-show=\&quot;feature\&quot; class=\&quot;input-group-btn\&quot;>\u000a &lt;button type=\&quot;button\&quot; data-toggle=\&quot;dropdown\&quot; class=\&quot;btn btn-default dropdown-toggle\&quot;>{{prefixName()}} &lt;span class=\&quot;caret\&quot;>&lt;/span>&lt;/button>\u000a &lt;ul class=\&quot;dropdown-menu\&quot;>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027\u0027\&quot;>Text&lt;/a>&lt;/li>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027evaljs:\u0027\&quot;>JS&lt;/a>&lt;/li>\u000a &lt;/ul>\u000a &lt;/div>\u000a &lt;input type=\&quot;text\&quot; ng-model=\&quot;current.value\&quot; class=\&quot;form-control monospace-font\&quot;>\u000a &lt;textarea ng-hide=\&quot;true\&quot; ng-model=\&quot;result\&quot; name=\&quot;F1080519123922ZPFM02\&quot;>&lt;/textarea>&lt;/div>\u000a &lt;/div>\u000a&lt;/td>\u000a &lt;/tr>\u000a &lt;/tbody>\u000a &lt;/table>\u000a &lt;div class=\&quot;textright directiveDeleteGroup\&quot;>&lt;input onclick=\&quot;lift.setUriSuffix(\u0027zF10805191239235WOUPD=_\u0027); return true;\&quot; value=\&quot;Delete \u0027Repository #1\u0027\&quot; class=\&quot;btn btn-danger\&quot; disabled=\&quot;true\&quot; type=\&quot;submit\&quot; name=\&quot;zF10805191239235WOUPD\&quot;>&lt;/div>\u000a \u000a \u000a &lt;div class=\&quot;directiveAddGroup\&quot;>&lt;input onclick=\&quot;lift.setUriSuffix(\u0027zF1080519123924DB10PM=_\u0027); return true;\&quot; value=\&quot;Add another \u0027Repository\u0027\&quot; class=\&quot;btn new-icon btn-success btn-outline\&quot; type=\&quot;submit\&quot; name=\&quot;zF1080519123924DB10PM\&quot;>&lt;/div>\u000a \u000a &lt;/div>&lt;/div>\u000a &lt;/td>&lt;/tr>&lt;tr>&lt;td colspan=\&quot;3\&quot;>\u000a &lt;div id=\&quot;F1080519123930ZFN5SK\&quot; class=\&quot;sectionFieldset foldableSection unfoldedSection\&quot;>\u000a &lt;div class=\&quot;section-title\&quot; onClick=\&quot;F1080519123931OFN3CD()\&quot;>Section: Advanced repository settings&lt;/div>\u000a &lt;table class=\&quot;directiveSectionDef\&quot;>\u000a &lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>&lt;b>Set the refresh interval&lt;/b> &lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>&lt;input type=\&quot;checkbox\&quot; name=\&quot;F1080519123925DMVBMD\&quot; value=\&quot;true\&quot;>&lt;input type=\&quot;hidden\&quot; name=\&quot;F1080519123925DMVBMD\&quot; value=\&quot;false\&quot;>&lt;/td>\u000a &lt;/tr>&lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>&lt;b>How long between refreshes, in seconds&lt;/b> &lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>\u000a &lt;div id=\&quot;F108051912392653Y1P0\&quot; class=\&quot;directive-input-group\&quot;>\u000a &lt;div id=\&quot;F108051912392653Y1P0-controller\&quot; ng-controller=\&quot;textController\&quot; class=\&quot;input-group input-group-sm text-section col-xs-12\&quot;>\u000a &lt;div ng-cloak=\&quot;\&quot; ng-show=\&quot;feature\&quot; class=\&quot;input-group-btn\&quot;>\u000a &lt;button type=\&quot;button\&quot; data-toggle=\&quot;dropdown\&quot; class=\&quot;btn btn-default dropdown-toggle\&quot;>{{prefixName()}} &lt;span class=\&quot;caret\&quot;>&lt;/span>&lt;/button>\u000a &lt;ul class=\&quot;dropdown-menu\&quot;>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027\u0027\&quot;>Text&lt;/a>&lt;/li>\u000a &lt;li>&lt;a href=\&quot;#\&quot; ng-click=\&quot;current.prefix = \u0027evaljs:\u0027\&quot;>JS&lt;/a>&lt;/li>\u000a &lt;/ul>\u000a &lt;/div>\u000a &lt;input type=\&quot;text\&quot; ng-model=\&quot;current.value\&quot; class=\&quot;form-control monospace-font\&quot;>\u000a &lt;textarea ng-hide=\&quot;true\&quot; ng-model=\&quot;result\&quot; name=\&quot;F1080519123927KQ3KCJ\&quot;>&lt;/textarea>&lt;/div>\u000a &lt;/div>\u000a&lt;/td>\u000a &lt;/tr>&lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>&lt;b>Allow clients to connect remotely to this daemon&lt;/b> &lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>&lt;div>&lt;div class=\&quot;radio\&quot;>\u000a &lt;label>\u000a &lt;input type=\&quot;radio\&quot; name=\&quot;F1080519123928IQB0PO\&quot; value=\&quot;True\&quot;>\u000a True\u000a &lt;/label>\u000a &lt;/div>&lt;div class=\&quot;radio\&quot;>\u000a &lt;label>\u000a &lt;input type=\&quot;radio\&quot; name=\&quot;F1080519123928IQB0PO\&quot; value=\&quot;False\&quot;>\u000a False\u000a &lt;/label>\u000a &lt;/div>&lt;div class=\&quot;radio\&quot;>\u000a &lt;label>\u000a &lt;input checked=\&quot;checked\&quot; type=\&quot;radio\&quot; name=\&quot;F1080519123928IQB0PO\&quot; value=\&quot;dontchange\&quot;>\u000a Don\u0027t change\u000a &lt;/label>\u000a &lt;/div>&lt;/div>&lt;/td>\u000a &lt;/tr>&lt;tr>\u000a &lt;td colspan=\&quot;2\&quot;>\u000a &lt;span>&lt;b>Logging level (off, fatal, error, warn, info, debug)&lt;/b> &lt;/span>\u000a &lt;/td>\u000a &lt;td class=\&quot;directiveVarValue\&quot;>&lt;select name=\&quot;F1080519123929VA43OO\&quot;>&lt;option value=\&quot;off\&quot;>Off&lt;/option>&lt;option value=\&quot;fatal\&quot;>Fatal&lt;/option>&lt;option value=\&quot;error\&quot;>Error&lt;/option>&lt;option value=\&quot;warn\&quot;>Warn&lt;/option>&lt;option value=\&quot;info\&quot;>Info&lt;/option>&lt;option value=\&quot;debug\&quot;>Debug&lt;/option>&lt;option selected=\&quot;selected\&quot; value=\&quot;dontchange\&quot;>Don\u0027t change&lt;/option>&lt;/select>&lt;/td>\u000a &lt;/tr>\u000a &lt;/table>\u000a &lt;/div>\u000a &lt;/td>&lt;/tr>\u000a &lt;/table>\u000a &lt;/div>\u000a &lt;/td>&lt;/tr>\u000a &lt;/table>\u000a &lt;/div>\u000a &lt;h2 class=\&quot;title-tab\&quot; id=\&quot;directiveRulesTabTitle\&quot;>Target rules&lt;/h2>\u000a &lt;div id=\&quot;directiveRulesTab\&quot;>&lt;div>\u000a &lt;div class=\&quot;row col-small-padding\&quot;>\u000a &lt;div class=\&quot;col-xs-12 col-lg-3 col-md-4\&quot;>\u000a &lt;div class=\&quot;box\&quot;>\u000a &lt;div class=\&quot;box-header with-border\&quot;>\u000a &lt;h3 class=\&quot;box-title\&quot;>&lt;i class=\&quot;fa fa-filter\&quot; aria-hidden=\&quot;true\&quot;>&lt;/i>Filters&lt;/h3>\u000a &lt;div class=\&quot;box-tools pull-right\&quot;>\u000a &lt;button class=\&quot;btn btn-box-tool\&quot; data-widget=\&quot;collapse\&quot;>&lt;i class=\&quot;fa fa-chevron-down\&quot;>&lt;/i>&lt;/button>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;box-body\&quot;>\u000a &lt;div class=\&quot;row\&quot;>\u000a &lt;div class=\&quot;col-xs-12\&quot;>\u000a &lt;div id=\&quot;showFiltersRules\&quot; ng-controller=\&quot;filterTagCtrl\&quot; ng-init=\&quot;initRule()\&quot; class=\&quot;filters\&quot; ng-cloak=\&quot;\&quot;>\u000a &lt;div class=\&quot;filters-container\&quot;>\u000a &lt;div class=\&quot;filterTag\&quot;>\u000a &lt;div class=\&quot;input-group search-addon\&quot;>\u000a &lt;label for=\&quot;searchStr\&quot; class=\&quot;input-group-addon search-addon\&quot;>&lt;span class=\&quot;ion ion-search\&quot;>&lt;/span>&lt;/label>\u000a &lt;input type=\&quot;text\&quot; id=\&quot;searchStr\&quot; class=\&quot;input-sm form-control\&quot; placeholder=\&quot;Filter\&quot; ng-model=\&quot;strSearch\&quot; ng-keyup=\&quot;filterGlobal(strSearch)\&quot;>\u000a &lt;/div>\u000a &lt;div class=\&quot;form-group\&quot;>\u000a &lt;label>Tags&lt;/label>\u000a &lt;div class=\&quot;input-group\&quot;>\u000a &lt;div id=\&quot;ruleFilterKeyInput\&quot; angucomplete-alt=\&quot;\&quot; placeholder=\&quot;key\&quot; minlength=\&quot;1\&quot; maxlength=\&quot;100\&quot; pause=\&quot;500\&quot; selected-object=\&quot;selectTag\&quot; remote-url=\&quot;{{contextPath}}/secure/api/completion/tags/rule/key/\&quot; remote-url-data-field=\&quot;data\&quot; title-field=\&quot;value\&quot; input-class=\&quot;form-control input-sm input-key\&quot; match-class=\&quot;highlight\&quot; input-changed=\&quot;updateTag\&quot; override-suggestions=\&quot;true\&quot;>\u000a &lt;/div>\u000a &lt;span class=\&quot;input-group-addon addon-json\&quot;>=&lt;/span>\u000a &lt;div id=\&quot;ruleFilterValueInput\&quot; angucomplete-alt=\&quot;\&quot; placeholder=\&quot;value\&quot; minlength=\&quot;1\&quot; maxlength=\&quot;100\&quot; pause=\&quot;500\&quot; selected-object=\&quot;selectValue\&quot; remote-url=\&quot;{{contextPath}}/secure/api/completion/tags/rule/value/{{newTag.key}}/\&quot; remote-url-data-field=\&quot;data\&quot; title-field=\&quot;value\&quot; input-class=\&quot;form-control input-sm input-value\&quot; match-class=\&quot;highlight\&quot; input-changed=\&quot;updateValue\&quot; override-suggestions=\&quot;true\&quot;>\u000a &lt;/div>\u000a &lt;span class=\&quot;input-group-btn\&quot;>\u000a &lt;button type=\&quot;button\&quot; ng-click=\&quot;addTag(newTag)\&quot; class=\&quot;btn btn-success btn-sm\&quot; ng-disabled=\&quot; (isEmptyOrBlank(newTag.key) &amp;amp;&amp;amp; isEmptyOrBlank(newTag.value)); \&quot;>\u000a &lt;span class=\&quot;fa fa-plus\&quot;>&lt;/span>\u000a &lt;/button>\u000a &lt;/span>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;only-tags\&quot;>\u000a &lt;button class=\&quot;btn btn-default btn-xs pull-right\&quot; ng-click=\&quot;clearAllTags()\&quot; ng-hide=\&quot;tags.length==0\&quot;>\u000a Clear all tags\u000a &lt;i class=\&quot;fa fa-trash\&quot; aria-hidden=\&quot;true\&quot;>&lt;/i>\u000a &lt;/button>\u000a &lt;/div>\u000a &lt;div class=\&quot;tags-container\&quot;>\u000a &lt;div class=\&quot;btn-group btn-group-xs\&quot; role=\&quot;group\&quot; ng-repeat=\&quot;tag in tags track by $index\&quot;>\u000a &lt;button class=\&quot;btn btn-default tags-label\&quot; ng-class=\&quot;{\u0027onlyKey\u0027:only.key, \u0027onlyValue\u0027:only.value, \u0027already-exist\u0027:tag.alreadyExist}\&quot; ng-click=\&quot;modifyTag(tag,\u0027ruleFilterKeyInput\u0027,\u0027ruleFilterValueInput\u0027)\&quot;>\u000a &lt;i class=\&quot;fa fa-tag\&quot;>&lt;/i>\u000a &lt;span class=\&quot;tag-key\&quot;>\u000a &lt;span ng-show=\&quot;tag.key!=\u0027\u0027\&quot;>{{tag.key}}&lt;/span>\u000a &lt;i class=\&quot;fa fa-asterisk\&quot; aria-hidden=\&quot;true\&quot; ng-show=\&quot;tag.key==\u0027\u0027\&quot;>&lt;/i>\u000a &lt;/span>\u000a &lt;span class=\&quot;tag-separator\&quot;>=&lt;/span>\u000a &lt;span class=\&quot;tag-value\&quot;>\u000a &lt;span ng-show=\&quot;tag.value!=\u0027\u0027\&quot;>{{tag.value}}&lt;/span>\u000a &lt;i class=\&quot;fa fa-asterisk\&quot; aria-hidden=\&quot;true\&quot; ng-show=\&quot;tag.value==\u0027\u0027\&quot;>&lt;/i>\u000a &lt;/span>\u000a &lt;/button>\u000a &lt;button type=\&quot;button\&quot; class=\&quot;btn btn-default\&quot; ng-click=\&quot;removeTag($index)\&quot;>\u000a &lt;span class=\&quot;fa fa-times\&quot;>&lt;/span>\u000a &lt;/button>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;box\&quot;>\u000a &lt;div class=\&quot;box-header with-border\&quot;>\u000a &lt;h3 class=\&quot;box-title\&quot;>&lt;i class=\&quot;fa fa-list\&quot; aria-hidden=\&quot;true\&quot;>&lt;/i>Categories&lt;/h3>\u000a &lt;div class=\&quot;box-tools pull-right\&quot;>\u000a \u000a \u000a \u000a &lt;button class=\&quot;btn btn-sm btn-box-tool\&quot; data-widget=\&quot;collapse\&quot;>&lt;i class=\&quot;fa fa-chevron-down\&quot;>&lt;/i>&lt;/button>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;box-body\&quot; id=\&quot;boxTreeRules\&quot;>\u000a &lt;div class=\&quot;row\&quot;>\u000a &lt;div class=\&quot;col-xs-12\&quot; id=\&quot;categoryTreeParent\&quot;>\u000a &lt;div id=\&quot;treeParent\&quot;>\u000a &lt;ul class=\&quot;form-group list-sm\&quot;>\u000a &lt;li class=\&quot;rudder-form\&quot;>\u000a &lt;div class=\&quot;input-group\&quot;>\u000a &lt;label for=\&quot;includeCheckbox\&quot; class=\&quot;input-group-addon\&quot; id=\&quot;includeSubCategory\&quot;>\u000a &lt;input onclick=\&quot;lift.ajax(\u0027F1080519123876ZWUAQ0=\u0027 + this.checked, null, null, null)\&quot; checked=\&quot;checked\&quot; id=\&quot;includeCheckbox\&quot; type=\&quot;checkbox\&quot;>\u000a &lt;label class=\&quot;label-radio\&quot; for=\&quot;includeCheckbox\&quot;>\u000a &lt;span class=\&quot;ion ion-checkmark-round\&quot;>&lt;/span>\u000a &lt;/label>\u000a &lt;span class=\&quot;ion ion-checkmark-round check-icon\&quot;>&lt;/span>\u000a &lt;/label>\u000a &lt;label for=\&quot;includeCheckbox\&quot; class=\&quot;form-control\&quot;>\u000a Display Rules from subcategories\u000a &lt;/label>\u000a &lt;/div>\u000a &lt;/li>\u000a &lt;/ul>\u000a &lt;div id=\&quot;categoryTree\&quot;>\u000a &lt;ul>&lt;li id=\&quot;rootRuleCategory\&quot; data-jstree=\&quot;{ &amp;quot;type&amp;quot; : &amp;quot;category&amp;quot; }\&quot;>\u000a &lt;a href=\&quot;javascript://\&quot; onclick=\&quot;lift.ajax(&amp;quot;F10805191238801JI35T=true&amp;quot;, null, null, null); return false;\&quot;>&lt;span id=\&quot;rootRuleCategoryName\&quot; tooltipid=\&quot;F1080519123877UWPJD2\&quot; title=\&quot;\&quot; class=\&quot;treeRuleCategoryName tooltipable\&quot;>\u000a &lt;input onclick=\&quot;lift.ajax(\u0027F1080519123879D0P303=\u0027 + this.checked, null, null, null)\&quot; style=\&quot;margin : 2px 5px 0px 2px;\&quot; id=\&quot;rootRuleCategoryCheckbox\&quot; type=\&quot;checkbox\&quot;>Rules\u000a &lt;/span>&lt;div class=\&quot;tooltipContent\&quot; id=\&quot;F1080519123877UWPJD2\&quot;>\u000a &lt;h3>Rules&lt;/h3>\u000a &lt;div>This is the main category of Rules&lt;/div>\u000a &lt;/div>&lt;/a>\u000a &lt;ul>\u000a \u000a &lt;/ul>\u000a &lt;/li>\u000a &lt;/ul>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;col-lg-9 col-xs-12 col-md-8\&quot;>\u000a &lt;div class=\&quot;box\&quot;>\u000a &lt;div class=\&quot;box-header with-border\&quot;>\u000a &lt;h3 class=\&quot;box-title\&quot;>&lt;i class=\&quot;fa fa-gears\&quot; aria-hidden=\&quot;true\&quot;>&lt;/i>Rules&lt;/h3>\u000a &lt;div class=\&quot;box-tools pull-right\&quot;>\u000a &lt;button class=\&quot;btn btn-box-tool btn-blue toggleTabFilter updateTable btn-sm\&quot; id=\&quot;updateRuleTable\&quot;>Refresh&lt;span class=\&quot;fa fa-refresh\&quot;>&lt;/span>&lt;/button>\u000a \u000a \u000a \u000a &lt;/div>\u000a &lt;/div>\u000a &lt;div class=\&quot;box-body\&quot;>\u000a &lt;div class=\&quot;row\&quot;>\u000a &lt;div class=\&quot;col-xs-12\&quot; id=\&quot;view\&quot;>\u000a &lt;div>\u000a &lt;div id=\&quot;rules_grid_zone\&quot;>\u000a &lt;div id=\&quot;modal_rules_grid_zone\&quot; class=\&quot;nodisplay\&quot;>\u000a &lt;div id=\&quot;popup_rules_grid_zone\&quot;>&lt;/div>\u000a &lt;/div>\u000a &lt;table id=\&quot;grid_rules_grid_zone\&quot; class=\&quot;display\&quot; cellspacing=\&quot;0\&quot;> &lt;/table>\u000a &lt;div class=\&quot;grid_rules_grid_zone_pagination, paginatescala\&quot;>\u000a &lt;div id=\&quot;grid_rules_grid_zone_paginate_area\&quot;>&lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>\u000a &lt;/div>&lt;/div>\u000a &lt;/div>\u000a &lt;/div>&lt;/form>\u000a \u000a &lt;div tabindex=\&quot;-1\&quot; data-keyboard=\&quot;true\&quot; class=\&quot;modal fade\&quot; id=\&quot;removeActionDialog\&quot;>&lt;/div>\u000a &lt;div tabindex=\&quot;-1\&quot; data-keyboard=\&quot;true\&quot; class=\&quot;modal fade\&quot; id=\&quot;disableActionDialog\&quot;>&lt;/div>\u000a &lt;div tabindex=\&quot;-1\&quot; data-keyboard=\&quot;true\&quot; class=\&quot;modal fade\&quot; id=\&quot;confirmUpdateActionDialog\&quot;>&lt;/div>\u000a &lt;div tabindex=\&quot;-1\&quot; data-keyboard=\&quot;true\&quot; class=\&quot;modal fade\&quot; id=\&quot;createCloneDirectivePopup\&quot;>&lt;/div>\u000a\u000a &lt;/div>\u000a&quot;); &#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; if(!angular.element('#directiveEditTagsApp').scope()){&#x000a; angular.bootstrap('#directiveEditTagsApp', ['tags']);&#x000a; }&#x000a; var scope = angular.element($(&quot;#directiveTags&quot;)).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init( [], &quot;directiveFilter&quot; , true, false, &quot;9e3f2dfb-9b31-467f-97ea-81e7d0924e22&quot;);&#x000a; });&#x000a; ;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap(&quot;#F10805191239052S2ZRV&quot;, ['text']);&#x000a; var scope = angular.element($(&quot;#F10805191239052S2ZRV-controller&quot;)).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; &quot;&quot;&#x000a; , &quot;&quot;&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap(&quot;#F1080519123908HHEGMH&quot;, ['text']);&#x000a; var scope = angular.element($(&quot;#F1080519123908HHEGMH-controller&quot;)).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; &quot;&quot;&#x000a; , &quot;&quot;&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap(&quot;#F1080519123911A1JVJK&quot;, ['password']);&#x000a; var scope = angular.element($(&quot;#F1080519123911A1JVJK-controller&quot;)).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; undefined&#x000a; , &quot;plain&quot;&#x000a; , false&#x000a; , &quot;keep&quot;&#x000a; , {}&#x000a; , undefined&#x000a; , true&#x000a; , true&#x000a; , undefined&#x000a; , &quot;plain&quot;&#x000a; , false&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a; function F1080519123915UPGO5Z() { lift.ajax('F1080519123915UPGO5Z=' + encodeURIComponent(), null, null, null) } ;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap(&quot;#F1080519123919KACJQE&quot;, ['text']);&#x000a; var scope = angular.element($(&quot;#F1080519123919KACJQE-controller&quot;)).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; &quot;&quot;&#x000a; , &quot;&quot;&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap(&quot;#F1080519123921VEKQ4C&quot;, ['text']);&#x000a; var scope = angular.element($(&quot;#F1080519123921VEKQ4C-controller&quot;)).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; &quot;&quot;&#x000a; , &quot;&quot;&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a; function F1080519123918VBKHTZ() { lift.ajax('F1080519123918VBKHTZ=' + encodeURIComponent(), null, null, null) } ;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; $(&quot;input&quot;).not(&quot;#treeSearch&quot;).keydown( function(event) {&#x000a; processKey(event , 'policyConfigurationSave')&#x000a; } ); ;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {&#x000a; angular.bootstrap(&quot;#F108051912392653Y1P0&quot;, ['text']);&#x000a; var scope = angular.element($(&quot;#F108051912392653Y1P0-controller&quot;)).scope();&#x000a; scope.$apply(function(){&#x000a; scope.init(&#x000a; &quot;86400&quot;&#x000a; , &quot;&quot;&#x000a; , true&#x000a; );&#x000a; });;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a; function F1080519123931OFN3CD() { lift.ajax('F1080519123931OFN3CD=' + encodeURIComponent(), null, null, null) } ;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a; function F10805191239333RES3W() { lift.ajax('F10805191239333RES3W=' + encodeURIComponent(), null, null, null) } ;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {setTimeout(function() {&#x000a; $('#rootRuleCategoryCheckbox').click(function (e) { e.stopPropagation(); })&#x000a; $('#rootRuleCategoryCheckbox').prop(&quot;indeterminate&quot;,false);;}, 400);});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;setTimeout(function() {&#x000a; buildRuleCategoryTreeNoDnD('#categoryTree','rootRuleCategory','/rudder');&#x000a; $('#categoryTree').bind(&quot;move_node.jstree&quot;, function (e,data) {&#x000a; var sourceCatId = data.node.id;&#x000a; var destCatId = data.parent;&#x000a; if( destCatId ) {&#x000a; if( sourceCatId ) {&#x000a; var arg = JSON.stringify({ 'sourceCatId' : sourceCatId, 'destCatId' : destCatId });&#x000a; lift.ajax('F1080519123881YW3Y3X=' + encodeURIComponent(arg), null, null, null);&#x000a; } else {&#x000a; alert(&quot;Can not move that kind of object&quot;);&#x000a; $.jstree.rollback(data.rlbk);&#x000a; }&#x000a; } else {&#x000a; alert(&quot;Can not move to something else than a category&quot;);&#x000a; $.jstree.rollback(data.rlbk);&#x000a; }&#x000a; });&#x000a; createTooltip();;}, 50);&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {createRuleTable (&#x000a; &quot;grid_rules_grid_zone&quot;&#x000a; , []&#x000a;&#x000a; , true&#x000a; , false&#x000a; , false&#x000a; , false&#x000a; , function(checked) {lift.ajax('F1080519123882NQQEAU=' + encodeURIComponent(checked), null, null, null);}&#x000a; , &quot;/rudder&quot;&#x000a; , function() {lift.ajax('F1080519123883CY4K1X=' + encodeURIComponent(null), null, null, null);}&#x000a; , false&#x000a; );&#x000a; createTooltip();&#x000a; createTooltiptr();&#x000a; var scopeElmnt = '#showFiltersRules'&#x000a; if(angular.element(scopeElmnt).length &amp;&amp; !angular.element(scopeElmnt).scope()){&#x000a; angular.bootstrap(scopeElmnt, ['filters']);&#x000a; }&#x000a; ;});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {(function() {lift.ajax('F1080519123884MTIM55=' + encodeURIComponent(null), null, null, null);})();});&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;&#x000a; var include = true;&#x000a; var filter = &quot;&quot;;&#x000a; var column = 3;;&#x000a;// ]]>&#x000a;;&#x000a;&#x000a;// &lt;![CDATA[&#x000a;jQuery(document).ready(function() {activateButtonOnFormChange(&quot;policyConfiguration&quot;, &quot;policyConfigurationSave&quot;);&#x000a;setupMarkdown(&quot;&quot;, &quot;longDescriptionField&quot;)&#x000a;generateMarkdown(&quot;This technique configures the RUG and YaST package manager using Novell\u0027s ZMD.&quot;, &quot;#techniqueDescription&quot;)&#x000a;$('#technicalDetails').hide();&#x000a;$(&quot;input&quot;).not(&quot;#treeSearch&quot;).keydown( function(event) {&#x000a; processKey(event , 'policyConfigurationSave');&#x000a;} );&#x000a;checkMigrationButton(&quot;3.0 &quot;,&quot;F108051912388541X0FE&quot;);&#x000a;$('#F108051912388541X0FE').change( function () {&#x000a; checkMigrationButton(&quot;3.0 &quot;,&quot;F108051912388541X0FE&quot;)&#x000a;} );&#x000a;$(document).ready(function(){$('.main-details').bsScrollSpy({ target: '#navbar-scrollspy' })});;});&#x000a;// ]]>&#x000a;;;&#x000a;jQuery('#'+&quot;techniqueDetails&quot;).html(&quot;&quot;);&#x000a;createTooltip();;" title="Create Directive with latest version"><i class="fa fa-plus"></i></span></a>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment