DirectRSS has many changes, including full namespace support. There's also a new detailed tutorial and configuration instructions for using DirectRSS for both single-file RSS and blogBrowser formats.
The ShearerSite administration page now promotes index or default pages to their own area the top of the file list. It also renames the "Apply"/"Reapply" button to "Update Pages", and displays some help as to why you would want to click it.
Installation on other web servers is now easier. The web-resources folder is laid out the same way as a typical web server. The README file gives instructions.
DirectRSS generates better-looking XML output if the input XML documents already have the correct namespaces defined on the root element. Otherwise, it can write extra namespace definitions. The sample files are set up correctly.
RSS includes don't yet filter the input for obnoxious scripts, styles, or meta tags, so only include RSS feeds you trust.
Progress-bar display via Safari on LocalWebAppServer doesn't work well; the page only displays when the operation is finished. The same thing works fine in Mozilla, and also works fine when using Safari with another web server. (On IE for Mac, display updating is very infrequent, but this is the case when using it with any web server.) All other browser/platform combinations seem to work; it's just a two-way conflict where Safari disables progressive rendering when used with LocalWebAppServer.
Edit Page, when used on HTML pages, works through a textarea instead of a WYSIWYG editor, so its usefulness is limited.
In Advanced Options view, the "Show extra progress details" option for the Update Pages command is temporarily nonfunctional.
The Display Template Info feature was broken; it was showing HTML source code to the user rather than the real thing. (The bug was caused by an internal change to passing titles without HTML encoding. This code used the navigation writer to display the template hierarchy, and put HTML in the 'title' slot. Now there's a 'titleHTML' slot.)
Fix for an obscure template problem. If there was a meta tag that needed to be removed inside a FrontPage border that was being removed, the command would give an error and stop template application. (This is illegal HTML, since meta tags should come in the head element, but there are some strange pages out there.)
The sample stylesheet eliminates a lot of unwanted whitespace that showed up above the navigation arrows in Mozilla.
DirectRSS: Read 'sample-file','recent-file','recent-max' parameters from .ini file. Change sample weblog ID to "home" instead of "sample", to match Radio Userland default.
Rss_plugin: Capitalization fixes to the permalink anchor name, the MetaWeblog API item permaLink itself, and date range specifiers. Got to love case sensitivity. (Only the date range specifier one caused an actual problem--it ignored the date range.)
rssweblog: RSS items now have a getCategories() method. FilteredRSSLister category match is now case-insensitive.
WeblogArchiver: Ditch SAX parser in favor of our own rssweblog module, so the module will now work with blogBrowser format and on systems without expat, such as the default Mac OS X 10.2 install.
PushSyncCGI: Always operate in recursive mode.
Replicator: Set FolderIterator's file filtering RE to allow non-HTML files.
FTPEndpoint: Autogenerate folders if needed on dest. NullEndpoint: use to ignore changes to the files; use as a temporary destination for "assume dest is up to date" functionality (if the dest really is up to date, and PushSync just doesn't know about it).
LocalWebAppServer: Open browser to 127.0.0.1 instead of localhost. Pre-NT Windows, and IE (only) for Mac OS X, don't like localhost.
FileIterator: Allow subclasses to override filename filtering regexp.
HTMLTemplateFilter: Work around bug in Python 2.2.0 StringIO and Unicode strings (replace with our own tiny class MyStringIO).
NavigationTemplateWriter: Send output in Unicode rather than trying to pre-encode it.
metainfo: Fix case where title is missing; don't try to HTMLDecode it. Also bring HTMLDecoding to TitleFilter.
Build script: added CGITools, PushSyncPackage, ChangeLog.txt.
This beta release improves the appearance of several components, including the main web administration page, and contains many bug fixes and new features for DirectRSS, including full namespace support. It also marks the debut of PushSync (in an alpha version), which efficiently publishes web site changes using file copies, FTP, or other methods added through plugins. LocalWebAppServer now supports command line arguments that are passed to servlets, and PushSync and DirectRSS use this capability to specify configuration files. Sample files are included so you can be up and running in five minutes. There are more than 100 changes since 1.5b13.
adminCGI
Support API change to metainfo such that page titles no longer come across HTML entity-encoded. Now titles with entities or Unicode characters will show up as intended in the file list, without showing the HTML code. performEditPage page now handles submitted Unicode (UTF-8) page titles properly. The title was the one field that wasn't passed through the decoder. More character encoding support: response methods can now set their own encoding. Uses imported HTMLEncode implementation instead of built-in one. Also added support for adminHTML combining Document Title and navTitle (Short Title). Fix Show Template Info page to resolve warning messages. Remove Publish button & shorten help message when publishing has not been set up for a folder. Fix possible UTF-8 decoding error after uploading an HTML file, while assigning its title. Now can be called directly as a CGI, without the admin.pycgi wrapper (or LocalWebAppServer), if desired. Added externalRedirect() method to HTTPOutput class and selfRelativeURLToFullURL() function, enabling us to ditch redirectBugWorkaround (which fixed an IIS hang when we passed a partial URL).
adminHTML
Redesigned file list. New custom Rename, Edit, and Delete buttons. (Delete now requires JavaScript.) Removed Content Modified column. Combined Document Title and Nav. Title--now named Short Title--columns. Blue reverse-out column headings. Removed reference to Medical Computing in Convert to PDF section in Advanced view. Hide Publish button & shorten help message when publishing has not been set up for a folder.
DirectRSS
Config options are now read from a text file. DirectRSSConfig.py removed in favor of .ini file, set by command-line param, environment var, or setting in DirectRSS.pycgi. Running under LocalWebAppServer, now installs itself at /RPC2, matching Radio Userland. New description for LocalWebAppServer list page. Exception classes for all errors. Use of new high-level rssitem methods in rssweblog. Bug fix to metaWeblog.getCategories() result format. Setup page, visible in a browser when loading the DirectRSS URL, shows how to configure the weblog posting program for this DirectRSS instance. XML-RPC error responses are now formatted for better display.
HTMLEncode
Make default output encoding ASCII rather than UTF-8. It's a subset of most other output encodings this script supports, so it's compatible. It may just require more numeric entities. iso-8859-1 is still the default input encoding, to reduce the incidence of 'ordinal out of range errors' for non-ASCII input and instead use the most probable interpretation. Moved updated implementation from adminCGI.py. Be more careful to stringify input and encode output character-by-character if necessary to avoid unistrs seeping out.
HTMLFilter
Added hex entity decoding. Expanded docstring for HTMLDecode.
HTMLTemplateFilter
Fix bug in filtering out template tags in head element, most often causing duplicate meta name="description" tags from the template to show up in content pages. Wrote MetaTagDirector class to arbitrate whether content or template gets to keep a tag. Also change user-visible references to content "sections" to "regions", in line with other template tools.
Include_plugin
Fix parameter count; wasn't updated for new documentInfo parameter.
LocalWebAppServer
Support command-line config parameters for servlets. Consolidate code into WebServerMap class. Better way of importing servlets that doesn't involve modifying sys.path. Better-looking CGI list page. Static files in web root now get a Content-Length header. Fix extra Connection: close header on 404 error; in fact, remove all Connection: close headers.
metainfo
Now can return HTML-decoded page titles, leading to greater compatibility of title display with different output devices and encodings.
PushSync
PushSync efficiently publishes changes to your web site to another server or another location on the same system. It makes its alpha debut with support for local file copies and FTP replication, configured through an .ini file.
rssweblog.py
Many changes for full namespace support. Now reads and generates radioWeblogPost:id elements. Bug fix to metaWeblog.getCategories() response format. Editing description no longer could leave an extra, out-of-sync content:encoded element from another weblogging system. Bug fix to editing repeating category elements. Preserve existing amount of whitespace around weblog posting in RSS file while editing, and add a blank line after new postings. post.getDate() returns pubDate (creation date) in preference to dc:date (mod date). New methods: post.setCreationDate(), setModificationDate(), setCategories(), setGUID(), setPostID(), and autoSetPostID(). Code now makes sure XML declaration gets written. SAX adapter now enables namespace support and tracks namespace prefix mapping. xmllib adapter grabs encoding name from file, and triggers SAX-like prefix mapping events by keeping track of xmllib's namespace map in conjunction with its own stack. New methods in xmlFilter provide namespace hooks, and xmlWriter now adds xmlns attributes when needed.
showtitle.py
New command-line tool, intended for use by search indexing engines while indexing PDF (or other non-HTML) files. Retrieves the title the user has set in ShearerSite. An extension to the ht://Dig search engine has been successfully tested and implemented with a patch to its conv_doc.pl script.
Bug fixes in version 1.5b8 (2003-02-19):
New features in version 1.5b7 (2003-02-17):
New features in version 1.3 (2002-03-11):
New features in version 1.2 (2001-10-31):