The Moxie.cfg file is read on server start and controls aspects that cannot be changed while the server is running.
A .mox file, with MOX code in it, can be run from the command line while a Moxie.Build system is not otherwise already running.
The optional Moxie.http file is read on server start and controls the default HTTP headers set for all requests.
Download Free Download of Moxie.Build Delivered as a simple .zip file, so that you can set it up however you like. This approach allows you to custom install many services on one server ,
or just run it as an app without an install. Licensing information and agreement . Upgrade Notes
In order to Upgrade an existing copy of Moxie.Build V4 or V5 to the most recent version of V5, you can use the Upgrade example files found in the Tools folder to help automate upgrading multi-service systems, or you can just replace the following files/folders: Moxie.exe Moxie.dll Default.dll /DBStore/BuiltIn.* /Lib /Public/BuiltIn /Templates/Admin /Templates/Clean /Templates/Default /Templates/Default5 /Templates/Report
Takes one parameter, HtmlEscapedString, and returns the Unescaped Version of this string
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.
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.
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.
A Public Method may be called from any other Procedure, by the Default plug-in, or a Custom COM DLL. Each Public Method may either use specific Input Parameters, or it may accept an Input Query.
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.
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.
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.
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.
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.
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.
An Include Procedure cannot be executed directly, the contents of its source code can only be Included into other Procedures using the Include command.
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.
Prerequisites: This page assumes that you have already set up your Moxie.Build server and logged in as an admin user. This page covers some of the basics that are involved in using the Content Management aspects of the Moxie.Build system.
Prerequisites: This tutorial assumes that you have already set up your Moxie.Build server and logged in. This page covers some of the basics that are involved in managing files and folders in the Moxie.Build system.
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.
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.
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.
Cloudflare automatically provides free client-facing certificates for your domain, even if using their free service. In addition, they provide free Origin Certificates to encrypt the connection between Cloudflare and your origin Moxie.Build server. Use this article if you are going to have Cloudflare connect to inbound open ports on your Moxie.Build server.
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.
Moxie.Build, in short, may be used and licensed free of charge for education and non-profit organizations. Whenever it is used by government or for-profit organizations the license is granted on a subscription basis.
Moxie.Build includes a number of open source components as part of its distribution; each is subject to their own licenses as included with the files for those components.
Markdown enables simple formatting of plain text via easy to remember conventions. This page will provide you with some pointers on what formatting options are available with "Moxie Flavored Markdown".
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.
Web/API Development Platform with an in-memory database, native-code CMS, and a powerful runtime environment Whether you are a new startup taking off or optimizing your business model for growth, Moxie.Build provides a robust platform with a proven track record for marketplaces, eCommerce, and business process automation
This video demonstrates how to get started with Moxie.Build with basic customization.
The following video demonstrates how to download Moxie.Build to your workstation, and run it on localhost.
Takes two parameters, Title, Path
Takes two parameters, Source, Match
Takes one parameter, ErrMsg
Takes three parameters, Location, ClassNames, AlertText
Takes two parameters, Location, Mode
Takes 6 parameters, Name, Value, Path, Domain, Expires, Other
Takes two parameters, name, value
Takes 6 parameters, Location, Mode, Div, Data, Script, Extra
Takes 5 parameters, Location, Mode, Class/ID, Init, bNoAutoAlign
Takes seven parameters, Location, Mode, Prompt, Path, Class, Name, HelpText
Takes two parameters, Source, Value
Takes two parameters, Source, Value
Takes two parameters, Source, Match
Takes two parameters, Source, Match
Takes two parameters, Source, Match
Takes two parameters, Source, AllowedCharacters (case sensitive)
Takes one parameter, Source
Takes two parameters, Source, AllowedCharacters (case sensitive)
Takes two parameters, Source, Value
Takes two parameters, Source, Search
Takes 6 parameters, Location, Mode, ActionLabel, ActionPath, Class, ActionMethod
Takes one parameter, a Source value
Takes two parameters, Source, Value
Takes two parameters, Source, Search
Takes one parameter, a Source value
Takes two parameters, Source and Match
Takes one parameter, a Date value
Takes one parameter, PathToFile
Takes two parameters: Username, GroupTypes
Takes two parameters, Source, Match
Takes two parameters, Source, Match
Has two parameters: Source, Options
Takes one parameter, Source
Has one parameter, Options
Has two parameters: Source, Options
Takes two parameters, Source and Match
Takes two parameters, Source, Value
Takes one existing Source value, and two parameters of equal length, SearchVals, NewVals
Takes one existing Source value, and two parameters, Search, NewVal
Takes one parameter, Name
Takes one parameter, bNoHeaders
Takes one parameter, Source
Takes one parameter, Source
Takes one parameter, Source
Takes two parameters, Source and Match
Takes two parameters, Source and Match
Takes one parameter, Source
Takes one parameter, EscapedTemplate, and returns the Unescaped Version of this string
Takes four parameters, FieldBase, Destination, Source, IfLenFld
Takes three parameters, TableName, Alias, Password
Takes one parameter, Type
Has six parameters, UniqueParent, DestField, FieldBase, UniqueChild, EmbedFields, Options
Takes nine parameters, FieldBase, Destination, Function, Source1, Source2, Source3, Source4, Options, IfLenFld
Takes 5 parameters, FieldBase, Destination, Action, Source, IfLenFld
Takes two parameters, Data, Options
Takes three parameters, QueryName, FieldBase, FieldNames
Takes two parameters, FilePath, bUseHeader
Takes two parameters, FileName, Options
Takes a variable number of parameters, FieldBase, Destination, Source, Test1, Test2, [etc...]
Takes a variable number of parameters, FieldBase, Destination, Source, Test1, Test2, [etc...]
Takes two parameters, Data, bHasHeader
Takes two parameters, ExcelTableData, Options
Takes two parameters, CSVData, bNoHeaders
Takes two parameters, FileName, bUseHeader
Takes a variable number of parameters
Takes two parameters, FileName, bHasHeader
Takes two parameters, FileName, bHasHeader
Takes three parameters, FieldBase, Fields, IfLenFld
Takes 7 parameters, FieldBase, Destination, Source, OffsetVal, Operator, OpValue, IfLenFld
Takes 6 parameters, FieldBase, Destination, Function, Source, Value, IfLenFld
Takes one parameter, FilePath
Takes a variable number of parameters, FieldBase, Test1, Test2, [etc...]
Takes a variable number of parameters, FieldBase, Test1, Test2, [etc..]
Takes two parameters, FieldBase, FieldNamesList
Takes two parameters, PathToFile, Options
Takes two parameters, FileName, bHasHeader
Takes two parameters, FileName, bHasHeader
Takes two parameters, CSVData, bNoHeaders
Has no parameters
Takes one parameter, TableName
Has no parameters.
Takes three parameters, Login, Password, bRememberMe
Takes one parameter, TableName
Takes two parameters, TableName, IfLenFld
Takes one parameter, TableName
Takes one parameter, Name
Takes three parameters, Location, Mode, TemplateName
Takes one parameter, the contents of which are used for the HTTP Reply Body
Takes four parameters, DestinationTable, SourceTable, bWithParents, bWithPWHashes
Takes two parameters, ChildTableName, Mode
Takes one parameter, Type
Takes eight parameters, TableName, OldOtherTableName, NewOtherTableName, ParentChild, Ratio, Note, Attr, DevNote
Takes ten parameters, TableName, OldProcName, NewProcName, Type, Params, GroupTypes, Label, Note, DevNote, Source
Takes seven parameters, TableName, OldFieldName, NewFieldName, Label, Note, Attr, DevNote
Takes six parameters, FieldBase, Destination, Function, Source, Value, IfLenFld
Takes two parameters, CSVData, bNoHeaders
Takes a variable number of parameters
Takes three parameters, ChildTableName, ParentTableName, Mode
Takes nine parameters, TableName, ProcName, Type, Params, GroupTypes, Label, Note, DevNote, Source
Takes six parameters, TableName, FieldName, Label, Note, Attr, DevNote
Takes six parameters, FieldBase, Destination, Table, Alias, SourceField, IfLenFld
Takes seven parameters, TableName, OtherTableName, ParentChild, Ratio, Note, Attr, DevNote
Takes six parameters, FieldBase, Destination, Function, Source, Value, IfLenFld
Takes two parameters, Location, Mode
Has no parameters
Has one parameter, a Content.Lang prefix
Has one parameter.
Private Method contained within a given procedure.
Takes any unspecified data, intended for use by external systems
Takes a single Field name, with an optional Not operator, followed by the conditional statement
Takes a variable number of parameters, QueryName, MethodName, [Param1, [Param2, etc...]]
Takes 3 parameters, Destination, Action, Source
Takes a variable number of conditional statements
A special type of Private Method, called a Private Function, that is intended to return a single value or multiple values simultaneously.
Takes three parameters, QueryName, FieldBase, FieldNames
Takes one parameter, QueryName
Takes three parameters, Url, InputQuery, OutputQuery
Takes two parameters, QueryName, Title
Takes a single string as parameter, which is then appended to each line in the code block.
Takes one parameter, QueryName
Takes two parameters, Text, Title
Takes three parameters, Url, SaaSTenant, InputQuery, OutputQuery
Used as a scoping keyword, similar to WorkWith/End WorkWith .
Has no parameters
Takes no parameters
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.
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.
Has no parameters.
Prerequisites: This tutorial assumes that you have already learned about Managing Files .
In order for source code to be more readily readable across teams, it is recommended that your source code always be styled according to this style guide.
Takes one parameter, the text of the error to throw.
Takes one parameter, the Name of the critical section
Takes one parameter, the text of the exception to throw.
Takes 2 parameters, Result, Status
In this example, you will see how to use a public method that works on or with the current WorkQuery that you pass into the method.
Has one parameter
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.
We empower your customers to take action.
ExportSchema and ImportSchema are BuiltIn procedures that are available for use with source control systems.
Takes a variable number of parameters.
Takes two parameters, User and Password
Takes three parameters Method, URL, Body
Has no params
Takes one parameter bNoHeaders and returns the result to an assigned variable
Takes one parameter
Has no parameters
Takes one parameter, Message, or no parameters
Has no params
Takes either one parameter, ResultValue, or no parameters
Has no params
Takes no parameters
Takes one parameter, a gregorian number
Has one parameter
Takes 9 parameters, ServerName, Port, bSecure, Mode, Path, ContentType, extraHeader, body, rtnHeaders
Takes one parameter, a date of the form yyyy-mm-dd
Takes two parameters, Source , Search
Takes two parameters, Source, Search
Takes five parameters, Lat1, Long1, Lat2, Long2, Options
Takes one parameter, FieldName
Cloudflare is a first and foremost a Web Application Firewall and Content Distribution Network, among other additional services.
A traditional way to check for hard errors and enable those errors to error softly.
Some Work Query command parameters can accept a source of either a Work Query Field name or a text literal. Text literals in these cases are prefixed with a backtick ` character.
Cloudflared Tunnel exposes applications running on your local web server on any network with an internet connection with an outbound tunnel that connects directly to Cloudflare's edge network without the need to configure inbound firewall rules.
Takes one parameter, OutputText
Takes one parameter, ServerLogText
Takes a variable number of conditional statements to compare against a single source
Takes two parameter, URL, InputQuery
Takes one parameter, Value
Takes one parameter, Message, or no parameters
Takes no parameters
Takes either one parameter, ResultValue, or no parameters
Has no parameters
Takes no parameters
Takes a variable number of parameters
Takes one parameter, TestCondition
Takes no parameters
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.
A type of Prefix which allows the developer to separate blocks of code into organized, defined parts to help provide clarity of the logical block and add structure to the code.