Home
About
Agents
CGIs
Mac
Macros
Misc
Stories
Suites
Websites
Outline
Frontier
Scripting

Fat Pages in Folders

See Fat Pages are Our New File Format for an earlier discussion of cross-platform file format issues for Frontier.

The Win32 version of Frontier is progressing well. At this time, even I don't have a working version of the Win32 Frontier on my system. But I will have one soon, and shortly after that, everyone else will too.

We need to have the file format issues worked out before we can release any 5.0 alpha software. That's why these issues are coming up now.

Frontier.root is cross platform

It's looking like Frontier.root will be readable on either Mac or Windows. This wasn't a requirement, but since it's necessary to move Frontier.root across, and we don't want to do this conversion by hand, we need code that unpacks an odb object into memory on either machine, we might as well make this a feature of the software. Net-net, 5.0 roots will work on either system.

The packing code is almost done. When it's ready we'll have a release of the cross-platform ODB Engine library that was promised last year.

Important note -- the 4.1 app will not be able to work with roots that have been used with 5.0.

Desktop scripts are not cross platform

If you open a desktop script in ResEdit, you'll see that it has a few resources and an empty data fork. This can't work on Windows, there is no concept of a two-forked file. Not a problem, the pre-5.0 desktop script format wasn't a perfect design. We move onward.

If you do a View Source on a fat page you'll see that it's really just a forking system. We can add new attributes. That's why we can be sure it will work as a way of moving objects exported from Frontier's odb.

Frontier 5.0/Mac will continue to read 4.0 desktop scripts. It will also be able to export them. So if you know that all your users are Mac people you can continue to use the current format to distribute objects for the indefinite future.

Groundrules for discussion

This process will continue thru the shipment of Frontier 5.0. If you want to be part of the discussion, that would be great, but please don't try to anticipate the next steps. We're going to evolve this slowly and carefully.

We don't know the answers to many of the questions people ask. People asked to be included in the process, so that's what we're doing. Please speak up if you see dead-ends or deal-stoppers or gratuitous incompatibilities. If you want all the answers, please wait till we have all the answers. Thanks!

For new Frontier users these will not be issues, by the way. Just for people who have produced desktop scripts or exportable objects with Frontier 4.X.

The next steps

I've made a few small enhancements to suites.fatPages. This is the one suite you can't download thru the fat pages mechanism. It would be installing over itself, and that requires coordination that it doesn't implement.

Only download this stuff if you're interested in the cross-platform transition process. Right now it doesn't give you access to any new scripts or content. It's just a step in the process.

If you're still interested, please download the following:

ftp://ftp.scripting.com/userland/fatPagesInFolders.sit.hqx

You must be running Frontier 4.2.3. Debinhex and unstuff the archive, open the folder and double-click on suites.fatPages to install the new version.

There's a desktop script in the folder, called "Sample Installer". It loads all the TEXT files in the Install Files folder. Look in the folder before running the script. Each file is a fat page copied from this website. To the user, the Sample Installer script works exactly like a 4.X installer, in fact it is a 4.X desktop script.

Examine the Sample Installer script. Hold down the cmd key while double-clicking on the file in the Finder. Hold the cmd key down until the window opens in Frontier.

Here's the source of the script:


local (folder = file.folderFromPath (system.deskscripts.path), f)

fileloop (f in folder + "Install Files:", infinity) 

	if file.type (f) == 'TEXT' 

		if not fatPages.getFromFile (f) Çuser cancelled

			return

Changes in suites.fatPages

fatPages.getPageData now takes two optional parameters, the HTML text it will parse, and the URL the text came from.

A new script, fatPages.getFromFile, takes a filespec, gets the text from the file, figures out the URL and calls fatPages.getPageData.

Discussion

Discuss this stuff on the Frontier-talk list.

Thu, May 8, 1997 at 9:26:07 AM by DW


© copyright 1997-98 UserLand Software. This page was originally posted on 5/8/97; 7:33:00 AM and it was last built on 9/11/98; 9:23:31 AM. Webmaster: dave@userland.com.