Learn WorkXpress
![]() DetailsDetails store and display data about an Item or a Relationship. In WorkXpress, there are many types of Fields to display many different types of data. Fields are for saving or retrieving data elements in WorkXpress. A WorkXpress Field combines form elements, input masks, data types, storage methods, storage parts, search comparisons (aka parameters, operators), and display options into a single Building Block. Fields are relied upon by all other Building Block types when those Blocks are trying to interact with WorkXpress data.
| |
Details Describe Business ConceptsIn WorkXpress, Details become orange blocks known as Fields. | |
Overview
-

Like a Database
Show Technical Details


Items are the people, places and things you want to track.
Relationships connect Items together.
Fields collect and store data about Items. To create a usable application, you'll need to build a robust data model. A data model is a diagram of the people, places, and things you want to track with your software application, what information you want to track about them, and how they are interrelated. In WorkXpress, Items, Relationships, and Fields comprise the data layer of an application and are the Building Blocks you'll use to realize your data model.
This first lesson will teach you the key WorkXpress concepts you'll need to know to begin constructing your own data model and will get you thinking about the people, places, and things you want to track with your application.
Click here to read the full article on the WX Data Layer
Item Types are Like a
TableDefining an Item Type is conceptually similar to creating a table. However, WorkXpress Item Types are more like meta data that describes multiple tables which in turn describe a business concept.
Relationships
are like a RelationshipWorkXpress Relationships are similar to one to one, one to many and even many to many relationships. In truth, they more like meta data that describes any of these connection types. In fact, you can even store data on a WorkXpress Relationship, or connect multiple relationships of the same type to the same two records.
Fields are like a
ColumnCreating a Field and associating it with an Item Type is very similar to adding a column to a table. However, a Field in WorkXpress does double duty by serving both the data layer and presentation layer. Further, WorkXpress Fields include additional concepts such as Field Parts, which are themselves effectively additional columns in a table.
5GL Query
LanguageUse the Search Builder tool to Query the WorkXpress data layer. You can Query Item Types, “join” across Related Item Types, and filter using Fields. All manner of branch logic, filtering and connections is possible empowering a diverse query capability very similar to a SQL language, except point-and-click.
-

Like a Web Page
Show Technical DetailsBuilding Your Interface



Layouts are the forms you present to your users. Create rich pages and navigation.
Fields are nested in Layouts, and let users enter data about Items. In our first lesson, we learned how to use Item Types, Relationship Types, and Fields to construct a data model for the application you want to build. In this second lesson, we'll teach you to use the presentation layer in WorkXpress to construct an interface for your application. In WorkXpress, the presentation layer of an application uses Layouts to display Fields.
Click here to read the full article on the WX Presentation Layer
Layouts are like FormsForms on a webpage take a variety of shapes and sizes, and as such there are a variety of Layout types to choose from. The most basic Layout is a “page” itself. Within a page, you can nest other Layout types including Field Grids, Lists, Calendar’s, Tree’s and much more. Within a Form, actual data is presented and captured in a Field.
Fields are like Form ElementsFields are similar to a form element or a control (in addition to filling a role in the data layer). They serve the primary purpose of presenting data to and capturing data from Users. However, they also incorporate user interface elements such as input masks and sub-controls like a calendar picker or color wheel.
-

Field Parts
Show Technical DetailsMany WorkXpress Field Types are composed of multiple Field Parts that make manipulating the data stored by those Fields a snap. Field - Address is the perfect example: imagine trying to work with an address that's been lumped up into one chunk of data in your application's database. Not fun. Field Parts allow you to work with each part of an address on its own: street address, city, state, and ZIP or postal codes all exist as separate parts of the Field - Address, and each part may be manipulated on its own using the WorkXpress Tools.
-

Form Elements
Show Technical DetailsEvery Field has one or more form elements that allow your users to enter or change your application's data in add and edit modes. Some form elements are simple: a Field - Short Text consists of a label and a single form element, a text entry box, that allows your users to enter up to 255 characters of text. Others are more complex: Field - Address form elements allow a user to enter an address in a sensible format that includes separate entry areas for street addresses, cities, states, and ZIP or postal codes that correspond directly with its Field Parts.
-

