arrow-left

Only this pageAll pages
gitbookPowered by GitBook
1 of 12

PowerOn Pro

Loading...

Loading...

Loading...

Loading...

Links

How To's

Loading...

Resources

Loading...

Loading...

Loading...

Loading...

Introduction

PowerOn Proarrow-up-right is a Visual Studio Code Extension created to give developers all of the tools they'd need to efficiently write, run, and debug PowerOn code for the Jack Henry™ credit union core system, Symitararrow-up-right.

hashtag
Resources

  • Jump right in to the Quickstart

  • Discover what's possible with

  • Check out our on Discord

  • Learn about our

hashtag
Key concepts

hashtag
PowerOn

PowerOn is a procedural language which provides a direct interface to the Symitar database. It offers record accessors which map directly to the Symitar Record Structure as well as some in-built utility functions to serve as tools when constructing a PowerOn specfile.

You can read more about PowerOn on the .

PowerOn Pro Capabilities
Libum Communityarrow-up-right
privacy policyarrow-up-right
Jack Henry eDocsarrow-up-right

Quickstart

Get up and running with PowerOn Pro.

PowerOn Proarrow-up-right brings a complete language server, direct integration to Symitar, and an incredible UX to level up your credit union's development toolkit through Visual Studio Code.

circle-check

More of a TL;DR developer? Feel free to jump down to the TL;DR section where we cover the "essentials" for getting up and running.

This quickstart is designed to help you get your first Symitar connection created in the PowerOn Pro extension. Through this quickstart, you will learn:

  • How to get PowerOn Pro installed

  • Overview of some of the basic concepts of PowerOn Pro

  • How to use a Remote Sym

If you run into any challenges or have questions getting started, please join our on Discord.

hashtag
Installing PowerOn Pro

There are two methods for installing the PowerOn Pro extension.

  1. Using the install link on the Visual Studio Marketplace (ref. )

  2. Selecting the Extensions button ( ) in VS Code and searching for "poweron pro"

hashtag
Getting connected to Symitar

Start by clicking the PowerOn Pro logo ( ) on the bottom left of the VS Code status bar. This will launch the PowerOn Pro menu for you to be able to manage your connections.

Next, select "Click to manage connections..."

Select "Add new Connection +" followed by either "SSH" or "HTTPs" depending on your connection preference and capability of your Symitar host.

circle-check

What's the difference between SSH and HTTPs? In the context of a Symitar connection, uses what we refer to as the Command Line Interface (CLI) over the SSH protocol (aka Symulate or Episys Text Mode). This is nifty utility but unfortunately is explicitly disabled for some credit unions and can sometimes be unstable. Additionally, we aren't sure how much longer it will around.

For a connection over , an API over the Symitar Application Server is used to make direct calls to the Symitar host. This is a much more stable design pattern and should generally be available to every up-to-date credit union.

hashtag
Required input (SSH)

This provides a brief overview of each input box you'll receive while creating an SSH connection.

Field
Description
Example

Once you've gone through the prompts, you should expect to see ( ) in the status bar of VS Code (bottom left). Anything different means you may have had an issue connecting or have only be able to establish a partial connection.

circle-exclamation

Having trouble connecting? For any consistent connection issues or even general questions, feel free to let us know on or by emailing us at .

hashtag
Required input (HTTPs)

Please refer to the Required input (SSH) for the context on the majority of the required inputs as they're nearly identical with the exception of the following:

Field
Description
Example

hashtag
Setting up a Remote Sym

circle-info

