runrev2web (learning from the toolbook experience)

runrev at animabit.de runrev at animabit.de
Thu Oct 25 04:54:49 EDT 2007



Hello all,

some experiences from the toolbook scene to the posting of Andre Garcia and others concerning runrev2web: I came from toolbook (xtalk for windows only) to runrev where this happened some years ago.
Toolbook long ago splitted in two directions: traditional ui development in openscript (xtalk dialect) and web development,
with a template approach (you can define a book=stack as native or as DHTML and use predefined template books = stacks for webcourses) which can be converted automatically.
For a DHTML book you can use elements out of a catalogue (I understood Andre in this direction) which work both in toolbook native (called Actions Editor AE with a subset of javascript within toolbook) AND converted in HTML  (after a phase using java which was stopped) mostly for educational courses and instruction.

The consequences were in my opinion the splitting of the toolbook community in web authors using toolbook as template engine for making educational courses which look almost the same native and on the web, and the traditional users like me who made measurement programs and multimedia with toolbook. And the development of the application toolbook became slower and slower, only the DHTML approach was pushed .... und just this year after some years of lament a 32bit version has been published!

>From this historical experiences I would say: In my opinion metacard/runrev has included all mechanisms for making a template approach to bring object functionality even to the web when writing converters and generators.
There is a metacard-stack on the web which converts the ui into an xml-dump and restores from the xml building a new stack. In this direction I would see the best solution. One can program php or perl (server side)  or javascript (client side) for some extended objects and put it into custom properties in the runrev stack or better in a runrev library stack which during the conversion to web would replace the runrev transcript.

There even is the possibility to write generators who build the objects of a stack for different contexts (native,web,x3d as I did in my last project) and I would prefer if the community would define standards to use in library stacks for interoperability instead of forcing runrev to go into a direction I saw in the toolbook scene some years ago and do not want to suffer again.

My approach would look like this:

function newobject("button","Open","web")

function newobject objecttype,name,context
if context = "native" then
   if objecttype = "button"
   create button name
   -- or better: clone button "button1" of card "protoobjects" 
   -- with all functionality built in you need for this button
   set the topleft of button name to ...

   end if -- better of course condition ...
...
return objectid -- for addressing of the created object in runrev
end if

if context = "web" then
   if objecttype = "button"
  
   put the buttonwebtemplate of this stack into template
   replace "$buttonname" with name in template
   put template after the HTMLcode of this stack
   put the buttonphpfunctionalitytemplate of this stack into exportfile ...
   end if -- better of course condition ...
...
return objectid -- for usage and addressing in css
end if
if context = "x3d" then
   if objecttype = "button"
  
   put the buttonx3dtemplate of this stack into template
   replace "$buttonname" with name in template
   replace "DEF $objectid" with "DEF name ..." in template
   replace "$3dposition" with x y z in template ...
   put template after the x3dcode of this stack
   end if -- better of course condition ...
...
return objectid -- for usage in javascript for x3d
end if

end


and if someone likes to fake the modern point-notation just do:

get newobject ("stack.card.button","Franz","native")
get newobject ("document.form1.button","Send","web")
get newobject ("x3d.backgroundgroup.inline","christmastree","x3d")


Regards
Mit freundlichen Grüßen
Franz Böhmisch

boehmisch at animabit.de
http://www.animabit.de
GF Animabit Multimedia Software GmbH
Am Sonnenhang 22
D-94136 Thyrnau
Tel +49 (0)8501-8538
Fax +49 (0)8501-8537



To: use-revolution at lists.runrev.com
Cc: boehmisch at animabit.de



More information about the use-livecode mailing list