Filters
Show Technical DetailsIn order to use the Query Builder to get to a certain desired Item, it is often necessary to filter resulting Items based on chosen criteria.
There are many different available filters, which can be organized according to the type of object that is the basis of the filter.
Text-Type filters: These filters are available for text Fields as well as certain specialized text Fields (such as Email Address fields) and parts of multi-part Fields (such as the City part of an Address Field). The available filters are:
- Contains - This filter only displays Items where the Field or Field Part contains the specified/evaluated text.
- Does Not Contain - This filter only displays Items where the Field or Field Part does not contain the specified/evaluated text.
- Is - This filter only displays Items where the Field or Field Part is exactly the specified/evaluated text.
- Is Not - This filter only displays Items where the Field or Field Part is not exactly the specified/evaluated text.
- Is Empty - This filter only displays Items where the Field or Field Part is empty.
- Is Not Empty - This filter only displays Items where the Field or Field Part is not empty.
- Starts With - This filter only displays Items where the Field or Field Part starts with the specified/evaluated text.
- Ends With - This filter only displays Items where the Field or Field Part ends with the specified/evaluated text.
Number-Type Filters: These filters are available for number Fields as well as specialized number Fields (such as Currency Fields) and parts of some multi-part Fields (such as the Area Code part of the Phone Number Field). The available filters are:
- Is - This filter only displays Items where the Field or Field Part is exactly the specified/evaluated text.
- Is Not - This filter only displays Items where the Field or Field Part is not exactly the specified/evaluated text.
- Is Less Than - This filter only displays Items where the Field or Field Part is strictly less than the specified/evaluated number
- Is Greater Than - This filter only displays Items where the Field or Field Part is strictly greater than the specified/evaluated number.
- Is Between - This filter only displays Items where the Field or Field Part is greater than or equal to the first specified/evaluated number and less than or equal to the second specified/evaluated number.
- Is Not Between - This filter only displays Items where the Field or Field Part is strictly less than the first specified/evaluated number or strictly greater than the second specified/evaluated number.
- Is Empty - This filter only displays Items where the Field or Field part is empty.
- Is Not Empty - This filter only displays Items where the Field or Field Part is not empty.
Time-Type filters: These filters are available when filtering on a Date, Date and Time, or Time Field. They are:
- Is Before - This filter only displays Items where the time is strictly before the specified/evaluated time.
- Is After - This filter only displays Items where the time is strictly after the specified/evaluated time.
- Is Empty - This filter only displays Items where the time is empty.
- Is Not Empty - This filter only displays Items where the time is not empty.
- Is During - This filter only displays Items where the time is between the two specified/evaluated times (identical times pass as well).
- Is Not During - This filter only displays Items where the time is not between the two specified/evaluated times (identical times pass as well).
The "Is Before", "Is After", "Is During" and "Is Not During" filters have a second choice which determines what the times are evaluated against. These second choices are:
- Custom - You are given the option to specify date(s).
- Relative Date - Allows you to choose to evaluate against a time a certain amount of time before or after the current time.
- Now - Evaluates against the current time.
- Today - Evaluates against the current day.
- This Week - Evaluates against the current week.
- This Month - Evaluates against the current month.
- This Quarter - Evaluates against the current quarter.
- This Year - Evaluates against the current calendar year.
- Yesterday - Evaluates against the previous day.
- Last Week - Evaluates against the previous week.
- Last Month - Evaluates against the previous month.
- Last Quarter - Evaluates against the previous quarter.
- Last Year - Evaluates against the previous year.
- Tomorrow - Evaluates against the next day.
- Next Week - Evaluates against the next week.
- Next Month - Evaluates against the next month.
- Next Quarter - Evaluates against the next quarter.
- Next Year - Evaluates against the next year.
Item-type filters: These filters are available when an Item or multi-part Field is compared to another, such as when an Item Picker is filtered, when "Item" is chosen as a filter, or when a social security number is filtered. They are:
- Is - This filter only displays items that have the same WorkXpress Item ID as the specified/evaluated Item.
- Is Not - This filter only displays Items that don't have the same WorkXpress Item ID as the specified/evaluated Item.
- Is Empty - This filter only displays Items where the Field or Field Part is empty.
- Is Not Empty - This filter only displays Items where the Field or Field Part is empty.
Checkbox-type filters: These filters are only available for checkboxes. They are:
- Is Checked - This filter only displays Items where the checkbox is checked.
- Is Not Checked - This filter only displays Items where the checkbox is not checked.
-

