Alpha Anywhere QuickStartGuide v12
Alpha Anywhere QuickStartGuide v12
Table of Contents
The purpose of this Quick Start Guide .................................................................i
Our gift to you .........................................................................................................i
What youll find here ...........................................................................................i
Keeping up 2
Alpha Anywhere, the leader in time and design ..............................................3
Developing for mobile devices .............................................................................3
Compatibility with remote data.............................................................................4
How Alpha Anywhere interacts with database types .........................................5
AJAX smooths and speeds your application? ....................................................5
Developing Web Applications...............................................................................6
Using your application on the web 6
Understanding Web Components ........................................................................6
Creating web pages 10
Putting it together 11
Newbies take note................................................................................................11
Browsers call the shots 11
Understanding web based databases 12
Back in the day 12
Additional notes on AJAX 13
Alpha Anywhere and AJAX
by Selwyn Rabins 13
Sending data the traditional way 13
Sending data with AJAX 13
Understanding the process 14
Seeing is believing 14
What is best? SQL or DBF??? 14
iii
TABLE OF CONTENTS
iv
TABLE OF CONTENTS
5 Dazzling Design!
vi
Chapter 1.
Notes:
Keeping up
Its not easy to keep up with the folks at Alpha Software because they are constantly
tweaking the software. And sometimes we learn about upcoming changes before they are
released.
As a result, you may come across screen shots or terms that have changed since a section was written. In most cases, this will not interfere with your learning experience we
know you guys are smart and will be able figure it out!
If you do come upon something untoward, however, send me an email at [email protected] and well look into it. SHB
If you have not already done so, please update your software to the latest version. Open Alpha Anywhere. Go to Top Menu > Help > Download patches.
But. Today it is so much more. It has become a development environment that works
as well with SQL tables as it does with its native DBF tables.*
As a matter of fact. SQL is much preferred for the web because it is more robust
and faster when the data is remote.
Experts agree. Alpha Anywhere beats other web development software because it
provides RAD without compromise. The features for quick development are there
when you want them and they get out of the way when you want to step in. The code is
fully exposed. You can add, change or modify the underlying JavaScript, CSS, HTML,
Xbasic and other code at will.
Everyone wins. Suppose you are not an expert? Theres a place for you here, too.
The built-in development tools permit sophisticated design even for non-programmers.
And. A single design can work for multiple layouts. How sweet is that?
But, remember. We are designing here. To actually use your web or mobile application, you will need to purchase an Application Server license from Alpha Software.*
Driver
FlexQuarters QODBC
QuickBooks
IBM DB2
DB2
InterSystems Cache
ODBC
Syntax
ODBC
Microsoft Access
Access
Microsoft Excel
Excel
SQLServer
MySQL
MySQL
Oracle
OracleLite
Quantel
ODBC
ODBC
ODBC
Sybase
Sybase SQLAnywhere
ODBC
SQLAnywhere
The remote database continues to reside in its original location and remains in its
original state.
Most servers support transactions that permit requests to come in from multiple
users at a time, as well as allowing changes made by a single user to be seen by all users
at once. Alpha Anywhere web and mobile applications support these features.
You can build secure web and mobile applications with full read/write and reporting
capabilities against any database for which you can create an Alpha Anywhere web or
mobile application. To see how security is applied, see page 125.
The Alpha Anywhere developer will, of course, be able to use his/her existing tables.
REMOTE DATABASES
Simply point and click to establish a connection, choose the data source and select
the fields you want to include. Interaction is seamless and smooth.
The following chart shows how Alpha Anywhere web and mobile applications interact with Alpha Anywhere and SQL back-end databases. In both situations, the databases are separate from the web/mobile application program. One must return to either
the Alpha Anywhere Control Panel or the remote database application to make changes
in the database itself.
Feature
CONNECTION
TABLES
VIEWS / SETS
SQL SELECT STATEMENT
Alpha Anywhere
SQL
Automatic
Established via
Connection String, p. 22
Views:
web applications
N/A
LEGEND
The Alpha Anywhere software program contains the design tools. You can create
applications and view them on your computer, but in order to publish to the Internet or
your Intranet, you need to know that:
You must purchase an Application Server license from Alpha Software.
LICENSE
SERVER
In order to put your application on the web, you will also need either your own
server (it can be a Windows computer*) with Alpha Anywhere and the license) installed
or an outside server with the proper software installed, such as that provided by Alpha
Softwares partners.
PLATFORMS
Alpha Anywhere will run on Windows 8, Windows 7, Vista and XP (Service Pack
3 ), Windows Server 2012, Windows Server 2008, and Windows Server 2003.
RAM
If a computer is used as the server, 1GB should be considered the minimum, with
2GB or more preferred.
MORE INFORMATION
A huge selection of options are available for the assembly of the components and
they can be editable or read only; they can be searched and details can be viewed. Logins can allow passwords to be changed on the spot. Every element is assigned by choosing from extensive menus. Selections can be modified with code.
Components are placed on web pages, with HTML, JavaScript and Xbasic written
and executed in the background. This assures the application will meet the industry
standards required for viewing in browsers.
We have grouped them as follows. Details are below.
Master group: The components in this group compose the foundation of the system.
In Chapter 2, we will show how to create three types of components Grid, Image Gallery and Tabbed UI. Chapter 3 will demonstrate the UX component.
Grid Component has optional Search and Detail parts.
UX component used for mobile apps. Also serves as Dialog for web apps.
Login component.
Maintenance component.
Tabbed UI (User Interface).
Page Layout Builder.
Navigation System component.
Custom component. (Advanced)
Optional group: At this writing, the following components are included in the 30day trial download and are available with a subscription* to the software. You will get to
test the Image Gallery component in the next chapter.
Calendar, Google Map, Image Gallery and Video Player.
Legacy group: The components in this group are carry-overs from earlier versions
that are still supported, but do not use AJAX. They all have more sophisticated successors.
Dialog (Classic), Grid Linker, Tabbed Grid Linker.
GRID COMPONENTS
Grid components are used to display, edit and delete data from a database. You can
also enter new records. This is the most common type of web component and has many
possible variations. Grids can stand alone or be combined with optional Search and/or
Detail View parts.
At its most basic, a Grid shows the records in a browse or spread sheet type view as
in the following screen shot.
But. Dont let the term Grid fool you into thinking that they always look like spread
sheets. Granted, they did start out that way, hence the name. But they have evolved so
that you can create forms that follow almost any imaginable design.
Grids can also have Search and/or Detail View parts.
The Search part allows the end user to find records.
The Detail View part usually contains more fields than does the main Grid
and is often used for editing the record and adding new records.
DIALOG COMPONENTS
Unlike Grids that are bound to tables, a Dialog is not necessarily bound to anything. Its purpose is to collect information that
is stored in variables (temporary fields). The data is then
passed on as defined by the developer. Dialog components create simple forms, as we see here, or very complex ones.
An example of a dialog might be the form you fill out when
you place an order on the web. When you click Submit, the
data is entered into the vendors database. In this case, the dialog is bound to the table.
These components define login for secure applications and permit remote packing
and indexing of Alpha Anywhere tables.
Login component: Application security is
based on users and groups and can be set for
each individual page.
Maintenance component: For Alpha Anywhere tables. This component allows the end
user to pack and reindex one or more of the
database tables.
The Tabbed UI (User Interface) and Page Layout Builders organize components,
allowing the end user to click buttons and/or tab back and forth between Grid components. The Navigation System creates a menu bar.
The Tabbed UI* Builder (above) organizes grids, reports and other elements. Buttons open pages that become tabbed panes. It is extremely flexible and can include
frames, text headers and toolbars. We will put one to use in the next chapter.
The illustration above also shows a grid that has been designed as a sophisticated
form with tabs.
The Page Layout
Builder combines text
headers with multiple
grids that can be organized with tabbed and/or
accordion panes.
Navigation System:
This component creates a
menu bar that takes users
from web page to web
page. The buttons can be
placed across the top of
the page or down the side.
*. UI = User Interface
*. Xbasic is Alpha Anywheres programming language. In web and mobile applications, it is used on the server-side. It is quite similar
to Microsoft's Visual Basic and shares many of its language elements and functions, however, Xbasic has many additional and different features. Notably, it is designed to make the process of developing applications easier. Many commonplace tasks that
would take many lines of code in another language take only a single line of Xbasic. continued on page 127.
10
Putting it together
In the next chapter, well get right to work creating some grid components and then
youll learn how easy it is to make them web ready. We will use an SQL database that
has been included with Alpha Anywhere. We will also show how to connect to data in
an Alpha Anywhere DBF database. Except for connecting to the data, design development is essentially the same for all file types.
LEARNING MORE
This Quick Start Guide is designed to get you up and running and explain the basic
features of the program. But it is just a starting point.
When you buy the program, you will receive a complimentary copy of the Electronic
Download Edition of Alpha Anywhere Web & Mobile Made Easy, The Basics and More
for V12 - Volume 1 by Susan Hussey Bush, noted author of tutorials on Alpha Anywhere.
In her books, Susan Bush tries not to assume that everyone is familiar with all the
latest terminology because she comes from a business background, rather than a technical one. With advances being made every day, she understands that many of you cant
possibly keep up with the latest and greatest and still get on with your day jobs, so she
has added some extra notes below for those new to web and mobile application design.
But. If this is your first go round with web and/or mobile applications, there are certain principles we want to be sure you understand.
This section is directed to business owners. You probably have database development skills in fact, you may already have an Alpha Anywhere database. You may have
some development skills such as Xbasic, but likely to be unfamiliar with JavaScript and
other code required for developing web and mobile applications. You want an application, but either cannot afford to hire someone to build it for you or just like doing
things yourself.
We will go over some terminology and expand on topics discussed earlier to be sure
were all on the same page.
11
Not to worry. Sit back, relax and read on because this is not the Alpha Anywhere way.
An Alpha Anywhere web/mobile application operates in exactly the same manner as
the hard-to-design variety. The end user views, searches, changes and enters records.
The huge difference between Alpha Anywhere and the standard protocol above, is
the ease with which it can be developed.
ALPHAS BRILLIANT IDEA
Every step is accompanied by point and click Builders that write the code for
you.
BUT. (Dont you hate that word?) There are a few things you need to know so that you
can approach your design based on real world expectations.
There are certain constraints when working in a web environment that we all have to
face. Limitations are made by the data medium (DBF, SQL, etc.) and browsers produced
to an industry standard. If browsers do not support a feature, Alpha Anywhere cannot
add it.
The folks at Alpha Anywhere keep making the web easier to use. You can create
grids by using builders that allow you to choose from an awesome range of options.
12
There are new features, such as JavaScript based date pickers and lookups and that
AJAX youve heard so much about. There is brilliant security. And lots more.
BUT. (Theres that word again.) They cant provide everything because they can't
change the HTML standards or the limitations of browser technology. Regardless of the
range of devices they have provided and youll find they are truly amazing those
wanting to build to a high level of sophistication, today, will need to learn JavaScript.*
BUT. (And this time its excellent news!) You will be SOOOOOOOOOOO amazed at
what you CAN do! Without any programming knowledge of any kind.
AND. (Now thats better!) You can do even more if you do add JavaScript or Xbasic
or any of that other good stuff we told you about earlier to your bag of tricks.
*. Thanks to Jerry Brightbill, Senior Developer and Architect, Alpha Software, Inc., for this insight.
13
Typically these JavaScript commands will update the display on some portion of
the page that is being viewed.
Seeing is believing
You can see AJAX in action by taking a quick look at a video where Selwyn shows
how to create a Web Component and demonstrates how quickly it responds with AJAX.
GO TO A5 VIDEO # 1
Open Alpha Anywhere and click the Videos button on the toolbar. For full instructions on using videos and documentation, Chapter 4.
Videos > Filter: Enter General.
Im adding notes on the new Upsize Database Genie Feature Pack* to the book. I
understand that SQL is preferable to DBF for large databases.
Would you give me a brief explanation of why someone might want to make
the change, keeping in mind that many of my readers are small guys.
How large (number of records) does your database have to be in order to see
a significant change in performance between SQL & DBF.
What other factors enter into the decision?
Once the conversion is made, will the developer need to know how to create
SQL Select Statements, etc.?
JERRYS RESPONSE
I have been using SQL (SQL Server) exclusively for a couple years, so I may be a
bit biased. Frankly I can't see why anyone would use DBF in most situations except that
it comes with Alpha Anywhere. But, to be fair, there are pros and cons for each. This
article gives a somewhat accurate evaluation of both:
http://www.foxdev.com/VFPonSQLSGeneric.pdf
However, it does have a few contradictions.
*. An optional V10 Feature Pack that has been included with V12 at no extra charge.
14
DBF can be faster when the data is local, but the speed difference begins to fade
when the data is remote and file size and the number of users increase. The reasons are
simple.
The DBF opens the entire table to get a couple records. Depending on the file
locking algorithm, some or all records could be locked to other users.
All flavors of SQL just query and pull a subset of data based on the query. Once
that result set is obtained, the table is closed and available to another user. Even a
query on a very large table can be very fast if the number of columns and rows is
limited.
It is very interesting that the article touts DBF speed as a pro, and yet slow access
for DBF is a con. Aren't they the same thing?
COMPLEXITY
What I find revealing is that DBF has only three benefits listed, but five limitations.
SQL has five benefits and only two limitations.
The cost issue for SQL is interesting as Microsoft SQL Server and MySQL have
free versions that may suit the needs of many users. Yet, if there is a need to expand
and add features, both of them and others have very robust (and expensive)
expanded versions.
For example, I am working with a client on a system using SQL Server. They are
using SQL Server Enterprise 64 bit because of built in data encryption, multi-processor and drive support, and other features for scalability. It has very powerful
import and export capabilities and a report writer. Because the server can use all
available resources in very efficient ways, its speed is dramatic. So is its price. A
single server license is well over $10,000. But for their purposes, it is exactly what
they need.
The complexity argument doesn't carry much weight with me either. The programming language needed to interface with SQL is different, so there is a learning curve.
But it is so much more robust and capable that the perceived complexity isn't
a major issue.
Much program logic can be moved from the application layer to the database
layer for increased performance.
DBF basically has little or no capability for data manipulation at the database
level. Almost everything has to be done in the application layer. The exception in Alpha Anywhere is the application of field rules. That is done at the
table level.
This presents another advantage of most SQL solutions not mentioned. When much
of the data logic is placed at the database level, many different applications can interface
with that data without having to duplicate process logic. Applications become frontends for data and a lot of data processing is done on the server.
SQL can be much more complex, but it can be relatively simple as well.
CONCLUSIONS
In my mind, if you are building a system that requires data integrity, security, and
scalability, there is no contest. DBF just doesn't stack up well against any SQL database
in any of those areas.
If simplicity and cost are the only criteria, then DBF is still a solid product and it
has its uses.
Support for SQL in Alpha Anywhere is getting very good, particularly on
the web and in Xbasic
15
If and when you decide to go with SQL, Alpha Anywhere will help you with a builtin aid called the Database Upsize Genie, one of several Feature Packs that have
been added to V12 at no extra charge.
But. You can hold that decision for now, if you like.
Enough of the technical stuff its finally time to turn the page and see how Alpha
Anywhere works.
16
Chapter 2.
18
There are four videos that give a general idea of how a grid component works. You
may want to watch them before beginning this chapter. The videos were done for V10,
so, in some cases, they dont show all features now available but the concepts are still
valid.
The process of creating Alpha Anywhere web and mobile applications is the same
for all users, with a few minor exceptions. For these exercises, we will use a sample
Access database that ships with Alpha Anywhere. At the end of the chapter, we will
show how to connect to Alpha Anywhere tables.
Understanding Workspaces
Alpha Anywhere has a desktop side and a web/mobile side. On the desktop side, it
can be used to create stand-alone desktop databases. On the web/mobile side, it can connect to data in any format to produce applications for on-line use. These environments
are called Workspaces.*
Once Alpha Anywhere is opened, you can go back and forth between them or stay in
one or the other. We will be working on the web/mobile side so that will be the focus of
this book.
*. This shift in terminology is new. Until recently, the folks at Alpha Software referred to Alpha Anywhere as a database software.
As we noted in the previous chapter, this is no longer true because its use has been significantly expanded. Therefore the term database has been changed to workspace when referring to the program in general.
19
After you click OK above, you will be asked to give your file a name and location.
For this example, we will put the files IN A SEPARATE FOLDER on the desktop.
When it comes to setting up your own application, the location is completely up to you.
Just be sure the file is in its own folder.
20
Heres a brief run through of the major elements in the Web Projects Control Panel.
TOP TOOLBAR
21
The Web Projects Control Panel has another set of buttons. You can:
ance for the elements in the project. We suggest you look over the
options now.
a. Click
b. Examine
the options and click Cancel to close the dialog when fin-
ished.
Open a component in Working Preview (yellow at left). See page 39.
Open a project in Windows Explorer (green at left).
Customize the columns shown in the Web Projects Control Panel. As
c. Choose
Close (pink).
*. If you do not see tabs for each open window, go to Top Menu > View > Window Bar to turn them on.
22
LEFT MENU
current project. Since you can have more than one folder in a
project, the level is identified at its right.
Project elements: The list of pages, components and other
elements comes next. As you create and save or import the
various files, each will be listed in the appropriate section.
Quick Publish (orange oval): Executes saved Publish settings (see page 67).
Next, we will connect to a database that is outside of Alpha
Anywhere.
called Alphasports.
IMPORTANT NOTE
Because this file is located at c:\ Program Files\, Windows 8, 7 and Vista users will
not be able to save new or changed records. If you prefer, you can copy the file, place it
elsewhere on your computer and reference that one instead.
a. Click
New.
b. Connection
Name: MyAlphaSports.
c. Connection
*. The instructions for connecting to an Alpha Anywhere database are on page 73.
23
d. Connection
type: Access.
e. File
f. Click
Open.
g. Click
OK (twice).
Close.
REMINDER
14. Click the Application Server button on the top menu (the red icon indicates it is off) and then confirm.
The button changes color and now has a green icon.
PORT 80 CONFLICT
If you are running Skype or another such program, it may conflict with the Application Server because they both default to the same port. There are two ways to solve the
problem:
Close the conflicting program OR change the Alpha Anywhere port as fol-
lows:
a. Web
Projects Control Panel > Top Menu > Web > Application Server.
b. General
c. Click
24
Save.
d. Click
e. Click
Close.
Web stuff REALLY doesnt like file names with spaces, so be sure to link the words
together as above (called CamelCase) or use underscores as in Mailing_List.
The name appears as the current project. You can switch back and forth
Web application design revolves around the Grid Component. It is extremely versatile and can be used in both web and desktop applications.
1. At the Web Projects Control Panel, select Web Components in the left
panel and click New.
*. Want more? Youll find info on the Application Server settings in the documentation that you get free when you purchase Alpha
Anywhere.
25
4. Click Start with a blank Grid Component radio button. (Click OK)
26
The Grid Builder is where all the elements of the grid are defined.
The left panel (red box above) shows what we will be calling the Grid Builder Navigator. The various pages (aka panes) come up when you click on them, Component
Type, Data Source, Query, Fields, etc. We will take them each in turn.
Component Type: The first option on the Navigator defines the look of the
grid. There are three basic sections, Grid, Search Part and Detail View. We beg
your patience as we describe the elements. Some may seem a bit confusing at
first, but all will become clear when you actually view and use the component.
There are 3 choices: Tabular, Form (Columnar) and Stacked Columnar. The preview
updates as you make your selection. Editing can be done in the grid, in which case it
would be updateable or it can be read only.
If you want to be able to add and edit records in the Grid itself, choose Updateable. If
you want to add and edit records in a Detail View part (see below), the Grid layout must
be Read Only.
27
SEARCH PART
Grid contains a Search part: A Search part is used for filtering and ordering records
in the grid. It is optional.
DETAIL VIEW
Grid contains a Detail View part: When the user double clicks on a row in the grid or
clicks a hyperlink, a separate window opens where existing records can be changed or
new ones added. Detail View parts are optional and can be read only or updateable.
Detail Views are available only if the Grid layout is Read only.
CONVENTION
Grid Components are defined by making selections, many of which use checkboxes.
In effect, the option is asking, Do you want to do this? Rather than say click or
unclick the checkbox, we will usually answer the question by saying Yes or No. In
other words, a checked box = Yes; an unchecked box = No.
OK, back to work.
6. Enter these settings (note that the preview window changes as you add
sections):
Grid layout: Tabular.
Grid is: Read Only.
Grid contains a Search part: Yes.
Grid contains a Detail part: Yes.
Detail View is: Updateable.
7. Scroll the preview window to see the rest of the Detail View.
9. Specify the type of data that you want to display in the Grid: Choose
SQL Database accessed via Alpha DAO (Alpha Data Access
Objects).*
*. If you do not see this option, choose Remote Database accessed via Alpha DAO (Alpha Data Access Objects).
28
Theres a lot going on at this dialog. The steps below will show how to fill it in.
REFRESH
Table changes: If you make changes to the source table at any time after selecting
the table, you will need to refresh the table (red circle above) in order for the component
to work properly. Changes include adding or deleting fields or changing field types.
b. Table
29
mas.
d. Choose
the Customer
table from the list.
e. Click
OK.
Dialog: Query
f. Table
g. Filter:
Leave blank.
h. Order
Smart buttons open Alpha Anywhere builders that are specific to the
use.
Dialog: Specify Order
Click OK.
Dialog: Query
k. Sort
PRIMARY KEY
A key is an identifier, such as a field or record number. The primary key tells Alpha Anywhere which record to choose. Alpha
Anywhere will look for a field with ID in it. Even so, it is best to
confirm the proper selection was made.
l. Click
SELECT SEQUENCE
30
m. Look
n. Click
Cancel.
Certain databases, such as Oracle require generation of Sequences. Click the button
and read the dialog for more information.
ADDING FIELDS
Fields are selected by moving them from Available Fields to Selected (see screen
shot below). There are several ways to do this.
Double click on a field.
Select the field and click the > arrow (pink below).
You can enter the fields in groups by dragging down the list. SHIFT +
CLICK and CTRL + CLICK
To remove fields, from Selected, use the same arrows. The double arrow moves them
all out (I know you figured that out).
You could also insert the record number of the field into the grid with <LogicalRecNo>.
31
date, etc. For some, you will enter text directly into the box. For others, you will click a
button and make a selection or check a checkbox.
CONTROL TYPES
b. Field
Cancel.
CONVENTION
From here on in, we will use the following convention for Field Properties instructions. Relate the highlighted areas at left to the Email field example below.
a. FIELD PROPERTIES: <FIELD NAME> means choose the
Following the example below, we will show the main category (Display
E-MAIL LINK
We want the Send E-mail window to open when the end user clicks on it.
PROPERTIES: EMAIL.
Control type: Choose Link.
Display what in link?: Choose Value in field.
Link address type: Choose Field value is an Email address.
COLUMN PROPERTIES
Next, we will shorten a column title so it takes less space in the grid.
PROPERTIES: <ROWNUMBER>
Column Heading: Change Row Number to Row.
*. Want more? Learn about Radio Boxes, Checkboxes, HTML Memos and more in the complimentary copy of Alpha Anywhere
Web Applications Made Easy that comes with your purchase of the software.
32
The Customer_Id field will serve as a link to the Detail View section. We also want
to shorten the column title as above. Well do it all at once.
DISPLAY SETTINGS
LINK PROPERTIES
PROPERTIES: CUSTOMER_ID
Control type: Choose Link.
Display what in link?: Choose Value in field.
Link address type: Choose Detail View link.
COLUMN PROPERTIES
AJAX
LAYOUT OPTIONS
like.
33
TYPE-IN BOX
c. Style
GO TO ALPHA VIDEO #1
SEARCH OPTIONS
Animation affects the way the Search part comes into view. Well use it again in the
Detail View. There are a multitude of possible effects and it can be applied in many,
many places. You may want to take a moment and experiment with a few.
Moving right along, lets work on the Detail View part.
34
23. Add all the fields into the Selected box except <RowNumber> and
><LogicalRecNo>.
EDITABLE FIELDS
At the top of the Selected list, editable? is checked (red box above). This indicates
that the Detail View is an Updateable section. For this reason, the default Control Type
is Textbox so that data can be entered and/or changed. Note the icons.
You can disallow editing by changing the Field Properties > Display
Most property settings have a help window below the properties selections that
appears when you click on the choice. In some cases, the window seems too small to
read the entire tip, but it can be expanded as follows:
24. With your cursor on a Field Property, look at the bottom of the list.
a. Put your cursor over the top of the help window
until it changes as at left (red circle).
b. Drag the window up until you can see the full contents.
MASKS
35
CLIENT SIDE
FYI in the web world, the client is your browser not your customer! Theres
more about this on page 126. For now, the important thing to know is that client side
properties are very responsive since they dont have to travel to the server and back.
PROPERTIES: PHONE
Client side formatting: Yes.
Format type: Mask.
Format definition: Click the button.
a. At
b. Show
the mask characters while entering the field: Yes. (Click OK)
PROPERTIES: FAX
Repeat above.
PROPERTIES: BILL_POSTAL_CODE
Repeat above and choose Zip code 5 digit.
DV PROPERTIES
As expected, these settings affect the overall appearance and behavior of the Detail
View. Well take a look at our work as soon as we set these properties, but first there are
some design notes to keep in mind. To begin, we will look at the options and then we
will set them
There is a video you might want to stop and look at. Or you can wait until the end of
this section. It is referenced on page 38.
GRID BUILDER NAVIGATOR: DETAIL VIEW > PROPERTIES
Method to display Detail View. Click the down arrow.
The Detail View can be open all the time or appear when the user asks for it. If you
choose to open on demand, there are three options.
a. Click
b. Click
on a grid row.
c. Double-click
PERMISSIONS
on a grid row.
26. Look at: Display Options > Detail View window position.
WINDOW POSITION
The Detail View can be placed in several positions. The window position can be
defined and it can open with or without animation.
*. Because we are used to the desktop, you are likely to find these terms used interchangeably.
36
a. OnPage
is the default and puts the window below the grid. May
require scrolling down.
b. PopupWindow-Modal:
The grid is grayed out and other records cannot be edited until the Detail View closes and is reopened or another
action is defined. Good if you are concerned about accidental edits.*
Search part is active and other rows in the Grid may be activated.
Allows faster editing.
d. InGrid
e. DIV
f.
27. Look at: Display Options > Pre-fetch data for Detail View.
It will take a bit longer to display the grid initially, but then moving from the Grid to
Detail View will be instantaneous because no round-trip to the server will be necessary.
Great for editing data. Like having the food you need on the counter and not having to
go back and forth to the pantry for each item in the recipe.
PRE-FETCH DATA
DISPLAY OPTIONS
37
Our list of fields is quite long. Putting the toolbar at the top will avoid
the need to scroll down to use it.
CUSTOMIZATION
GO TO ALPHA VIDEO #9 & 24
Add new records link label: Click here to enter new record.
For more information on window positions and pre-fetching data, go to:
Component names cannot contain spaces and should be short in length. Keep the following in mind, but do not become overly concerned about it because, in all cases,
aliases are created and named automatically by Alpha Anywhere.
ALIASES
The program uses an alias for a component when it is placed on a page. The alias
may truncate the component name to 15 characters. This alias will be used to reference
the component in many actions, such as any action that references the component in a
URL.
click Yes.
38
b. Uncheck
line.
At Live Preview, you stay in Alpha Anywhere, but are essentially running a page in
Internet Explorer (to use other browsers, see Viewing in the Browser below). You can
actually test the action of the component as if it were open in the browser.
Functionality: Full. All web component features are active.
39
For more information on using Working Preview to debug Xbasic scripts, go to:
If you have only the default browser that was installed on your computer when you
bought it, you may wish to explore some of the others.
BROWSER BUTTON
The Browser button is on the toolbar next to the Preview button Unless you have
changed from the default, it will look like this:
7. Click the down arrow next to the Browser symbol. It will turn pale orange
when your cursor is on it.
8. Choose the Browser you prefer.
Next time, your choice will be the default and you can just click the button. At left, mine shows the Firefox icon because that is the one I used last.
9. Click the browser button to see the component on-line.
INSTALLED BROWSERS
CONVENTION
Since there are so many options our instructions will simply say Click the Browser
button or Go to the Browser.
REMOTE TEST
You can also view components in a remote device tablet, smart phone, etc. Well
demonstrate this nifty feature in Chapter 3.
*. The following do not work here: JavaScript events that open Alpha Anywhere reports, A5W pages in pop-up windows or in DIVs.
40
Remember that, unless you have copied the file to a different location on your computer (see Important note on page 23), most of you will not be able to save new or
changed records. Everything else will work fine, however.
Email window.
The Record (Page) Navigator is in the style we defined and there is a
window for entering the page number.
We can see room for improvement, especially in the columns weve
marked in yellow. Well get to those adjustments shortly.
Detail View:
There is a Click here to enter new record line of text at the bottom of the
grid. It will open a new record in a Detail View window.
41
Double clicking on a row will open the Detail View record for edit-
ing.
SEARCH PART
The Search part opens and closes when you click its title.
To make it appear, click Click here to search
Title toggles to Search when open (inset above).
To make it go away, click Search (green above).
CHANGING A RECORD
Did you notice how quickly the Detail View comes up even with animation? Thats
where JavaScript and pre-fetching data worked their magic. If you have had any experience with web based databases, youll appreciate how quickly data is retrieved. Really
is like being at the desktop.
DETAIL VIEW TITLES
Look at the Detail View window. It has two titles. The lower one (pink) is always
available, the top one (yellow) is for pop-up windows only because the other window
positions do not have title bars.
Both are Detail View properties.
42
Keyboard save: You can use the familiar Alpha Anywhere desktop keyboard commands to save the record, as well as clicking buttons. For example, records are saved by
pressing F9.*
The Detail View toolbar has two
save options:
Save record.
Save record and enter a new record.
DELETING RECORDS
SECURITY
MASKS
CANCELING A CHANGE
Cancel.
You may also decide who can delete records by setting up Security Groups.
the
OK.
c. Press
ESC or click
OK.
Now that the pending changes are cleared, you will be able to close the window.
8. Click
*. Remember that Save and Delete wont work with this particular connection. See Important note on page 23.
. Security is discussed on page 125 and theres lots, lots more in the free book that comes when you buy Alpha Anywhere.
43
There is no email address in the current view, so we will change the sort order back
to Lastname.
The record (page) navigator is found below the Grid. Since you probably use this all
the time on the web, little explanation is necessary.
There are two places where you can define the number of records shown in the grid,
at the bottom of the Grid and in the Search part. Each serves a different function.
Search Part. The Records per page box is for
the records that are found in the search. It does
not affect the grid settings until you click the
Search button.
Grid: This is where the default that we set at 12
appears. The end user may change it.
44
45
Modeless allows the user to move back and forth between open win-
dows.*
Modal blocks access to any other window until it is closed by the end
user.
First, we will look at Modeless, since that is the value defined for this component.
Then we will return to the component design and change it to Modal so you can see how
that works.
Modeless means that the user can move back and forth between windows. This
makes editing quick and convenient because the Grid and Search parts remain accessible while the Detail View is open.
MODELESS
MODAL
46
Next, we will modify the existing component and save it as a new one.
DISPLAY OPTIONS
COLUMN TITLES
Next, we will clean up the grid by making the titles a bit smaller for two columns
(fields). Weve already done this, so it should look familiar. We repeat because it is
important to learn to think in terms of columns, rather than fields when are looking
for the proper property.
GRID BUILDER NAVIGATOR: GRID > FIELDS
COLUMN PROPERTIES
47
LABEL PROPERTIES
do here.
Advanced users can also
compute the property value
using Xbasic code (inset).
For more information,
click Explain when to use
this option. There is also a
video (see below).
a. Choose
Bill_State_Region.
DISPLAY SETTINGS
48
GO TO ALPHA VIDEO #3
If you are a keyboard fan (as opposed to a mousy person) you can get a list of hot
keys that can be used in grids at:
49
On the computer, one clicks the arrows to cycle through the images or choose one in
the bottom pane to bring it into view. In a mobile application, you can use any touch
screen features permitted by the device, such as momentum scrolling (using your finger
to scroll image by image) and pinch zoom.
50
b. Double
e. Click
If you forget to change back to <Top Level>, you wont see your web components when you go looking for them!
GO TO ALPHA VIDEO
51
In this case, the control produces a tree that branches out from State to City to Last
Name. Each time you click on a value, the grid is filtered. CA produces all customers in
California, Los Angeles produces all customers in LA and, you guessed it, Harrison produces customer(s) named Harrison who live in the City of Angels.
We really need you to watch the video first on this one because we will just give the
settings here. The video uses a DBF example. We will use SQL.
GO TO ALPHA VIDEO
*. UX components (used for mobile apps) also have Trees. Although the settings are different, the same principles are followed for
defining the trees and branches.
. Alpha Anywhere ships with two Alpha Sports databases. One is DBF and the other SQL which is the one weve been using.
52
DATA SOURCE
QUERY (ALPHA DAO)
FIELDS
STYLE
LAYOUT OPTIONS
b. Other
53
7. Step 1: Click
Define
Tree-control
Navigator.
a. Type:
Click the Question Mark (pink) to learn the difference between Simple and Complex queries.
b. Type:
Choose SQL.
c. Connection:
d. Table:
f. Repeat
DEFINE FILTERS
You might think of defining these filters as mapping. The filters connect the fields in
the Tree to the fields in the Grid. In this case both have the same field names, but they
could be different.
g. Select
Bill_State_Region.
h. Filter
Grid when user selects an entry in the tree at this level: Yes.
i.
j.
Filter: Yes.
k. Click
*. Want more? learn all about Master Templates in the documentation that comes when you buy Alpha Anywhere. And there are videos, too. When you buy the software, youll get lots of help learning all these fabulous features.
54
l.
m. Enter:
n. Click
o. Choose
PLACEHOLDER
A placeholder is inserted. Placeholders carry the contents of the field. They are
defined by curly brackets as in {Bill_State_Region}. This is an important concept, so be
sure to keep it in mind as you develop you application.
p. Enter:
Bill_State_Region.
Since the value in this field is a character type, it requires quotes around it. Click
Warning: Your expression uses a placeholder. Click here to see if quotes are needed.
Single quotes are used for SQL data.
Double quotes are used for DBF data.
OK (twice).
r.
Repeat the above for the tree branches. Expressions are as follows:
Bill_City:
BILL_STATE_REGION = '{BILL_STATE_REGION}' AND
BILL_CITY = '{BILL_CITY}'
HINT!
Copy the above expression to the clipboard. We will use it in the last name definition.
AND / OR
AND and OR use the JavaScript protocol, not Xbasic. Therefore, even if you are
using a DBF data source, they are entered without periods before and after (.and.). Use
the buttons to be sure.
s. When
Lastname:
BILL_STATE_REGION = '{BILL_STATE_REGION}' AND
55
a. Click
Yes.
c. Click
OK (twice).
56
There are three components that make it easy to organize your project:
Tabbed UI Component: Organizes components, pages and
reports with buttons and tabs. This
builder even adds a Home page.
Easiest & fastest.
Well use one of these in the
next exercise.
While they can be used in
mobile apps, it is recommended
that a UX be used to create a similar setup.*
Page Layout Component: Creates complex page layouts for grids,
pages and reports. You can tuck them
inside Tabbed UIs, too.
57
Navigation System:
This component creates a
menu bar that navigates
between pages. The menu
can be set up to go across
the page or down the side.
PUBLISHING
LEGEND
58
The following are discussed in Adding a page title, headers and footer on page 64.
When you click on a button, not only does the selection open, but a tab is placed on the
top row (red box below). Once the grids have been loaded, the tabs make it easy and quick
to move between selected objects. The left menu can be collapsed for a wider display (red
circle) as shown in the following screen shot. Grids function independently, so the AJAX
callback is for the active grid only.
59
links.
Object Type. You can change the listing of Object
Names to the following: Report Layout, A5W page,
Static HTML page, External (web) page and PDF
document. Except for External pages, they must all
be located within the current Web Project.
Filter: Useful for finding objects in a long list.
You must enter at least 3 letters i.e. to find ImageGallery, enter ima.
Edit button opens the HTML Editor for further
formatting of the text for the button label.
a. Button
b. Object
c. Object
d. Button/Hyperlink
e. Pane
This is the title of the tab pane (#5 in screen shot on page 58).
f.
g. Click
CONTROL PROPERTIES
OK.
Once an object is added to the list of controls, its properties become available in the
right pane Most are self-explanatory.
text: Style 2.
label: Style 2.
c. Button
60
DISPLAY NOTES
on-line for that one). The others will appear at Working Preview.
Other items, such as child grids with tabs, reports and the Maintenance component may not display and/or function properly at Working Preview.
On the other hand, Working Preview is fine for checking display of buttons,
tabs, etc.
FEATURES
There are separate settings for the button and its tab (aka pane).
PROPERTIES: [TABBED UI BUTTON: <COMPONENTNAME>]
Button text: Change to desired name.
Pane title: Change to desired name.
61
Adding Frames
Frames are one of Alpha Anywheres organizational tools that are used to group like
objects together. This is a pretty small sample of components, but it will give you an idea
of how it works.
Be sure to select the fields first and then click the Containers button.
a. Select
b. Click
c. Choose
Frame (yellow).
Insert opening Frame Begin & closing Frame End tags: Yes.
Label: Enter/Edit.
Click OK.
d. Repeat
*. The navigation warning appeared in Live and Working Previews in V11, but does not seem to be happening there in V12, It does
occur when testing in the Browser, as is appropriate (see Understanding the Browser navigation warning on page 63).
62
the first time you have done this, we will enter them one-by-one for better
understanding.
Insert the closing [Tab Control End] tag? Yes.
c. Click
OK.
TAB PANES
d. Add
63
While testing, however, this message can become annoying because it needs to be dismissed each time you preview your work in the browser.
It is easy to remove the message. Just put adding it back on your pre-launch to do list.
TABBED UI PROPERTIES
URL (aqua). The Header tells what the Tabbed UI is about (green). The
Footer gives the company name (pink).
You can also add plain text to the A5W Page Header (#2 in screen shot on
page 58).
64
WYSIWYG OR SOURCE
20. Top Menu > View > Settings > Preferences > HTML Editor > Default
tab: Choose WYSIWYG.
TABBED UI PROPERTIES
b. Font:
c. Click
Save.
You can also enter text in head section of the .a5w page that holds this component.
When testing the component, it will appear in the space above the title (yellow). It will
display at Live Preview and in the Browser, but not at Working Preview.
CONTAINER A5W PAGE
User defined head content: Click the button and define text.
the window.
65
b. Click
Save.
The Source code for the component is defined automatically. Each time the component
is saved, any code added at the page level is overwritten.
If you wish to modify the Source code, do so within the Tabbed UI. There are
various settings for the component itself and for each individual object contained therein. Changes made to these properties, such as Class names, CSS
and JavaScript, etc., become a part of the component and will not be overwritten when the page is saved.
25. Close the HTML Editor.
GO TO ALPHA VIDEO
There are several videos on using the Tabbed UI builder. We recommend you start with
two of the earlier ones and then go on to the more advanced.
66
c. Launch
d. Page
Publish.
You have to admit, thats pretty cool. This is just what your project will look
like on the web. Can you imagine what it would have taken to do what you just
did some of you with no previous experience in other software programs?
Even you programming buffs have to be impressed with rapid application development at its best but thats not all for you dont miss RAD without compromise on page 70.
27. Return to Alpha Anywhere.
28. Save and close any open pages or components.
67
EXECUTE PAGE
Execute Page: This is actually a Live Preview and creates a temporary page that is
very useful for developing, but may not render all aspects of the page.
The Execute Page concept is just running the bare minimum in Live Preview. It is
good for a snapshot of the page, but since the process doesn't check for all page elements
when it publishes to Live Preview, it doesn't always give an accurate look at all functionality. For example, security is not active in Live Preview and not all support files such as
images may exist in the correct locations.
For proper testing, use the Local Webroot publish profile and add a target folder.*
Publish to that and you are testing in a live and accurate environment.
The Execute Page URL will change each time and will probably contain characters
like $$ and ? and a string of numbers like the following:
http://localhost/LivePreview/$$23C.a5w?54931229
It should not be used as a link.
PUBLISH
Publish readies the pages for publication and produces its final web address. Whenever one of the projects web pages or components is changed, the project file(s) must be
republished in order for the pages to be presented properly. The URL will remain the
same, however, such as in the following example:
http://localhost/CustomerMailingList.a5w
Use this when you are creating links from one page to another.
TROUBLESHOOTING
As you view the web pages after they have been Executed and/or Published several
times, your changes may not appear in your browser. In this case, choose View > Refresh
or press F5 to refresh the page.
REMEMBER THIS!
When you make project changes that you want to appear in your browser, you will
need to re-Execute or re-Publish.
To be continued! This is just the beginning of what you can do with Grids. This discussion continues on page 71 of Alpha Anywhere Web & Mobile Made Easy, The Basics and
More for Version 12 - Volume 1. Remember its free with your purchase of the software.
But, were not quite finished. We have a few more notes for you to tuck into your
noodle before we end this chapter.
*. We talk about target folders in that free book we keep telling you about.
. Jerry Brightbill, Senior Developer and Architect, Alpha Software, Inc.
68
GO TO ALPHA VIDEO
Automatically creates Grid components for tables in your SQL or DBF database and places them in a tabbed interface. The Grids can then be customized. The
videos are definitely worth watching.
Videos > Filter: Enter Fly. Choose:
V10FP5: Flying Start Genie.
Alpha Anywhere.
69
Experiment at will. The genie creates an entirely new database, so your original DBF files remain intact. You can continue to use Alpha Anywhere for the
desktop its just the file structure that changes. Test it out!
They are there, but they arent there! Even though you can see the tables
on the Alpha Anywhere desktop, you will still need a Connection String to connect your web components.
Free SQL software. MySQL is an open source program. That means you can
try SQL without spending an extra penny.
GO TO ALPHA VIDEO
Well worth the 15 minutes it will take to watch these videos if only to
become better informed on this subject.
Videos > Filter: Enter Upsize. Choose:
V10FP4: Database Upsize Genie.
If you have written any DBF specific code in a server-side event handler, you
will need to translate it to SQL code.
But. Alpha Anywhere goes even further for the serious developer. It steps out of
the way when you want to customize. All code is fully exposed so you can add or
modify at will.
Youve heard us say it before. Alpha Anywhere has Rapid Application Development without compromise. Now its time to show you what we mean.
70
Server- and client-side events* define actions taken by the grid. For example,
when the grid is opened, it is said to initialize, therefore, the corresponding event
is Server Side Events > OnGridInitialize.
Server-side Events: Uses Xbasic. The code is shown in green. Each section
also has notes that describe its purpose and give tips on use (in blue).
Client-side Events: Uses Javascript Event Handlers.
Xbasic and Javascript Functions: Functions used in the component are
placed here. They are then referenced where the code is to be executed.
Note the hyperlinks at the bottom of the various dialogs that give additional information and builders. (Maximize window if necessary to see
them.)
71
PROPERTIES: <ANYFIELD>
Calculated field expression: Click the button.
a. Click the Insert
b. Click
JAVASCRIPT
Another area for writing your own Javascript or you can use Action Javascript, pre-defined code for common actions.
You can also write Server-side Xbasic here.
To learn more about this builder, see Action JavaScript, JavaScript and
jQuery on page 130.
72
And.
If there isnt a RAD way, you can write your own!
Like we said.
RAD without compromise!
COMPONENT TYPE
DATA SOURCE
QUERY (DBF)
VIEW
A View accomplishes the same goal as an Alpha Anywhere desktop Set. Sets dont
work here, so you will have to choose the fields you want to include.
73
FIELD RULES
Many, but not all, Field Rules set at the desktop level are honored for editing at the web
level. For example, capitalization rules are maintained, but default entries, masks and skip
rules are not. Defaults and masks can, however, be defined in the component.
Experiment at will. The genie creates an entirely new database, so your original DBF
files remain intact. You can continue to use Alpha Anywhere for the desktop its just the
file structure that changes. Test it out!
They are there, but they arent there! Even though you can see the tables on the
Alpha Anywhere desktop, you will still need a Connection String to connect your web
components.
Free SQL software. MySQL is an open source program. That means you can try SQL
without spending an extra penny.
If you have written any DBF specific code in a server-side event handler, you will need
to translate it to SQL code.
GO TO A5 VIDEO
Well worth the 15 minutes it will take to watch these videos if only to become better
informed on this subject. This V10 Feature Pack is free to all V11 users.
Videos > Filter: Enter Upsize. Choose:
V10FP4: Database Upsize Genie.
*. Linked tables are used to create one-to-many relationships. Thats in the book weve been touting all along.
74
Chapter 3.
Phone
iiPad
*. iPhone and iPad are trademarks of Apple, Inc. The material in this chapter has been reprinted from Alpha Anywhere Web & Mobile
Made Easy, The Basics and More for Version 12 - Volume 1 by Susan Hussey Bush.
76
Alpha Anywhere provides two tools that write code for you. Action Scripting
writes Server-side Xbasic, while Action Javascript writes Client-side Javascript.
We will use both in this chapter.*
PANELS
Of all the topics discussed in this chapter, Panels are the most important for
anyone even considering mobile application development. So important that we
recommend you stop right now and watch these videos.
GO TO ALPHA VIDEO
*. Server-side and Client-side are explained in Understanding the Client / Server model on page 223.
77
78
When it is not connected, it behaves like a dialog or can be used to display lists.
What is a Dialog?
A dialog is a form that asks the end user for information. For example,
when you buy something on the web and fill in the name/address form
or register your name and security information as at left you are using a
dialog. The information is then evaluated for correct input (validated). If
you have filled in all the entries correctly, the data is sent to the server. At
that time, it is entered into the database and/or used in some other way
determined by the developer.
UX COMPONENT
79
Viewing UX Components
With a simple preview selection, you will be able to see exactly how your
applications will appear on mobile or on the web or on the desktop. Besides
looking really cool, the mobile device simulator serves a much more important
purpose. Smaller screens require tighter design, so it is important to be able to
see and interact with the data in a real-life situation. Well also show how you
can actually view the component on your own phone or tablet.
Creating a UX Component
VIDEO! SEE P. 90
with getting started instructions and a link to explanatory videos. You can return
to this page at any time by
clicking Overview in the left
menu (green). These videos
are also available in the
Video Finder.
The left menu navigates to
the other elements of the
builder (yellow).
80
NAVIGATION MENU
We do not start out with table or view fields in the UX because it creates variables instead. To do so, it uses a series of Controls. The above screen shot
shows the builder after one has been created.
There are five types of controls:
Data Controls, Panels, Containers, Other Controls and Defined Controls.
Individual controls have Properties that are shown to the right, as we
saw in Grids.
The Properties section is for the UX itself (like Grid > Properties).
REMEMBER THIS!
The Properties button (aqua above) opens the Search Properties dialog to
quick find settings (see Locating component controls on page 56).
Data Binding is for mapping the controls to a table, if desired. This permits
data to be entered into a table.
81
You may need to re-click UX after collapsing them in order to see the
rest.
DATA CONTROLS
These controls are like the ones we saw in Grid > Field Properties > Control
Types (see Control Types on page 34), with some additions:
Textbox, Textarea, DropdownBox, RadioButton, CheckBox, Label,
Image, Hidden, Slider, Switch, Button List, List, Calendar, Tree,
Map and Chart.*
PANELS
Panels are used for Mobile devices. They make the change from portrait to
landscape automatic when the device is rotated. Options include:
Panel Layout, Panel Navigator, Panel Card, Quick Panels genie.
CONTAINERS
Containers wrap controls and divide them into one or more sections:
Tab Control, Tab Pane, Frame, Container and Free-form layout.
OTHER CONTROLS
Controls for
Delete Record, New Record, Row Number, Update Source Grid.
JS (JavaScript) Command Window.
List Controls: Debugging, Navigation Buttons & Icons, Page number, Page selector, Record count, Selector, Twitter example.
Record navigation buttons and icons.
Submit-reset buttons.
Controls receive input from the end user. There as several types, most of
which should be familiar to you: Textbox, TextArea, DropdownBox, Radio Button, Checkbox, etc.
Once created, they are listed in the UX Builder and are referred to as
Controls or Fields (red arrow above).
*. Other controls may have been added since this was written. See each list to verify.
. An IFrame control can be linked to a URL to show a web page.
. For more information on these controls, see Creating Checkbox, Radio Button and Drop Down Box controls on page 345.
82
Like fields, their Data Type (aka Field Type) must be identified:
You can specify the location of the labels and their justification. Defaults are
Below, Center, Left. They can also be changed after the control is created.
8. Click the Click for syntax examples hyperlink.
This is an extensive help dialog that explains how to:
Add controls.
Use line breaks.
Enter the field (data) type.
Enter the field size (width of textbox).
Combine field size and type.
Combine field size, data type and control type.
*. The book that you get when you purchase the software explains variables.
. To change the position or justification of a control after it has been created. At the UX Builder, right click on the control.
83
9. Look over the options and press ESC to close the dialog when finished.
10. Label position: Choose Above.
11. Label justification: Choose Left.
These will now become the defaults for future textbox controls.
12. Click OK.
Alpha Anywhere creates the control and its Properties section
opens.
13. Go to Working Preview.
14. Enter your first name.
At this point, the control wont do anything for several reasons. There is no
way for the end user to submit the data. And even if there were a submit button,
Alpha Anywhere wouldnt know what to do with the variable. Before we get
into these things, lets add a few more controls.
15. Return to Design mode.
The default field (data) type is character. You can change it for non-character
fields.
a. Click
the Field type codes hyperlink to see the code list (inset above).
b. Note
c. Press
84
This uses the pipe key as a separator. It is above the backslash key
on most computers.
IMPORTANT NOTE
LABEL RULES
Alpha Anywhere makes it easy to assure that your labels have a consistent
appearance. The following settings are for the label only. Definition for the contents of each Control is set at its Properties, the same as for Grids.
d. Click
Pre-defined lists.
b. Choose
To delete a list:
d. Choose
Manage list.
e. Click
f.
*. This term may be unfamiliar to some. It was to me, although I use the style all the time. Its when you enter field and file names as
MyCamelCase.
85
b. Choose
c. Enter
Label text.
OK.
You can delete one control or the entire list. The buttons are on the toolbar
above the list of controls. You can delete all or selected objects.
Next we will use the table method for adding textbox controls to the UX.
But. Thats not a requirement. You could import a list from any table in order to
save development time and then use it for an entirely different purpose.
26. Data Controls: Click Textbox.
The UX should open at Create multiple controls at once because
that is the format we used last. If not, change to that mode.
*. To bind manually, see Binding the UX fields to an existing table on page 90.
86
Choose AlphaDAO.
fields: No.
the following:
Customer_ID, Firstname,
Lastname, Company,
Bill_Address 2, Bill_Country.
g. Click
OK.
Click OK.
Dialog Title: New Control
The fields are shown and the field types are identi-
fied.
The data binding information is shown at the bottom
of the fields list (yellow).
Understanding Breaks
Breaks determine the placement of fields on the form. When
you enter the controls line by line by line as they appear
above, Alpha Anywhere automatically inserts a break after
each so that they appear in a column.
To place the fields side by side on the form, we need to
remove the break(s). There are two places to do this.
87
The first place where you can remove breaks is at this window.
You can place fields on a single line, separated by commas as
we did for city, state and zip in step 18 on page 84. Heres an
example of what it might look like if we wanted the name to
appear on a single line.
FIRST_NAME|C, MIDDLE_INITIAL|C, LAST_NAME|C
UX BUILDER
The second place where breaks can be removed is in the UX builder itself, as
we will do next.
28. Click OK to enter the list and return to the main UX design window.
The new controls have been added.
The Name control has been replaced by Firstname and Lastname controls, so
we will remove it.
29. Select the Name control and click X on the toolbar.
RE-ORDER CONTROLS
30. Using the arrows at the top of the field list, arrange the fields as in the
screen shot at left.
CHANGE LABELS
88
PROPERTIES: CUSTOMER_ID
Position: Click the button and choose Above.
Removing Breaks
Breaks determine placement of controls on
the form one under the other or side-byside. Breaks are indicated by paragraph symbols (gold arrow).
In this case, they appear after each control,
except for City and State. Alpha Anywhere
automatically removed those because we
separated the fields by commas (see step 18
on page 84). Breaks can also be removed
after the controls have been created.
35. Select Firstname.
89
36. Click the Toggle Break button on the toolbar above the fields (red circle above) to remove the break.
37. Repeat for the Zip field.
38. Go to Working Preview.
First- and Lastname are on the same line.
Country is now after City, State, Zip.
39. Return to Design Mode.
FIELD PROPERTIES
PROPERTIES: [STATE]
Width: Enter .5in
FIELD PROPERTIES
PROPERTIES: [ZIP]
Width: Enter 1in
90
NON-PROGRAMMERS
PROGRAMMERS
Dont panic at the thought of needing to write code. In this case (and many
others), we can use Action Scripting, a built-in code writer.
UXs are serious tools and you will love the advanced options available,
many of which are described in the various videos.
arrow).
2. Click Bind the controls on your UX to fields in one or
more existing tables.
91
When we imported the fields in green above from the Customer table, we
checked Include data in binding information (step h on page 87), so Alpha Anywhere has already mapped those fields.
*. An invoice is an example of a UX with Repeating Sections. They are discussed in that free book we keep telling you about.
92
AUTOMATIC MAPPING
When the field and control names are similar, Alpha Anywhere can map
them automatically. To do so, click Automatically map fields.
MANUAL MAPPING
Our remaining control names do not match the field names, so we will map
them manually.
j.
*UNBOUND FIELDS
All fields must be bound or *unbound. Since we do not have a field in the
table that matches the DOB control, we will use *unbound. It must also be not
updateable.
m. Double
click on DOB.
n. Choose
p. Click
b. Updateable
c. Table
= Yes.
desired.
93
SERVER-SIDE CODE
In order for the Submit/Reset buttons to work, we need to tell Alpha Anywhere what to do after the form has passed the validation requirements. This is
done by adding Action Scripting to the Server-side afterDialogValidate event
Action Scripting gives us three options:
Redirect to another page.
Enter another record.
Edit the record just submitted.
The first is easy to understand if you imagine you are purchasing something
on the web. Once you enter your name and address, you are redirected to the
next page that asks for credit card info.
On the other hand, if you were a company employee entering an order, you
would want to go to the next record upon completion of the first.
In this case, we will use the last option. Staying on the same record will
demonstrate how it can be entered and then edited.
In each case, additional Xbasic can be entered to further define the developers desires.
94
a. Click
b. Server-side
your cursor above the blue line in the code workspace as indicated above.
ACTION SCRIPTING
d. Click
Action Scripting.
e. Choose
OK.
i. Display
j. Click
OK.
*. For more information, go to Video #D19, Field level validation in the DialogValidate event.
. For advanced users wishing to check their Xbasic code.
95
The code is entered. Note that the actionable code appears in green.
The text in blue (above) is preceded by an apostrophe (). This tells Alpha
Enter 101.
c. Press
Submit.
Since we selected Edit the record just submitted as the Server-side Event, the
record remains on the screen.
Now, lets look at the table to see what happened.
15. Click the Control Panel tab at the bottom of the screen to go to the
database workspace.
16. Control Panel > Tables / Sets tab: Navigate to the clients table and
double click to open the default browse.
17. Click CTRL + END to go to the last record.
Your entry should appear.
The auto-increment field has been honored, even though we entered
a different value in the textbox.
18. Web Projects Control Panel > Click the Control Panel button on the
upper toolbar.
96
value.
Since the end user cannot enter a value, it is confusing to have the control on
the layout, so we will hide it from view.
22. Return to Design Mode.
Hiding a control
Hiding a control removes it from the view of the end user. In this case, it will
still be auto-incremented at the table level, but it will not be visible in Preview
mode.
FIELD PROPERTIES
PROPERTIES: [CUSTOMER_ID]
Hide: Yes.
in Design mode.
97
All it takes is a simple click to activate the device simulator that makes the
preview look like an iPhone or iPad.*
But. There is a bit more to it than that if we want it to look and behave look like
one in the above screen shot. First, we will save this one as a new component.
4. Return to Design mode.
5. File > Save As: MyBasicMobile.
98
We could spend all day telling you about Panels, but the best way for you to
understand them is to watch the videos that we recommended at the beginning
of this chapter. If you have not already done so, DO IT NOW and then come
back to our component design. Youll be glad you did!
GO TO ALPHA VIDEO
These videos are required watching for anyone even slightly interested in
Mobile apps.
Understanding Containers
The Container is another fundamental element that is used in Grid Components, as well as the UX. Just as the term implies, placing one or more elements
in a container tells Alpha Anywhere that these items are to be packaged
together. Sometimes a container will hold a single item, other times it will hold
multiple controls. Like the other controls, containers have properties that can be
defined.
A Panel is one type of container; a Frame is another (page 65).
Now that you are totally up-to-speed on Panels and Containers, the rest of
our design will make more sense.
b. Click
OK.
99
While we created them as a pair, the beginning and ending controls are actually separate and can be move independently. For example, in this case, you
could have inserted both at the top and moved the End control to the bottom by
using the arrows at the top of the control list.
100
FOOTER
SEPARATING THE
BUTTONS
17. Move [Button: Submit] and [Button: Reset] down into the Panel
Footer section as shown above.
We want to separate the buttons and have them appear on the left and right
sides of the footer.
18. Select [Button: Submit].
19. Click Other Controls > [TabStop].
[TabStop] works only inside Panel Headers / Footers.
UX PROPERTIES
We want to give the component some color and use a style suitable for
mobile apps.
20. UX Navigator: Go to Properties.
Style name: MobOlive.
21. Save the component.
22. Go to Preview > Full Preview to see your first mobile design!
23. Check out the various views.
24. Test it out by entering some info and then checking the table
to see the entry.
Sweet!
25. Close the table and the component.
To be continued!When you get your copy of Alpha Anywhere Web & Mobile
Made Easy, head to page 117 to continue your UX learning experience.
101
GO TO ALPHA VIDEO
Alpha Anywhere provides a URL. You can use the following methods to get
it to your device:
QR Code. A QR code is generated. Requires a QR Reader be
installed on the device. Available at the App Store.
Email: A URL is generated that can be emailed to the device, where
the link is clicked to open a page in the Browser in the usual manner.
We will leave the details to the video.
Videos > Filter: Enter Phone. Choose:
UX_V12--32. Testing on a Phone or Tablet.
This dialog is difficult to reproduce, so we will just hit the highlights here.
The options are:
Send an email with the URL of the test page.
Requires that you configure your email settings SMTP server, user
name, password, etc.
Display a QR Code with the URL of the test page.
102
If the device and host computer are not on the same WiFi network, do
the following:
a. Host
b. Click
c. Select
*. We had mixed results with this one. Sometimes the IP option worked better.
103
Notes:
104
Chapter 4.
Page
107
107
108
108
110
113
Taking Notes
114
Printing topics
115
116
Window style
117
117
Sending feedback
117
117
Filtering
118
Search Syntax
118
Category links
118
Search results
119
History lesson: You may come across pages in the documentation marked, Enterprise Edition only.
Alpha Five V7 sold with (Enterprise) and without web workspace access. Alpha Anywhere (Alpha Five
V12) comes with all features so you can ignore this message.
Missing code: You may not be able to see the examples given for code on some pages. If that is the
case, click the page link at the bottom to view the page in the Wiki.
ADO has been replaced by AlphaDAO. Grids using ADO do not have AJAX capability. Supported for
backwards capability only.
Reprinted from Alpha Five Help! by Susan Hussey Bush, Liberty Manuals Co., Oakhurst, NJ, 2012
106
If you are new to Alpha Anywhere, you may have heard references to the Wiki.
That is the nickname of Alpha Anywheres on-line help system, also called Alphapedia.
We caution you that it can be a bit tricky to use.
But. Not to worry. The Documentation Viewer and Video Finder will find all the references seamlessly and you wont even have to leave the Alpha Anywhere environment.
So, just think of the Wiki as the engine of the car. Its there, but all you need to know
about starting it is how to turn the key (or push the button), take it out of park and step
on the gas. Thats Job 1 for this chapter.
The Documentation and Videos buttons are on the main toolbar and are available at
either the Web Projects Control Panel or the Control Panel.
107
We mentioned earlier that the DV can be used without an Internet connection. This is
true for the most part. One exception is that, the first time a page is displayed, an Internet connection is required in order to see the images.
Once the page has been displayed with an Internet connection, the images are
downloaded from the server and cached locally. Therefore, the next time that particular page is opened, the images will be displayed even when you are not on-line.
*. Sorry if I sound like your mother here - but, you gotta to do your homework - now! SHB
108
OPENING PAGES
Topic pages are opened by selecting an item from the left pane.
One click open: Each time you select a topic in the list, its page is opened
in the right pane.
Viewing open pages: When
you have a lot of pages open,
do the following:
a. Click
b. Select
c. Click
the page.
OK.
One page is always open. The system requires that at least one page be
open at all times. To close unwanted pages, see Closing pages below.
NAVIGATING
As you saw in the video, it is easy to get around using the back, next, up and down
arrows.
Back and next arrows: Moves back and forth between pages.
Up and down arrows: Moves up and down on the list.
When you use these to move to a new topic in the list, the page is also
opened. Handy for opening a group of pages that are listed sequentially.
CLOSING PAGES
the arrow at the right side of the tabs for a list (red circle
above).
b. Select
c. Click
BREADCRUMBS
Breadcrumbs show where the page is located within the Alpha Anywhere Wiki
structure. By default, you will find them at the top of the topic page as below. You may
turn them off or have them appear elsewhere, if you like.
We recommend you keep them on, at least in the beginning, because they can be
handy for navigating upwards in the structure. In the example below, you could click on
References or Functions for additional references.
We suggest you experiment. Sometimes the links are useful, other times not.
109
a. Preferences
Yes or No.
b. Preferences
c. Select
TRIM Function.
Finds every occurrence of the entry full or partial word, highlighted in red.
When you select Full text search, a Go button appears.
a. Type:
arrow).
b. Click
Go (red circle).
MULTIPLE SEARCH
CRITERIA
Finds instances of up to five designations. Results are shown in the Search Results
tab as above.
Wildcards * and ? are permitted, such as SQL*Select*Statement (finds only
records with all entries).
Found text is highlighted in red as above.
110
a. Click
b. Enter
OK.
Search again.
e. Enter
Now would be a good time to experiment with some more searches so you get a
good sense of how everything works. Will save you time down the road.
TABLE OF CONTENTS TAB
The Table of Contents tab shows the search criteria in a tree format. We entered grid
component in the Filter to get the result below.
Drilling down the various sections, opens the page references.
The TOC can be useful for finding topics in a very long list.
When a topic is selected in the TOC, the selection is refelected in the Topic
List (inset) and vice versa.
Each time you do a Full text or Multiple criteria search, the results are displayed in
the Search Results tab.
When you first open the DV, there is no Search tab.
111
When you do a Full text search or use the Search button for multiple criteria, the tab is automatically opened and the results displayed.
Each new search replaces the previous one.
When you close the DV, the search contents are cleared.
SYNCHRONIZED SEARCH
Video #3 explains Synchronized Searches very well so well save a few trees and
skip it here except to note that, if you are in the process of learning Xbasic and/or are
serious about writing code and dont yet have a second monitor, this just might be the
time to get one.
a. To
b. Synchronize
Default = No.
FUNCTION HELP IN THE
EXPRESSION BUILDER
When writing expressions in the builder, you can get function help by pressing F1 or
clicking Help on Current Function. This will bring up the Documentation Viewer
page. If you only have one monitor, you will need to close the page before continuing
with the expression.
Heres a work around for keeping the page open.
a. At the Expression Builder, place the cursor in
the middle of the Function (upper).
112
Its quick and easy to save your frequently used topics in Favorites. At this writing,
topics are added in the order saved most recent at the bottom and there is no way to
group or alphabetize them, so a long list could become unwieldy. Keep Favorites short
and use Lists (below) for more lengthy topics.
a. Filter:
Enter trim.
LISTS
Lists are great for saving groups of pages. The important thing to remember is that
they save the open pages not items in the Topic List (see screen shot below).
a. Filter:
Enter trim.
c. Right
click on the Trim page and select Close all but this tab.
SAVING
a. Click Save the current list of
open topics on the toolbar (red
circle).
RETRIEVING
a. Click
b. Name
of list: Trim.
c. Click
OK.
b. Select
Trim.
Note that Topics in List contains only the open page (inset above).
ADDING PAGES
Pages can be added to a list. This operation overwrites the existing list. In order to
add pages, you need to open the original list first.
a. Click
b. Name
The original pages in the list are now open in the right pane.
c. Open
d. Click
e. Name
113
f.
Click OK.
Alpha Anywhere recognizes that you have changed the list and
asks if you want to overwrite.
g. Overwrite
DELETING PAGES
b. Name
c. Click
d. Delete
e. Click
OK twice.
Taking Notes
Notes are well described in Video #4. Here are the settings and some additional
thoughts.
ADD NOTE TO EXISTING
PAGE
You can annotate any page. Depending on where you have located the notes, these
may or may not be shared with a work group (see Notes directory on page 115).
a. Enter
b. Select
c. Click
TRIM Function.
e. Enter: The Trim function is good, but Alltrim is better. Add your initials and the date.
f. Click
OK.
User Notes.
You can create your own topic pages. They can be found as any other
you close and reopen the Documentation Viewer.
a. Click
HINT!
b. Choose
c. Specify
Choose a naming convention for these pages in advance. For example, start them all
with My. It will help you locate them later. You could also add them to the Favorites
tab or create a List for them.
d. Enter
RETRIEVE
114
AFTER
EDIT
DELETE
a. Click
b. Confirm
NOTES DIRECTORY
deletion.
To identify and/or change the directory where the Notes are stored, go to:
a. Preferences
b. Choose
SQL or DBF.
c. Complete
dialog as indicated.
Printing topics
Printing is done to a PDF file which you can then print out if you like. You can print
a single page or combine multiple pages into a book.
SINGLE PAGE
a. Select
b. Click
Printing multiple pages will result in a PDF document with a Table of Contents and
Bookmarks.
a. Open
b. Click
115
e. Click
f. Click
OK.
tion.
OK.
You are then notified that the DV will be closed and reopened.
c. Click
SETTING A REMINDER
OK.
b. Right
You can have Alpha Anywhere remind you to refresh topics when you open the DV.
a. Preferences
116
Window style
You can have the window appear as MDI or Modeless. This is well illustrated in
Video #3.
MDI allows you to move from window to window. Recommended for use
with single monitor. Default.
Modeless means that you are locked in the window until it is dismissed.
Good for users with dual monitors.
The setting is located at:
a. Preferences
b. Preferences
Default = 20.
Sending feedback
There is a button at the bottom of each document that will open a window where you
can submit comments on the topic directly to Alpha Software.
a. Select
b. Enter
c. Click
Send Feedback.
This feature is not available if you add notes (page 114) to the topic page.
117
Filtering
At its most basic, filters are defined by making entries into the Filter box. There are
ways to narrow the search, however.
Use the Search Syntax.
Choose from the Quick Links to Categories listing.
Choose a Category from the drop down list.
SEARCH SYNTAX
The Search Syntax is handy at all times. Just click the link (screen shot below):
To find multiple search phrases, combine them with the double && or | | operator
(pipe symbol). No spaces between words / symbols.
Find all videos that have the word grid and component:
Filter: Enter grid&&component
Find all videos that have the word grid or component:
Filter: Enter grid||component
CATEGORY LINKS
You can narrow filter entries by selecting from the Quick Links to Categories or the
Category drop down list. The lists are different and subject to change at any time.
If there is no entry in the filter box, the links jump to
the topic selected.
CATEGORY QUICK LINKS
a. Click +/- next to Quick Links to Categories (red
circle).
Enter overview.
118
SEARCH RESULTS
REFRESHING
The number of videos found is listed to the right of the Category list (purple above).
Just as with the DV, you will need to refresh the video content from time to time.
There isnt a separate reminder for this, so we suggest refresh each time you open the
Video Finder. The button is at the upper left of the screen (green check above);
Can you believe thats all there is to Video Finder? Were done!
119
Creating Reports
There is no need for a separate report writer because full capability is built-in to
Alpha Anywhere. Add reports to your web/mobile project so everything is in one place.
Alpha Anywhere Report Writer, Reporting and Charting Made Easy
(v12)
Comes in Hard Copy, CD and Electronic Download Edition.
The perfect companion to the above book.
Available at www.LibertyManuals.com.
Learning Xbasic
Xbasic is used for server-side programming. Most of you programmers will come to
Alpha Anywhere knowing Microsoft Visual Basic. As a result, the transition to Xbasic
120
should be an easy one. These guides will show you how to learn this more powerful programming language that has been developed specifically for Alpha Anywhere.
Alpha Anywhere Xbasic Workbook by Dr. Peter Wayne. (V8 and
later).
Comes in Hard Copy, CD and Electronic Download Edition.
Explains how to use Stored Procedures.
Available at www.LibertyManuals.com.
Alpha Anywhere Xbasic Toolbox, Writing Code Made Easy (V11 and
later).
Comes in Hard Copy, CD and Electronic Download Edition.
Learn how to use the many tools that make programming
easier and faster.
Explains the Debugger and AJAX callbacks.
Available at www.LibertyManuals.com.
121
Notes:
122
Chapter 5.
Dazzling Design!
Page
125
126
Learning Xbasic
127
128
128
130
132
JSON
132
The following sections in this chapter have been reprinted from Alpha Anywhere Web & Mobile Made Easy,
The Basics and More for Version 12 by Susan Hussey Bush, Liberty Manuals Company, 2013.
Understanding Alpha Five Security (page 125).
Understanding the Client / Server Model (page 126).
124
Security is fully detailed in the free book that comes with your purchase of Alpha
Anywhere. Our purpose here is to explain the development principles.
You only have to know one thing well, maybe two things. Alpha Anywhere Security is extensive and rock solid. You can use it to govern access to individual components or pages and/or the entire project.
OK we know you want to know a bit more than that! The following description of
how the system is implemented is from the transcript of an interview of Jerry Brightbill,
Senior Developer and Architect at Alpha Software, Inc., by Alan Ashendorf, host of the
Lets Talk Computers radio talk show.
Because it was built into the Server System, every page, every file requestand
that includes JavaScript files, CSS (Cascading Style Sheets) files, imagesall of them
are checked against the Security. When Security is checked, a couple of things are
loaded into memory from the server.
We load a list of all the pages that are available.
We load in all the Security for those pages.
We can set Security for each page or we can set Security by File Type. For instance,
we can allow all JavaScript files. What happens when a page request comes in, if
you have a page that has JavaScript, Style Sheets, or images, every single one of
those components is checked against that Security.
And because it is built into the Server System, there is no way to get around it.
125
So, every File Request that comes in is checked against the Security, automatically,
in the background.
FOR THE REST OF US
The Security System in the server is already built into the server; that's automatic.
It's turned on and off by [two simple check boxes]. *
All the supporting code is pre-written so that it doesn't require the user to write anything.
The Security Framework is based on establishing Users and Groups, their permissions and passwords. Then each page is defined as Denied, Always Allowed or Login
Required. The Framework checks each page for its requirements. When a Login is
required, the user is automatically directed to the login page. User ID and password
(optional) parameters are entered and the project page is pulled up only by authorized
users.
Whats that? you say. So easy, even a non-programmer can do it? No surprise,
I say,
*. In his transcript, Jerry actually said It's turned on and off by one simple check box. Technically, that is true once security is
enabled, you only have to check or uncheck Web Projects Control Panel > Web Security > Web Security Configuration > Security
Active. But, in order for it to work in the first place, the Security Framework must also be enabled (Top Menu > Web > Application
Server).
. Brightbill, Jerry; http://www.alphasoftware.com/press/letstalkcomputers/alphafivewebsecurity.asp. December 30, 2006. You can
also Google Alpha Five Version 8: Web Security FrameworkRight From the Start. We recommend everyone read the full text of
this excellent review of Alpha Anywhere web and mobile security.
Bullets and other formatting added. SHB
126
convenient way to interconnect programs that are distributed efficiently across different
locations.
CHECK YOUR BANK BALANCE 2 ROUND TRIPS
Computer transactions using the client/server model are very common. For example, to check your bank account from your computer, a client program in your computer
forwards your request to a server program at the bank. That program may in turn forward the request to its own client program that sends a request to a database server at
another bank computer to retrieve your account balance. The balance is returned back to
the bank data client, which in turn serves it back to the client in your personal computer,
which displays the information for you.
The client/server model has become one of the central ideas of network computing.
Most business applications being written today use [this] model.
In the usual client/server model, one server, sometimes called a daemon, is activated and awaits client requests. Typically, multiple client programs share the services
of a common server program. Both client programs and server programs are often part
of a larger program or application.
Relative to the Internet, your Web browser is a client program that requests services
(the sending of Web pages or files) from a Web server (which technically is called a
Hypertext Transport Protocol or HTTP server) in another computer somewhere on the
Internet.*
Learning Xbasic
Xbasic is Alpha Anywheres programming language for the Server-side. It is quite
similar to Microsoft's Visual Basic and shares many of its language elements and functions, however, Xbasic has many additional and different features. Many commonplace tasks that would take many lines of code in another language take only a single
line of Xbasic.
Xbasic is a derivative of the original BASIC programming language. The core of
Xbasic contains the original set of command statements that allowed you to create variables, do calculations, write to the screen, print, and much more. Xbasic has expanded
far beyond the original BASIC core language to include thousands of functions and
methods that make the process of working with tables, records and reports much easier and the development of applications much faster.
The beginning programmer may want to take a side trip to go through the Learning Xbasic tutorial (see Go to A5 Help below). It will help you understand many of the
fundamental concepts of the Alpha Anywhere environment.
The more advanced programmer will find that the Alpha Anywhere Help has a tremendous amount of reference material and working examples that can be copied and
modified. You will also find a very supportive and helpful developer community
eager to answer your questions at the Alpha Anywhere Message Board.
*. Client/Server definition: SearchNetworking.com; http://searchnetworking.techtarget.com/sDefinition/0,,sid7_gci211796,00.html,
Jan. 23, 2008.
. Alpha Anywhere Documentation: Table of Contents > Tutorials > Learning Xbasic: Introduction Learning Xbasic. References to
Alpha Five changed to Alpha Anywhere. SHB
127
There is a wealth of information about Xbasic, including a tutorial. If you are new to
Xbasic, we recommend you start here:
GO TO A5 HELP
GENERAL
TUTORIAL & REFERENCES
b. Tutorials:
A5W PAGES
Learning Xbasic.
c. References:
Functions.
d. References:
Methods.
e. References:
Xbasic.
FUNCTIONS
There are an almost infinite number of pages on functions. Most are for advanced
users. All users should be familiar with those on the first page listed below.
Documentation > Filter: Enter the following pages.
Core Functions for Writing Expressions. For all users, even non-programmers.
Web Application Functions. Web functions and links to syntax.
Advanced.
How to save frequently used scripts and functions for future use.
Documentation > Filter: Enter Compiling Scripts and Functions.
128
a. WPCP:
b. Component
d. Query
e. Base
f. Click
The procedure is quite straight forward. Add one or more tables and
then choose the Columns (fields),
Filter and/or Order.
STORED PROCEDURE
Read the Important note at the bottom of the dialog before proceeding.
You will find entries for SQL, SQL Query and Stored Procedure.
SQL QUERY
There are quite a few entries, mostly for Functions and Methods.
Documentation > Filter: Enter sql query.
a. Click
b. References:
129
SCENARIO
PROPERTIES: <BILL_STATE_REGION>
onClick: Click the button.
Dialog: Edit onClick Event
a. Choose
b. Click
Action Javascript.
c. Choose
d. Grid
e. Grid
f. Choose
g. Link:
Yes.
h. Textbox:
i. Click
Add Field.
j. Field
*. This page mentions that an Enterprise License is required. Alpha Five V7 sold with (Enterprise) and without web workspace
access. Alpha Anywhere (v12) comes with all features, so you can ignore this message.
130
ADVANCED USERS
To learn how to set the link value to the result of a function call, click Calling a
Javascript function to set a link value.
k. Click
OK (4 times).
l.
m. Click
Editing can be done by staying within the genie or with custom code.
EDITING
8. Close the component and then learn more with the following:
There are lots of videos and documentation for this great feature.
Videos > Filter: Enter Action Javascript.
Scroll the list to get an idea of the available actions.
Documentation > Filter: Enter Action Javascript.
These entries are all worth examining. Remember, the v10 Feature Pack
for Lookups is included with your V11 software.
JAVASCRIPT
JavaScript is used for client-side commands. It has many, many entries, including
some reference sections.
131
b. Whats
c.
Documentation > Filter: Enter CSS. There are several pages, including:
New CSS Style Builder V11.
Videos > Filter: Enter CSS. Choose:
M35. Abstract CSS Class Names.
JSON
GO TO A5 VIDEO
These videos provide a detailed overview of consuming and processing the JSON
results from the Twitter Search API.
Videos > Filter: Enter JSON.
D40. Processing JSON data to display feeds from Twitter in Alpha Anywhere.
Also used in the Calendar Component.
Thank you!
For the opportunity to show you some of the fabulous features of Alpha Anywhere.
We hope this has given you an understanding of how the program works and of the
many ways you can tailor it to meet your needs.
If you have any questions or comments about Alpha Anywhere, please do not hesitate to contact Richard Rabins at: [email protected].
If you have questions or comments about this Quick Start Guide, please contact
Susan Bush at: [email protected].
132