Chapter 2 - Installing, configuring and test-running

To Install
Support files you may need.
Optional but recommended: download and installation of MySQL
After setup - guide to your resulting PixieEngine folder.
Terminal emulator setup.
Suggested exercises and guide to the example programs.


To Install:

  1. Download "PixieEngine.zip"
  2. Unzip it into a folder
  3. Run "Setup.exe"
  4. For an immediate test, run "PixieLink for PixieEngine" from the Menu or installed file folder.  Login as "john" with a password of "john".   Run the suggested terminal exercises and example programs listed at the end of this chapter.


Support files you may need

The PixieEngine download is kept to a reasonable size of about 1.1 MEG by leaving out files that are often installed and used by other programs. The 2 support packages you may need are:

  1. PixieWare Common Files (2 Meg) .
    You will already have these if you have previously installed any of our PixieWare, or any other software authored with Visual Basic 6.0 , or if your test machine also has VB6. If unsure, just try running "Setup.exe" as in step 3 above and if it gives an error message, that means you need to install this first.
  2. Microsoft Data Access Components ("MDAC") (6.5 Meg)
    Any need for this will show up as soon as you try to test run, usually with an "Error 91" message.
    If the 6.5 Meg size of that download is a problem, try searching
    for it by its filename "MDAC_TYP.exe" on any CD from Microsoft,
    they park it on nearly everything, even promotional freebies and demos.


Download and Install MySQL

PixieEngine installs initially as "Access/Jet DataStore", but this is a lightweight datastore which makes installation to a working demo stage quick and simple. To see the full performance, you need:

  1. MyODBC - install on the same machine as PixieEngine. You do NOT need to create "DSN"s. PixieEngine handles ODBC connections automatically.
  2. MySQL - while PixieEngine is a Windows system, it can use MySQL on Linux or MySQL on Unix as its datastore.
  3. Copy sample data folders "dm" and "testpxe1" into the "x:\MySQL\data" folder. These sample data files are in Windows format. If using a Unix MySQL, you need to either convert that data with "MySQLDump" or download our v3.23 "universal format" sample data files.
  4. EITHER create user "john" in MySQL or add an existing MySQL user to the dm.users file/table.


After setup - guide to your resulting PixieEngine folder

By default, Setup.exe installs PixieEngine into folder C:\Program Files\PixieEngine
but you do have the option to change that. The resulting folder contains:

NOTEs on files and folders: in descending order of your need to deal with them.

PxEngLink.exe

GUI and Terminal Emulator front end.
Start your trial with this, login as "john" with a password of "john".

PxEngConsole.exe

Visible front end for configuration and control of PixieEngine.
Windows menu item in "Start -> Programs ->PixieEngine".
The "Classic" sockets server as supplied requires you to start it manually with PxEngConsole.exe.
You can make that automatic by creating a shortcut in "Startup" with a command line argument of "start" eg
"C:\Program Files\PixieEngine\PxEngConsole.exe start"

JetMDB
(FOLDER)

Contains "Access/Jet DataStore" accounts, each account being emulated by a ".mdb" file. We provide 2 test accounts: "dm.mdb" and "testpxe1.mdb".
You can open these directly with Microsoft Access to get a quick look at some PixieEngine ideas.

PxAppTemplate
(FOLDER)

VB Project. VAR-programmable-app source code for the supplied examples. You start creating an App by copying this folder.

PxEngTest.exe

Test client. Automatically does an item "RReadU", alters the item with a random number generator, and does a "WWrite" back, all on an approx 2.5 sec repeating cycle.
You can start this multiple times to stress-test PixieEngine on your system. Give 2 or more instances the same ItemID to test record locking.
Windows menu item in "Start -> Programs ->PixieEngine", but multiple-start is easier from "Windows Explorer"

ComClientTest
(FOLDER)

VB Project. Source code for PxEngTest. Gives examples of use of direct ActiveX connection methods.

dm
testpxe1
(FOLDERs)

Example "Accounts" for MySQL. When using MySQL, copy these folders into your MySQL "data" subfolder.

PixieEngine.dll
PxEngFns.dll

Core components. You deal with them directly when you program apps with Web or Custom(ised) GUI front ends, using Microsoft's ".asp", "IIS Webserver", "VBA", "ActiveX", "COM", "MTS", "COM+" and/or "DCOM" technologies.

PixieEngine.ini
PxEngSocket.exe
PixieLink.ini

"Behind the scenes" configuration files and components servicing other components.

 


Terminal Emulator Setup

PixieEngine at the time of writing (13 Jun 2000) only supports the "mm-mon" terminal type with 25 lines per screen. This is fixed with no provision for any "telnet negotiation protocol"
The "Socket Server" is setup by default with a TCP Port number of 7401.  It can run on the conventional 23, and we only give it a different number because of its tendency to by trialled by PICKies who already have 23 in use on their machines. 
Note that the new (July 2000) Socket Server follows convention in that all clients connect on the same TCP Port number.  If you prefer the "nailed ports" convention we can supply an alternative Socket Server on request.

Telnet, the freebie program provided with Windows, will work well for simple "teletype" test programs eg our "test2". The only "trick" is in the settings where you need to overwrite the default "port" setting "telnet" with "7401" etc.

 

Setup for Accuterm 97:


The "tag 3" form is shown with the "Advanced" button clicked. Substitute your own host computer name.

Under tag 4, "Term Type", select "PICK PC Monitor"

 


Suggested exercises and guide to the example programs

