/  30-Day Free Trials  /   Site Map  /   About Us  /  Contacts & links  /  Products  /  Demonstrations   / Home page   /

PixieWare Software Documentation

PixieWeb® Documentation

This document is being re-written to cater for the differences
between generating HTML from PICK, and from other
text-based languages. In the mean-time, users of non-PICK
languages may substitute their own flavour to PICK oriented
passages found herein.

Table of Contents

Chapter One - (this file)
Overview

Installation 
Client Apps: MS Access loads test data
Web Apps: Overview
Web Apps: supplied examples: Setup
Web Apps: IIS Webserver
Web Apps: PWS Webserver
Web Apps: MV Engine logins
Extra Security with PixieCrypt
Other supplied Utilities

Web Apps
Chapter Two
 - ASP Scripting, editing tools, methods, hints, tips.
Chapter Three - Example "StockByCode"
Chapter Four  - "Book catalogue", "Drill down"
Chapter Five - PICKBASIC "backserver" programs
Chapter Six - "Session" and "Field-by-Field"
Chapter  Seven -Field-by-Field Apps

Client Apps
Chapter Eight - PWExcel, Office/VBA as front ends

Reference
Appendix - Object Methods and Properties


Overview

"PixieWeb" is a toolkit for moving information in and out of telnet server datastores. It began as an enhancement  for the Microsoft IIS Webserver to give IIS consistent and reliable connectivity to a range of MV Engines, hence the name. 
It now also supports direct server connectivity for clients like your custom VB programs, MS Word, MS Excel.

The core of the product is the COM connectivity object "PixieWMA.clsAgent".  This "socket with attitude" connects to the main telnet TCP/IP port(s) of an MV Server in a way similar to terminal emulators.  So you get the reliability, speed and familiarity of that rock-solid time-honoured connection method, enhanced by tag-formatting of the text-stream conversation, and enhanced by the object-model presentation of the result for your consuming scripts or programs. 

You can adapt existing PICKBASIC apps or do most new work in server-side PICKBASIC.
OR you can setup "PixieWeb" for general connectivity then do all work in
VB / VBSCRIPT / JAVASCRIPT / Office-VBA or any other COM-aware language/toolkit.

"PixieWeb" comes with resources for building our distinctive Field-by-Field (FBF) Web Apps, as well as supporting the common Web App model of batch submission of forms.

"PixieWeb" is sold as an unlimited-use server licence.  Check with us for special pricing for your conditions eg Enterprise Licenses for many-server sites, or concession pricing for small sites or specialist small-scale use. 


Installation

Open "PixieWeb.zip" with "Winzip" then click the "Install" button ...
OR unzip first by any means, then run "Setup.exe"
This runs a standard windows installation after which "PixieWeb" is ready for use with client apps.

The PixieWeb objects and other resources install by default into "C:\Program Files\PixieWeb"
Resources: eg example apps and web-apps with source code, are loaded into sub-folders off this main one.
At this point you can run and should run the test program "PixiePeekaboo.exe", a simple terminal emulator.
Note that your command/request is in an upper entry field, separate from the lower box showing server response.

You may need to do some post-installation depending on where you are interested in going next:


Client App "testpxe1.mdb": Loading test data from MS Access
(requires MS Access 97/above)

  1. create-account testpxe1
    To mirror us, also create a user "john" with password "john" accessing this account.
    Your administrator may, however, demand a new password at the least, in which case you will need  
    to edit "john" where it appears in the supplied examples.
  2. create-file BP_PX to hold PixieWeb utility PICKBASIC programs
    A syntax which will work on most MV Engines is: CREATE-FILE BP_PX 11 11
    Some, eg Ultimate Plus, require CREATE-FILE BP.PX 11,1 11,1
  3. Load the supplied smallest-possible get-started program PX.BOOTSTRAP, compile and catalog it.
    If you have no direct load method available from Windows, you can just type it in using the ED editor.
    We made it small to ease the pain of that method.
    NOTE lines 21-26 are for "Ultimate Plus", leave them out for other Engines.
    *ULTPLUS SPECIAL
    CONVERT "~" TO CHAR(254) IN S
    CONVERT "}" TO CHAR(253) IN S
    CONVERT "|" TO CHAR(252) IN S
    CONVERT "{" TO CHAR(251) IN S
    *END ULTPLUS SPECIAL
  4. Open "testpxe1.mdb" with Microsoft Access.
    Select Forms: MVExport
    The form acts as a primitive terminal emulator, similar to "PixiePeekaboo".  The purpose is to login to TCL in "testpxe1" or other target account. ("TCL" = the base terminal conversation state with no programs running).  You can test you have successfully arrived by sending TCL commands like "WHO".
    Then click on "Step 3" to start the Data Export routine.
    Progress messages appear in the response window as the routine runs.

    Source code is viewable under Menu:View --> Code
    The significant routine is 'Private Sub cmdStep3_Click()'
  5. Compile and catalog the programs now loaded into file BP_PX
    You can use your usual conventional terminal emulator, or if you don't have one, login again
    with this MS Access form-as-emulator.
    In PICK engines, use standard compilation, do not use the "flash option".
    Most engines will process all programs with 2 commands:
    COMPILE BP_PX
    CATALOG BP_PX

