Octory Documentation

website·Indexed 32 days ago

https://docs.octory.io

Documentation for Octory, a tool for building automated presentation sequences and visual workflows on macOS. It includes guides on creating plist configuration files, designing slides with containers and components, managing application monitors, and deploying settings via Jamf Pro or Intune.

Tokens
57.6K
Snippets
210
Records
399
Agent score
56%

What's inside Octory

  1. Overview of Octo-Notifier CLI

    Octo-Notifier is a command line tool included in Octory's packages that allows developers to trigger actions, update application monitors, and display messages via scripts. When deployed, the binary is located at /usr/local/bin/octo-notifier.
    octo-notifier [--version] [--help | -h]
    octo-notifier <command> [options] [--help | -h]
  2. Overview of Octory Slides

    A Slide in Octory functions similarly to a presentation slide (e.g., PowerPoint). Only one slide is displayed at a time, occupying the overall available window space. Users navigate between slides using 'Previous' and 'Next' buttons. Slides are defined in the Slides array within the Plist configuration. Navigation is automatically hidden if the app appears in the menu bar with the window set to OnScreen or via an OpenWindow action, though it can also be manually hidden in the Navigation section.
  3. Overview of Octory Display Components

    Display components in Octory are used to present content to the end user. All display components are of the element type Dictionnary. For components used to arrange other elements rather than display content, use Layout components.
  4. Overview of Octory Interface Components

    Octory uses components to display read-only or interactive content to the end user. All components are defined as the element type Dictionary. Components are categorized into three types:

    1. Display components: Used to show content (e.g., Button, Carousel, Image, Monitors Display, PDF, Popover, SF Symbol, Spacer, Text, Video, Web).
    2. Input components: Used to collect user data (e.g., Text input, SecureText input, List input, Checkbox input).
    3. Layout components: Used to arrange other components on a slide (e.g., Card, Column, Row).
  5. Overview of the MonitorsDisplay component

    The MonitorsDisplay component (Element type: Dictionary) informs the end user about the installation state of applications, files, and properties specified in the Monitors array. Each row in the display includes a state indicator (symbol or spinner), the app icon, the monitor name, and optional detail text.

    Since Octory 3.1.0, this component can be placed inside a Card component to frame the installation dashboard. When used inside a Card, the Card must have a Height declared so the list can fill the card and scroll internally.

  6. Implement a side-by-side layout using the Row component

    The Row component (available in version 3.1.0+) places its children side-by-side on a single line instead of stacking them vertically. It is used for two-column layouts, placing icons next to text, or creating grids of Cards. Children are separated by a fixed 8 pt spacing. To stack multiple components within a single cell of a row, wrap those components in a Column component.

    Accepted child components:

    • Text, Button, Image, SFSymbol, Video, Input, Column, and Card.

    Unsupported children (will cause configuration failure):

    • Web, Spacer, PDF, MonitorsDisplay, Carousel, nested Row components, or any child with ShouldFillSpace set to true.
  7. Configure Managed monitors in Octory

    Managed monitors allow you to track the installation state of applications or packages. They can be updated using the octo-notifier command line tool and are typically used during application deployment or system configuration (e.g., updating dock settings).
  8. Understand the Octory interface hierarchy

    Octory's interface is organized in a three-tier hierarchy:

    1. Slides: The top-level view. Only one slide is displayed at a time, occupying the full window space. Users navigate between them using Previous and Next buttons. Slides are defined in the Slides array within the Plist configuration.
    2. Containers: Slides hold Containers, which are stacked horizontally. These are defined in the Containers array within a specific Slide key dictionary. For optimal display, it is recommended to use between 1 and 3 containers per slide.
    3. Components: Containers hold components, which are stacked vertically. Components may have fixed heights (e.g., ButtonComponent), adapt to content (e.g., TextComponent), or expand to fill remaining space (e.g., PDFComponent, WebComponent).
  9. Display a PDF document using the PDF component

    The PDF component (available since version 2.0.6+) displays a PDF document from a local or online URL. Since version 3.1.0, documents are automatically scaled to fit the width of the component.

    User Interaction:

    • A zoom control (zoom out, fit to width, zoom in) appears in the bottom trailing corner when the pointer hovers over the component.
    • Users can pinch-to-zoom on trackpads up to four times the fitted size.
    • Zoom controls remain permanently visible when VoiceOver or Switch Control is active.
  10. Manage user input and data storage in Octory

    Input components (Text, SecureText, List, and Checkbox) allow developers to collect end-user data. Each component requires a variable key; this name serves as the key to retrieve the user's entered value.

    All input values are stored in a single JSON or Plist file (configured in the Input configuration). Octory creates or overrides this file only if at least one input is entered or a default value exists.

    Inputs are persisted to the file when:

    • The user navigates to the previous or next slide.
    • A Button component with a SaveInputs action is clicked.
    • The application terminates.

    Security Note: Since Octory 3.1.0, values from SecureText inputs are excluded from the storage file by default. To include them, set SavesSensitiveInputs to true in the configuration.

  11. Monitor configuration profile installation status

    The Profile Monitor tracks whether specific configuration profiles are installed and applied on a device. Octory checks for profile presence every 5 seconds and automatically generates a boolean variable for each monitored profile using the format IS_[PROFILENAME]_PROFILE_PRESENT (where [PROFILENAME] is the name of the profile).
  12. Arrange components on a slide using Layout components

    Layout components in Octory (available in version 3.1.0+) are used to organize other components on a slide. By default, components inside a container are stacked vertically. Layout components allow you to override this behavior:

    • Row: Places children side-by-side. Each child can be sized using an optional WidthRatio.
    • Column: Stacks multiple components within a single Row cell, or groups components to share a common Condition, Margins, or Border.
    • Card: Renders children on a rounded surface that supports tinting, outlining, and shadow effects (lifting).

    All layout components are of the element type Dictionnary.