- Introduction to WorkXpress
- Building Your Application
- Examples and Best Practices
- Technical Manual
WorkXpress is based on a very simple concept; that you know your business better than anyone.
But in order to actually build software, you will have to learn to think of your business as combinations of five fundamental types of building blocks. As you answer these 5 questions, and as you recognize that each one corresponds to a building block type, you are successfully beginning to think technically!
For example: In Bob's business, he tracks contacts, accounts and products. Bob would create three tables; Contacts, Accounts and Products. A specific Contact, “Jane Doe”, would be a Record in the Contacts Table.
Definition: “Records” are specific people, places, and things you are tracking in your application. Records of the same type are grouped together into “Tables”. Tables are the red building block.
Steps: First Create a Table, then create specific records within that Table.
More Table Examples:
For example: Bob wants to track details about his Contacts like their name, address and description. So, Bob creates three fields in his Contacts Table; a short-text field called “Name”, an address field called “Address”, and a long-text field called “Description”.
Definition: Fields store data that describe Records. Fields are the orange blocks.
Steps: Create Fields within a Table to store and display details about a Record.
More Field Examples:
In the example below, Bob wants to create a Table called “Contacts” to track specific Contact Records. To describe those Records, he also creates Fields within the Table.
For example: Bob knows that certain accounts are actually “employers” of certain contacts. The connection is an “employer to employee” connection. Bob wants his software to indicate which Contacts are employed by which Accounts. Therefore, Bob creates a Relationship Table from his Accounts Table to his Contacts Table called “employer to employee”.
Definition: A Relationship Table is a group of similar Relationships (Similar to how a Table is actually a group of similar Records). Relationships connect two different Records. Relationship tables are the green block.
Steps: Create a relationship table between two or more tables. Then, you can create specific relationships.
More relationship table examples:
Bob realizes that his application needs to show which Accounts employ which Contacts. He knows he needs to create a relationship table called “employer to employee” between the Account and Contact table. He knows that specific Relationships will later connect specific records.
For example: Bob wants to show a page about an Account. On that page, he wants (1) general information about the account, and (2) a list of employees of that account. Bob creates a page, puts a Field Grid Form at the top to show general account information, and then puts a List Form underneath to show the list of employees.
Definition: Screens organize how your application presents information (i.e. how it presents Fields). Screens become blue Form blocks.
Steps: On a Page, add a Form Block. Within the Form, add Fields.
More Form Examples Include:
For example: Bob knows that whenever an account record is updated, he wants to send an email to that accounts sales person notifying them of a change. Bob creates an “Email Action” and sets it to fire whenever the account record is updated.
Definition: Actions are things the computer will do for you automatically. Actions are told when to act by “triggers”. Actions are the yellow block.
Steps: Go to any page, find a trigger, and attach Actions to that trigger.
More Action Examples Include:
In order to build software, you will have to think technically. Thinking technically is about transforming knowledge of your business into five blocks; tables (and their records), relationship table(and their relationships), fields, forms and actions (fired by triggers). If you can do that, you can build sophisticated applications using WorkXpress.
Question 1: If Bob wants to track properties, maintenance companies and work orders, what blocks would he use?
Question 2: In order to track the name, address, phone number and a description of each maintenance company, what blocks would he use?
Question 3: Bob wants to connect work orders with properties. What block would he use to do this?
Question 4: Bob wants to create an interface that includes name, address and phone number of the property he is viewing, but also shows a list of work orders associated with that property. What blocks would Bob use to show general information about the property, and to show a list of related work orders?
Question 5: Everytime a work order is added to a property, Bob wants the system to email him notifying him of this new work order. What building block would Bob use to send an email?
(Answers: 1. Tables, 2. Fields, 3. Relationship tables, 4. Forms, 5. Actions)