Stack file size

Rob Cozens rcozens at pon.net
Fri May 27 10:35:39 EDT 2005


Hi John,

>I'm a hobbyist - I script when I have to! But even for people
>like me, there's a need to face up to the real world - separating program
>from data is what databases are for, and that why the grown-ups use them

Before HyperTalk, essentially all databases housed data separately from the 
applications that use them.

There are advantages to this arrangement, including elimination of the 
posibility of disassociating the data & application logic; but there are 
several disadvantages as well:

         * Difficulty updating program logic (as you noted)
         * Duplication of program logic in multiple databases (eg: 
maintainng multiple address stacks)

Also, there are other reasons for using a database besides separating data 
from program logic:

         * Accessing individual records by key value
         * Faster retrieval of individual records
         * Multiple index paths to the same data
         * Facilitate retrieval of data based on ad hoc queries (the "Q" in 
"SQL")

though in the case of the Address stack, these considerations are generally 
non sequitur.  (OTOH, one could build indexes to access Addresses by zip 
code, state, etc. with an indexed database.)

So back to your update issue.

As others have mentioned, your new stack [but not a standalone app] can 
load data from a text file of data extracted from the old Address stack.

So long as you are working with a stack, you could experiment with creating 
an updater application that installs modfied scripts & new controls.  I had 
this approach working well with HyperCard stacks, and could add virtually 
any changes to existing stacks.  But it doesn't work for standalones.

If you simply want to support the functionality of the Address stack in 
single-user mode, you don't need:

         a relational database or client/server architecture
         ad hoc query support (though you need a replacement for "Find")
         a data dictionary

IMFO, SDB is well suited as a database supporting the Address stack 
application.

SDB is written in native Transcript, so one version runs on all 
platforms.  It includes RAD tools to:

         * create a database front end stack from an existing Revolution stack
         * create a database front end stack from the (optional} data 
dictionary in an SDB database
         * create a data dictionary in in the database stack from an 
existing Revolution stack (optional)
         * load data from a Revolution stack into an SDB database

An SDB database is a Revolution stack, and is therefore accessable via Rev 
development tools (db utilities are also included).  SDB is free of charge 
and 100% open source: <http://wecode.org/serendipity/>

Rob Cozens CCW
Serendipity Software Company

"And I, which was two fooles, do so grow three;
  Who are a little wise, the best fooles bee."

  from "The Triple Foole" by John Donne (1572-1631)
          



More information about the use-livecode mailing list