Re: web portals - beyond the browser
Java "Web Start" is also available in the distribution for Mac OS X (Mac versions not shown on link I provided in earlier email on this topic). See http://developer.apple.com/java/ http://java.sun.com/products/javawebstart/ Rich Herz [EMAIL PROTECTED] www.ReactorLab.net ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
web portals - beyond the browser
In case you haven't seen it, just ran across "Java Web Start", a web portal concept very similar to that written in MetaCard at the Himalayan Academy, which inspired my own experiments (links to all below). "Web Start" is a small window that lists available apps/applets on the web. Open one and it downloads from the web and runs, all independently of a web browser. Simple concept but especially valuable with MC stacks which can't run in a web page like a java applet (but who cares - see Richard Gaskin's "Beyond the Browser" link below). Rich Herz [EMAIL PROTECTED] www.ReactorLab.net Java 2 (v. 1.4.0 and 1.4.1 beta) http://java.sun.com/j2se/1.4/index.html Web Start is part of package and is shown in this page in graphic of Java 2 hierarchy (second layer from top on left) Himalayan Academy site MC web portal http://www.himalayanacademy.com/studyhall/ which inspired my experimental MC "web courses" http://mechanics.ucsd.edu/research/herz/web_24/ (this took me a couple hours to get going in MC - wonder how many progammer-hours and $$ it took Sun to do Web Start in Java?) REBOL View, a similar idea http://www.rebol.com/view-platforms.html Richard Gaskin's article "Beyond the Browser" http://www.fourthworld.com/embassy/articles/NetApps.html ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
CGI to download file without URL display
I would like to post files on a web page for download without any display of the URL of the source file at the browser in order to prevent future bypass of download logging. The only method I've discovered so far that has no display of the source file URL is to get the source file into a variable and "put" it back to browser as "application/octet-stream": #!mc on startup # First log remote host address so if user bookmarks # this cgi file I at least log something, and/or # check for valid input from web form get url "binfile:../downloads/myApp.exe" put it into tBuffer put "Content-Type: application/octet-stream" & cr put "Content-Length:" && the length of tBuffer & cr & cr put tBuffer end startup Browser then asks if you want to open or save the file. The cgi file name must have the same name as the file to be downloaded (e.g., myApp.exe) in order for the file to be saved with that name by the browser, so the file to be downloaded can't be in the cgi-bin directory with the cgi script of the same name. QUESTIONS: Is MC's "put" as reliable as regular browser download of a URL? Can I rely on the cgi host at a site provider to always be able to put a 1-3 MB file into RAM (i.e., is this a trivial amount of ram)? Giving the CGI file the same name as the download file is no problem in Linux but would it be a problem on a Win server or on a Mac OS X server? Doing a redirect with "Location:" or http-equiv="refresh" to the source file flashes briefly the url of source file in browser status bar, might put url in temp files, and might put url in Mac info comments. If this method is more reliable than the direct mc "put" above, I guess a shell script could execute periodically to rename the source file directory. Any other methods to use instead? Thanks! Rich Herz [EMAIL PROTECTED] http://ReactorLab.net ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: calling function in msg
Jacqueline Landman Gay wrote: >> You can access functions normally from the message box if you first "start >> using" the stack containing the function definitions. > Even if they are in the topstack you are working on? That's usually the > case when I try to test a function I've just written. Works for me. Mike Yates wrote: >>For example: In the stack script defined the function > > > >function sq x > >return x*x > >end sq > > > >If you enter into the msg box sq(3) you get 9 as expected. But if you > >enter 3*sq(3) you get an error. > On the other hand if you enter sq(3)*3 you get 27. It's the lack of > symmetry that is the problem - also it doesn't just apply to defined > functions but native functions as well - try 3*sin(3) and sin(3)*3. If you "start using" the stack with the function sq() definitions, executing the following from the msg box *does* show an apparent problem [command from msg -> result in msg (or answer dialog)]: put sq(3)*3 -> 9 *** this is not good *** () around expression doesn't help put 3*sq(3) -> 9 *** this is not good *** answer 3*sq(3) -> answer dialog with 27 answer sq(3)*3 -> answer dialog with 27 sq(3)*3 -> 27 (why does this work?) 3*sq(3) -> error (but should get one here?, e.g., you'll get it with 2*2) Rich Herz <[EMAIL PROTECTED]> http://mechanics.ucsd.edu/research/herz/reactorlab/ ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: calling function in msg
You can access functions normally from the message box if you first "start using" the stack containing the function definitions. Rich Herz <[EMAIL PROTECTED]> http://mechanics.ucsd.edu/research/herz/reactorlab/ >> > MetaCard won't evaluate any custom functions from the message box, only >> > the built-in functions. It took me a while to figure that out too. >> >> Actually, it can. Entering the name of the function in the message box will >> return any values within the message box itself; don't use "put" or >> "answer". ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
backdrop & Win task bar
Hello, I would like to give users of my project the option of using the MC backdrop. On Windows (at least one 98 and one NT system), the Win OS task bar gets hidden below the MC backdrop (apparently always on the NT system, and almost always on the 98 system, even with task bar "always on top" option set). This causes a problem when user minimizes (iconifies) one or more of the MC stacks (can't access the task bar to maximize it again). And, in an apparent bug, MC crashes when one of several MC stacks is iconic and I try to make a change in the backdrop setting (MC 2.3.2 on NT, at least). Does anyone know of a way to keep the Win OS task bar on top of the MC backdrop? Is there a similar problem on unix/linux? Is there an option to have the MC backdrop cover only the windowBoundingRect vs. the screenRect? Are there other strategies people use for a "backdrop" for MC projects? As primarily a Mac user, I was puzzled by a student's comment that my MC project should "take over the entire screen" like other Windows apps (or all app windows being contained within a parent window of that app). Now I am beginning to think that the student's comment is related to Windows OS behavior, in contrast to Mac OS behavior, of not activating all windows belonging to an app whenever one is made active. Does anyone have strategies to make life simpler for a Windows user, other than "taking over the entire screen"? Thanks, Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
Re: Math errors, HELP!
> From: [EMAIL PROTECTED] (Sadhunathan Nadesan) > Problem: after calculating a result like the above, I add it to 3 > different globals - a column total, a line total, and a cumulative > total. If there is only one column, all three numbers should be the > same but eventually, they start getting out of sync with each other, a > penny or two off. The code you supplied and put into EXAMPLE 2 below works OK. EXAMPLE 1 below shows a similar rounding problem that can occur with the MC format function. The format function with a format of %6.2f rounds 1.3350 to 1.33, whereas round(1.3350, 2) returns 1.34. My summer students discovered this last week in homework 1 with similar behavior of MC format function and True Basic's PRINT USING instruction. None of this may have solved your problem, so good luck! Rich Herz <[EMAIL PROTECTED]> # EXAMPLE 1: script of button that displays output in fld 3 # DISPLAY IN FLD 3: price = 133.50 tax = 1.33 total = 134.84 total 2 = 134.83 total 3 = 134.84 on mouseUp put 133.50 into price put 1.3350 into tax put tax + price into total put format ("price = %6.2f", price) into line 1 of fld 3 put format ("tax = %6.2f", tax) into line 2 of fld 3 put format ("total = %6.2f", total) into line 3 of fld 3 put format ("%6.2f", tax) into tax2 put "total 2 = " & tax2 + price into line 4 of fld 3 put round(tax, 2) into tax2 put "total 3 = " & tax2 + price into line 5 of fld 3 end mouseUp # EXAMPLE 2: script of button that displays output in fld 1 global category_total, cumulative_total, line_total on mouseUp put 0 into category_total put 0 into cumulative_total put 0 into line_total put empty into fld 1 repeat 1 times put rounder() into temp end repeat put category_total into line 1 of fld 1 put cumulative_total into line 2 of fld 1 put line_total into line 3 of fld 1 end mouseUp function rounder put random(100)/100 into factor put random(1000)/10 into rate put random(100) into number_of_performers put factor * rate * number_of_performers into temp_category_total put (round(100 * temp_category_total) / 100) into category_total # alternative: # put round(temp_category_total, 2) into category_total put cumulative_total + category_total into cumulative_total put line_total + category_total into line_total return category_total end rounder Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
language localization
> Richard Gaskin wrote: > More importantly, this may be a healthy wake-up call for all of us: > > There are other cultures out there, > and not all of them speak English. > How many of you are getting requests for localized versions of your > MC/Rev-based software? How do you approach localization with a tool like > MetaCard where we commonly embed user feedback directly in the code (the ask > and answer commands for example)? I got my wakeup call recently. I created a large educational project without ever having the faintest thought about anyone in another country or speaking another language using it. After I posted my software for download, it was very entertaining to count how many different countries there were in the download record. Then a prof in Brazil asked if I would incorporate his translation of all the text in my project into Portuguese. It was easy to say "sure." I was astounded to go to the web and find that there are 50 universities in Brazil with chemical engineering departments. I started hoping someone would volunteer to do a Spanish translation. Then I got the Portuguese translation in a big Word document. Turns out translation is the easy part (ignoring the effort of learning a second language). The hard part is that now I am committed to - and am in the middle of - replacing many hundreds of strings in hundreds of objects. So I learned: Whenever I start any new project, I am going to design the project to make translation and language localization easy. Jacqueline suggested putting text in the custom properties of each object, answer text in the custom props of a button, for example. Adding a new language then would mean accessing all the individual objects. Maybe put the text strings at the stack (or higher level), e.g., in a custom property set of the stack whose keys are formed from the name of the object using the string plus a string number (or other identifier) for objects using multiple strings... Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
Re: Installing MC at your ISP
Sadhu Nadesan <[EMAIL PROTECTED]> wrote: > What if you have no shell account access, and your ISP says something like > 'gosh, give us a few months to evaluate this, it is a possible security > risk, and by the way, its going to COST you..'. Are you out of luck? > > Maybe not. If they allow you to install and run your own CGI programs > using FTP, then, you can still use MC as a CGI scripting language and > get it up and running without their help. You might need a bit of help Wow! Thanks Sadhu! Now I can forget about PERL. Probably this was somewhere on the MC web site and I failed to read it. Most likely, I just failed to put 2 and 2 together. I followed Sadhu's "how to" and got MC working to at least the "hello world" stage in a couple minutes. The only snag was that I wasn't sure what the actual cgi file I wanted the mc engine to execute: stack uploaded from client, etc. So for others, the cgi script is just a plain-text file with permissions set with chmod as given in "how to" (I used chmod 755). It can be as simple as: #!/www/docs/public/(rest of path).../mc on startup put "hello from mc01" end startup Note the /mc on the end of the path in the first line to specify the full path to the MC engine file "mc". When this file "mc01.mt" is executed from the shell command line, it displays "hello from mc01" on the next line. I've used .mt as the filename extension because I seen it used for mc cgi scripts on the list (apparently to designate a MetaTalk script rather than an MC stack). Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
Re: error with resource mover
Rick Rice <[EMAIL PROTECTED]> wrote: >I'm trying to create a standalone on the PC. The stack was created on a Mac > and I created a standalone there. I moved > the stack (not the mac standalone) to the PC, launched it using file:open, > selected tools:resource mover, clicked start > move and get the error chunk: no such object in button "start move" of stack > "resource mover" of stack "mctools.mc" What I try when this happens: delete all resources from stack, save stack, quit MC, restart MC, then do the resource move as first action in MC. I've also seen object-reference problems with stacks imported into MC from HyperCard, especially after trying to remove all traces of hcAddressing syntax in scripts such as references to card and bkgnd buttons. Some trace of "hcAddressing true" remained somewhere in the stack. Decided I had to create a new stack in MC and then transfer objects over to it to get rid of the problem. With this cause, though, there are usually other object-reference errors such as scripts of some objects reporting they are locked. Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
MC "web portal"?
I am working on deploying interactive educational modules via the web using MC as opposed to Java applets in a browser (Java applets of scientific simulations I have seen on the web are slow and unreliable, not to mention other drawbacks of Java vs. MC). After frustrating attempts to get MC working reliably as a helper application (the various web browsers' fault, not MC's), I decided that the best strategy was to have a student download a minimal standalone engine that "bootstraps" from there. My modest initial experiments with MC web communication are posted at: http://www-mae.ucsd.edu/research/herz/web_test/ Amazingly simple to implement the basics in MetaCard! A much more developed (and beautiful!) implementation of this approach is available at the Himalayan Academy: http://www.himalayanacademy.com/studyhall/ Now, an *IDEA*. What about MC Corp and/or RunRev posting an MC/Rev access "engine" (simpler for an interested person to deal with than the Starter Kit). This engine would download a directory from an MC/Rev "web portal" (and sell advertising, and?). The user could then access all sorts of stacks supplied by many users and developers that display, in an active way, the power of MC: demos, useful things like calendars and calculators, chat/ IM stacks, bulletin boards, etc. This might be a more effective marketing tool than one static screen shot representing each stack. Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
Re: CGI nightmares
Raymond E. Griffith wrote: >I have been wrestling with the POST command for some time now with little >success. I had to set the httpheaders in my MC stack before "post" or my PERL cgi script couldn't read the input buffer from the post. Currently I set httpheaders to set the httpHeaders to \ "Content-type: application/x-www-form-urlencoded"&return I got this from earlier posts to this list and haven't looked at other options. Now the cgi script reads the text posted and writes it to a file on the server. I can't get the parsing PERL script someone gave me to do any parsing yet. Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
load and go of gzipped stacks?
I'm experimenting with using "load url" and "go url" to download and run stacks from web servers. Is there a way to download gzipped stacks, decompress() them and run them using these commands? I imagine one could get the gzipped stack, put it into a variable, decompress() it, write it to a disk file, then open the stack from there. But is there a way to do it with load and go? Thanks Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
Re: mcRipper .2
Klaus Major <[EMAIL PROTECTED]> wrote: > > I've done a version of "rip and burn" for single-card stacks with XML > > markup. I picked XML for markup because Bill Gates thinks it's great ;-) > sounds interesting. > Could you please post it somewhere? I've emailed a stack that contains the major handlers from my database stack and a listing of an example database text file to Geoff and Klaus. The database stack itself is to crude for public consumption. The only function of immediate and independent use is nextTag, which can be used to parse XML text. However, by inspecting the script you can get an good idea of my approach to MC stack "rip and burn" and database markup. I would be happy to email a copy of the stack I sent to Geoff and Klaus to anyone else. Please request off-list via email. Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
Re: mcRipper available
on 5/1/01 2:09 PM, Geoff Canyon wrote: > mcRipper is a MetaCard stack. It goes through another stack and notes > all the objects contained in the stack, and most of their properties. > It records all this information in text format, where it can be > modified easily. mcRipper can then take the text it outputs and use > it to recreate the stack from scratch, creating the stack, the > backgrounds, the cards, and the objects. > ps--if someone's already done this, let me know... I've done a version of "rip and burn" for single-card stacks with XML markup. I picked XML for markup because Bill Gates thinks it's great ;-) This was done in the process of experimenting with a large database saved as a text file, then loading and processing the data in MC as a single variable. This method provides faster response than the database as a 7000-card MC stack, though I can't guarantee I didn't miss a speed-up method. The file has two major XML elements, and . The element contains the description of the one-card MC stack in which the records are displayed. On opening the database file, the main MC stack reads the element and "burns" the display stack. Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
Re: Math Challenge
Scott Rossi <[EMAIL PROTECTED]> wrote: > Subject: Math Challenge > Date: Thu, 08 Mar 2001 03:31:50 -0800 > I'm wondering if someone good at geometric math might be able to figure out > the following: how to drag an object relative to the points of a > non-vertical ellipse (an oval which is rotated by some odd measurement). An interesting diversion. Below are two handlers: drawE, mouseDown. Make a new stack (default size OK) and put these into stack script, removing any line breaks added by email program. Run draw E. Then click and drag your mouse. Y direction pointing down kept, so angles run CW from positive x axis. Scripts not optimized or double-checked, and seems to be an error in exact location of "dot". Rich Herz on drawE global theta, a, b, yO, xO # positive y and yp directions point down on screen # so positive angle is rotation CW, rather than standard CCW when y direction is up # ellipse dimensions a & b are defined with respect to xp, yp axes # xp, yp axes are rotated theta degrees from screen x,y axis # ADJUSTABLE PARAMETERS: put 30 into theta # (<= 90) angle xp,yp axis is rotated from x,y axis put 50 into a # intersection of ellipse with xp axis put 30 into b # intersection of ellipse with yp axis put 150 into yO # y Offset of ellipse origin from window y zero put 150 into xO # x Offset of ellipse origin from window x zero put pi*theta/180 into thetaRad # thetaRad in radians repeat with phi = 1 to 360 # phi in degrees put pi*phi/180 into phiRad # phiRad in radians put a*cos(phiRad) into xp put b*sin(phiRad) into yp # convert xp, yp of rotated ellipse coordinates into x,y screen coord. put cos(thetaRad)*(xp - yp*cos(thetaRad)) into x put yp/cos(thetaRad) + tan(thetaRad)*x into y add xO to x add yO to y put round(x), round(y) into line phi of thePoints end repeat if there is not a graphic "ellipse" then create graphic "ellipse" set the style of graphic "ellipse" to "polygon" end if if there is not a graphic "dot" then create graphic "dot" set the style of graphic "dot" to "oval" set the width of graphic "dot" to 10 set the height of graphic "dot" to 10 end if set the points of graphic "ellipse" to thePoints set the loc of graphic "dot" to xO, yO end drawE # - on mouseDown global theta, a, b, yO, xO repeat while the mouse is down put the mouseLoc into xy put item 1 of xy into x put item 2 of xy into y subtract xO from x subtract yO from y if x = 0 then add 1 to x # to prevent divide by zero in atan(y/x) below put atan(y/x) into sumThetaPhi # sumThetaPhi in radians put sumThetaPhi*180/pi into sumThetaPhi # sumThetaPhi in degrees # sumThetaPhi now ranges between +/- 90 degrees from nearest x axis # convert to 0-360 range from positive x axis starting in positive y direction (down, so CW here) # first get quadrant, then handle separately for each quadrant (here, positive y is down) # xxx this may be too complex, just what worked first! xxx # get quadrant if x < 0 and y < 0 then put 3 into quad else if x < 0 and y >= 0 then put 2 into quad else if x >= 0 and y < 0 then put 4 into quad else put 1 into quad end if switch quad case 1 if sumThetaPhi <= theta then put sumThetaPhi - theta into phi else put 360 - theta + sumThetaPhi into phi end if break case 2 if sumThetaPhi < 0 then put 180 + sumThetaPhi into sumThetaPhi put sumThetaPhi - theta into phi break case 3 put 180 + sumThetaPhi into sumThetaPhi put sumThetaPhi - theta into phi break case 4 put 360 + sumThetaPhi into sumThetaPhi put sumThetaPhi - theta into phi break end switch # phi is angle in degrees with respect to xp,yp coordinates of line between mouse & origin # xxx except something appears to be off somewhere in dot location xxx put pi*phi/180 into phiRad # phiRad in radians put a*cos(phiRad) into xp put b*sin(phiRad) into yp # x,y are coordinates in xp,yp axis of intersection between ellipse and line between mouse & origin put pi*theta/180 into thetaRad put cos(thetaRad)*(xp - yp*cos(thetaRad)) into x put yp/cos(thetaRad) + tan(thetaRad)*x into y # x,y are coordinates in x,y axis of intersection between ellipse and line between mouse & origin add xO to x add yO to y set the loc of graphic "dot" to round(x), round(y) end repeat end mouseDown Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
Re: Grey Printing?
on 2/28/01 10:06 AM, Peter Reid at [EMAIL PROTECTED] wrote: > I have a sub-stack which I'm using for printing purposes. If I > display a card on the screen everything looks fine, with a white > background. However, if I then use Print Card, I get a mid-grey > background behind the card contents when printed?! Mark Talluto wrote: > I have seen this and have had hundreds reports from clients that have seen > this with apps I have made with MC. It happens only on the Mac. It affects I've seen this when printing a stack on my home Mac and Epson 600 ("background" in this case is a graphic whose brushcolor I change from gray to white before printing). Not random: once gray, stays gray. This appears to occur only after the youngest son downloads some new surfing photos from web for screen backdrop (using IE5). Maybe too drastic, but reset of Mac's PRAM fixes this. Rich Herz <[EMAIL PROTECTED]> Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.
Re: New HTML properties
David Bovill <[EMAIL PROTECTED]> wrote on 29-Jan-01 > As it's a kind of feature request. I'm posting it here to gauge the lists > reaction/support for this idea... it comes from some experiments with using > the existing htmlText, and recent explorations of XML and the use of style > sheets with database driven dynamic web sites. I'm experimenting with using XML and MC for a database. See details below. My request is to have MC's htmlText follow xml/xhtml requirements: all tags in lowercase (xhtml), all elements have end tag (xml/xhtml). Might also be nice to have option of including an "html:" prefix (e.g., ) in tags for identification of html tags and specification of their function by specifying the html namespace in the xml doc. Rich Herz <[EMAIL PROTECTED]> --- Details: I'm in the process of converting a 6 MB, 6000 card HyperCard database to MC. Conversion of the HC stack directly to MC resulted in slow performance for search & display. Strategy currently is to keep the entire database in a text file; alternatively one could save database text in a stack as a custom property to help double-click opening and password protection. Records and field data are marked up as xml elements. One of the main xml elements of the file is specification of the MC stack (one card) in which the data is to be displayed (object name as element name, object properties as element attributes, scripts, if any, as sub elements). After the main database stack reads the database text file, it creates the display stack and its objects, loads the main element into one variable, then displays selected records. Field data is saved as html (MC htmlText). Searching so far is just done with offset(), and is as fast as search & display in the original HC stack. Changes to the display stack are saved in the data file . Functionality is specified by scripts of the one main database stack, though scripts can be located in the display stack if desired. --- Archives: http://www.mail-archive.com/metacard@lists.runrev.com/ Info: http://www.xworlds.com/metacard/mailinglist.htm Please send bug reports to <[EMAIL PROTECTED]>, not this list.