Web Apps: Overview

Diagram of a PixieWeb system

1. "HTML start" - a page where a user logs in or enters a query. Write it in an HTML editor, eg "Frontpage", or adapt our examples.
2. "ASP Script Pages".   Queries or even complete apps can be written with these.  Or if you prefer to mostly use PICKBASIC(tm) or similar MV BASICs, one of our supplied communication-agent scripts can run the app. 

Scripts can query the database directly, using its native commands; eg a TCL session on PICK D3 which can use PICK ACCESS sentences and/or PICKBASIC programs written to suit "PixieWeb".  ASP scripts are written in a subset of Microsoft Visual Basic, and are pleasantly similar to PICKBASIC programs in their layout and the way they relate to the system (IIS/PWS) they are part of.  Just to make you feel even more at home, "PixieWeb" provides ASP with some familiar PICK functions eg FIELD, DCOUNT, MATCHES, EXTRACT, INSERT, RREPLACE, LOCATE, OCONV, ICONV.

3

"HTML templates", the visible presentation of information given back to the user. 
These can be generated by webserver scripts, or adapted from templates
which can be stored as .htm files on the webserver, or as data items/records
in the datastore and fed to the webserver via PixieWeb.

4

Pixie.Connect - The Pixie object presents itself to telnet datastores (eg PICK, FILEPRO, UNIVERSE) as a terminal user session, connecting via TCP/IP.  This gives Pixie the full range of interaction capabilities with a telnet server datastore that you would have from any terminal or console.  Pixie therefore is friendly to converting existing apps to web apps.  It also has the fast connection and response that terminals have.   As a "COM Object", it can copy "instances" of itself into the WebServer memory, and so serve multiple web users.

The main rule to follow with PixieWeb is to declare a few characters or words of text with which to recognise the end of an expected server response.  When writing PICKBASIC or other server-side programs for "PixieWeb", we start output with "<TX>" and end with "</TX>" ie have definite start and end tags.
Eg program FBF.DEMO1

Alternatively, simple query examples for UNIVERSE, PICK:

Call Pixie.ExecuteET("SORT ONLY cust HDR.SUP NOPAGE",
"records listed")

Call Pixie.ExecuteET("SORT ONLY cust (CN)", "[405]")

Note the "records listed"  or   "[405]"  which is text you would expect to see on the last line of a successful responses.  If ExecuteET can not detect its 2nd argument within the "timeout" , typically 4 seconds, Pixie's "State" property sets itself to "ERROR". For more details, see Appendix:  PixieWeb Methods and Properties.

PixieWeb also offers "screen scraper" functions which lets you use legacy programs, usually simple enquires and reports, without changing them: more on this
in Chapter 3 and the Appendix

PixieWeb uses the power and reliability of well-established PICK D3(tm), UNIVERSE(tm), REALITY-X(tm), MVBASE(tm), FILEPRO(tm) and similar terminal-serving database engines to run Web Apps.


Web Apps: supplied examples: Installation and Setup in IIS or PWS

We assume you are installing "PixieWeb" on a "PC" computer already running IIS for "Windows NT Server" or its "lite" version PWS for Windows 95 etc.  IIS / PWS is a free add-on available over the Internet or on a Microsoft CD at nominal cost.  Note that at present there seems to be 2 quite different Microsoft programs called "Personal Web Server"  or PWS.    "PixieWeb" needs the lite IIS program and will not run with the even-more-lite PWS that comes with Frontpage 97 / 98.
SO: if you have Windows 95 / 98 you need something called the "NT Server Option Pack".  Don't let its "NT Server" name put you off, this particular option is a goer on Windows 95/98.

  1. Run our supplied  setup.exe program, or if you have "Winzip(tm), use its Install button.
  2. Run "PixiePeekaboo.exe" to check that the Pixie object can connect.
  3. Set up the example app folders.  This can include moving them to a website parent folder.
    Then start the IIS Management Console and set "application properties".
    (or for PWS, right click on the  folder view in "Windows Explorer" and set web properties)
  4. Load sample data into your MV Engine.

