# Octohelp Octohelp is a CLI utility for managing Waratek Portal. ## Command: `restore-agents` Connects to a Portal instance and restores unassigned and deleted Agents to their previously connected Application. ### Usage See help: ```bash octohelp restore-agents --help ``` ## Command: `theme update` Allows updates to the theme of the Waratek Portal Dedicated. Editing the theme is done by manually editing distributed frontend files like CSS and image assets. ### Prerequisites - You need to have a valid Waratek Portal Dedicated .zip file. This is the same file you would use to deploy the Portal. - You need a [jar utility](https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jar.html) installed and available in `JAVA_HOME` or on `PATH`. This `jar[.exe]` command usually comes with the JDK, but can also be installed separately. The command is used to unpack the .jar files and repackage it after editing. ### Usage ```bash octohelp theme update --jar-path rimini-portal-6.11.0-b458.zip ``` This command needs to be run against a valid Portal Dedicated .zip file. It will unpack its contents, outputs a path on your filesystem containing frontend files. This allows you to make edits to the unpacked files. Once you are done, you can repackage the files into a new .zip file. This new .zip file can be used as a Portal Dedicated deployment. For editing the files, knowledge of HTML, CSS, and JavaScript is expected. CSS files are not minified, so they are easier to read and modify. It's recommended you backup and version control your changes, as it's impractical to keep track of changes made to the files manually. Important files are: - `public/styles..css`: this contains all CSS defitions used for the Portal UI. - `public/_css-sources`: this contains the original [SCSS](https://sass-lang.com/) files used to generate the minified CSS file. This is a good starting point if you are planning complex changes to the CSS. - `public/assets/i18n/en.json`: this contains most text strings used in the UI. This is a JSON file, so it is easy to read and modify. - `public/assets/*.svg`: these are SVG files used for icons in the UI. They can be modified using a vector graphics editor like Adobe Illustrator. - `public/*.html`: these are HTML files used for the UI. ``` tree . ├── public │   ├── _css-sources │   ├── assets │   │   ├── i18n │   │   │   └── en.json │   │   ├── icons │   │   │   ├── armr-medium.svg │   │   │   ├── armr-small.svg │   │   │   ├── armr.svg │   │   │   ├── notification-alert.svg │   │   │   ├── theme-dark.svg │   │   │   ├── theme-light.svg │   │   │   ├── waratek.svg │   │   │   └── ... │   │   │   ├── reports │   │   │   │   ├── deployment-report-header.png │   │   │   │   └── tenable-io.svg │   │   │   └── waratek │   │   │   ├── icons │   │   │   │   ├── _svg │   │   │   │   │   ├── app-instance.svg │   │   │   │   │   ├── app.svg ... │   ├── index.html │   ├── main.b9e51facf68f030a.js │   ├── maintenance.html │   ├── runtime.91a29468ac92a149.js │   ├── styles.03702ca7eafcb5cd.css │   └── ... └── templates └── email └── en ├── armr-push │   ├── _subject.txt │   ├── armr-push.html │   └── armr-push.txt └── ... 67 directories, 317 files ``` Because of the nature of this flexible approach, no guarantees are made that the theme will work with future versions of the Waratek Portal. This is an escape-hatch solution allowing you a full control over the frontend code. We don't recommend using this approach regularly, as it introduces a lot of complexity - e.g., ensuring your changes work in light AND dark mode, in responsive mode, aren't affecting accessibility etc. You need to manually test the deployment, as we can't support changes made this way. There is no built-in verification. The theme is not versioned, so it is up to the user to keep track of which version of the theme is used with which version of the Waratek Portal.