Really quick... Before you get started, you will to complete 1) - this is required in order to efficiently manage a mirror copy of your remote Sym locally (so we can access all of VS Code's APIs) 2) Set a root path the setting - this will act as the location to store all of your Remote Sym folders for PowerOn Pro to manage.

From the activity bar (on the left-hand side), select the Symitar Explorer button ( ) and if you've already followed as well as the required dependencies installed on your machine, you should see the "Open Remote Sym" in the view.

Select "Open Remote Sym" and you should expect to see a menu giving you a selection from available Symitar connections.

After selecting the preferred connection, you will find a list of available Syms (based on the individual connections you've created) as a menu as well.

Selecting a Remote Sym here will automatically do the following:

  1. Create a new directory ( /<symitarHostname>/<symNumber> ) using the configured Local Symitar Path as the root

  2. Update the VS Code workspace at that local folder

  3. Begin synchronizing the configured directories (e.g. /HELPFILES, /LETTERSPECS

circle-check

Appreciate File Icon theming? We've created a custom File Icon theme for VS Code (extends the default vs-seti icons) that will turn this: into this: Just open up the Command Palette (Ctrl + Shift + P) and type "File Icon Theme" and select to enable it.

hashtag
TL;DR

All of the available commands within PowerOn Pro are listed on the PowerOn Pro Commands page and can also be listed by opening up the Command Palette (Ctrl + Shift + P) and typing "PowerOn Pro".

  • To create a connection (SSH or HTTPs), use the Manage Symitar Connections command

  • If you want to open a Remote Sym you'll need first set a root path in the setting as well as have both rsync and sshpass utilities via WSL (ref. )

Symitar User Number

Your "Symitar Quest" user number (just the number)

1995

Symitar User Password

Your "Symitar Quest" password (just the password)

2dfKQYR!TeXJwe

, or
/REPWRITERSPECS
)

Symitar Hostname

The endpoint by which you connect to the Symitar host

93.455.43.232 or symitar

Symitar Username

Your username for the AIX / Symitar host

libum

Symitar Password

Your password for the AIX / Symitar host

hunter2

Sym Number

The directory (aka Sym) number for your connection

627

Symitar Application Server Port

The port which your SymAppServer communicates over. This is typically 42 + symNumber unless you're running at the SYSTEM level. Read more on eDocsarrow-up-right.

42627

Libum Communityarrow-up-right
PowerOn Proarrow-up-right
SSH
HTTPs
Discordarrow-up-right
[email protected]envelope
Setting up Rsync on Windows
Local Symitar Path
Getting connected to Symitar
Local Symitar Path
Setting up Rsync on Windows
The PowerOn Pro extension via Marketplace in VS Code.
Main menu for PowerOn Pro.
Manage Symitar Connections menu in PowerOn Pro.
Remote Syms view within Symitar Explorer activity panel.
Open Remote Sym menu with a single available Symitar connection.
List of available Remote Sym connections in the Open Remote Sym menu.

Known Issues

See what others have reported and what we have in the queue to get fixed.

This list is maintained in a best effort fashion and may not reflect all known issues.

circle-check

Want to report a bug? Please let us know by giving us a shout in the #poweron-pro channel on our Discordarrow-up-right or an email at [email protected]envelope.

hashtag
Files disappear during Remote Sym synchronization

If you've set up your Remote Syms and are attempting to synchronize but the files and directories appear and disappear or just don't seem to appear at all, this may have to do with the fact that your WSL environment doesn't have write access to the mounted path you're using for the setting.

hashtag
Updating the wsl.conf

Some users have shown resolved this by updating the wsl.conf in their WSL environment to include the following:

  • uid - comes from running id -u in the WSL environment

  • gid - comes from running id -g in the WSL environment

After making the change, you will need to restart the WSL environment which can be done by running wsl --shutdown and wsl to start it back up again.

hashtag
Permission Denied

If you're seeing any sort of Permission Denied issue in logs or bubbled up through the notifications, this most likely has to do with you missing the SYM### group for the Sym you're pointed to for your AIX user.

circle-info

Note Even with an HTTPs connection to Symitar we still leverage SSH for some utility (e.g. file deletions, rename, etc.) and will require these groups until we migrate those remaining functions. If you're having this issue and using the command, please see the to prevent the build up of the temporary PowerOn files.

hashtag
Checking your groups

First determine whether or not you have the right Symitar group for the Sym you're trying to use.

  1. SSH into the Symitar host

  1. Run the groups command from the $ prompt

From here, you may be missing the SYM### which is what's causing the permission denied failure when we try to write to a subdirectory within the Sym. To update your groups, check out the next section.

hashtag
Updating your groups

If you are indeed missing the target Sym group, you'll need to update it which will require elevated permissions. If you're on-premise, su or root should do but if you're with a data provider like , , or , you will likely need to reach out to them to perform the change.

  1. Update using usermod

Be sure to check to make sure it was sucessful before retrying anything in PowerOn Pro.

Local Symitar Path
Validate PowerOn
Offline Validation setting
https://www.jackhenry.com/arrow-up-right
EASEarrow-up-right
Synergentarrow-up-right
MDTarrow-up-right
[automount]
enabled = true
options = "metadata,umask=22,fmask=11,uid=<your_uid>,gid=<your_gid>
# the '-t' flag assigns you a pseudo terminal
ssh <aix_user>@<aix_host> -t '/usr/bin/ksh'
$ groups
staff SYM627
# Note: <target_sym> will be the SYM### you're trying to connect to
usermod -a -G <target_sym> <aix_user>

Setting up Rsync on Windows

At the time of writing this how-to, to use the Symitar Explorer - Remote Syms feature we require the use of common Unix utility called rsyncarrow-up-right to manage the local directories for each Sym which we refer to as "semi-virtual" workspaces.

circle-info

Looking for additional context into the design decision? Providing rich language support for a third-party language like PowerOn requires something called the Language Server Protocol (LSP)arrow-up-right. Unfortunately, VS Code doesn't currently support LSP over "virtual workspaces" (Issue #1264arrow-up-right) which is the ideal design choice to bridge the gap between your local workstation and the Symitar host - forcing us to find an alternative. That alternative, was simply us managing a copy of the select remote directories you'd like for each Sym on your local machine and keeping them up to date using, you guessed it, rsync.

hashtag
Getting started

Now, we're aware that most of the Symitar developers out there are on a Windows workstation and rsync isn't something that's natively available. Sure there's technically a way to get it running using Windows binaries but fortunately for us Microsoft gave us the ability to install a Linux distribution of our choosing through something called .

circle-check

Already have WSL working on your machine? Feel free to skip down to if you already have a Linux distribution created via WSL or if you're comfortable with handling the deps yourself.

hashtag
Installing WSL

We recommend you follow the latest installation guide, , by Microsoft. The distribution you choose shouldn't matter as long as it comes with rsync already installed.

hashtag
Installing SSHPass

In order to not prompt you 1,000 times while we manage the synchronization between your Remote Sym and local directory, we use another popular utility called . The following steps walk you thought how to set this up on Ubuntu.

hashtag
Update & install via APT

Using , make sure your sytem has been updated with the lastet packages via the following commands:

  • First make sure you're in your wsl instance:

  • Next, from the $ prompt, go ahead and update your apt packages:

  • After typing in your Ubutu user password, you should see something like the following:

  • Finally run sudo apt install sshpass (if you've already installed, the output will look similar to the following)

hashtag
Verifying the Remote Sym dependencies

After installation or if you have an existing WSL distribution you're working with, here are the simple commands to check if you meet the dependencies.

hashtag
Is Rsync installed?

Run which rsync to confirm it exists in your /bin directory.

hashtag
Is SSHPass installed?

Run which sshpass to confirm it exists in your /bin directory.

Help & Feedback

We're here for any questions or technical difficulties you might have!

hashtag
Company

Libumarrow-up-right was founded in 2020 by two devs who ❤️ the credit union community. We are a hyper-focused and talented team with breadth and depths of expertise in bringing first of its kind, trailblazing solutions to credit unions of all shapes and sizes.

circle-info

Want to know more about us? Give our page a read to discover how we got started and what we've been up to in our careers. For personal messages from our team, be sure to check out our as well!

hashtag
Contact

circle-check

Want to chat with the Libum team? Join our Libum Community server on and chat with our engineers to answer any burning questions you may have!

hashtag
Want to submit Feedback?

Do you have a feature you'd like to see within PowerOn Pro? Well, we have a place just for that - head on over to our portal to vote on existing posts, or create a new post for that feature you really want or bug that needs to be squashed. Post your feature or finding and receive realtime updates as to where it is on our roadmap 🚀

Commands

Know what commands are available and exactly what they do.

PowerOn Pro comes equipped with several built-in VS Code commands this page gives the context for each one.

hashtag
PowerOn Pro Menu

No matter what workspace you have opened, you can always click on the PowerOn Pro logo in the status bar () to launch the menu for the most common commands.

Windows Subsystem for Linux (WSL)arrow-up-right
Verifying the Remote Sym dependencies
Install WSLarrow-up-right
sshpassarrow-up-right
Advanced Packaging Tool (APT)arrow-up-right
Running the wsl command from a PowerShell prompt in Windows 11.
Running the sudo apt update command within a WSL Ubuntu instance.
Output after running sudo apt update on WSL Ubuntu instance.
Running sudo apt install sshpass on WSL Ubuntu instance.
Running which rsync on a WSL Ubuntu instance.
Running which sshpass on a WSL Ubuntu instance.
hashtag
Commands

hashtag
Deploy and Install PowerOn...

Deploys the target PowerOn to the active Symitar connection and installs it for on-demandarrow-up-right use. It's also accessible through the explorer context menu for Remote Syms and as a button ( ) in the active editor title (on the top right).

hashtag
Deploy Symitar File...

Deploys the target file (Dataarrow-up-right, Helparrow-up-right, Letterarrow-up-right, or PowerOnarrow-up-right) to the active Symitar connection. It's also accessible through the explorer context menu for Remote Syms and as a button ( ) in the active editor title (on the top right).

The first VS Code prompt for the Deploy Symitar File command.
The second VS Code prompt for Deploy Symitar File (PowerOn) command.

hashtag
Download Symitar File...

Downloads the target file (Dataarrow-up-right, Helparrow-up-right, Letterarrow-up-right, or PowerOnarrow-up-right) from the active Symitar connection. It's also accessible through the explorer context menu for Remote Syms and as a button ( ) in the active editor title (on the top right).

The first VS Code prompt for the Download Symitar File PowerOn Pro command.
The second VS Code prompt for Download Symitar File PowerOn Pro command.

hashtag
Get Latest Report by Title...

Fetches the latest report by title (prompted or parsed from PowerOn in the active editor) from the active Symitar connection.

The VS Code prompt for the Get Latest Report by Title PowerOn Pro command.

hashtag
Get Report by Sequence...

Fetches a report by their sequence number from the active Symitar connection.

The VS Code prompt for the Get Report by Sequence PowerOn Pro command.

hashtag
Manage Symitar Connections

Opens a menu where you can switch to and add new Symitar connections.

The VS Code menu for the Manage Symitar Connections PowerOn Pro command.

hashtag
Open Logs

Opens the PowerOn Pro output which displays the extension logs for debugging and general insight.

The PowerOn Pro logs shows as a VS Code output channel.

hashtag
Open Remote Sym

Opens a menu where you can go through the prompts for selecting a configured Remote Sym.

The VS Code menu for the Open Remote Sym command in PowerOn Pro.
The selector for a Remote Sym in the Open Remote Sym command.

hashtag
Run Batch PowerOn...

Executes the batch PowerOn in the active editor. It's also accessible through the explorer context menu for Remote Syms and as a button ( ) in the active editor title (on the top right).

hashtag
Synchronize Remote Sym

Opens a menu for selecting a Remote Sym to synchronize.

The VS Code menu for Synchronize Remote Sym command in PowerOn Pro.

hashtag
Validate PowerOn...

Validates the PowerOn the active editor. It's also accessible through the explorer context menu for Remote Syms and as a button ( ) in the active editor title (on the top right).

Image which displays the PowerOn Pro menu launched through the status bar.
The PowerOn Pro menu launched through VS Code status bar.
Image that displays a connected Sym and CLI user for Symitar.

Co-Founder:

Email:

Discord: @dyylaaaannnnn

Co-Founder:

Email:

Discord: @nguyendon

Team: Development

Email:

Team: Sales

Email:

Team: Operations

Email:

Aboutarrow-up-right
blogarrow-up-right
Discordarrow-up-right
Feedbackarrow-up-right
Dylan Martinezarrow-up-right
[email protected]envelope
Don Nguyenarrow-up-right
[email protected]envelope
[email protected]envelope
[email protected]envelope
[email protected]envelope

Changelog

Keep track of changes to PowerOn Pro. This changelog is maintained in a best effort fashion and may not reflect all changes being made.

hashtag
v1.6.5

  • Add powerondemand snippet

  • Add New PowerOn File... and New PowerOn Demand File... context commands

  • Fix issue where Untitled documents couldn't use snippets

  • Fix issue where Untitled documents threw various LSP errors

  • Fix issue where VS Code would steal focus when updating webviews

hashtag
v1.6.4

  • Add rename symbol for defined variables and procedures

  • Add unique key (for <record> with) completions

  • Cleanup functions, keywords, and variables camelCasing

hashtag
v1.6.3

  • Add a useTabs formatting option

  • Add a formatOnSave formatting option

  • Add retries for batch execution polling on HTTPs

hashtag
v1.6.2

  • Add alignLogicalOperators to vertically align operators

  • Add expandParentheses to place ( and ) on their own line

hashtag
v1.6.0

  • Add PowerOn Formatter (Experimental)

  • Fix issue with Division and Do/End colorizers

  • Fix issue where invalid User/Password on HTTPs validate wasn't captured

hashtag
v1.5.11

  • Fix issue where document references use Remote Sym first

  • Fix issue where #INCLUDE files weren't being replaced for Offline Validation

hashtag
v1.5.10

  • Fix issue where #INCLUDES were spawning new SFTP channels

  • Fix issue where validation diagnostics weren't updated for HTTPS

  • Fix issue where divisions & system variables were tokenized in comments/strings

hashtag
v1.5.9

  • Add verbose client connector debug logs

  • Fix issue where Remote Syms would deploy on implicit save with commands

  • Fix issue where invalid PowerOns would appear to install successfully

hashtag
v1.5.7

  • Syntax highlighting hotfixes

hashtag
v1.5.6

  • Add function parameter descriptions

  • Add completions to function parameter enumerations

  • Add return types to function hovers

hashtag
v1.5.5

  • Fix issue where snippets weren't included in completions

hashtag
v1.5.4

  • Add new command Clone Sym Directory

  • Add new command Compare with another Sym

hashtag
v1.5.3

  • Fix issue where Windows wasn't removing Remote Syms properly

  • Increase frequency for Remote Sym download progress logs

hashtag
v1.5.2

  • Add support for SFTP to Remote Sym (WSL no longer required)

  • Add update command for Remote Sym

hashtag
v1.5.1

  • Patch CSP for Webviews

hashtag
v1.5.0

  • Add dynamic download commands for Remote Sym workspaces

  • Add file association setting for language flexibility

  • Improve error handling across extension

hashtag
v1.4.9

  • Add reset for force disconnect on every Symitar action

  • Add support for custom #INCLUDE paths

  • Add #INCLUDE file for deployments during validation

hashtag
v1.4.8

  • Add a setting for force disconnection after 'n' hours

  • Add custom .PRO and .DEF completions for #INCLUDE files

  • Fix document references for #INCLUDE files in subdirectories

hashtag
v1.4.7

  • Add remote script execution timeout and PID cleanup

  • Fix issue where validation from #INCLUDE file appears in primary PowerOn

  • Fix issue with terminated batch reports for HTTPs connector

hashtag
v1.4.6

  • Add new file diff check between local directory and Sym

  • Fix autocomplete issue with THEN keyword

  • Fix Symitar command error handling

hashtag
v1.4.5

  • Fix definition links for #INCLUDE files and procedures

  • Fix subfolder file deployments

hashtag
v1.4.4

  • Increase SSH fetch report timeout to max 60 mins

hashtag
v1.4.3

  • Fix pattern issue with FMPerform

hashtag
v1.4.2

  • Add a new snippet for PROCEDURE

  • Update order of snippets in autocompletions to be first

hashtag
v1.4.1

  • Fix autocomplete issue with ELSE keyword

  • Fix issue with warning expiration pattern

  • Prevent autocomplete from rendering on initial spaces

hashtag
v1.4.0

  • Add auto-selection for PowerOn file type on deploy & install

  • Add remote file listing for downloads

  • Add batch report cache for in-editor viewer

hashtag
v1.3.0

  • Add notifications for batch completions

  • Add multi-output support for batch execution on HTTPs

  • Fix regression for multi-directory deployments

hashtag
v1.2.1

  • Cleanup DO and END highlighting

  • Fix unnecessary UNTIL term in snippets

hashtag
v1.2.0

  • Add DO and END block matching

  • Add DO and END semantic depth coloring

  • Add configuration for batch reports (output, editor, or viewer)

hashtag
v1.1.0

  • Add cosmetic changes to subscriptions UI

  • Update successful sign-in page

hashtag
v1.0.2

  • Updated webviews & subscription messaging

hashtag
v1.0.1

  • Fixed script path issue from restructure

hashtag
v1.0.0

  • Official release 🎉

  • Add subscription UI to side bar

  • Remove preferred case from defined variables & procedures

Fix misleading log messages for failed deployments
  • Prevent trigger in general contexts

  • Update PowerOn validate diagnostics to remain until file change

  • Add reconnect for dropped SSH clients for both connectors

  • Add forced document newline on save (requirement for Quest)

  • Add LSP support for Untitled documents with poweron as language

  • Fix issue with alignLogicalOperators for nested parentheses

  • Fix interactive PowerOn execution inputs for SSH and HTTPs connectors

  • Update expandParentheses to use configured indentation

  • Add spaceAroundOperatorsExclude to ignore for certain contexts
  • Fix issue where SETUP division was doublespacing right side =

  • Fix issue where commented inline keywords were breaking the formatter

  • Simplify spaceAroundEquals to spaceAroundOperators

  • Fix issue where PROCEDURE snippet was malformed
    Fix issue where PowerOn tokens in strings/comments would break divisions
  • Improve syntax highlighting, hovers, and tokenization

  • Lazy-loading for SSH workers to prevent AIX user lockout
  • Move to @libum-llc/symitar library for SSH and HTTPS connectors

  • Various performance improvements & refactorization

  • Fix #INCLUDE deploy clobbering
    Move define variable diagnostics to Free version
    Skip diagnostics check for directories that don't exist
    Fix issue where problems wouldn't clear on document close
  • Fix validation diagnostics w/tab indentation

  • Fix status bar not properly reflecting state
  • Update fetching batch reports for SSH connections

  • Switch to PowerOn Pro activity bar

    Capabilities

    PowerOn Pro is the fastest way to develop on the Symitar core platform and we're barely getting started with its feature set. Check out what's available now and what's coming to PowerOn Pro in the very near future.

    circle-check

    Have a feature suggestion? Please let us know on Discordarrow-up-right or through our Feedbackarrow-up-right portal. We're always looking to improve our feature set to bring a better developer UX to the Symitar community.

    Feature
    Description
    Status

    hashtag
    Syntax highlighting

    Available • Treat yourself to beautiful syntax highlighting for the PowerOn language to help you visually interpret your code on any available VS Code theme.

    One more thing, we know many of your PowerOn files may not have an extension at all. As you open these, we'll automatically detect the PowerOn language and keep record of the association for future use 😎

    hashtag
    File icon theme

    Available • Quickly visualize what type of PowerOn is in your workspace with simple and beautiful file icons that distinctly set them apart from one another.

    circle-check

    Supported file extensions Currently we have file icons for .PO, .DEF, .SET, .PRO, .SUB, .FM, and .FMP. Any file without or with an arbitrary file extension in a known PowerOn directory will automatically be given the .PO

    hashtag
    Code completions

    Available • Freely type away and let PowerOn Pro suggest completions for you. We've got you covered with completions for records, keywords, functions, and more!

    hashtag
    Multi-document definitions & references

    Available • Navigate between PowerOn files with ease. Any #INCLUDE you have referenced in a file will be available for you to jump to with a simple click (CTRL + Click on Windows, CMD + Click on macOS). We also support any cross-file variables and procedures.

    hashtag
    Code snippets

    Available • We've included a few code snippets to help you get started with some of the most common PowerOn constructs. Just type the snippet prefix and hit Tab to expand the snippet.

    hashtag
    Hovers

    Available • We've bridged the gap between PowerOn development and documentation by making various Jack Henry eDocs references available directly on the keyword, function, and any of the special literals of the PowerOn language as a hoverable.

    hashtag
    Function signatures

    Available • Remembering all of the PowerOn functions and their parameters can be a challenge for even the most experienced developers. We offer function signatures that appear as you type to display which parameter is next as well as what it's for.

    hashtag
    Tasks

    Available • With our syntax highlighting, we brought Docstrings to your PowerOn comments. Take it one step further by adding @TODO anywhere in a comment and we'll collect them for you to work through in a custom view.

    hashtag
    PowerOn code formatter

    Available • Enforce a consistent code style across your entire codebase by parsing and re-printing according to defined rules taking maximum line length into account and even case sensitivity.

    hashtag
    Direct integration to Symitar (SSH)

    Connect your Symitar core to PowerOn Pro and take advantage of realtime PowerOn validation, deployments, and batch execution from within VS Code.

    hashtag
    Validate PowerOns

    Available • Get validation feedback from Symitar as you save your PowerOn files.

    hashtag
    Deploy and Install PowerOns

    Available • Choose to deploy or install your PowerOns to your Symitar core.

    hashtag
    Execute PowerOns and get batch output

    Available • Run your batch PowerOns and get the output directly in VS Code.

    hashtag
    PowerOn diagnostics

    Plus / Continuous Development • Natively you have the ability to validate your PowerOn but this only identifies the breaking change starting at the top of the file. We've introduced diagnostics that will holistically display errors and warnings for your PowerOn for things like undefined or unused variables and even syntax issues.

    This will continuously evolve as we map out all of PowerOn's behavior. For now we have support for undefined variables with unused on the way!

    hashtag
    Direct integration to Symitar (HTTPs)

    Plus / Available • Though the legacy SSH connection technically works, it's not 100% for every credit union and sometimes requires a few hoops to jump through to get it working. With HTTPs you connect directly to the Symitar Application Server to manage your PowerOns, LetterFiles, and HelpFiles.

    hashtag
    Symitar Explorer

    Plus • We provide a robust custom view in VS Code that levels up the integration between PowerOn development and the Symitar core.

    hashtag
    Remote Syms

    Available • We've created a semi-virtual workspace for you to freely navigate the LETTERSPECS, HELPFILES, and REPWRITERSPECS directories for any of your Syms.

    hashtag
    Remote Syms - SCM

    Coming Soon • Currently a Remote Sym is literally intended to be a "virtual" editing on your remote Symitar host. Meaning, as you make edits they're deployed and inversely it will periodically sync to stay up to date with what other folks may be deploying to the remote as well.

    This technically means, that if you were to develop in ( ) there is a potential to clobber files you've been editing locally, the next time you sync. To mitigate this, we're introducing a light weight Source Control Manager (SCM) to run the incoming changes through a diff editor to better protect your copy that way you still get the latest and great but have better autonomy of what your local state is.

    hashtag
    Reports

    Coming Soon • We are basically combining and adding our flavor to the UIs you find in Batch Control and Print Control to give you an incredible UX while working with batch output generated from your PowerOns. You'll have the luxury of quickly navigating through your Symitar reports as well as even launch accounts in Symitar Quest directly from our views.

    hashtag
    Embedded HTML language support

    Plus / In Development • PowerOns with HTML are becoming the standard for creating rich user interfaces available in Symitar - encapsulating these with htmlViewLine can be a bit cumbersome so we're introducing the ability to write HTML directly in your PowerOn files with full language support. We'll handle the translation whenever you choose to deploy!

    hashtag
    On-Demand PowerOn rendering

    Plus / In Development • To satisfy our vision of being the fastest way to develop on the Symitar core platform, it made a lot of sense to support both sides (Batch + Demand) of PowerOn development. That said, we're building a rendering engine for on-demand PowerOns to display from within VS Code preventing you from having to launch Symitar Quest to see your code come to life.

    hashtag
    SymXchange PowerOn Development

    Plus / Coming Soon • Writing PowerOns for SymXchange typically involves a two-step process in order for the changes to reflect in your call:

    1. Ensure the PowerOn is loaded in the SymX instance Common Parameters

    2. Bounce the SymX instance device

    This involves navigating through Symitar Quest and waiting for each of the UIs to load for you to perform the actions. With PowerOn Pro, we remove these requirements and handle the complete refresh lifecycle internally.

    hashtag
    Job Files Manager

    Plus / Coming Soon • Creating and editing Job Files in Symitar Quest can be a bit tricky given the strictly linear wizard-based UI. We have reimagined this user-experience with a beautiful UI and quite a few more controls to create / maintain these much more easily.

    Settings

    Discover how to personalize your PowerOn Pro user experience.

    PowerOn Pro ships with a number of configurable settings to personalize your VS Code experience as you develop.

    hashtag
    Auto Associate PowerOn Workspace

    If more than 50% of your active workspace has known PowerOn file extensions, a file association for poweron on the path will be added automatically.

    Default Value
    Available Values

    hashtag
    Auto Deploy `#INCLUDE` Files

    Controls how #INCLUDE files are deployed when deploying a PowerOn (only for non-Remote Syms).

    Default Value
    Available Values

    hashtag
    Auto Disconnect Sym

    Controls when your active Sym connection should automatically disconnect.

    Default Value
    Available Values

    hashtag
    Auto Validate PowerOn

    Controls when the language server runs PowerOn validation. Useful if you like to validate your PowerOn file each time you save.

    Default Value
    Available Values

    hashtag
    Batch

    Batch related configuration options specific to the SSH connection type.

    hashtag
    Fetch Report Timeout (SSH)

    The maximum time to wait (min) for the completion of a batch PowerOn run.

    Default Value
    Available Values

    hashtag
    Queue Override (SSH)

    The batch queue number to use when poweronPro.batch.queueSelection is set to override.

    Default Value
    Available Values

    hashtag
    Queue Selection (SSH)

    Controls how the batch queue is selected for a batch PowerOn run. The available options will either use the first available queue, prompt you to select a queue, or use the override value set by the setting.

    Default Value
    Available Values

    hashtag
    Report Viewer

    Controls where batch reports are displayed.

    Default Value
    Available Values

    hashtag
    Report Viewer Retention

    The number of days to keep batch reports in storage when poweronPro.batch.reportViewer is set to editor.

    Default Value
    Available Values

    hashtag
    CLI Worker Timeout

    The maximum time (sec) to wait for the initialization of the Symitar CLI workers which is only used with an SSH connection type to Symitar.

    Default Value
    Available Values

    hashtag
    Debug

    Enables debug logging for the @libum-llc/symitar library. The logs will appear in the PowerOn Pro output channel.

    Default Value
    Available Values

    hashtag
    Diagnostics

    Real-time diagnostics configuration options which are triggered when the PowerOn changes in an active text editor.

    hashtag
    Data Types (Experimental)

    Plus Shows incorrect variable assignments as errors for PowerOn files.

    circle-exclamation

    Refinement coming soon...

    In order to get real-time data type diagnostics accurately, we need to complete Abstract Syntax Trees (ASTs) to accurately interpret the PowerOn language. This is in-progress.

    Default Value
    Available Values

    hashtag
    Defined Variables

    Shows undefined variables or procedures as errors for PowerOn files.

    Default Value
    Available Values

    hashtag
    Unused Variables

    Plus Shows unused variables as dimmed for PowerOn files.

    Default Value
    Available Values

    hashtag
    Formatter

    Configuration options for the PowerOn code formatter (Experimental).

    hashtag
    Align Defines

    Align = signs in DEFINE sections for table-like readability.

    Default Value
    Available Values

    hashtag
    Indent Size

    Number of spaces per indentation level in PowerOn code.

    Default Value
    Available Values

    hashtag
    Keyword Case

    Casing for PowerOn keywords, database records, and fields (e.g., TARGET, ACCOUNT, CLOSEDATE).

    Default Value
    Available Values

    hashtag
    Max Blank Lines

    Maximum consecutive blank lines to preserve within divisions.

    Default Value
    Available Values

    hashtag
    Print Width

    Maximum line length for PowerOn code before wrapping.

    Default Value
    Available Values

    hashtag
    Section Spacing

    Number of blank lines between major divisions (TARGET, DEFINE, SETUP, SELECT, SORT, PRINT, TOTAL, PROCEDURE).

    Default Value
    Available Values

    hashtag
    Space After Delimiter

    Add space after comma delimiters in function parameters (e.g., FUNC(a, b) vs FUNC(a,b)).

    Default Value
    Available Values

    hashtag
    Space Around Equals

    Add spaces around the = operator in assignments (e.g., x = 5 vs x=5).

    Default Value
    Available Values

    hashtag
    Space Around Operators

    Add spaces around arithmetic (+, -, *, /) and comparison (<>, <, >, <=, >=) operators. Logical operators (AND, OR, WITH) always have spaces.

    Default Value
    Available Values

    hashtag
    Uppercase Identifiers

    Uppercase all identifiers (variable names, procedure names). PowerOn is case-insensitive; some shops prefer all-caps for mainframe consistency.

    Default Value
    Available Values

    hashtag
    Include Paths

    Additional absolute directory paths to search for #INCLUDE files. These directories will be searched in addition to the directory of the PowerOn file being processed.

    Default Value
    Available Values

    hashtag
    Local Symitar Path

    Plus The root path where your local Sym directories are synchronized. This is a required field for the feature and it's recommended to set as a path not directly in a typical folder structure for projects.

    Default Value
    Available Values

    hashtag
    Offline Validation

    Controls whether a randomly named PowerOn is created, uploaded for validation, then deleted.

    Default Value
    Available Values
    circle-exclamation

    Just an FYI. Disabling this feature will automatically "publish" your PowerOn with each validation. We believe you shouldn't have to commit something to Symitar in order to check whether it's valid, that's why we defaulted this setting to true.

    hashtag
    Preferred Case

    Controls the case of keywords, functions, variables, and records. Additionally, you'll see this reflected in other relevant areas such as hovers and snippets.

    Default Value
    Available Values

    hashtag
    Remote Sym SFTP Concurrency

    Plus The number of files to download simultaneously when using SFTP sync for Remote Syms.

    Default Value
    Available Values

    hashtag
    Remote Sym Sync Method

    Plus Controls how Remote Syms are synchronized with the Symitar server.

    Default Value
    Available Values
    • sftp: Use SFTP for synchronization (no external dependencies required)

    • rsync: Use rsync for synchronization (requires WSL on Windows, rsync and sshpass installed)

    hashtag
    SSH Port

    The port to use when connecting to the Symitar host. For almost all cases this should be 22 but if you have port-forwarded and need the flexibility to use SSH over a different port, this is how you'd do it.

    Default Value
    Available Values

    true

    true or false

    off

    off, prompt, or silent

    never

    never, 1 hour, 4 hours, 8 hours, or 12 hours

    off

    off or onsave

    15

    Between 1 and 60

    0

    Between 0 and 3

    first

    first, prompt, or override

    editor

    editor or output

    10

    Between 1 and 30

    30

    Between 5 and 120 seconds

    false

    true or false

    false

    true or false

    true

    true or false

    true

    true or false

    false

    true or false

    1

    Between 0 and 8

    upper

    upper, lower, or preserve

    1

    Between 1 and 3

    80

    Between 40 and 200

    1

    Between 0 and 5

    false

    true or false

    false

    true or false

    false

    true or false

    false

    true or false

    []

    List of any local directory paths

    --

    Any local directory path

    true

    true or false

    upper

    upper, lower, or camel

    20

    Between 1 and 50

    sftp

    sftp or rsync

    22

    Any available port

    Queue Override
    Remote Syms

    Available

    know what the PowerOn function does as you write it

    Available

    keep track of what's next for your PowerOn "todos"

    Available

    validate, deploy, install, or execute PowerOn files directly in VS Code

    Available

    Plus

    Ensure all of your PowerOns conform to a consistent style

    Available

    Plus

    evolving realtime diagnostics (undefined / unused variables, incorrect syntax, etc.) of your PowerOns

    Continuous Development

    Plus

    perform the same actions from SSH on a more stable HTTP API

    Available

    Plus

    get a semi-virtual workspace for the LetterFiles, HelpFiles, and PowerOn directories on any Sym

    Available

    Plus

    don't worry about clobbering files as you sync, we'll funnel these through the source control manager

    Coming Soon

    Plus

    level up the execution of your PowerOns with a robust reports view

    Coming Soon

    Plus

    get the HTML syntax highlighting within your PowerOns but also forget about wrapping every line in htmlViewLine

    In Development

    Plus

    choose an account and run on-demand PowerOns straight from VS Code

    In Development

    Plus

    manage the full lifecycle of SymX PowerOns without opening Symitar Quest

    Coming Soon

    Plus

    Skip out on the wizard prompts and use templates to prototype new batch jobs in seconds

    Coming Soon

    file icon.

    Syntax highlighting

    the most complete and robust highlighting for the PowerOn language

    Available

    File icon theme

    an extended Setiarrow-up-right (built-in) icon theme with known PowerOn file extensions

    Available

    Code completions

    get prompted as you type with relevant and helpful completions

    Available

    Multi-document definitions & references

    quickly navigate the definitions, references, and dependencies of your PowerOn

    Available

    Code snippets

    get started faster with an extensible snippet library

    Available

    Hovers

    executePowerOnarrow-up-right
    The PowerOn Pro file icon theme for VS Code.
    The PowerOn Pro: Tasks panel view.

    gain insight from eDocs into the keyword, function, template, or database record

    Function signatures
    Tasks
    Direct integration to Symitar (SSH)
    PowerOn code formatter
    PowerOn diagnostics
    Direct integration to Symitar (HTTPs)
    Symitar Explorer - Remote Syms
    Symitar Explorer - Remote Syms SCM
    Symitar Explorer - Reports
    Embedded HTML language support
    On-Demand PowerOn Rendering
    SymXchange PowerOn Development
    Job Files Manager