Si no necesita "Q", SDB lo hace!

Rob Cozens rcozens at
Tue Dec 23 10:28:07 EST 2003

Hi Alejandro,

>Did you use Serendipity to translate all the
>announcements in different languages?

Serendipity Library includes a Translate Message file menuItem which 
displays the help text, labels, prompts, etc. one line at a time 
above a field where the user can type the text in any (non-unicode 
for now) language, and a second menuItem to update the pertinent text 
in the appropriate stacks & substacks from the new message file.

However, the announcement was created by humans: my volunteer 
translators, Jose L. Rodriguez Illera, Terry Vogelaar, Yves Copp, and 
Klaus Major.

>I'm interested in learning to manage Databases.
>In the web there are pages dedicated to teach
>the basic commands in sql queries.

At the present time SDB documentation is contained in the database, 
English_Reference_Text.sdb.  The front end for accessing the database 
is the stack, Serendipity_Reference.rev.

Please note that while SDB has search capabilities, and ad hoc query 
support is moving from design to implementation stage, these queries 
are NOT compatible with SQL syntax.  Early on, Jan Schenkel offer to 
help me make SDB SQL-compatible, and after some consideration I 
declined his offer.

SDB was designed from the ground up to focus on XTalks syntax, not 
SQL.  In my opinion, the Revolution community has enough SQL 
knock-offs.  SDB is entirely different, and I want to maintain that 

>How difficult is to learn to use Serendipity?

Hard for me to say, as I've been using the basic db engine in 
single-user mode for for at least ten years.  But let me point out:

1.  SDB is 100% Transcript & open source: no DLLs, no extensions, 
drag & drop installation in virtually any folder, no Unix command 
line syntax, and seamless integration with stack handlers on all 
Revolution platforms.

2.  While SDB commands support many options via command arguments, 
most of these have default values and can be ignored by users with 
basic requirements.  Example:  The syntax for the getSDBRecord 
command is


The only argument that does not have a default is sdbBuffer, which 
contains the record type & key of the record to be retrieved when the 
command is initiated, and the data requested when the call is 
completed.  So (assuming the db is open and the client logged in), to 
get the data for the Reference Text record for the  handler record 
(Record type "HAND") for the logInSDBClient command (record key 
"logInSDBClient"), one scripts:

	put "HAND logInSDBClient" into sdbBuffer
	getSDBRecord sdbBuffer
	checkSDBResult (the result)

Assuming the HAND record for the logInSDBClient command exists in the 
db, sdbBuffer now contains "HAND logInSDBClient" in line 1 and the 
record text in lines 2 to -1.  Individual record fields exist as 
items in the record; the itemDelimiter is specified by the developer.

3.  While SDB supports a Data Dictionary, Data Dictionary entries are 
not required to use SDB.  The basic commands will return the entire 
record for field parsing by the calling handler, and individual 
fields can be referenced by ordinal instead of dataname in absence of 
the Dictionary.

4. The capability to create a Data Dictionary definition from the 
unshared text fields of any stack AND add SDB boilerplate handlers to 
the stack automatically should be available in the next release.

>What minimal configuration did I need to use this
>Client-Server data base?

One server computer with enough RAM to hold all active dbs during a 
session (maximum db size tested so far is 45.1 MB, 43,043 records) 
running the SDB Server standalone.  Two or more client computers with 
minimal RAM running your client standalone(s) [With less than two 
clients, one might as well run single user on one computer].  SDB is 
scripted to handle multiple client platforms.  It has been tested 
with Mac OS 8+,9,& X clients and a Windows ME client running 

>Will you create a new mail list to support the users
>of Serendipity?

Yes, unless the revolution_ipc group, whose libIPC is what makes SDB 
client/server possible, allows me to incorporate SDB support into the 
group's charter.

>P.D.  What does means the phrase from John Donne that
>you put after each of your e-mails?

Gracias for asking, Alejandro.

Many years ago I selected the conclusion of "The Triple Foole" as my 
primary eSig.  Up to that time, I would alternate sigs with whatever 
quote I thought worth passing on to others.

This sig is directed to's meant to remind me never to take 
myself too seriously in our conversations, because "Who are a little 
wise, the best fooles bee."

BTW, in actual context The Triple Foole is a love poem.  It begins,

	"I am two fooles I know...
	For loving...
	and for saying so in whining poetry."

John Donne has an artful way with the language and profound thoughts 
on the human condition (eg: "Every man's death diminishes me, for I 
am involved in mankind.").  His works are well worth reading.

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