PixieEngine comes with a "dm.users" file giving you our names as users with the same as passwords. You should mostly use user "john" with a password of "john" who has a macro of "logto testpxe1". Other users eg "andrew"; password = "andrew", start off in "dm" where there is nothing much of interest to do (yet) except to manually "logto testpxe1"

"Classic" Terminal TCL, test1, test2, disptest, pxu1000
We anticipate most PixieEngine users would take advantage of Microsoft Access and other GUI front ends to do TCL-type operations. The reason for providing TCL is to give you a quick and easy way of comparing PixieEngine to classic MVs in a familiar environment. We also found TCL-emulation to be an interesting r&d challenge with good spin-off benefits.

  1. Start PixieEngine Console (PxEngConsole.exe). Do any necessary configuration, then click "Start TcpPorts".
  2. Start your terminal emulator and configure as necessary - see previous section.
    "Tickle" PixieEngine with (hopefully) one only press of the Enter key.
    On prompt, login with username "john" and password "john".
    You should get a welcome message and a colon ":" prompt.
  3. Try TCL commands who, listu, listf
  4. Try SQL queries from TCL. NOTE PixieEngine identifies these as SQL by you ending them with a semi-colon. PixieEngine is starting to support some custom and classic MV queries and the "end-with-semi-colon" is the flag for SQL rather than custom/classic.
    select * from banks;
    select a0, a1, a2, a3 from prod;
    select a0, a1, a2, a3 from prod order by a1;
    select a0, a1, a2, a3 from prod where a1 like '%card%';
    select a0, a1, a2, a34 from prod where a34 < 10000;
    select * from invoices;

    Note that MySQL in its default "case insensitive" mode can handle upper,lower or mixed case in queries, EXCEPT that it needs you to be consistent with file and attribute names that get repeated.
    Eg you could have trouble with "select a0, a1 from prod order by A1;"
  5. umenu
    Use this only with the supplied "PixieLink for PixieEngine" GUI front end  PxEngLink.exe.  Sample App driven by a GUI menu.
  6. test1  (or run px1.bp test1  see file md for how program q-pointer works )
    Simple "teletype" style program that does nothing more than echo back your entry on the next line. Quick check that VAR-programming is working. Check out test1 source code later.
  7. test2  (or run px1.bp test2  see file md for how program q-pointer works)
    Simple RRead/WWrite/WWriteV checker.
    Example dialogue:

    : test2

    Input Table to open: eg prod
    (or X to exit)prod

    SUCCESS (0.2265625 sec) ; FileVariable = testpxe1.prod
    Input ItemID to lookup eg 1011 :1011
    RRead SUCCESS (0.3828125 sec), Item =
    Edible Dot Matrix LQ1070 (24 Pin)þ1100þþþtech þþþþþ1þþEachþþþþþþþþþþþþþþþþþþþþþþ58700þþþþþþþþþþAppro-Andrew ACCþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþNþþþþþþþþþþþþþþþþþþþþ

    Option: X=Exit, R=new RRead, W=WWrite, V=WWriteV :w
    Enter an Attribute Number to replace :3
    Enter new A3 to test WWrite :TESTXXXX

    Optionally, enter a new ItemId to save-as
    OR just press the enter key to rewrite "1011" :
    WWrite SUCCESS (0.109375 sec), program will now start again
    with RRead and you can check this edit by repeating this Item
    Press Enter to continue ......

    Input Table to open: eg prod
    (or X to exit)prod

    SUCCESS (0.21875 sec) ; FileVariable = testpxe1.prod
    Input ItemID to lookup eg 1011 :1011
    RRead SUCCESS (0.0625 sec), Item =
    Edible Dot Matrix LQ1070 (24 Pin)þ1100þTESTXXXXþþtech þþþþþ1þþEachþþþþþþþþþþþþþþþþþþþþþþ58700þþþþþþþþþþAppro-Andrew ACCþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþNþþþþþþþþþþþþþþþþþþþþ

    Option: X=Exit, R=new RRead, W=WWrite, V=WWriteV :
  8. stest1
    Same as test1 but achieved with VBSCRIPT.  Look in folder "script1" and find the source code as "stest1.txt" and "mycase.txt".
  9. disptest
    Note: disptest requires "mm-mon" terminal type support.
    This "display test" runs the TTag function, equivalent to "@(x [,y])
    through some colour variations.
  10. pxu1000
    This is a data entry screen with simplified navigation: Enter to move to next field,
    "/"+Enter to go back, "q"+Enter to quit the sequence thenf"+Enter to save the edited item.
    The file "cust" has items with ItemIDs of pobo, macbeth, maestro, kts
  11. Startup more than one instance/copy of your terminal emulator on more than one machine if possible, and repeat some of these, but especially listu from TCL
  12. Try restarting "PxEngConsole" nominating a large "number of ports". Some lower-powered machines may give a sluggish response if you are running 50 ports.  Please let us know your results.
END of suggested classic and GUI terminal exercises.

"Object Oriented" Test Program "PxEngTest.exe" with multi-user stress-testing capability.
Automatically logs in as "john" and opens file "prod". You enter the ItemID.
"prod" has ItemIDs 1011, 1012, 1013, …
Automatically does an item "RReadU", alters the item with a random number generator, and does a "WWrite" back, all on an approx 2.5 sec repeating cycle.
You can start this multiple times to stress-test PixieEngine on your system. Give 2 or more instances the same ItemID to test record locking. Multiple-start is easiest from "Windows Explorer"

NOTE: to use PxEngTest.exe with MySQL, you will need to create a user "john" with a password of "john".


Top     Next = Chapter 3: VAR-Programming