Web CMS, object database, scripting, tools, HTTP server, Windows & Mac.

Home

UserLand Manila

Open Source Site

Discussion Forum

User's Guide

Support

Directory

Search


Members
Join Now
Login

Prev | Next | Change Notes

Frontier 7.0

Mac OS X Version 

Frontier for OS X is a Carbonized application that runs on Apple's new UNIX-based operating system. This release brings Manila and support for XML-RPC and SOAP to OS X.

On OS X, you can call the command line from Frontier, and go the other way, call Frontier from the command line.

Manila Home Page Template 

You can use a separate template for your home page, since for some sites the home page has features that shouldn't appear on all the other pages in a site. Here's a HowTo.

Manila Slide Shows 

You can create slide shows in an outline in Radio UserLand and display them as Web presentations on a Manila site.

Manila Directories 

Directories can be created and edited in an outline in Radio, and Manila will generate a Yahoo-like Web directory.

Manila WYSIWYG browser editing 

A browser-based WYSIWYG editor has been added to Manila; it works with MSIE 4 or greater on Windows. A Manila Managing Editor can choose which editor will be used on his or her site.

Manila Dual View Discussion Groups 

Manila discussion groups can be browsed by topic as well as chronologically. In addition, new prefs and templates give you a high degree of control over the appearance of your discussion group. See Dual View Discussion Groups.

In addition, one can create and apply discussion group themes. Server managers: see How to Manage Discussion Group Themes.

New Manila stats pages 

The referers stats page shows where people come from when they visit your Manila site.

The hits-by-hour page page shows how many hits a Manila site got per hour in the last 24 hours.

Manila Stories lists 

Manila's Stories, Pictures, and Admin pages use multiple screens to present lists, which is more scalable than listing all the stories or pictures on one page.

Manila macros 

The viewRssBox macro renders an RSS or scriptingNews2 channel in a Web page, allowing you to include content from thousands of other sites that syndicate their headlines.

The includeHttp macro include the text returned by an HTTP request in a Web page.

The scriptingNews2Link and rssLink macros generate a link to your scriptingNews2 and RSS channels.

The relativeLink macro, similar to the homePageLink macro, allows you to generate a link to a page on a site when you don't know the site's URL. This link is especially useful for Themes designers, who must design Themes that run anywhere.

The pictureLink macro links to a picture instead of embedding a picture in a page. (To embed a picture in a page, use pictureRef.)

A new optional parameter to the includeMessage macro, flProcessMacros, specifies whether or not to process macros and shortcuts in the included message. It defaults to false.

Manila members admin 

A Managing Editor can now delete members from a membership group.

Manila callbacks 

Several new callbacks were added to Manila, allowing developers to further customize Manila.

The sendMail callback gives your scripts the chance to filter the email, write to a log, or over-ride the normal means of sending email.

The finalFilter callback gives your scripts the last shot at changing the contents of a page before it's returned to the browser.

The applyTheme callback is called whenever a Managing Editor applies a theme.

The News Items callbacks are called when a News Item has been released or has been posted to the home page.

Manila News Items and Search Engine Indexing 

When a News Items is posted to the home page, or when a posted News Item is edited, it gets sent to the search engine for indexing. (If your site is set up to send changes to a search engine.)

Manila Flip Home Page RPC Handler 

A new XML-RPC handler for flipping a home page was added. This allows external editors to flip the home page without having to go through the Web browser. Here's how this feature is used in Radio UserLand.

Manila/Radio editing changes 

When a Radio UserLand button appears, that button now links to your local copy of Radio UserLand. Instead of the Manila server sending an XML-RPC request to your copy of Radio UserLand, your browser tells Radio UserLand to send an XML-RPC request to the Manila server. This means that Radio UserLand should be useful even when there is a firewall between you and the Manila server.

It's now safe to mix Radio and browser editing. When you edit in the browser, and the page was previously edited in Radio, a warning states that you may lose your outline formatting -- but you won't lose any content or HTML formatting. A Managing Editor can also enable and disable the use of Radio on his or her site.

Manila open updates page 

A new Control Panel preference supports sending notices of home page updates to UserLand's updates page, which helps bring traffic to sites on your server.

Mac webserver 

On some Macs, Frontier would stop accepting incoming connections after running without problems for a while. This was due to a timing bug in the code for closing connections. The first fix for this bug in 7.0b4 had the unwelcome side-effect of leading to some incompletely served pages and images. Both problems have now been solved.

Tools 

The new Tools architecture makes it easier to write apps -- Web apps and otherwise -- that run in Frontier. The majority of Tools can run in both Frontier and Radio.