An IIS / PWS Website is built in a folder usually called "C:\InetPub\wwwroot\".
PixieWeb, its utilities and its example files live in "C:\Program Files\PixieWeb" with examples in subfolders:
PxRes, PxSearch, PxFBF1, PxTerm, PxSearch .  The easiest way to try out the examples is to copy these folders to the webserver root folder then configure the folders with the webserver interface( see below).   Users more familiar with webservers can leave the folders where they are and declare them as virtual directories.  Another useful alternative setup is to put  them in a new parent folder named eg "wwwPx" off "InetPub" and parallel to "wwwRoot" etc.  
Warning! placing them as sub-sub-folders ie grandchildren of "wwwRoot" with a new parent folder off "wwwRoot" causes an unsuitable automatic setup that can be quite messy to fix. 

We often give advanced apps a "twin folder system" for easiest management and best security.  Executable scripts, ie our programs, live in folders where visitors have "script running rights" but are forbidden from reading the scripts.  Therefore images, and some other resources, eg "css" layout style configurations, need to go into a separate folder which does have "read" permission granted:  the supplied example folder is "PxRes" .  Following are the details of how to setup such web app folders.

You then start the example apps with their master menu "mmw" via
http://mywebserveraddress/pxres/mmw.htm
eg
http://127.0.0.1/pxres/mmw.htm


Web Apps setup: Details for IIS on Windows NT Server only
(see below for PWS on other Windows)

You now need to set security and permissions on "PixieInfo_asp".
The IIS Management Console has an "Explorer Interface". Use it to navigate to "PixieInfo_asp", right-click on it and set its properties.

For some advanced work requiring the "Session Object" etc, see Chapter 6, you will also need to declare your folder to be a "Web Application".  Under "Application Settings", click on "Create" and the greyed out entry fields will open. The "Create" button will change its caption to "Remove" as shown below.

Important points are:

With Applications, the default "Configuration" usually works well. However, if you are feeling adventurous, you can click on "Configuration" and speed up waiting times in the "App Options" tab. 

HINT - 50 sec as shown below is a good ASP timeout for production implementations.  BUT while testing, we find it best to shorten that to eg 20 sec.  Any programming errors in your ASP scripts will cause it to hang for that period of time before the debugger kicks in and 50 sec is a long wait to go through for every debugging step!


Web Apps setup: Details for PWS on Windows 98 / 95, Windows NT4 Workstation

NOTE: "Windows 2000 Professional", the cheapest version of W2000, offers both interfaces.  We have found that its "simple management" as shown below gives a bad result =  settings simply fail to stick.  So go with the full-on Internet Services Manager as shown above.

For  a web app folder "PxLogin1".  Using your Windows "Explorer", right-click on folder "PxLogin1".  Select "properties" and click the "Web Sharing" tab.

pws1.gif (7409 bytes)


To make this folder a web app: Click on the "Share this folder" option.
To then configure the  web app:   Select it, then click the "Edit Properties..." button.

pws2.gif (3856 bytes)

Your job now is to get the "Access" check boxes correctly set up.  Make sure "Read" is cleared and "Scripts" is checked.

In general, most Web Applications will involve 2 sub-folders:

  1. "App" containing ASP scripts.  Set this up with "Execute/ Scripts" access. 
  2. "Read Access" resources folder containing images, stylesheets etc.  It may be shared amongst a suite of apps like the    PxRes supplied here.  There is a classic website convention of placing images in an images folder but we have found, with the recent invention of other kinds of resources, that the group-of-apps resource folder makes more sense.

So when scripts show images, you can reference them like this eg
<imgsrc= "../pxres/pws2.gif">


Web Apps: MV Engine logins

The "PxTerm" terminal emulator exampless need no special setup, as they talk freely with MV from first connection.  But it is a worthwhile exercise to "tune up" the "Pixie.ExecutePM ..." statements.  They will run faster if you can find common end-of-screen text fragments to use as arguments.  Typical examples are "H€" (common in FILEPRO) and "please enter action code"

