ExportSchema and ImportSchema are BuiltIn procedures that are available for use with source control systems.
Takes one parameter, TemplateData
Takes any unspecified data, intended for use by external systems
A Message Handler is only ever called by the Database on a Database Event. These Event Messages allow a Developer to intercept operations taking place on a per-record level and implement Event based business logic.
Takes one parameter, Data
Takes two parameters, Data, bHasHeader
Record Actions are presented to the users of the Default Admin interface and are also intended to be made available in a dynamic way to users of a customized front end. As an Action, the Procedure is expected to perform some sort of task, such as an automated set of updates to the Database Record.
Takes two parameters, Data, bHasHeader
Takes one parameter, the name of a database table
Takes two parameters, Data, Boundary
Takes one parameter which is the keyboard key which will be used as the Access Key for a given Database Table's field.
*Note: By default, each Field's Access Key will be initialized to the first character of the Field's Label.
Table Actions are presented to the users of the Default Admin interface and are also intended to be made available in a dynamic way to users of a customized front end. As an Action, the Procedure is expected to perform some sort of task, such as an automated set of updates to the Database Table.
Takes two parameters, Data, Options
Takes two parameters, CSVData, bNoHeaders
Takes two parameters, FileName, FileData
Takes 6 parameters, Location, Mode, Div, Data, Script, Extra
Takes two parameters, ExcelTableData, Options
Takes one parameter, Data
Takes two parameters, FileName, FileData
Takes two parameters, CSVData, bNoHeaders
Takes two parameters, CSVData, bNoHeaders
In this example, we use a plain old Moxie.Build system and compare it to the MEAN Stack equivalent by building two functionally equivalent versions of a fleshed out To Do List Application. Both versions utilize local user authentication, a relational database system and the security measures found in typical production-level applications on the web today.
Moxie.Build Keeps it Simple
The full stack in one app, delivered by one company.
Coding with the MOX server side scripting language is concise, well structured, and keeps your focus on the data. Use Moxie.Build in your company to pull together resources, centralize data, customize business workflows, and act as a highly accessible web portal for staff and customers alike.
Takes two parameters, TableName, RecordAlias
Has no parameters
Takes one parameter, TableName
Takes one parameter, TableName
Takes three parameters, TableName, SearchTerms, SearchInFields
Takes one parameter, TableName
Takes one parameter, TableName
Takes one parameter, TableName
Takes no parameters
Takes six parameters, TableName, FieldName, Label, Note, Attr, DevNote
Takes nine parameters, TableName, ProcName, Type, Params, GroupTypes, Label, Note, DevNote, Source
Takes three parameters, TableName, Alias, Password
Takes two parameters, TableName, IfLenFld
Takes two parameters, Name, Value
Takes three parameters, ChildTableName, ParentTableName, Mode
Takes seven parameters, TableName, OtherTableName, ParentChild, Ratio, Note, Attr, DevNote
Takes 4 parameters, TableName, Relation, OtherTableName, IfLenFld
Takes two parameters, Source, Value
Takes two parameters, Source, Value
Takes two parameters, Source, Value
Takes one parameter, Source
Takes two parameters, Title, Path
Takes 3 parameters, Location, Mode, Text
Takes one parameter, Source
Takes three parameters, ServerName, Port, bSecure, Send
Takes two parameters, Source, Value
Takes one parameter, EscapedTemplate, and returns the Unescaped Version of this string
Takes one parameter, HtmlEscapedString, and returns the Unescaped Version of this string
Takes one parameter, Source
Takes one parameter, bNoHeaders
Takes two parameters Command, Options
Takes one parameter, Name
Takes 3 parameters, ParentTableName, ChildTableName, and a boolean expression (optional)
Takes two parameters, a TableName and FieldName
Takes one parameter, TableName
Takes 4 parameters, TableName, Relation, OtherTableName, and a boolean expression (optional)
Takes two parameters, TableName, IfLenFld
Has no parameters
Takes one parameter, TableName
Takes two parameters, TableName and a boolean expression
Takes one parameter, TableName
Has no parameters.
Takes 6 parameters, Name, Value, Path, Domain, Expires, Other
Takes 3 parameters, ParentTableName, ChildTableName, IfLenFld
Takes four parameters, DestinationTable, SourceTable, bWithParents, bWithPWHashes
Takes two parameters, ChildTableName, Mode
Has no parameters
Takes two parameters, TableName, IfLenFld
Takes two parameters, FileName, bUseHeader
Takes two parameters, FileName, Options
Takes two parameters, FilePath, bUseHeader
Takes six parameters, FieldBase, Destination, Function, Source, Value, IfLenFld
Takes six parameters, FieldBase, Destination, Function, Source, Value, IfLenFld
Takes 10 parameters, FieldBase, From, To, Subject, Body, bMerge, AttachName, AttachPath, Slow, IfLenFld
Takes two parameters, WorkFieldBase + FieldToParse, Delimiter
Takes one parameter, QuantityToAdd
Takes three parameters, FieldBase, OldFieldName, NewFieldName
Takes three parameters, FieldBase, Fields, IfLenFld
Takes three parameters, FieldBase, Fields, IfLenFld
Takes two parameters, FieldBase, PivotField
Takes six parameters, FieldBase, GroupByField, Destination, Action, Source, IfLenFld
Takes 3 parameters, Location, Mode, bWithNoHeader
Takes 3 parameters, Location, Mode, bWithNoHeader
Takes 10 parameters, Location, Mode, Title, TitleLink, Class, Fixed, bUseContainer, bNotResponsive, bInverted, HtmlPre, HtmlApn
Takes no parameters
Takes four parameters, FieldBase, Destination, Source, IfLenFld
Takes 6 parameters, Location, Mode, Class, bNoHeader, bNoAutoAlign, bNoIDTags
Takes 5 parameters, Location, Mode, Title, Element, Class
Takes two parameters, Location, Mode
Takes two parameters, [WorkWith]+Scope, EmbedScope
Takes 7 parameters, Location, Mode, Title, TitleLink, Class, HtmlPre, HtmlApn
Takes 6 parameters, Location, Mode, ActionLabel, ActionPath, Class, ActionMethod
Takes 5 parameters, Location, Mode, Class/ID, Init, bNoAutoAlign
Takes 5 parameters, FieldBase, GroupBy, MergeField, Delimiter, bKeepBlanks
Takes one parameter, a single character
Takes 5 parameters, FieldBase, Destination, Action, Source, IfLenFld
Takes two parameters, FieldBase, FieldNamesList
Takes up to 6 parameters, FieldBase, Destination, Action, Source, Value, IfLenField
Takes 7 parameters, FieldBase, GroupBy, GroupTotals, GrandTotals, Seperator, TotalPre, TotalPost
Takes 5 parameters, FieldBase, FolderPath, Action, Source, IfLenFld
Takes seven parameters, TableName, OldFieldName, NewFieldName, Label, Note, Attr, DevNote
Takes four parameters, TableName, Relation, OtherTableName, IfLenFld
Takes two parameters, TableName, IfLenFld
Takes two parameters, FieldBase, FieldNames
Takes eight parameters, TableName, OldOtherTableName, NewOtherTableName, ParentChild, Ratio, Note, Attr, DevNote
Takes ten parameters, TableName, OldProcName, NewProcName, Type, Params, GroupTypes, Label, Note, DevNote, Source
Has six parameters, UniqueParent, DestField, FieldBase, UniqueChild, EmbedFields, Options
Takes one parameter, FilePath
Takes two parameters, FileName, bHasHeader
Takes two parameters, FileName, bHasHeader
Takes two parameters, FileName, bHasHeader
Takes two parameters, FileName, bHasHeader
Has no parameters
Takes 3 parameters, FieldBase, Fields, SearchTerms
Takes 4 parameters, FieldBase, Left, Comparison, Right
Takes two parameters, FieldBase, FieldNamesList
Takes two parameters, PathToFile, Options
Takes two parameters, FileName, bHasHeader
Takes two parameters, FileName, bHasHeader
Takes one parameter, EscapedHTMLString, and returns the Unescaped Version of this string
Table Reports are presented to the users of the Default Admin interface and are also intended to be made available in a dynamic way to users of a customized front end. As a Report, the Procedure is expected to produce output to be displayed to the user.
A Remote Method may be called by any other Moxie system. It can be used to divide up a large system among a number of backend servers, or as a public API for 3rd parties. In order to call a Remote Method from MOX, the Remote statement is used.
Takes 3 parameters, DestinationQuery, SourceQuery, bMoveIt
Takes two parameters, destinationQuery, sourceQuery
Takes two parameters, DestinationQuery, SourceQuery
Record Reports are presented to the users of the Default Admin interface and are also intended to be made available in a dynamic way to users of a customized front end. As a Report, the Procedure is expected to produce output to be displayed to the user.
Brief overview on the file structure and contents under Moxie. The files and folders discussed in this post are those that are essential when upgrading to the most recent version of Moxie.Build , or when troubleshooting server errors.
Has no parameters
Takes two parameters, FileName, bHasHeader
A Public Method may be called from any other Procedure, by the Default plug-in as part of the CMS.
A PaaS Method may be called by any other Moxie system. In order to call a PaaS Method from MOX, the PaaS statement is used.
Takes four parameters, DestinationQuery, SourceQuery, UniqueField, UniqueValue
Takes 5 parameters, DestinationQuery, SourceQuery, DestinationMatchField, SourceMatchField, Mode
Has 4 parameters, Destination, Action, Source, Value
Takes six parameters, DestQuery, SourceQuery, DestDestFld, DestXFld, DestYFld, SourceYFld
Takes two parameters, DestinationQuery, SourceQuery
Takes five parameters, DestQuery, SourceQuery, SourceXFld, SourceYFld, SourceZFld
Takes a single Field name to test if it is true, with an optional Not operator to test if false, followed by the conditional statement
Takes 2 parameters, Result, Status
Takes a variable number of parameters, a comma separated list of TopQuery variable names
Has no parameters
Takes a variable number of conditional logical if statements
Takes a variable number of parameters, QueryName, MethodName, [Param1, [Param2, etc...]]
Accepts a space separated list of field names.
Takes 3 parameters, Event, DestinationID, Path
Takes 1 parameter, a formatting mask
Parameter is a value or an expression to be used when a record is created if no value is specified during the creation. The value or expression is run through the Assignment Attribute in order to calculate it's result.
Has no parameters.
Has no parameters.
The MOX coding and programming language pays heritage to BASIC, but has been crafted for the specific type of work and environment that is demanded of Moxie.Build.
Developing in Moxie.Build on localhost give you the advantage of working with the template files natively. When working on procedures (MOX code) you need to access that through the Procedures page in the Admin area of a Moxie.Build system, if running the server on localhost or on a remote server. When running on a remote server, you can edit the template files via the Files page in the Admin area.
A single Windows OS can host many instances of Moxie.Build, these steps will guide you through the setup process.
This style guide provides comprehensive standards for writing clean, maintainable, and consistent MOX code for Moxie.Build. Code examples on this page are for illustrative purposes and are only intended to demonstrate style conventions.
Prerequisites: This tutorial assumes that you have already set up a Category and Procedure if necessary. This page covers some of the basics that are involved in Front End development using the MOX language.
Accepts one parameter which is the raw HTML content to be placed in the form, below the Field's location.
Has no parameters.
Parameter is a space separated list of field names to be displayed when the user is viewing results from the Search List in the Admin interface.
Has no parameters
Has no parameters.
Has no parameters
Accepts a numeric value as a parameter.
Accepts one parameter which is the raw HTML content to be placed in the form, above the Field's location.
Takes 1 parameter, a formatting mask
Parameter is divided into two parts, the Test and the Result if True. The test comes prior to the keyword of Then and the Result if True comes after.
Parameter is a comma separated list (using CSV rules and not in quotes) of the options made available to the user which are enforced on save.
Takes one parameter.
Has one parameter, Options
Has two parameters: Source, Options
Takes one parameter, Source
Takes one parameter, a Source value
Takes two parameters, Source, Value
Has two parameters: Source, Options
Takes two parameters, Source, Options
Takes two parameter: FieldName, Delimiter
Takes two parameters, Source, OptionsAndSecret
Has two parameters: Source, Name
Takes one parameter, Source
Takes one parameter, a Source value
Takes one parameter, Index
Takes one parameter, bNoHeader
Takes three parameters, TableName, Alias, Password
Takes one parameter, EscapedHTMLString, and returns the Unescaped Version of this string
Has no parameters
Takes one parameter, Source
Takes one parameter, in the form of: Table|{Alias}|Field
Takes three parameters, FilePath, Start, Len
Takes one parameter, Source
Takes one parameter, Source
Takes two parameters, Source, Values
Takes one parameter, FieldName
A traditional way to check for hard errors and enable those errors to error softly.
Takes one parameter, SlowWritePercent
The Moxie.cfg file is read on server start and controls aspects that cannot be changed while the server is running.
The Setup Table controls aspects that can be changed while the server is running, and is intended to contain both Moxie.Build specific values as well as application specific.
This utility program manages a server install with one or many Moxie.Build services running by taking care of nightly tasks via a scheduled task.
Takes a variable number of parameters
Takes three parameters, Url, SaaSTenant, InputQuery, OutputQuery
Takes one parameter, Control
Takes three parameters, Url, InputQuery, OutputQuery
Takes one parameter, ServerLogText
Takes a variable number of conditional statements to compare against a single source
Takes no parameters.
Takes one parameter bNoHeaders and returns the result to an assigned variable
Compress any value/table
Takes one parameter, Source
Takes one parameter, Source
Takes one parameter, Source
Takes three parameters Method, URL, Body
Takes one parameter.
Parameter is divided into two parts, the Test and the Result if True. The test comes prior to the keyword of Then and the Result if True comes after.
Takes one parameter, Source
Takes one parameter
Has no parameters