Skip to content



Randon Notes from Random Places - A work in progress for Gregg’s eye’s only right now!



VNYX Inc (VNYX), a Florida Corporation, was established in 2002. VNYX provides cost-effective and strategic outsourcing solutions for business Information Technology (IT) requirements.

The company was founded by Gregg Green as a replacement for DMS/Plus Automation, Inc., which was established in 1991.

The Name

The name VNYX is pronounced V-NIX. The original idea for the name came as we were developing a web based operating system and wanted a name that sounded like an operating system (e.g. UNIX, Linux, etc). Our first choice was VNIX, but due to trademark conflicts with Sun Microsystems, who owns the trademark for UNIX, we decided to change the spelling of the company name to VNYX.

Product Naming

Later, we decided to begin using our preferred spelling of VNIX along with our flagship product and trademark the full name of the product instead: vnix. When you see the spelling of VNYX, think of it as the parent company of VNiX and all AQ related solutions.


Our focus is now on using our networks and sofware to provide cloud based services and integrate with mainstream software in order to provide clients powerful yet flexible services and solutions.

Built-in Database Management

Database forms and tables are generated using a series of methods designed to connect to database tables, join additional tables and control the viewing and editing of columns. All forms and tables use column methods to view and edit data. Some column methods only work on forms, while others work on both forms and tables. All columns have properties to control features or recognized the state of the column.

Fundamental Origin

This system is designed using a unique software architecture described the symbols QA-io-OPO-oi-AQ representing the natural way things work.

Principles and Terminology

These terms are used to simplify reference to QA-io-OPO-oi-AQ modes:

### QAio

Query application (verb) and implement an objective. This is the Javascript namespace variable containing most of the functions.

### OPO

Based on the intent of the objective, establish and run priorities that will produce an ultimate objective.

### oiAQ

Deliver the object to an implementation by the application query (noun).

A full understanding of these principles will be written later.

Plugins (Javascript)

jQuery Regex Plugin



It’s pretty simple to use, you need to pass an attribute and a regular expression to match against. The regular expression must be in non-literal notation; so replace all backslashes with two backslashes (e.g. ^w+$ -> ^\w+$).

// Select all elements with an ID starting a vowel:

// Select all DIVs with classes that contain numbers:

// Select all SCRIPT tags with a SRC containing jQuery:

// Yes, I know the last example could be achieved with 
// CSS3 attribute selectors; it's just an example...

Note: All searches are case insensitive; you can change this by removing the ‘i’ flag in the plugin.

This plugin also allows you to query CSS styles with regular expressions, for example:

// Select all elements with a width between 100 and 300:
$(':regex(css:width, ^[1-3]\d{2}px$)');

// Select all NON block-level DIVs:
$('div:not(:regex(css:display, ^block$))');

Additionally it allows you to query data strings added to elements via jQuery’s ‘data’ method:

// Add data property to all images (just an example);
    $(this).data('extension', $(this)[0].src.match(/.(.{1,4})$/)[1]);

// Select all images with PNG or JPG extensions:
$('img:regex(data:extension, png|jpg)');


About VNiX


Job (name of implementation objective) = Order (prefix), Task (suffix)



aex: application entity expression

sw: switches —name=Switch

io: implementation objective

opo: objective priority (prep) + priority objective (assemble)

oi: objective implementation

(QA) Query the Application (order)
(IO) Implementation Objective (product)
(OPO) Objective Priority Objective (assembly & packaging)
(OI) Objective Implementation (delivery)
(AQ) The Application Query (receipt)
  • Process ID events and replaces Console Log but need access to all PID’s.
  • By passing the pid i in the URL and create links to all available PID’s
  • Access caches variables by PID
  • Basically list all public variables and their values (expand objects with drill down method) for each caches root object.


  • Redirects are handled by AQ as a Re-Query to a new Process.

Comprehensive Cache (CC)

Call all objects at higher level and change references within qa when necessary.

  • key
  • proc
  • user
  • ap
  • share
  • io
  • opo
  • oi


Track Switches


Q: What are tasks?
A: Tasks are the small steps to accomplishing a priority. Each priority builds an objective that ultimately reached a final objective which is implemented; leaving a record of the process called a receipt.

Understanding and Controlling Tasks

Advanced Task Switches (query)
Ordering Tasks (io)
const TX_STD = ['Init', 'Standard']
const TX_SHEET = ['Init', 'Sheet', 'Table', 'Datatable'];
Naming Tasks
final protected function A000_Init()
final protected function A000_Init()
final protected function A100_Init()
final protected function J000_Table()
final protected function J000_Table()
final protected function J000_Fe()
final protected function J000_Fi()
final protected function P000_Init()
final protected function W000_Init()
final protected function C000_Init()
Querying Tasks (opo)
$this->taskSuffix = ['Fe','Fi','Fo','Fum'];

Searches for…

final protected function J000_Table()
final protected function J000_Table_Fe()
final protected function J000_Table_Fi()
final protected function J000_Table_Fo()
final protected function J000_Table_Fum()


proc class


Process ID



The save class controls autosave and key saving.


Local variables accessible using scopevar_local(‘fe’)

Controlling Levels


next:/demo//Client --opo=FORM/clopen

apply:/demo//Client --opo=FORM


Always use out: when creating a new port.

Use apply: to do vnix.ioGet() commands.

Use out: to remember the current mode to return to. This also creates a Back button.

Use out: to do the same this as out: without creating a Back button.


New Records

Use apply: to stay at the same level on the Form.