Content-type: text/html Note to Former "pop!site" Users

Home
WebGroove is no longer supported. These docs are reference only.


Note to Former "pop!site" Users
If you are used to the now-defunct "pop!site" product by Pragmatica, Inc., don't panic. WebGroove® Script, while different, can do everything you're used to and more. There are several basic things you need to keep in mind when migrating to our language.

Free and Here to Stay
WebGroove Script is free. It's hard to find a better deal than that. We created these tools to ease our own development efforts. We use them on a regular basis, so we have a vested interest in keeping them alive and fresh. Plus, Creativision Publishing has been in business since 1993, and we plan to stay.

Components
The Compiler is equivalent to pop!site desktop and does not require a web server to be installed. It builds HTML, XML, JavaScript, Perl, VBScript and other files and handles macros and other compile-time directives. The Agent handles run-time interactive functions like form processing, database connectivity and file management. This is similar to the pop!site server component which we understand never made it to production.

Project Based
You should list all the source files for a given site in a project file (*.wgp). The project file typically has a read block to load library files and a build block to actually make output files. To compile your site, always compile the project as a whole to ensure consistency site-wide.

Web-based Compilation
You can compile over the web! If your server has the Compiler installed, you can compile your site by simply typing in the URL to your project file.

Define is Different
Our define tag allows you to create a text-for-text replacement by defining compiler "tokens". So, you can do nice things like replace (C) with the real © symbol. You can also use tokens to make decisions about using sections of code like:

<ifdef %DOS%>
You have DOS!
</ifdef>


Objects?
No. WebGroove Script is not object oriented. We try to keep things simple with minimal overhead. You may see compiler tokens such as %sidebar.bgcolor%, but that's not really an object. We just adopted the "dot notation" as a convention to clarify just which "bgcolor" we're talking about. It's nothing magic.

Macros are Cooler
Macros attributes are easier to define with our macro tag. However, you will find it more convenient to pass in barewards for a macro to make decisions rather than multi-value attributes. So use:

Macro Definition
<macro normal face="Arial, Swiss">
<ifdef {center}><center></ifdef>
<font face="{face}">{body}</font>
<ifdef {center}></center></ifdef>
</macro>


Macro Use
<normal center>My text!</normal>

Optional Macro Auto-Initilization
Each macro tag you define can have code that gets called once per output file so you can "auto-initialize" them. Simply surround the code in question with an init tag pair.

Minimized Attributes
What pop!site called "minimized attributes", we call "bareword attributes". This is simply an attribute that has no value to set, such as "ismap" in <img src="map.gif" ismap>

Includes are Okay, but Reads are Better
If you are used to including macro or define libraries, you should use the read tag instead. The read tag simply interprets the file (and any nested include or read files) to make definitions and set Compiler options, all without generating any output.

Global Definitions
When you make a definition (except a macro attribute), it remains defined from that point through the duration of the compile. This means you only need to read libraries once per project. You can, of course, redefine or undefine a token or macro at any point.

Much Better Server-Side Support
Our Agent will connect to most any database, handle multi-value cookies, send emails, process forms, and other neato interactive operations.

Embedded Perl Support
Leverage the work of thousands of programmers by making macros that utilize inline Perl code to make complicated socket communications, advanced directory and file manipulation, complex memory management and more. Both the Agent and the Compiler support embedded Perl.

Compile-Time String Handling
To do compile-time string manipulation, use the <compileperl> tag. You can do some fancy stuff with that, including regular expressions. We will likely add some nifty shortcut tags for common operations in the future, too.

We'll Help You Adjust
In general, you will find WebGroove® Script is powerful, simple and flexible. Like any migration, there will be some adjustment and it is our hope that you find this transition worth the trouble. Let our support staff know immediately if you have any questions or concerns and we'll get you through it!

Up To
Compiler
WebGroove Script


WebGroove® is a registered trademark of Creativision Publishing Corporation