Manila Export as XML 

Manila sites can be exported to disk as XML via the XML Files Tool, which is bundled with Frontier 7.

SOAP changes 

The SOAP implementation has been extensively tested and revised for interoperability with other SOAP implementations, including PocketSOAP, SOAP::Lite, Idoox WASP, Apache, and Microsoft. (SOAP is the next generation Internet standard which UserLand co-authored.)

xmlStorageSystem 

system.verbs.apps.xmlStorageSystem is a table of glue scripts that make it easy to call an xmlStorageSystem-compatible server.

mailToTheFuture 

system.verbs.apps.mailToTheFuture is a set of glue scripts that calls the MailToTheFuture application via SOAP.

Right-click menus 

When you right-click (Ctrl-click on Macs) on a headline in an outline, script, menubar object, or table, a right-click menu may be displayed. The kernel calls a script at system.callbacks.opRightClick, which calls scripts at user.callbacks.opRightClick. The first user callback to return the address of a menubar object determines which menu will be displayed.

For more information, see Right-Click Menus.

New outliner callbacks 

opExpand and opCollapse are new callbacks that get called when a headline is expanded or collapsed.

opCursorMoved is called when the cursor moves in an outline.

Callback scripts can get the current target window and linetext.

OPML XML format 

Frontier can encode and decode OPML, can generate OPML from outlines and outlines from OPML.

op.outlineToXml and op.xmlToOutline are new kernel verbs that serialize and de-serialize outlines as OPML.

You can also open, edit, and save OPML documents that were created in Radio UserLand.

Semi-WYSIWYG outlines 

Some HTML markup is understood by the outliner. Text between bold tags appears bold; links are blue and underlined; text between italics tags appears in italic; text between underline tags appears underlined.

Custom outliner icons 

If a headline has a nodetype, and the icon exists in the Appearance/Icons/ folder, then that icon is used instead of the standard wedge. On Windows the icons are .bmp files, on Macs they're resource files.

Read-only outlines 

Support for read-only outlines has been added. They're needed in places like the users list in Radio UserLand, where you're browsing but not editing. A new optional parameter to the edit verb, flReadOnly, opens outlines, scripts, menubars, and tables as read-only. Trying to open a wp-text object as read-only is an error.

pikeRenderer 

This is the equivalent of mainResponder for outline renderers. It renders outlines via XML-defined rules, and is the default renderer when using Radio UserLand to edit Manila sites.

callScript and named parameters 

The callScript verb can take a record instead of a list, in order to call a script with named parameters. This change was necessary for SOAP support. See A Key Difference Between SOAP and XML-RPC.

New string conversion verbs 

New verbs convert to and from ANSI and UTF-8 and UTF-16. Verbs include string.utf8ToAnsi, string.utf16ToAnsi, string.ansiToUtf16, and string.ansiToUtf8. (These verbs were implemented as part of our work on SOAP interoperability.)

string.latinToMac and string.macToLatin convert between Mac and Windows text. These verbs supercede the LatinToMac UCMD, and they're available on Macintosh and Windows.

string.quotedPrintableDecode decodes quoted-printable text that is often used for email.

HTML Dialogs on Windows 

Custom dialogs can be specified as XML and run as HTML dialogs on Windows.

New Registry verbs on Windows 

winRegistry.delete (path) deletes an item in the registry. winRegistry.read (path) gets a registry item. winRegistry.getType (path) gets the type of a registry item.

winRegistry.write (path, data, type="") creates a registry item. Type is an optional string such as REG_SZ. If not supplied, Frontier coerces the Frontier type of the data parameter to the best-fit registry type.

In the path parameter, abbreviations can be used, such as HKCU for HKEY_CLASSES_CURRENT_USER.

New Status Bar verbs on Windows 

The Windows version of Frontier has a new status bar at the bottom of the MDI window. Several new verbs allow you to manipulate the status bar.

statusBar.msg sets text in the status bar. statusBar.getMessage gets the text in a section of the status bar.

statusBar.setSections sets the layout of the status bar. statusBar.getSections returns the layout of the status bar as a list. statusBar.getSectionOne gets the width in pixels of the left-most section.

New QuickTime verbs for Macintosh 

The QuickTime player window can display and play the various types of files QuickTime understands. To open the window, call window.quickTime. To open a file, call quickTime.open. To play a file, call quickTime.play. To check if a file is playing, call quickTime.isPlaying. To stop playback, call quickTime.stop.

