This site normally uses frames however you can get to all the pages
using the links below.
You may also wish to have a look at my Windows Installer related
MAKEMSI (built using PPWIZARD) and
Some Background information
What is PPWIZARD?
It is a free generic text manipulation tool which most people use as
a html preprocessor.
It is powerful and yet easy to use.
If you know what server side includes are then you could think of
ppwizard as a "super SSI".
Preprocessors allow you to easily include external files
(to include html files such as common html headers, footers or navigation)
or perhaps to include the result of external commands or SQL queries.
They also enable more complex things such as defining email and web
addresses in one location and reusing these throughout your site or
creating more complex macros which can make decisions for themselves as
to how html should be generated.
PPWIZARD also allows for data import in various formats
(e.g. SQL from a large number of databases including MS Access, CSV, fixed
and other formats).
While PPWIZARD can be used on a server (CGI etc) it is more frequently used
to generate static pages, and unlike SSI there are no server requirements or
Note that ppwizard can generate static pages for tasks where others might
normally need to use dynamic page generation.
PPWIZARD's main aims are to be flexible, promote reuse and to allow you to
automate just about anything.
Common tasks such as the calculation of image sizes for "IMG" tags
or the addition of last modified dates and times
can easily be automated.
One of my add-ons for ppwizard is for automatically creating thumbnails from
larger graphics when required.
Another advantage is that it allows a webmaster to comment their
site as much as they wish and automatically remove these as well as excess
leading spaces when the pages are "published" (this leads to better
download times as well as encouraging the use of comments and indenting).
PPWIZARD leaves html comments alone and by default removes any line that
begins with ";" making it much easier to add comments.
You will not find a better preprocessor no matter how much money you are
prepared to pay!
If you look at other preprocessors you will notice that there are no add-ons
It would be impossible to create most of the add-ons that are available
for ppwizard in these tools.
Not only is ppwizard the most powerful preprocessor available but I also
believe it to be the easiest to use.
As a simple example to include a navigation bar you could add the
following line to your html code where appropriate:
The following shows one way that a simple last modified timestamp footer
might be defined (note the leading comment line gets removed):
;--- Capture date/time information (DEFAULT format = Sat Jun 29 2002 at 11:09:36am) ---
One major point to note about the code above, if you like the format of the
date and time and the rest of the footer you would not even have to understand it
to use it.
To modify existing code for minor tweeks (adding page name or changing time format)
is not difficult and all your pages will immediately have been updated!
PPWIZARD's documentation includes many common examples and requirements to
make it easier to get started.
If you still can't work it out then join the ppwizard list described
below and ask!
Note that ppwizard can actually act as a preprocessor for any type of
text files and not just HTML (it is commonly used for rexx development).
PPWIZARDS's documentation in IPF, HTML, and CHM (Compiled Windows Help) were
built with ppwizard.
My MAKEMSI tool is also a complex PPWIZARD
application for generating Windows Installer databases and documentation.
PPWIZARD has many options
(for example you may not wish leading spaces on lines removed),
this allows it to work the way you want not the way I do!
More details are listed below.
My personal opinion is that if you hand code your site you'd be crazy not
to use a preprocessor (or at least SSI).
If not mine use another but use one!
You will be be amazed at how much time you can save.
Some long time users of WYSIWYG (graphical) html editors have converted to
ppwizard because of the ease of maintaining consistency and
to reduce the time required to maintain their web site.
Use of a WYSIWYG editor does not necessarily prevent you using ppwizard a
lot depends on you, the tool and the ppwizard features you wish to use
and how you use it.
You may also use WYSIWYG editors to produce reusable fragments and let
PPWIZARD combine these as required.
There are editors which can be "programmed" to insert ppwizard tags
and I have a "notetab" add-on on my download page (if you use NotePad
on windows change to NoteTab now!
it's free and basically NotePad but heaps better).
Depending on your preferences PPWIZARD can be used from a
command line or via your operating system's shell (for example Windows
Explorer or OS/2 WPS).
I have a screenshot
which shows the source for an installation script where macros have been
used to hide/implement functionality (generates VBSCRIPT OLE code)
overlaid with a ppwizard installation screen under Windows.
Join the PPWIZARD discussion group.
This is a low traffic list or you can elect to not to receive
emails at all (view online in browser)!
Only I can see your email address and I won't give it to anyone.
I will make PPWIZARD announcements and help answer any questions
posed (the answers are usually of interest to others).
Note that you can just use your normal email programs and you
have no need to access the list site after creating your user
information (and therefore you don't need cookies etc).
To join simply press the button on the left.
Archived messages can be searched
and it is probably wise to
search these before asking a question as this could save you
a lot of time.
operating systems that PPWIZARD supports
- Windows All version (95, 98, ME, NT, 2000, XP, Vista, Windows 7)
The Windows installer EXE takes care of the installation.
- Linux, FreeBSD, SunOS (probably any Unix)
- Macintosh OS X
You do not have to compile to create binaries as you do for a lot of
other tools (the same PPWIZARD runtime runs on all supported
Regina binaries are available for a large number of UNIX based
operating systems, if not then source code is avilable for these).
If you get confused by this page or you just want an
introductory or beginners point of view I have set up a
single page beginners guide
which tells you virtually everything you need to get started.
The complete and extensive
PPWIZARD manual is online, however
here are a few of the advantages of using PPWIZARD for web development:
- A Better SSI
SSI can do some things ppwizard can't because it is server
based however in general PPWIZARD is much more powerful than SSI
and is easier to use.
About the only way to reuse code in SSI is to include files, this
is a fairly primitive mechanism which ppwizard of course supports
but ppwizard can make it simple to reuse much smaller components
such as email or web addresses or even more complex things like
PPWIZARD does not interfere with SSI if you need
to do some of the less common things that SSI does better.
Note that unlike "SSI" reuseable components don't have to be
exactly the same (or even similar for that matter) from one use
to the next.
- Single point of change
Using commands such as
you can design your pages such that there are no repeated elements.
For example even though you may have your email address in hundreds
of pages you will only need to make a single change in a single file
if it changes.
Testing also becomes easier since if one place is wrong
they all are (much easier to find a problem).
- Common look and feel
There are many techniques for having common components such as
navigation and footers.
One method includes using PPWIZARD's template feature.
You can also create your own "styles" (without requiring browser
style sheet support).
- Multiple versions of a page
Commands such as #if and macros
with mandatory or optional parameters make it easy to set up multiple
versions of single pages with ease.
For example people are using PPWIZARD to set up framed, unframed and
"printer friendly" pages.
- Remote URL validation
PPWIZARD comes with a header file (and stand alone program) which
allows ftp and http (web page) validation. This will point out
old links that would have caused 404 errors in a browser etc.
- Tag validation
You could set up PPWIZARD to ensure that the number of
end table tags matched the number of table tags etc.
As you probably know these are common sorts of errors that can
prevent correct (or any) display of your pages.
- Auto sizing images, downloads etc
It is very simple to automatically calculate the height and
width of images, add current date and time or size of downloads
etc. This can also double as a validation method for "local"
resources such as images and downloads such that a build will
fail (and tell you why) if you specify an incorrect name.
- Importing data
PPWIZARD can read data from many sources including SQL
databases, Excel, Lotus 123.
- Text to html
Like all parts of PPWIZARD this is very customisable.
There is virtually nothing that can't be modified.
- FTP LIKE page generation
This allows you to have a directory structure which will
get converted to a number of FTP like web pages.
To make a file available for download all you need to do
is add the file to the directory tree.
It supports file descriptions and can of course be configured
for your sites look and feel.
It is extremely customisable though both initial options and
through specially named files to affect specific directories
or directory trees in particular ways.
- Reusable Components
The PPWIZARD preprocessor is programmable, there are a lot of already
encrypts the information and is very simple to use.
A minor variation on this could be used to hide/protect html
Of course you may wish to build your own reusable components as
This program is used by the online
and others to generate their html.
The OS/2 Supersite generates multiple versions of a page (framed,
printer friendly etc) from the same source.
If you already use a version of PPWIZARD prior to
17.308, then you may wish to examine the
changes that have taken place.
This pre-processor can be used to
generate HTML (and rexx or other) code from
It supports commands such as "#include", "#define",
"#if" and much more.
Just from the commenting point of view, PPWIZARD comments are much
easier to use than html ones and blank lines and leading spaces on lines
are removed (by default) so that you can space out or indent your html
as much as you like but the generated html is compact and fast to
download (and people don't see your comments unless you want them to).
I maintain two differing homepages (this is one of them) from the
same source, all the html you are seeing has been processed/generated
by this program.
Note that the '#if' processing is very powerful and that you can execute
any rexx (or operating system) commands and use the output
(all the file sizes and dates where provided were automatically
calculated by this program).
The #define command supports parameters and conditional generation
PPWIZARD has a text to html mode.
Unlike other utilities PPWIZARD can easily add standard features such
as background, standard headers and footers (the look and feel of
It will create hypertext links where possible (by default).
If you have any ideas or issues with the initial implementation
then be sure to tell me.
PPWIZARD can be particularly useful for people who like to hand code their html and use a html editor. The use of a GUI based editor does not however rule out PPWIZARD's use and some editors allow you to define your own tags (allowing you to add ppwizards tags and commands).
As a rexx preprocessor it allows you to easily create header
files of standard routines so that you never need to duplicate
source code again! I have made some
source routines available
for #include in your programs.
Rexx code is packed by default so that your input
can contain many comments and be spaced out with most of this being
removed from your runtime.
I have had a brief introduction to XML, XSL and DTD (and yes I do
know what they stand for), it looks to me that ppwizard will become very
handy for generating these as well.
Note that this program can be used to preprocess virtually any file
type and not just as a html preprocessor.
Java Script header files for common routines is another
The point is you should never duplicate something, if at all
possible only define an item once and reuse it.
If you have made a mistake or need to change it then this change
can be made in one place and the output regenerated.
The following articles
are available, they start from the absolute basics to quite a good
implementation of a simple online store:
- Building Dynamic Web Sites Part 1
- Building Dynamic Web Sites Part 2
- Building Dynamic Web Sites Part 3
- Building Dynamic Web Sites Part 4
- Building Dynamic Web Sites Part 5 - Widgets & Macros
PPWIZARD VERSUS ASP, JSP or SSI
PPWIZARD can do most of the things that "Active Server Pages" (ASP)
and "SERVER SIDE INCLUDES" (SSI) can.
Because each approach has it's advantages and disadvantages
some people do both, they
use ppwizard to do what it does best and leave the rest up to the server.
This gives you the best of both worlds:
- A reduction in server resources as ppwizard has generated
simpler ASP/JSP/SSI pages.
- Ppwizard has been used for what it does best.
- ASP/JSP/SSI processing is used where required.
In general ASP/JSP/SSI:
- Uses up extra server resources (disk and CPU time), so your page will
be slightly slower to load (or you need to buy bigger servers!).
- The testing of generated html has to occur on a server.
- Is best for including rapidly changing information from other
sources such as SQL databases.
- Can detect browser and generate appropriate code.
- Reuse of code/definitions is very limited.
- It is quite possible that an error (missing file etc) will
produce missing content and error messages.
We have all seen these messages on small and large sites.
- ASP only works on Microsoft Servers.
- SSI is not available on all servers (ISP choice etc) and if
available may not use same syntax (ie no standard).
In general PPWIZARD:
- Does not use up server resources.
- Does not require use of web server for testing generated html.
No need to first upload to a test site
(or more typical - production site).
- Has many more features than SSI.
- Can read information from external data sources such as
SQL databases or EXCEL spreadsheets however this is best
for information that does not change frequently (for example
you could rebuild your pages every night as a batch job).
- Is extremely flexible in code/source reuse, you can do much
more than simply include files.
The simple symbolic replacement of frequently used
fragments of html/text such as email or web addresses or
whole paragraphs and condition generation are two examples.
- Has many features which allow automation of many common tasks that
people generally manually perform.
This typically reduces the errors in a web site.
If an error is found it is usually in more than one place (therefore
easier to find) and when fixed will not occur again.
- Missing files/definitions will be detected by ppwizard and
reported, these errors will never occur on the server.
Note that some users are using PPWIZARD to preprocess ASP pages and
even to produce many similar ASP pages from templates.
PPWIZARD can preprocess any text files, not just HTML!
So even if you need ASP, then use PPWIZARD as a "ASP Preprocessor"!