nuBuilderForte UserGuide PDF
nuBuilderForte UserGuide PDF
User Guide
Prepared by:
nuSoftware
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
1
nuBuilderForte User Guide
Overview 5
Requirements 5
How to approach this user guide 5
nuBuilder site 5
Introduction to nuBuilder 6
What is nuBuilder 6
Purpose of nuBuilder 6
Globeadmin 6
Dual login 7
Two screen pattern 8
Advantages of the two screen model 9
Key Terms 10
Relational databases 13
What is a relational database 13
Tables 13
Unique values 14
Primary keys 14
Foreign keys 15
One to many relationships 15
Introduction to SQL 18
What is SQL 18
Running a query 19
phpMyAdmin 19
Steps to run an SQL query 20
The SQL SELECT Statement 21
2
nuBuilderForte User Guide
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
3
nuBuilderForte User Guide
Form permissions 88
Report permissions 89
Creating Users 89
Testing Access Levels 90
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
4
nuBuilderForte User Guide
Overview
Requirements
Basic knowledge concerning spreadsheets is enough knowledge to commence following this user guide.
Having an understanding of spreadsheets will help to grasp the concept of information which is stored in
rows and columns.
We have attempted to structure this user guide by presenting each new concept in a logical sequence.
Each concept builds upon the previous. However, with such a range of information being covered, some
topics might seem at first to be disconnected. What you will need to do is to hold various ideas together as
you progress through each stage of this user guide and then hopefully all of the various concepts will
become clearer.
Throughout this user guide, additional information will be highlighted by Mike - the nuBuilder
robot.
When any component or key term of nuBuilder is mentioned, like Screen or Button; it will be highlighted as
bold.
nuBuilder site
Before you commence following the steps outlined in this user guide you will need to have access to a
nuBuilderForte site.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
5
nuBuilderForte User Guide
Introduction to nuBuilder
In this section we will learn about the following:
● What is nuBuilder
● Purpose of nuBuilder
● Globeadmin
● Dual login
● Two screen pattern
● Key Terms
What is nuBuilder
nuBuilder is simply a software package which provides two main functions:
uild a custom database application.
1) It is a tool for Developers to b
2) It is the framework for End Users to log into and use their custom built application.
Purpose of nuBuilder
nuBuilder is only used for making database applications. In other words you cannot use nuBuilder to build a
computer game or a web site or any other type of application other than a database application.
Globeadmin
All development in nuBuilder is done with the default user name which is globeadmin.
The globeadmin user is a special user built into the nuBuilder system. This user does not reside in the
database where all other usernames and passwords are stored. When a nuBuilder site is installed and
setup on a server, the globeadmin password is placed in a configuration file.
The only way to develop in nuBuilder is with the globeadmin login, also known as Developer login.
The globeadmin default username can changed in the installation configuration file.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
6
nuBuilderForte User Guide
Dual login
Both End Users and Developers login nuBuilder. There is not a separate tool for Developers and another
for End Users, both share that same interface.
Developer login
igure 1 shows the default
The globeadmin login provides access to everything within nuBuilder. → F
globeadmin Home Page.
User login
When an End User logs into a nuBuilder site, they only have permissions to the Screens and Reports
igure 2 shows an example of an end user Home Page.
which have been granted to them. → F
Figure 1.
Figure 2.
End Users permissions are defined in groups called Access Level → (We will cover this in
more detail later, see steps to setup an Access Level)
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
7
nuBuilderForte User Guide
Everything in nuBuilder can be broken down into the following two basic actions:
1. Searching for information
2. Adding or editing information
Example 1. Let’s say that you need to find the address for a customer in your organisation; you would
normally follow these two steps: → Figure 3.
1. On your Screen you would have a Button called ‘Customers’. Clicking on that Button will load
earch Screen
Screen 1 → S
2. Once you have found the customer, you would then click on that row in the Search Screen which
dit Screen
then loads up Screen 2 → E
Figure 3.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
8
nuBuilderForte User Guide
Example 2. Let’s say that the customer which you are looking for does not exist in your database and
therefore you want to add that customer to you database. You would normally follow these two steps:
→ Figure 4.
1. On your Screen you would have a Button called ‘Contacts’. Clicking on that Button will load
earch Screen
Screen 1 → S
2. Once you have determined that the customer which you are looking for does not exist in your
dit Screen
database, you would then click on the Add Button. This will load Screen 2 → E
The Add Button, takes you to the same Screen which is used for editing a record. The only difference is
that it is a blank record.
Figure 4.
You could be searching for Invoices, Jobs, Quotes, Customers, Contacts, Bookings or anything else that
has been developed in your nuBuilder site; everything in nuBuilder will follow the pattern of a Button on the
End User’s HomePage which then loads a Search Screen, which then loads an Edit Screen.
1. Once you have trained an End User to search and edit information, you have effectively trained that
End User to use your whole application
2. Designing an application becomes easier because all you need to do is to break down the design of
your application into a list of Screens that you will need to build
3. You do not need to spend anytime in designing a menu system or a hierarchy of navigation buttons
for your new application
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
9
nuBuilderForte User Guide
Key Terms
The following is a list of key terms used in the nuBuilder system.
End Users The people who will login and use your nuBuilder application
Home Page The first page loaded when logging into nuBuilder
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
10
nuBuilderForte User Guide
Please familiarize yourself with some of the nuBuilder Screen components shown in → Figure 5a & 5b.
Figure 5a.
The Screen that a user will first see when they initially login to a nuBuilder site is called the
Home Page. The Home Page is simply an Edit Screen without any Actions Buttons.
The Screen used to run Reports or Procedures is called a Criteria Screen which is simply
an Edit Screen with different Actions Buttons.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
11
nuBuilderForte User Guide
Figure 5b.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
12
nuBuilderForte User Guide
Relational databases
In this section we will learn about the following:
Tables
In order to learn about tables, it is helpful to start with looking at information that is stored in a spreadsheet.
Imagine you have a simple spreadsheet in your business which you use to store information regarding all of
the organizations that you work with. Let’s start with some basic information like the business name, the
phone number, suburb and postcode. → Figure 6.
Figure 6.
A database table is similar to a spreadsheet because they both contain columns and rows.
Picture a relational database as a container which holds all of your spreadsheets. Instead of using the word
‘spreadsheet’, use the term ‘table’. → Figure 7.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
13
nuBuilderForte User Guide
Figure 7.
Unique values
The next thing we need to consider is what do we do if there are two businesses with the same name like
'Bob's Plumbing'? What would be an easy way to tell them apart from each other?
What we need to do is to add another column called 'customer number' and give each row in the
spreadsheet a unique number. As you can see in Figure 8, we now can tell them apart.
Figure 8.
Primary keys
Tables can have a column designated as the ‘primary key’. The database server will use the primary key to
create an index which enables the database engine to quickly find information.
1. It is recommend that each table have a column set as the primary key
2. Primary keys must be unique
3. Primary keys cannot contain a blank value
Once a table has been configured in a nuBuilder application, the nuBuilder system will take care inserting a
unique value in each primary key whenever a new record is created.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
14
nuBuilderForte User Guide
The type of primary keys that nuBuilder creates are 25 characters long and contain both letters and
numbers.
A typical primary key might look like the following: 14e49d3d0ef3a7 This is not the type of value that a
human would type or use in a search because it is too complex to easily recognise.
Primary keys are not normally displayed on a End User’s Screen, they are columns which only a
Developer would use when writing code.
A primary key is similar to our example of Unique Customer Numbers. We could configure
the table to use the ‘Customer Number’ field as the Primary Key. Although this will work,
there are times when some business want to change their numbering system, therefore it is
best to create a special field in a table that will never get edited or changed.
Foreign keys
A foreign key is a field in a table which contains a copy of another tables’ primary key, this provides a way
for tables to be linked together in a relationship.
Figure 9.
Just like primary keys, foreign keys are not normally displayed on an End user’s Screen and are only used
by Developers when writing code.
The type of foreign keys used in nuBuilder are the same as primary keys and also typically look like the
following combination of numbers and letters: 14e49d3d0ef3a7
Looking at Figure 9; there could be many rows in Table 2 that relate back to Table 1. For this reason the
value of a foreign key does not need to be unique within Table 2 but must be unique within Table 1.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
15
nuBuilderForte User Guide
Figure 10.
So now we have two spreadsheets, one to store information concerning each business and another to store
information concerning individual contacts within each of these business.
It is typical to expect that a business would have several people working in their organisation. So each
business in our first spreadsheet would end up having one or more contacts in our second spreadsheet.
The term used to describe the concept of many contacts relating to a single business is a ‘One to Many
Relationship’.
igure 11a, we can see a single row in Table 1 which shows the information of a single customer
In → F
record. It has a primary key value of ‘58a11df94545f2b‘.
We can also see many rows in Table 2 which all relate to the single record in the customer table. This is
achieved by having the same primary key value from Table 1 of ‘58a11df94545f2b‘ stored in the
foreign key column on Table 2.
Figure 11a.
igure 11b, we can see another typical example of a One to Many Relationship. This screen shows
In → F
an Invoice. The fields on the screen which have a green border are all stored in a table called
’invoice’. The fields on the screen which have a blue border are all stored in a table called
‘invoice_item’.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
16
nuBuilderForte User Guide
We often refer to the row in the database which stores the invoice as the ‘Parent Record’ and the rows that
store each item on the invoice as the ‘Child Record(s)’.
Figure 11b.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
17
nuBuilderForte User Guide
Introduction to SQL
In this section we will learn about the following:
● What is SQL
● Running a query
● phpMyAdmin
● Steps to run an SQL query
● The SQL SELECT Statement
What is SQL
SQL stands for Structured Query Language.
SQL is a programming language which allows programmers to perform various actions within a relational
database.
As you can see, these actions can be abbreviated as C.R.U.D which is an easy way to remember the core
functions of any database application. Create / Read / Update / Delete
The SQL language has over 800 reserved words which are used as commands in the SQL language. Most
of the time you will only need to concern yourself with the short list of common SQL commands shown
above. Furthermore, the nuBuilder system takes care of a large amount of SQL for you, therefore at this
stage of this user guide you only need to learn about the following three SQL words:
SELECT
FROM
WHERE
If you would like to read ahead of this user guide and teach yourself more about SQL you
can follow this link: https://www.w3schools.com/sql/
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
18
nuBuilderForte User Guide
Running a query
To use SQL you need to construct an SQL statement which is then interpreted and executed by the SQL
server. This is known as ‘running a query’. To do this we will use an application called ‘phpMyAdmin’.
phpMyAdmin
phpMyAdmin is a separate application to nuBuilder, however it is bundled with each copy of nuBuilder.
You can directly access phpMyAdmin within nuBuilder whilst logged in as ‘globeadmin’. → Figure 12.
Figure 12.
As a nuBuilder developer you will be frequently using phpMyAdmin for the following tasks:
1. Creating tables
2. Testing queries
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
19
nuBuilderForte User Guide
2. Click on the ‘Database’ Button in the Builders tab to load up phpMyAdmin
3. Your nuBuilder site has already been setup with a few tables with some dummy data so that you can
quickly get started with learning SQL. Select the course_organization table by clicking on the link in the left
igure 13.
panel which is labeled ‘course_organization’ → F
Figure 13.
igure 14.
Click on the tab labeled SQL → F
Figure 14.
You will see a textarea where you can type in SQL commands. There will already be an initial SQL
igure 15.
command on the screen which you can use → F
Figure 15.
You can now click on the Go button to run the above SQL statement.
igure 16.
Congratulations, you have just run the following SQL command → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
20
nuBuilderForte User Guide
Figure 16.
We will now break down and explain the above SQL statement.
Figure 17.
Figure 18.
SELECT
The SELECT c ommand is used to retrieve information out of one or more tables within a database.
The asterisk symbol * tells the SQL server to retrieve all columns from all of tables in the SQL statement.
nd replace it with a comma separated list of actual
Alternatively you could remove the asterisk symbol * a
igure 19
column names as shown in → F
Figure 19.
FROM
The FROM command informs the SQL server what table(s) to retrieve information from. In the example in
Figure 16, there is only a single table included → course_organization A
lternatively you can
igure 20
provide a comma separated list of table names as shown in → F
Figure 20.
WHERE
The WHERE command is used to filter the results of an SQL query.
In the example shown in Figure 16, the WHERE 1 statement is a default filter that the phpMyAdmin
ight seem a bit confusing as it really has no effect on the end
application uses. The use of the number 1 m
result. Most of the time we would execute this same type of SQL command without using a WHERE
igure 21.
command → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
21
nuBuilderForte User Guide
Figure 21.
When you know the specific value of a primary key in a table, you can use that value to retrieve a single
row. We can be certain that we will always get a single row from our SQL statement because we know that
igure 22.
primary keys are always unique. → F
Figure 22.
Our final example of a SELECT statement demonstrates how we can retrieve rows in table that match a
igure 23.
specific value. → F
Figure 23.
The number 1 in programming languages is often used to mean true and the number 0 is
often used to mean false.
You may have noticed several tables in phpMyAdmin which have a prefix of ‘zzzzsys_’
These are tables used by nuBuilder, it is best to leave these tables alone.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
22
nuBuilderForte User Guide
Figure 24.
Our plan is to build a basic CRM system. CRM stands for Customer Relationship Manager. This CRM is
based on the two spreadsheets we have been using. We will build a Screen to store information
concerning each ‘Customer’ and another Screen to store information concerning each ‘Contact’.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
23
nuBuilderForte User Guide
Database Schemas
A good indication that we have designed our application with enough planning is when we have completed
a database diagram.
igure 25a.
The name for a database design is called a ‘Database Schema’. → F
Figure 25a.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
24
nuBuilderForte User Guide
Naming Conventions
To complete this database Database Schema we could add the primary key and foreign key names and
then choose complete field names for each field.
To do this we will introduce the naming conventions that we typically use when designing tables.
Creating Tables
We have already created the tables you need and populated them with test data so that you can get started
straight away. You can log into phpMyAdmin to take a closer look at these tables.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
25
nuBuilderForte User Guide
For your reference we have provided the SQL statements used to create the
‘course_organization’ and ‘course_contact’ tables. → Figure 26a and 26b.
Figure 26a.
Figure 26b.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
26
nuBuilderForte User Guide
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
27
nuBuilderForte User Guide
As you can see on Figure 28, there are three Tabs on on the Form screen; ‘Main’, ‘Browse’ and ‘Custom
Code’. At this stage we only need to look at the first two Tabs; ‘Main’ and ‘Browse’.
Figure 28.
igure 29.
4. On the Main tab, fill in the following items → F
Figure 29.
Form Type Browse and Edit The form type is to give access to what
the end user can do to the form
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
28
nuBuilderForte User Guide
igure 30.
5. On the Browse Tab, fill in the following items on each row → F
Figure 30.
6. Click Save
You have now completed all of the initial steps to create a Form in nuBuilder. A Form provides the
information for nuBuilder to link a table in your database to both a Search Screen and an Edit Screen.
The information that you entered under Browse Tab on the previous step; will determine the
igure 31.
columns names and widths in the Search Screen → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
29
nuBuilderForte User Guide
Figure 31.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
30
nuBuilderForte User Guide
Now that we have a Form, we need a way to get to that Form. We will now place a Button on the default
Home Page. As per the Two Screen pattern mentioned earlier, this Button will load a Search Screen
which can then be used to load an Edit Screen.
The default Home Page that is used by End Users is built under the green ‘User Home’
button.
As you can see on Figure 33, there are eleven Tabs on on the Objects Screen.
At this stage we only need to look at the following two Tabs; ‘All’ and ‘Run’.
Figure 33.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
31
nuBuilderForte User Guide
igure 34.
4. On the All Tab, fill in the following items → F
Figure 34.
Form Tab Main All Objects need to be linked to a Form. This tells
nuBuilder where to display this Object. We are going to
display this Object on the default Home Page screen.
Main is the title of the Tab that this Object will be
grouped under
Type Run Select the type of Object to create. In this case it is Run
to run the form we want to display
Label Organization In the case of a button Object, the title will be displayed
on the Button
Left 10 Spacing of the Object f rom the left side of the screen
Width 120 120 is a typical starting value for width, you can adjust
this according to your needs for each Object
Align Center Objects which are displayed as buttons look best if they
have their alignment set in the center
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
32
nuBuilderForte User Guide
igure 35.
5. On the Run Tab, fill in the following item → F
Figure 35.
6. Click Save
You have now completed all of the steps to create a Button to launch a Form.
To see this in action, click on the green ‘User Home’ button.
igure 36.
You should see a screen as below → F
Figure 36.
When you click on the button labeled ‘Organizations’ you will see the Search Page that we configured
igure 37.
earlier in the Forms section. → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
33
nuBuilderForte User Guide
Figure 37.
Now click on any of one of the records listed in the Search Screen, you should see the following Edit
igure 38.
Screen. → F
Figure 38.
The Edit Screen is blank because we have not created any Objects to go on it yet, we will do that in the
next step.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
34
nuBuilderForte User Guide
We are now going the take the Form which is shown in Figure 38 and make it complete by adding Objects
igure 39.
to it. When it is complete, it will then look like the following Screen → F
Figure 39.
Before we delve into building the above Screen we need to first take a look at how Tabs are created and
how to control the placement of Objects on a Screen.
Creating Tabs
Tabs are automatically created by nuBuilder when you build Objects.
If you recall on the Objects Screen earlier, when we created our first Object, which was a Button to
launch a Form, nuBuilder is provided a default Form Tab of ‘Main’ and a Tab Number of ‘10’. This was
igure 40.
all of the information needed for nuBuilder to automatically create the Tab as seen in → F
Figure 40.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
35
nuBuilderForte User Guide
On Figure 41 we can see that we are going to be building two Tabs. Details and Notes.
Figure 41.
Figure 42.
To create the two Tabs, we will enter the label ‘Details’ for the Tab Title and the number ‘10’ for the
Tab Order Number. We will then enter the label ‘Notes’ for the Tab Title and the number ‘20’ for the
igure 43.
Tab Order Number → F
Figure 43.
This will become clear when we go through the process of creating each of these Objects.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
36
nuBuilderForte User Guide
We can also control the order that each Object displayed in each column. The ‘ABN’ field is displayed last
on the left column because it has the highest Top alignment of ‘170’.
Figure 44.
Another way we can control the object placement is to manually drag the Objects onto the preferred
location on the Form.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
37
nuBuilderForte User Guide
Figure 45.
5. Click on the Options button (on the top right of the Edit Screen) → Arrange Objects
6. Click and drag the Objects to arrange them on the Edit Screen → Figure 46
Figure 46.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
38
nuBuilderForte User Guide
8. Click on the Options button again → Refresh or click on Save to see the new arrangement of the
Objects on the form
Figure 47.
Label Name In the case of a text Object, the label (title) will
be displayed next to the Input box
Left 90 Spacing of the Tab f rom the left side of the Edit
Screen. You can adjust this according to your
needs for each Object
Width 170 170 is a typical starting value for width, you can
adjust this according to your needs for each
Object
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
39
nuBuilderForte User Guide
Align Left The alignment of the text Input is left by default.
5. Click Save
You have now completed all of the steps to create a Text Input to store information.
Whenever you enter IDs, Table Names and Primary Keys; make sure your haven’t
accidently placed a hidden space as the last character of the input.
Choosing IDs
IDs must be unique for each Form they are connected to. An ID must not contain spaces.
In order to have information on the screen saved to the database, you must use an ID that matches an
actual column in the table which is connected to the Form.
When we created a Button Object previously, we used the following ID: ‘org_btn‘. There isn’t a field in
the corresponding table that matches that value, and there does not need to be a matching field because
Buttons are not used for storing information. Whenever you need to create Objects that do not write to the
table connected to the Form, you can choose any unique ID you want to use.
However when we created the Text Input Object, we used the following ID: ‘org_name’. If you refer
back to the SQL used to create the organization table, you will see that this matches a column in that table.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
40
nuBuilderForte User Guide
The following Objects need to have IDs which match actual columns in the table connected
to the Form
Basic Input Listing
Input Select
Textarea Lookup
The following Objects do not need to have IDs which match actual columns in the table
connected to the Form
Actions One to Many Cosmetic/ Mashing
Relation Calculated
Display
Repeat the previous five steps to continue creating the following Text Input Objects, using the information
provided below.
Label Type Form Type ID Top Left Width Height Align Access
igure 48.
After completing these steps, your Edit Screen should look like the following. → F
We still need to add a Dropdown Object, an Autonumber Object and a Textarea Object.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
41
nuBuilderForte User Guide
Figure 48.
→ →
3. On the Edit Screen that appears, you can click on the Options button on the top right of the Form
and click ‘Form Object List’ this will shows all of the Objects connected the Form shows all of the Objects
igure 49.
connected the Form we have created earlier . → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
42
nuBuilderForte User Guide
Figure 49
Figure 50.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
43
nuBuilderForte User Guide
igure 51.
5. On the Select Tab, fill in the following → F
Figure 51.
SQL NSW|NSW|VIC|VIC|QLD|QLD|WA|WA|SA|SA|TAS|TAS|ACT|ACT|NT|N
T
6. Click Save
You have now completed all of the steps to create a Dropdown Object.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
44
nuBuilderForte User Guide
Figure 52.
5. Click Save
You have now completed all of the steps to create a Textarea Object.
The final Object that we will create to complete our Edit Screen will be an Autonumber Object.
Autonumber Objects are actually just Text Input Objects with a few extra settings added.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
45
nuBuilderForte User Guide
Figure 53.
You have now completed all of the steps to create an Autonumber Object.
To see this in action, click on the green ‘User Home’ button, then click on ‘Organizations’ and then ‘Add
Record’.
→ →
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
46
nuBuilderForte User Guide
As you can see in Figure 54, once you have entered a new record and saved it, a new number will be
generated.
Figure 54.
As an example, we will now edit the ‘Postcode’ field that we created earlier. The Postcode field is designed
to contain numbers, therefore it is best to have the alignment set to the right and set the input formatter to
mask all other characters other than numbers. To do this we can follow the following steps:
Click on the green ‘User Home’ Button, then click on ‘Organizations’ and then ‘Add’.
→ →
After you double click the title of an Object, a
new web browser tab will open, taking you directly to the
igure 55.
Objects Screen. → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
47
nuBuilderForte User Guide
Figure 55.
igure 56.
Now you can change the Align value. → F
Figure 56.
Next, switch the to Input Tab and set the Input Type to ‘nuNumber’ Format to ‘1000’ and then click
igure 57.
Save. → F
Figure 57.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
48
nuBuilderForte User Guide
→
On the Search Screen you can click on the Options igure
button on the top right of the Form. → F
58.
Figure 58.
Figure 59.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
49
nuBuilderForte User Guide
Fast Form
To continue building our CRM application we now need to build a Screen to store information concerning
each ‘Contact’.
igure 60.
When it is complete, it will then look like the following Screen → F
Figure 60.
We could go through all of the previous steps to build a new Form using the contacts table, however there
is a faster way.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
50
nuBuilderForte User Guide
Figure 61.
Repeat steps 3 to 5 to create the following Text Input Objects, using the information provided below.
Email con_email
Mobile con_mobile
Note: we left off the field ‘con_organization_id’ so that I can show in you in detail, all of the
steps needed to make a Lookup Object.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
51
nuBuilderForte User Guide
To see this new Form in action click on the green ‘User Home’ Button.
All Buttons created by the Fast Form are placed on the default Home Page under a Tab called ‘Fast
Form’. We will need to manually change the name of the Tab to ‘Main’ We will also need to manually
change the properties of this Button Object such as the Button Label from ‘course_contact’ to
‘Contacts’ and the ID to ‘contact_btn’
To do this, on the User Home screen, click on Options → Form Object List
igure 62.
to load a Search Screen which shows all of the Objects connected the Form → F
Figure 62.
igure 63.
Click on the row which shows our new Button Object that we want to edit. → F
Figure 63.
ID ff5ac6f602d4d7680 → contact_btn
Top 150 → 50
Left 150 → 10
Note that instead of typing in the position of the Object Button in Top and Left, we can also manually
move the button by dragging it to the position we want it to be on the form as mentioned previously.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
52
nuBuilderForte User Guide
Notice in Figure 64 that when you click on the Contacts Button we just created, the Breadcrumb is
automatically named ‘Fast Form()’. → Figure 64
Figure 64.
We will go to the form properties to change the name of the Breadcrumb from ‘Fast Form()’ to
‘Contacts’ . → Figure 65
Figure 65.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
53
nuBuilderForte User Guide
Figure 66.
You have now completed all of the steps to create a Search Screen and an Edit Screen for the contact
table.
To see this in action, click on the green ‘User Home’ Button, then click on ‘Contacts’.
→
Reminder: The Description field on the Form Screen is used in the display of the
navigation Breadcrumbs and Lookups
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
54
nuBuilderForte User Guide
Lookup Objects
In the ‘course_contact’ table, we have a foreign key called ‘con_organization_id’.
In this example the ‘course_organization’ table can be referred to as the Parent Table and the
‘course_contact’ table is the Child Table.
Figure 67.
Lookup Objects provide a way for End Users to select an ‘Organization’, and thereby linking an
‘Organization’ to a ‘Contact’.
Note: The value of foreign keys are not displayed to End Users, End Users only need to see the Code and
igure 68.
Description components of a Lookup. → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
55
nuBuilderForte User Guide
Figure 68.
Figure 69.
Form Tab Main - Contact All Objects need to be linked to a Form Tab
and Form. This tells nuBuilder where to
display this Object.
Top 130 Spacing of the Tab f rom the top of the Edit
Screen. You can adjust this according to
your needs for each Object
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
56
nuBuilderForte User Guide
igure 70.
5. On the Lookup Tab, fill in the following items → F
Figure 70.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
57
nuBuilderForte User Guide
E.g.
$val = nuLookupRecord()->other_db_field;
nuSetFormValue(‘form_field’, $val);
6. Click Save
You have now completed all of the steps to create a Lookup Object.
Subform
In order to make this application a little more useful, we are now going to put a Subform on the
‘Organization’ Screen which shows all of the ‘Contacts’ that are linked to the ‘Organization’.
igure 71.
When it is complete, it will then look like the following screen → F
Figure 71.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
58
nuBuilderForte User Guide
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
59
nuBuilderForte User Guide
Figure 72.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
60
nuBuilderForte User Guide
igure 73
5. On the Subform Tab, fill in the following items → F
Figure 73.
6. Click Save.
These are all of the steps needed to create a Subform.
Click on the green ‘User Home’ Button, then click on ‘Organizations’ and then click on any record to view
the Screen.
→
igure 71, to see
You have now completed all of the steps to finish your Subform Object. Refer back to → F
how your ‘Organization’ Screen should look.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
61
nuBuilderForte User Guide
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
62
nuBuilderForte User Guide
Figure 74.
A Run Report Button located on the default Home Page in the Setup tab provides a way for End Users
igure 75.
to gain access to Reports. → F
Figure 75.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
63
nuBuilderForte User Guide
Figure 76.
igure 77.
5. On the Run Tab, fill in the following items → F
Figure 77.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
64
nuBuilderForte User Guide
6. Click Save
You have now completed all of the steps to create a Reports Button.
Reports follow the Two Screen pattern. When an End User clicks on the Report Button they will see a
igure 78. showing all Reports which have been granted to their Access Level.
Search Screen → F
Figure 78.
Following on in the Two Screen pattern, when an End User clicks on a Report that they have found on the
igure 79.
Search Screen, a Criteria Screen is loaded. → F
Figure 79.
Reminder: Criteria Screens are just Edit Screens with different Action Buttons
Using a Search Screen for Reports is very useful because over time, applications tend to
have more and more Reports built requiring the ability to search for the Report you need.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
65
nuBuilderForte User Guide
igure 80.
Developing Reports within nuBuilder involves the following steps. → F
Figure 80.
QL
S
We then design an SQL statement to build a temporary table which will contain all of the information
that we want to be displayed in our Report.
Layout
We then design the layout of the Report using a special application built into nuBuilder which we
call the Report Designer.
1. Follow the steps that you have learnt previously in order to create a new Form using the information
provided. In the Main Tab, fill in the following information below:
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
66
nuBuilderForte User Guide
Form Type Browse and Edit The form type is to give access to what
the end user can do to the form
In the Browse Tab, the following information will have already been automatically filled
You do not need to fill out any other fields on the Form Screen.
2. Click Save
1. Navigate to the Objects Search Screen and search for a Select Object that we created earlier for the
igure 81.
‘Organization’ Screen. → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
67
nuBuilderForte User Guide
Figure 81.
2. Click on the Select Object to load up the Object Edit Screen
igure 82.
3. Click on the Clone Button → F
Figure 82.
igure 83.
6. Change the Form Tab field from ‘Details’ to ‘Main’ → F
Figure 83.
Clicking on the Clone Button allows you to copy a record to be used elsewhere.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
68
nuBuilderForte User Guide
igure 84.
1. Click on the SQL Button in the Builders Tab → F
Figure 84.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
69
nuBuilderForte User Guide
Figure 85a.
Description Customer Report SQL The name of this SQL which will
be used when we build the
Report.
5. Click Save
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
70
nuBuilderForte User Guide
Values enclosed with hash symbol ‘#’ are known as Hash Variables. #org_state#is
a Hash Variable that is created by nuBuilder when an End User selects an item from the
Dropdown on the Criteria Form that we created previously.
The following SQL statement used in this Report is an example of a NESTED SELECT statement.
To help understand this SQL statement it might be helpful to remove the items which have been highlighted
as bold.
We then end up with the following SQL statement which is a simple SELECT statement that you might be
familiar with by now.
The remaining items in bold is simply an additional SELECT statement NESTED in brackets ‘( )’
followed by the words ‘AS totals’.
The word ‘AS’ followed by a value will place the results in a Generated Column which we have decided to
call ‘totals’.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
71
nuBuilderForte User Guide
The following demonstrates the Report SQL statement without using the NESTED SELECT and
igure 85b
Generated Column → F
Figure 85b.
The following demonstrates the Report SQL statement with the NESTED SELECT and Generated
igure 85c
Column → F
Figure 85c.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
72
nuBuilderForte User Guide
There are two methods a Developer can use to create the temporary table which is needed for a Report to
run.
ethod #1, is to provide an SQL statement as seen in → Figure 85a. This is a simple approach which will
M
only work if the entire Report can be produced from a single SQL statement.
Method #2, is to create a custom section of PHP code and link that code to the Report. This is a more
complex approach however it is the method which is used the most as many Reports will need a lot more
programing and cannot be produced with a single SQL statement. An explanation on how to use this
method is beyond the scope of this user guide.
Figure 86
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
73
nuBuilderForte User Guide
Table nuSQL - Customer Report SQL This connects the Report to the
SQL (Customer Report SQL)
which we created earlier.
Launch From cus - Customer Report Launches the Report from the
Form we created earlier.
Report Designer
The nuBuilder Report Designer is a special application within in nuBuilder which allows you to ‘Drag and
Drop’ Fields and Labels onto different page Sections.
To learn how to use the Report Designer you need to become familiar with two concepts.
1) Report Objects
2) Report Sections
Report Objects
There are three types of Report Objects.
Field Used to display information which is in the temporary table connected
to this Report
Label Used to display static information typed into the Report Designer, also
used to display Hash Variables
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
74
nuBuilderForte User Guide
Report Sections
There are five main sections in a Report Layout where Report Objects can be placed.
Report Header Report Objects placed in the Report Header will only be displayed at
the top of the first page of the Report
Page Header Report Objects placed in the Page Header will be displayed after the
Report Header and at the top of every other page in the Report
Detail Report Objects placed in the Details section will be displayed on every
page in the Report.
Report Footer Report Objects placed in the Report Footer will only be displayed on
the last page of the Report directly after the Detail section
Page Footer Report Objects placed in the Page Footer will be displayed and at the
bottom of every page in the Report.
Don’t confuse Objects on the Report Designer system with Objects that we use on Forms
When an End User clicks on the Run Button on a Report Criteria Screen; nuBuilder will produce a PDF
igure 87 Is an example of the Report that we are going to build.
document. → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
75
nuBuilderForte User Guide
Figure 87.
Notice that the Report Footer is located directly after the Details Section and not at the
bottom of the page like Page Footer
The Report Designer application allows you to place different Report Objects into each section of a
igure 88 is an example of the Report Designer which has all of the Report Objects
Report → F
completed to produce the above PDF.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
76
nuBuilderForte User Guide
Figure 88.
Figure 89.
igure 90. This is how a blank Report Builder will appear, when it is
You will see the following Screen → F
igure 88.
complete it should appear like the previous example → F
Figure 90.
igure 91.
Click on the menu item ‘New Object’, a new object will appear on the Screen → F
New Report Objects will always appear in the Details Section, from there you can change the Report
Objects properties to place it in a different section.
Figure 91.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
77
nuBuilderForte User Guide
When you have a Report Object highlighted in red, you can click on the ‘Object Properties’ menu item to
igure 92. Shows the Object Properties dialogue.
change the properties of a Report Object. → F
Figure 92.
Details Section
Create the following three Report Objects within the Details Section using the following settings. You can
leave all of the other settings on the Object Properties dialogue at their default values.
Figure 93 shows the correlation between the Report Designer Objects and the actual PDF output of the
Report.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
78
nuBuilderForte User Guide
Figure 93.
When you are designing Reports it is handy to have another screen open on your desktop
which shows all of the Fields available to use in your Report
Saving Changes
It is a good idea to regularly save your changes when using the Report Designer. To do this you first click
igure 94.
on the ‘Copy Changes’ menu item and then click on the ‘Save’ Button. → F
Figure 94.
Group Properties
We are now going to set the height for all of the Sections in our Report. Click on the menu item ‘Group
igure 95. As you click on the name of each
Properties’, the Group Properties dialogue will appear. → F
Section, you can then set the height for that Section.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
79
nuBuilderForte User Guide
Figure 95.
Update the following five Report Sections using the following settings. You can leave all of the other
settings on the Group Properties dialogue at their default values.
Report Header 50
Report Footer 40
Page Header 45
Page Footer 40
Detail Header 40
igure 94.
Then save your changes as described in → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
80
nuBuilderForte User Guide
Page Header
Create the following three Report Objects within the Page Header Section using the following settings.
You can leave all of the other settings on the Object Properties dialogue at their default values.
igure 94.
Then save your changes as described in → F
igure 94.
Then save your changes as described in → F
Creating a Report Object with a Height of ‘1’ and a Background Color of ‘Black’ is a
good way to make a horizontal line in your Report. Leave the Title of this Report Object
blank.
Figure 96 shows the correlation between the Report Designer Objects and the actual PDF output of the
Report.
Figure 96.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
81
nuBuilderForte User Guide
Report Header
Create the following three Report Objects within the Report Header Section using the following settings.
You can leave all of the other settings on the Object Properties dialogue at their default values.
Object Left Top Width Field Name Font Size Font Text
Type Weight Align
igure 94.
Then save your changes as described in → F
Figure 97 shows the correlation between the Report Designer Objects and the actual PDF output of the
Report.
Figure 97.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
82
nuBuilderForte User Guide
Page Footer
Create the following three Report Objects within the Page Footer Section using the following settings.
You can leave all of the other settings on the Object Properties dialogue at their default values.
igure 94.
Then save your changes as described in → F
Figure 98 shows the correlation between the Report Designer Objects and the actual PDF output of the
Report.
Figure 98.
Report Footer
Create the following two Report Objects within the Report Footer Section using the following settings.
You can leave all of the other settings on the Object Properties dialogue at their default values.
Object Left Top Width Field Name Font Weight Text Align
Type
igure 94.
Then save your changes as described in → F
Figure 99 shows the correlation between the Report Designer Objects and the actual PDF output of the
Report.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
83
nuBuilderForte User Guide
Figure 99.
Running a Report
You have now completed all of the steps to create a Report. To see this in action, click on the green ‘User
igure 100.
Home’ Button. You should see a Screen as below → F
Figure 100.
When you click on the Button labeled ‘Reports’ you will see the Search Page showing all of the Reports
igure 101.
within nuBuilder. → F
Figure 101.
Now click on the Customers Report which we just created, you should see the following Criteria Screen.
→ Figure 102.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
84
nuBuilderForte User Guide
Figure 102.
igure
Select ‘SA’ for the State and then click on the Run Button, you should see the following Report. → F
103.
Figure 103.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
85
nuBuilderForte User Guide
nuBuilder permissions
In order to create permissions for End Users to log into nuBuilder you need to setup the following two
components:
● Access Levels
● Users
Access Levels
Each Access Level defines the grouping of permissions for the following: Home Page, Forms, Reports
and Procedures.
Users
The User Screen is where End Users are created.
Figure 104.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
86
nuBuilderForte User Guide
Figure 105.
Description Staff
Home Page nuuserhome Select the default Home Page
When you have applications that have several different Access Levels, it is helpful to
create separate Forms for each A
ccess Level instead of using the default Home Page
Form permissions
Each Form you have created for your End Users will need to be selected on Forms Tab on the Access
Level Screen. This includes the Report Criteria Screen for each Report. You also need to remember to
include the ‘nurunreport - Run Report’ Form which is pre-built in nuBuilder.
A good way to track what Forms you need to include is to start with the Buttons that you have added to a
Home Page. if you examine each of the Button Objects, you can find the ‘Code’ and ‘Description’ of each
igure 106.
Form. → F
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
87
nuBuilderForte User Guide
Figure 106.
igure 107.
5. On the Forms Tab, fill in the following items → F
Figure 107.
Report permissions
igure 108.
6. On the Reports Tab, fill in the following item → F
Figure 108.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
88
nuBuilderForte User Guide
There will always be two components used to provide permissions to a Report, this includes
the Report and the Criteria Screen
7. Click Save
Creating Users
1. Log into nuBuilder with your globeadmin account
igure 109.
2. Click on the Users Button in the Setup Tab → F
3. Click Add Button
Figure 109.
igure 110.
4. Fill in the following items → F
Figure 110.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
89
nuBuilderForte User Guide
Name Bob
Email bob@gmail.com
Language The default language is English
if it’s left blank
5. Click Save
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
90
nuBuilderForte User Guide
Figure 111.
nuSoftware L10 108 King William Street Adelaide SA 5000 www.nusoftware.com | www.nubuilder.com
91