Radio/Mac uses these verbs to play MP3s -- but you can use them to play movies, display GIFs and JPEGs, and so on.

New outline processor verbs 

op.getSelectedSubOutlines operates on the current target. It takes the currently selected headlines, and their sub-heads, and inserts them into adrDest.

op.getSelection returns the currently selected headlines in an outline as a list of cursors.

op.insertOutline inserts an outline into another outline.

op.getHeadNumber gets the position of the selected headline relative to its siblings.

op.rssToOutline generates an outline from RSS text.

The op.attributes verbs allow you to get and set nodetypes attributes.

op.visitSelection visits each headline in the current selection, calling a callback script for each.

op.visitAll visits every headline in an outline, no matter the expansion state. The callback takes no parameters. The target and bar cursor are set, so op.getLineText (), op.attributes.getOne (), op.level (), and similar all work from within the callback.

Other new verbs 

The xml.rss verbs implement an RSS aggregator, and are used by Manila's new viewRssBox feature.

tcp.getMail retrieves email from a POP server.

tcp.countConnections returns the number of current incoming and outgoing TCP connections.

sys.unixShellCommand, an OS-X-only verb, executes a string as if typed on the command line and returns a result.

file.getMp3Info returns information about an MP3 file on disk.

window.isReadOnly returns true if a window is read-only.

html.neuterJavaScript neuters JavaScript in a string.

fileMenu.openGuestDatabase opens a guest database, creating it if necessary.

Frontier.getProgramName returns the program name and version in a string that can be displayed or included in an automatically generated file.

date.minute returns the current minute.

Changed verbs 

edit and window.open now both take an optional flReadOnly parameter.

clock.timeStamp was updated with a pref that specifies whether you want long or short date formats.

xml.entityEncode and xml.entityDecode now take an optional boolean parameter that determines if double-quotes, ampersands, left angle brackets, and right angle brackets are to be encoded or decoded.

launch.anything has been implemented for Windows. (It uses the new registry verbs.)

file.findApplication has been improved for Windows.

The date coercion verb has been updated so that internation systems can coerce the output of date.netStandardString to a date.

system.environment updates 

Additions to system.environment: is Carbon is true when it's the OS X version; isRadio is true when the app is Radio UserLand; maxTcpConnections is the maximum number of incoming and outgoing TCP connections (limited to 5 in Radio).

New application icon 

The application has a new icon which uses the cactus that appears on UserLand websites.

Display glitches 

When changing the font, font size, or both of a table window, the style of the column header text now changes.

Horizontal scrollbars have been removed from script and outline windows. In addition, automatic horizontal scrolling has been disabled.

In a menu editor, when selecting a separator line, the wedge is now selected too.

