Skip to main content

Vortex CLI

Project description

Vortex CLI

Build Status PyPI version

Vortex CLI is a command line alternative to the Puakma Vortex IDE that simplifies the process of developing Puakma Applications on a Puakma Tornado Server using Visual Studio Code. It allows you to clone applications from the server to a local workspace, edit the files using Visual Studio Code, and automatically upload changes to the server as you work.

Vortex CLI also comes pre-packaged with the necessary Puakma .jar files for development.

Visual Studio Code and Extensions

While it is possible to use without it, this software has been purposefully designed for use with Visual Studio Code and the Project Manager For Java or the Extension Pack For Java extension. This software leverages Workspaces in Visual Studio Code and manages a vortex.code-workspace file within the workspace.

Installation

  1. Install the tool using pip.

    pip install vortex-cli
    
  2. It is recommended to set the workspace you would like to work out of via the VORTEX_HOME environment variable.

    On Unix:

    export VORTEX_HOME=/path/to/workspace
    

    Otherwise, Vortex CLI will use a default 'vortex-cli-workspace' directory inside your home directory.

  3. Run vortex with the --init flag to create your workspace (If it doesn't already exist) and the necessary config files:

    vortex --init
    
  4. Define the servers you will be working with in the servers.ini file inside the .config directory within your workspace. You can quickly access this using the code command to view your workspace in VSCode.

    vortex code
    

    In the servers.ini file, you can define as many servers as you need, each with their own unique name. For example:

    [DEFAULT] ; This section is optional and only useful if you have multiple definitions
    port = 80 ; Options provided under DEFAULT will be applied to all definitions if not provided
    soap_path = system/SOAPDesigner.pma
    default = server1 ; Useful when you have multiple definitions
    
    
    [server1] ; This can be called whatever you want and can be referenced using the '--server' flag
    host = example.com
    port = 8080 ; we can overwrite the DEFAULT value
    puakma_db_conn_id = 13
    username = myuser ; Optional - Prompted at runtime if not provided
    password = mypassword ; Optional - Prompted at runtime if not provided
    ; Optional
    lib_path = ; additional jars that should be included in the classpath
    java_home = /usr/lib/jvm/java-17-openjdk-amd64/ ; The local path to the JRE to use. Should be the same version running on your server
    java_environment_name = JavaSE-17 ; Java Execution Environment name https://docs.osgi.org/reference/eenames.html
    

Usage

For a full list of commands see --help.

Command Overview

  • code: Open the workspace in Visual Studio Code.
  • use: Set the default server so you don't need to pass --server on every command. e.g. vortex use production
  • list (or ls): List Puakma Applications on the server or cloned locally. (ls is an alias for vortex list --local)
  • clone: Clone Puakma Applications and their design objects into the workspace or in the .pmx format.
  • watch: Watch the workspace for changes to Design Objects and automatically upload them to the server.
  • clean: Delete the locally cloned Puakma Application directories in the workspace.
  • config: View and manage configuration.
  • log: View the server log.
  • find: Find Design Objects of cloned applications by name.
  • grep: Search the contents of cloned Design Objects using a Regular Expression.
  • new: Create new Design Objects, Applications, or Keywords. Use --update <ID> to update instead. Run without flags to launch an interactive wizard.
  • copy: Copy a Design Object from one application to another.
  • delete: Delete Design Objects by ID.
  • db: Interact with Database Connections.
  • docs: Open the Tornado Server Blackbook.
  • execute: Execute a command on the server.

Switching Servers

If you work with multiple servers, use vortex use <server> to set the default instead of passing --server on every command:

vortex use production
vortex list
vortex watch

Interactive Wizards

Run vortex new object or vortex new app without any flags to launch a step-by-step wizard:

vortex new object
# → pick app from locally cloned list
# → pick design type
# → enter name
# → enter content type (resource only)
# → enter parent page, open action, save action (page only)
# → preview and confirm

vortex new app
# → enter name
# → pick from existing groups or enter a new one
# → enter description (optional)
# → preview and confirm

Skipping Confirmation Prompts

Pass --yes (or -y) to skip Y/y confirmation prompts, useful for scripting:

vortex --yes delete 123 456
vortex -y new object --name MyAction --app-id 10 --type action

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vortex_cli-4.20.1.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vortex_cli-4.20.1-py3-none-any.whl (3.1 MB view details)

Uploaded Python 3

File details

Details for the file vortex_cli-4.20.1.tar.gz.

File metadata

  • Download URL: vortex_cli-4.20.1.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for vortex_cli-4.20.1.tar.gz
Algorithm Hash digest
SHA256 7bc3dbfd6ae0ebd985624222ed53e9e96e73ed3520501be541a600d7caa170aa
MD5 a658b99369f30fb9920020c42ada7f59
BLAKE2b-256 10215c3d1a2a3b00f992b88b617d4b0e96906d34062c79452402987c25bc21c2

See more details on using hashes here.

File details

Details for the file vortex_cli-4.20.1-py3-none-any.whl.

File metadata

  • Download URL: vortex_cli-4.20.1-py3-none-any.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for vortex_cli-4.20.1-py3-none-any.whl
Algorithm Hash digest
SHA256 652162275a9175e92ae02be217f1c252aebab210f53bc9024485dcfc3949c0f3
MD5 38d9cc6ce6e0469d6e32052525f254ba
BLAKE2b-256 fe1eca73eb3ee37f54321e078d71d26af6b89475732b0d7ae0cf5b07d74689aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page