Block Association
Show Technical DetailsBlock Association is the tie that binds all WorkXpress Blocks to each other and enables them to work together. There are permanent, global Block Associations and temporary, local ones. First, all Blocks are permanently associated with either an Item Type or Relationship--this defines an application's structure. Second, Layouts and Fields can permanently nest inside of Layouts to create your interface. Third, Actions can permanently nest inside of Actions to create logic. Finally, at any point in time, a Layout, Field, or Action will temporarily be "about" a particular Item in the database, to give context.
Introduction:
- Block Association makes WorkXpress unique and powerful as an application development tool. It's the glue that connects all WorkXpress Blocks to each other.
- Permanent Block Associations define the application's structure.
- Temporary Block Associations give the interface and logic "context", which helps the application to interact with the database at a point in time.
Permanent (Global) Block Associations
Item Type or Relationship Type AssociationThe most basic type of all Associations, this defines your application structure. At the topmost level, an application is a group of Item Types. These Item Types may have associated Relationship Types. Collectively, all other Blocks in WorkXpress then are associated ultimately with an Item Type. Therefore, an "application" is defined as a set of Item Types and all their associated Blocks.
When searching for Blocks in the build tools, you will tend to find them by first beginning your search on a particular Item Type or Relationship Type, and viewing their associated Blocks.
This choice of Association also effects data backup and restoration.
Blocks with permanent Item Type Association only: Relationships
Blocks with permanent Item Type or Relationship Type Association: Layouts, Fields, Actions
Layout AssociationTo build an interface you must nest Layouts and Fields inside of other Layouts. This nesting generates Layout Association.
Blocks with permanent Layout Association: Layouts, Fields
Action AssociationTo build a logic model (aka business rules, scripting, etc.) you must nest Actions inside of other Actions within a procedure.
Blocks with permanent Action Assocation: Actions
Global and Local Actions
Actions may be associated with an event and block globally, or they may be associated locally. A "Global Action" exists everywhere and every time the Action's parent Block undergoes that same event. A "Local Action", however, only exists when the Action's parent block undergoes this specific event, in this context. In this case though, context refers to the context of the triggering Block within the interface, not the Item context. This is a unique kind of context.
In other words, although a Field may trigger a local Action when it is saved from within one Layout, it will not trigger that same local Action when it is saved from within a different Layout. In both cases, however, its global save Actions will be triggered from either Layout.
For example, for a certain Field, Action A is global to its "Field Save" event for all pages and Action B is local to its "Field Save" event for a specific page. Later, that same Field is added to a new page. When that new page is saved, Action A will fire, but Action B will not exist at all on that page (in that unique context).
Item Association and Context
An Action is always associated with the building block for whom it is a "local" or "global" action (see below). Placing an Action in the Action Manager will result in that Action being associated with an Item Type based on where it is placed. Actions may be associated with Layouts, Fields, Items, or Relationships.
Similarly, an Action typically requires context to function properly. That context comes from the Block for whom this Action Manager Tool was opened and may not be the same Block for which this Action is a local or global Action. Context and Item Association for an Action may be different.
Further, some Actions can change the context. For example, when a list of Items is passed into an Action Manager from a "Mass Action" button in Layout Type - List, the context is each of the Items passed. However if they pass through a "foreach" control structure, the subsequent context passed to subordinate action is that of a single one of the Items in the list, changing each time the loop is repeated.
Temporary (Local) Block Association
Temporary Item Association (Context)At any given time, what is the page you are on "about"? If the page is about a company, then the context of that page is the specific company it is displaying (e.g. "Acme Company", where Acme Company is an "Item" in the database of "Type" Company). Any Fields or Actions need to be about that specific item and not some other item (i.e. about "Acme company and not some other company), so those Fields or Actions need to be provided with this context. For a much more detailed examination of this concept, which is critical to successfully building applications with WorkXpress, please see our lesson about Context.
If the page is about a specific Item of Type: User...for example the "current user"...then perhaps it is about you? When the page displays data, it needs to display that data about you. When Actions on the page shoot off an email notifying of a change to username, it needs to shoot that email to you, not to some other User. YOU are an Item in the database of Type User, and are also the context in this second example.
Context then is the specific Item (Not Item Type) in the database which the current Layout, Field or Action is displaying data about.
Blocks with temporary Item Association: Layouts, Fields, Actions
-

Modes
Show Technical DetailsWorkXpress Field and Layout Blocks have three modes: view, edit, and add. View mode allows your users to see your application's data but doesn't allow them to make changes. Generally, you'll want to use view mode to present data to your application's users wherever they won't need to change or add to that data. To allow your users to perform those tasks, they'll need to be able to use edit and add modes, respectively. WorkXpress allows you to securely manage users' priveleges to add and edit modes so only the right people have access to the right information.
Security and Modes refer generally to the ability for a particular user to access or change a particular set of data. The concepts are closely interrelated.
A Layout may operate in one or more of three possible modes;
- View - Fields within the Layout are not editable.
- Edit - Fields within the Layout are about an existing Item, may contain data, and the values in the Field are exposed to be changed by the user. Upon saving, any values changed by the user will be permanently stored on the Item, whereas the old values will be permanently deleted. (note: the builder can use a variety of tools make a copy of that value)
- Add - Fields within the Layout are not about an existing item, may contain data, and the values will be stored on a new Item created at the point the Layout is saved.
A Field's modes can be either dependent upon, or independent of, their parent Layout's mode.
Layout modes are determined by Security Settings, however in the absence of specific settings, the modes are inherited from any parent.
Field modes are inherited from the parent layout, but may be overridden by specific settings.
Layouts without any specific security settings are managed by their parents "behavior" (aka view, edit, add, save) controls. Fields without any specific security settings are also managed by the parents behavior controls. Checking for a parents behavior controls chains all the way up to the first parent that actually has its own behavior controls, and those control then control the behavior all children or chidren's children etc. who do not have their own behavior controls.
-

Output Formats
Show Technical DetailsWhen you use the Expression Builder to manipulate your application's data, you'll soon discover that some Field Types have more than one way to output that stored data so it's more easily understood by your users. For example, WorkXpress Date and Time Fields store the date and time as a string of numbers that isn't easily readable by a human. The Expression Builder allows you to display that data to your users in a variety of formats including "MM-DD-YYYY" or "month only".
Note: All expressions include the option to output a result as "plain text" or "html". This is not an output format characteristic of Fields.
-

Automations
Show Technical DetailsAutomations vary by Field Type. Please see the individual Field Type for details.
-

Configuration
Show Technical DetailsHow to Create
There are three ways to create a Field:
- Using the Block Creator Tool's Create tab to drag a Field Type onto a Layout
- Using the Block Creator Tool's Reuse tab to choose an Item Type or Relationship Type whose Field you want to reuse. Then, drag that Field onto a Layout. (note: you havn't actually created a new Field in this case, you've simply reused an existing Field. This Field could display the same or different data than elsewhere, entirely dependent upon its context).
- Using the Block Editor Tool for either an Item Type or Relationship Type. We will be adding a mechanism (2010) to add Fields to an Item Type or Relationship without having to place that Field into a Layout.
Note: Methods 1 and 2 above require the Field to be placed into a Layout. Method 3 will allow the creation of Fields that aren't nested in a Layout.
Wizard Questions
Wizard Questions vary by Field Type. Please see the individual Field Type for details.
How to Edit
All Field settings are accessed from the Block Editor Tool. There are two ways to access this Tool for a given Field;
- Navigate in context to the Field in the application, by finding its page and Layout. Click on the orange Fields Block next to the Field you wish to edit. Using this method, all Field settings will be "in context", meaning that the settings will contain values true and accurate to the point in the application you are currently at.
- In the Block Creator Tool's Reuse tab, choose the Item Type or Relationship Type with which your Field is associated, find the Field in the ensuing results list, and then click the edit wrench next to the Field. In this case, the Field may not be "in context", meaning that the settings may contain nonsensical values or, in some cases, no values at all.