Scripts attached to menu items now have wrapping headlines. (Sometimes they did, sometimes they didn't -- now they always do.)

Outline drawing display glitch fixed: sometimes the area below where you were typing would redraw incorrectly -- the entire area would be drawn too low, off by one or more lines. Though usually a Windows display glitch, it has been observed on Macs.

Scrollbar display glitch (Windows): sometimes after scrolling, a region of black (or very dark) pixels would appear in the scrollbar and not get redrawn. Now fixed -- it updates properly.

The scrollbars for the MDI frame window on Windows have been removed. (Not exactly a glitch, but it's a change.)

Sometimes, when choosing Add Link... or similar command from the HTML menu, you'd get garbage display -- text written on top of other text. This has been fixed.

When you resize an outline while in edit mode, the outline display would be incorrect -- sometimes very wrong, with a large gap between headlines. Fixed.

An off-by-one scrollbar bug has been fixed. The scrollbar would indicate that there was one more item in a table or outline than there actually was.

Another scrollbar bug fixed: sometimes scrollbars were not disabled when they should be disabled.

Windows: there was a check next to Radio.root in the Window menu. This meant that often there were checks next to two items in this menu.

Windows: A partial fix, perhaps the entire fix, for the problem of stray carets has been implemented. With earlier versions, you could duplicate the bug this way: in edit mode, type Ctrl-2 or Ctrl-9 to change the font size, then click on a wedge. The editing caret would still flash, even though you're in bar cursor mode.

Macintosh: proportional scrollbars are now used when supported (and live scrolling in OS X).

Macintosh: the grow button on Macs should be more accurate -- a few pixels were added to prevent unwanted line wrapping.

Macintosh: A likely fix for the "can't find a sub-table named cards" bug that appears when you run Radio UserLand and Frontier at the same has been implemented.

Crashing and hanging bug fixes 

An overflow error was fixed when creating strings of the form "wp text: xxx characters" or "table: xxx items" -- this overflow error would manifest as crashes in random places.

Several MacBird crashing bugs were fixed that particularly afflicted the OS X version.

If a menu editing window was in front, and you chose the Fresh Menus command, the app would hang. Fixed.

Delete All Subheads would cause a crash when used on a table item that's collapsed. Fixed.

When rapidly right-clicking, the app would crash. Fixed. (Windows.)

Assertion failure in opedit.c -- if you were in edit mode in an outline, then Ctrl-clicked (Windows) or Cmd-clicked (Mac) on another headline, the app would crash. Now it won't.

When trying to set the refcon of a table, the app would crash. This is because refcons in tables are used by the application to store structural information. So now instead of a crash a scriptError is generated.

xml.decompile and xml.coercions.frontierValueToTaggedText: When processing table structures that contained strings or binaries larger than 1kB, we previously didn't make sure that these values had actually been loaded into memory.

Eliminated a possible source of heap corruption in the Mac version.

Eliminated a possible source of heap corruption in the Windows version of the file.getSpecialFolderPath verb.

Manila and mainResponder bug fixes 

mainResponder.calendar.getNextAddress, mainResponder.calendar.getNextDay, and mainResponder.calendar.navigate kernel verbs: If the last date in adrCalendar was 7/25/00, calling mainResponder.calendar.getNextDay (adrCalendar, date ("7/25/00")) returned the error "Can't get the next address in the calendar because the calendar doesn't contain any elements after 7/25/00; 12:00:00 AM." when the verb should have returned 7/25/00; 12:00:00 AM.

When adding to a Manila home page via the manila.homePage.addToHomePage RPC handler -- which is what Manila Express uses behind the scenes -- there was a situation where almost all of the tags in the home page would be neutered. Fixed.

HTML errors in the Navigation Appearance section of Manila's Advanced prefs pagewere fixed.

When creating a new story in Radio, and you're on a Macintosh, the title that was typed into the form in the browser is converted properly.

Manila's static rendering feature now properly translate URLs that contain #, ?, or $.

mainResponder/Manila calendar and empty months: If a month is empty in a home page or discussion group, links to previous and next months skip the empty month. That way you're not blocked from navigating through time, ending what some people have called the "infrequent update penalty."

Manila login: If you typed your password correctly except for case, the login page would not return an error -- but you wouldn't be logged in, either. Now it returns an error. Another case issue: when setting the cookie, it was using the email address as typed by the user, rather than the name of the membership record -- now it always uses the name of the membership record. (03/20/01)

Manila Advanced prefs page error: On the Advanced prefs page, when there's XML an error in the navigation, site structure, or custom prefs, and when the page returned with an error, the text inside the textarea for that item was messed up. Quotes appeared as ", for instance. This has been fixed.

Manila Stories page HTML bug: There was a missing </tr> tag for each item on the Stories page. Fixed.

Manila navigation XML name attribute: When an item in the navigation XML doesn't have a name attribute, an error would prevent the page from rendering. This shouldn't be a fatal error -- and now it's not. The rest of the navigation, and the rest of the page, is rendered.

Manila static rendering and links with attributes: If a link had attributes other than href -- such as a link title or onmouseover script -- those attributes would get stripped in the static version. Now they're preserved.

Manila static rendering and relative links: Sometimes relative links would get mis-translated -- a link to somePage would end up as somepage/somepage.html. Now it ends up as somepage.html.

Manila site downloads are now much kinder to the server. See How to Configure Manila Site Downloads.

mainResponder Control Panel folder paths and URLs: When entering folder paths and folder URLs in the Manila settings page in the Control Panel, it was somewhat common for people to leave of the trailing /, , or :. The Control Panel is now smarter about this, and adds the trailing character when needed. (03/16/01)

The formatting for email Manila sends has been improved;

The publication date on RSS and scriptingNews2 channels was sometimes wrong.

Discussion group bug: if there were messages in the current day, but they'd all been deleted, the discussion group would display a blank page in chronological view. Now it will display the most recent with non-deleted messages.

Installing a Manila site via the Server menu now correctly sets all items in the site's ["#discussionGroup"].prefs table.

Restoring to default on the custom prefs in the advanced page now respects language setting.

Restoring or submitting custom prefs, or switching a site's language, now rebuilds the signup wizard so that the form is in the correct language.

Copyright messages in the scriptingNews2.xml renderings now default to the name of the ME for sites with one ME, or to the name of the site for sites with more than one ME. There's a new preference on the Syndication prefs page for specifying the copyright owner for the site.

The scriptingNews2 generator now correctly handles cases where a link in the home page text has attributes in addition to the href attributes.

Redirection with the scriptError ("!redirect [url]") method now works for urls longer than 244 characters, but only after calling mainResponder.redirect (url), since mainResponder.redirect sets the url in the responderAttributes table.

Email notification of new News Items was being sent twice -- once as a new news item notification and once as a new message notification. Now notification just gets sent once.

A bug when uploading Gems with upper-case suffixes was fixed. If a file suffix was upper-case, Manila would add a lower-case suffix after it, as in somefile.PDF.pdf. Now it won't.

Two bug fixes to Manila's navigation renderer were released last night. It now differentiates between horizontal and vertical navbars, inserting <br> tags in vertical navbars only. Also, there was extra space at the end of the generated HTML which caused Netscape to render the last navigation item with an extra space at the end. This space has been removed.

A localization bug in mainResponder.members.checkMembership was fixed: it now passes the page table to mainResponder.members.sendMail, which passes the page table to mainResponder.getString.

The hostingSuite.listSites macro would sometimes skip a site, not include it in the list. It was an off-by-one bug, now fixed.

The prefix for mainResponder profiling was changed from /profile to /profile/, so it doesn't conflict with Manila's profiles pages and similar situations.

On Manila profiles pages, Previous and Next member links appear only if the members list is public or a Managing Editor of a site is viewing the page.

If a discussion group is members only, and the person trying to access a msgReader$ page isn't a member, they go to the login page first. After logging in, there was a bug -- the pathArgs was dropped, so the browser would go to /discuss/msgReader instead of /discuss/msgReader$xxx. Fixed.

Related to the above, if a request comes in for /discuss/msgReader -- no pathArgs -- you'd get an error page as there is no message 0. Instead, message 1 is used in this case. (A case that should be much more rare now that the login bug has been fixed.)

A bug in the ViewDepartment page in News Items was fixed. If a News Item in a department had poorly formed XML text, the ViewDepartment page wouldn't display -- instead you'd get a mainResponder error page. But poorly formed XML text in one News Item should not be a fatal error. And now it's not: that News Item is skipped.

A bug with ampersands in the URLs of News Items was fixed. You couldn't type &amp; instead of & -- now you can, which means News Items pages can be validated as good HTML, even when using links that contains ampersands.

A cosmetic bug when first enabling News Items was fixed. After enabling News Items, the home page would report that it was last updated in 1999. In most cases this was well before the site even existed. Now it reports the last update time for the site table, which will be after the site was created. (Of course, once the first News Item is posted, the last update time reflects the post time of that News Item.)

You couldn't set the default default file name for Manila static rendering sites via the Control Panel -- it was stuck at index.html. Now you can.

The last update time on News Items home page and view-department pages now reflect the date of the most recent News Item.

In preview mode, blank lines in News Items were not translated into paragraph tags -- but they were on the home page. Now you get paragraph tags in preview pages.

When sending a page to the search engine, Manila wouldn't ensure that the URL was a legal URL. If the path contained illegal characters, they weren't fixed. Now the path is url-encoded.

Icons sometimes didn't appear in folder directory listings: now they do.

The siteTree feature was incompatible with folder listings. Fixed.

When checking a user's cookie, an error of the form "12345 not defined" was possible as the address of the page table was not being passed to mainResponder.getString. Fixed. See http://frontier.userland.com/discuss/msgReader$5436

Other bug fixes 

Fixed a macro processor bug that would incorrectly expand the URL when processing text of the form: "<a href="http://foo.com/">foo.com</a>" (the quotes are significant).

xml.compile: Attributes of XML elements can now be longer than 255 characters.

Fixed a low-level bug that was a source for rare and bogus "tryerror not defined" errors.

In tcp.readStreamUntilClosed, don't throw a "connection closed unexpectedly" error even if the connection has already been closed before the verb gets called.

Made it easier to abort read/write loops in kernelized builtins.tcp verbs by hitting cmd-period or the escape key.

Windows: the app is now the Release configuration, rather than the Debug configuration, which should improve performance and stability somewhat.

Navigation Services on Macintosh 

If Navigation Services is present, Frontier uses it, otherwise the standard file dialogs are used.

Navigation Services is a side effect of integrating changes for the Carbon port into the common codebase.

Prev | Next | Change Notes

© Copyright 1992-2025 UserLand Software, Inc..
Last update: Monday, June 4, 2001 at 12:21:58 AM Pacific.
Email: webmaster@userland.com

This is a Manila site.