Learn WorkXpress
![]() ConceptsConcepts are the people, places, and things you want to track with your application. Items are the most basic of the 5 fundamental building blocks. They are simply sets of things that share common properties (Fields), grouped together. Items are created using the App Builder tool, or from within the Search Builder tool, and also with some wizards, for example the Field - Item Picker or Layout - List wizards.
| |
Describe your Business ConceptsIn WorkXpress, your business Concepts (the people, places and things you want to track) become red blocks known as Item Types. | |
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.
-

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
-

Configuration
Show Technical DetailsCreation
"Creating an Item Type" refers to the act of creating a category for grouping "Items". Users create Items during their normal course of usage.
How to Create
Method 1: Using the Block Creator
Choose "Add Item Type" from the Block Creator Tool. The "Add Item Type Wizard" will launch in a lightbox.Method 2: from within the Query Builder
Within the Query Builder you can launch the Add Item Type Wizard at any point where you are prompted for an Item Type node. For example, click on your starting point, and in the flyout choose "add block on a new level"; at the bottom of the flyout is an option to "add new Item Type". Similarly, when changing the starting point for your map to "all items of type", there is an "add new Item Type" option in that flyout. Both methods lead to the Add Item Type Wizard.Wizard Questions
The Add Item Type Wizard asks three simple questions:
- What is the name (singular) of your Item Type?
- What is the name (plural) of your Item Type?
- What icon do you want to use?
For the first question, it is important to use the singular, not the plural version of your Item Type. For example, use "Contact", not "Contacts". The next question will ask you to add the plural name for your Item Type. You can change these names at any time.
For the third question, you will be presented with a list of only 32x32 icons. Choosing one will instruct the automation which icon style to use as it automates the creation of a variety of Building Blocks. It will use 16x16, 32x32 or other icons as it needs to, all from within the image set identified by you when you chose the 32x32 icon version.
How to Edit
To edit the settings of an Item Type, you must use the Block Editor Tool. You can launch the Block Editor tool by finding the Item Type in the Reuse tab of the Block Creator Tool and clicking on the edit wrench next to the Item Type you wish to edit.
-

Automation
Show Technical DetailsAutomations
Creating a new Item Type via the Add Item Type Wizard invokes a number of automations. All automations are simply various Blocks created for you, automatically, because the chances are very high (>95%) that you will want them. As always, you can alter any Blocks that were created for you automatically. The list of Blocks automatically created include;
- Search Link - automation will create "search <Item Types>" link that launches the corresponding page.
- Search Page - automation will create "search <Item Types>" Page. The only column will be "View <Item Type>", the View Link below. There will be an "Add <Item Type>" Link in the header, see below.
- View Link - automation will create "view <Item Type>" Link. This Link will launch the "View Page".
- View Page - automation will create "<Item Type> Info" Page. It will have a single Layout, the "<Item Type> Info" Layout, a Field Grid. There will be a single Field in that Layout, the "<Item Type> Name" Field. This field will be set automatically as the "Title Field" for this Item Type.
- Edit Link - automation will create the "edit <Item Type" Link. This link will launch the default Edit Page. In the automated version, it will launch the View Page but open it in Edit Mode.
- Edit Page - this page is the same as the View Page above but in Edit Mode.
- Add Link - automation will create the "add <Item Type>" Link. This link will launch the default Add Page. In the automated version, it will launch the View Page in Add Mode.
- Add Page - this page is the same as the View Page above in Add Mode.
- Item Picker Search Page - All Item pickers receive a default search page when they are created, pulled from this setting.
- Application Header, Search Area - automation will add the Default Search Link for this Item Type to the list of searchable Item Types in the Application Header of inline pages.
- Application Header, Add Button -
automation will add the "Add <Item Type>" link to the flyout menu
associated with the Add Button in the Application Header of inline
pages.
**Important note: changing these settings will only affect future automation, it will not undo or alter past automation. This means that previously automated Building Blocks will need to be manually changed if that is the desired effect.