Our other example apps as supplied assume a 3-step login:

  1. UserID
  2. Password
  3. Account, we run with one called "testpxe1" but you can use any account, just edit the .asp's.

What this looks like in practice: (StockSearchProcess.asp)

Dim Pixie
Set Pixie = Server.CreateObject("PixieWMA.clsAgent")
Pixie.TimeOut = 6
Pixie.ExecuteCompareMethod = 1
'
'You may need to EDIT these for your server
Pixie.Port = 23
Pixie.Host = "127.0.0.1"
Call Pixie.Connect ("{AUTO}")
'PICK
Call
Pixie.ExecuteET("", ":") 'Some PICKs need tickling into life
Call
Pixie.ExecuteET("john", ":") 'Login, Password prompt
Call Pixie.ExecuteET("john", ":") 'Password, TCL response
Call
Pixie.ExecuteET("testpxe1", "<<< Pick Systems")
'
' or UNIVERSE
'Call Pixie.ExecuteET("john", ":") 'Login, Password prompt
'Call Pixie.ExecuteET("john", ":") 'Password, End of TCL response
'Call Pixie.ExecuteET("testpxe1", ">")

'Early warning checkpoint
If
Pixie.State = "ERROR" Then
   ....

Variations abound, you can place the sample data in any handy existing test account and edit "testpxe1" in the scripts.
Many MV setups involve login scripts that will automatically set the working account and even start initial programs.  You can go with these by editing the account step out of the scripts.


PWDocu1-3.jpg (8KB)

NEW June 2000, extra security over and above the web-app-in-secure folder method. Meet "PixieCrypt", a utility to encode text. We suggest you use it for usernames and passwords. You copy and paste results from the lower textbox into your scripts, using them as arguments for a new PixieWeb function "ExecuteCR", eg:
sResponse = ExecuteCR("`2/ak8`", ":")
See Appendix for more on function syntax and examples.

NOTES:
Keep PixieCrypt SAFE. On installation it is placed by default in "C:\Program Files\PixieWeb"   but we recommend copying it to a floppy disk for safe-keeping away from network accessibility. While PixieCrypt is good, a determined hacker given time with it could possibly crack it and the best defence is to reduce the chance of such access. In keeping with that principle, NOTE that our website download trial version of PixieWeb does NOT include an active PixieCrypt. Triallists may test it only by special arrangement after establishing email contact with us and identifying themselves to our satisfaction.


Other supplied utilities:
For more info, refer to the Help and/or Readme.txt files that come with each utility

Name/Default Installation Folder Notes

PixieBridge

C:\Program Files\PixieBridge

Links serial lines to TCP/IP communications.  Take a serial-line-serving Engine and run a line to a nearby Windows box.  Then run PixieBridge on that box to translate that serial line into network and internet capable TCP/IP Telnet conversations.

Note that if you have a WebServer or other PixieWeb-based app running on the box with the serial line plugged in, it is easiest to substitute "PixieSerialA" for "PixieWMA" to work with the serial box.
"PixieBridge" is best used with remote Serial-Line-Servers that you want to access over LAN, WAN or Internet.

PixieProxy

C:\Program Files\PixieProxy

Simple PROXY server = redirect TCP/IP communications to a different "port" ("channel") and/or IP address.  While intercepting communications it can display the raw characters involved and write them to a log.  This is useful for analysing apps where you need to "screen scrape" info for web pages when you are not able or permitted to alter the app.

Other uses: 

  • Can act as primitive router/firewall, only allowing certain trusted IP-address-sources through.
  • Can map characters to other characters, eg as problem-solver for Russian and German users who have commonly-used ANSI characters which fall into the CHAR(251) to CHAR(254) PICK reserved character range.


Next:  Chapter 2 is the introduction to the examples and ASP scripting.

Appendix: summarises Pixie object properties and methods.


**Top**    Chapter 2    Chapter 3    Chapter 4    Chapter 5    Chapter 6    Chapter 7    Chapter 8    Appendix   
Site Map

You may download a free trial copy of the Pixieware® software with simple installation instructions. There are many possible environments in which this software can run. Should you encounter difficulties please e-mail us for free support:  helpme@pixieware.com

 /  30-Day Free Trials  /   Site Map  /   About Us  /  Contacts & links  /  Products  /  Demonstrations   / Home page   /

Email: sales@pixieware.com