Changes: ver. 0.1.0 to 0.1.1 -- added code to handle both old and new versions of TinyTable product -- modified credits.txt ver. 0.1.1 to 0.1.2 -- modified manage_delete call to conform to Python 1.5.2 syntax -- fixed bug for disappearing subject text editing for plain vanilla version -- changed from DOS line ends (CRLF) to Unix style line ends (LF) -- changed reading of text file to prevent infinite loops -- changed product packaging from zip file to tar.gz -- development proc modified; shifted from RCS to CVS -- fixed bug on file attachment ver 0.1.2 to 0.1.3 -- changed input tinytable data format (*.tbl) in /demo/newtables to fix authorization required bug coming from TinyTable product -- took out duplicate definition of site_url method from Posting class. -- updated message*.txt to current info, as well as minor stylistic corrections ver 0.1.3 to 0.1.4 -- changed defn of site_url, copying code from Confera for Squishsite class's site_url method defn and added different method defn for Posting class site_url -- computed from REQUEST[URL] which I'm assuming is computed correctly even under PCGI. This change is being done to fix a bug in computing site_url when Squishdot is run under an Apache-PCGI configuration. ver 0.1.4 to 0.1.5 -- changed self.subjects from a built-in map ({}) to a PersistentMapping to fix weird storage behavior (with subjects disappearing) under ZODB3 ver 0.1.5 to 0.3.0 -- added new Squishdot logo and Zope logo to the footer of the fancy demo/simple demo screens. -- modified form input variables to html-quote so weird chars are redisplayed correctly -- modified href and src variable to url-quote so they can handle weird url links -- added a preview button. -- fixed mailhost selection so that blank is an option. -- error screen is now customizable. -- message screen is now customizable. -- edit posting screen now returns previous input coming back from error screen -- fixed "regex" incompatibility with Zope2 -- added striptags function for stripping invalid chars for RSS/RDF -- add RSS/RDF channel page -- validation of article/comments are now customizable -- added new rss_ properties -- rss_title, rss_description, rss_image_url for data needed in RSS/RDF channel -- added a new property to control how many previous days of articles are shown in Older Links squishbox -- fixed permission list for manage_postings to list postings/subjects list -- but see known bugs -- fixed mail html removing the first blank line -- removed the dtml file Squishdot_manage_main.dtml -- not used -- attachment file now displays for plain-vanilla mode article posting -- fixed advertising image display banner so it sets a fixed image url -- and url now points to squishdot.org -- fixed site_title so it nows sets a fixed image url (not relative to posting's url) -- added new links to technocrat, gnotices, squishdot in quicklinks squishbox -- added links to static download page and documentation page in squishdot website -- fixed inserted spaces problem when editing posted articles/replies -- removed expire_time from list of predefined properties (demo mode only) -- not used -- converted dtml tags to new format (i.e from <!--#xxx to <dtml-xxx ) -- added an about, readme, license, credits, version and changes page -- converted all image file names from xxx.gif to xxx_img -- added code to force all images inserted at creation time to have content type 'image/gif' -- modified body_len to make it return a numeric value if an additional divisor parameter is passed -- modified date_posted to make it return different formats if an additional format string was passed ver 0.3.1 -- fixed rdf_rss page missing quote (reported by Luke Tymoski) -- fixed invalid header bug (reported by John Hendow) -- reverted back to prev. version for mail_posting_html -- wouldnt work without blank first line -- modified date_posted to allow for variable date formats returned (c/o Lalo Martins) -- modified site_header to call misc_methods.advertising correctly, passing base_url instead of site_url -- this was causing a transaction update everytime pages were accessed (demo mode only) (reported by Pavlos Christoforou) -- modified SquishSite site_url method (moved code from Posting site_url method) to fix bug where site_url is incorrect if called from folders below Squishdot folder ver 0.3.2 -- added back Squishdot_editForm.dtml (got lost due to a CVS setup screwup) ver 0.3.3a1 -- fixed SquishPosting ac_permissions so that moderators no longer need to have a "manager" role in order to approve articles -- they only need the manage postings privilege ver 0.3.4 -- fixed dynamic dates in rightbox_methods that were broken in 0.3.3a1 -- removed path from suggestion cookies to enable them to work in conjunction with the SiteAccess product -- gifs and zips in CVS were turned into binary files to stop corruption during CVS checkout. ver 0.4.0 -- __init__.py re-implemented using the Zope 2 API -- added 'view' tab to management screens. -- move 'about' out of Squishdot.py into about.dtml -- removed redundant SquishItem and SquishSet classes. -- changed indexing to be ZCatalog-based. This means you get a 'Cataloged Objects' tab. -- fixed mail_html in the fancy demos so it sends out correctly formatted MIME. -- changed mail_html in the plain demo so it doesn't use MIME. ver 0.4.1 -- The namespace and client are now passed to showMessage and showError to things like site_header and site_footer may be used. -- A minor bug in the 'Plain' demo's addPostingForm was fixed. (reported by Paul Browning) -- 'body'is no longer a required search argument, a bug introduced in 0.4.0. (reported by Kai-Oli Tiffany) -- SquishSet and SquishItem re-instated :S (They're needed for the ZSearchable Interface) -- A new and more useful mail_html has been included in the 'Plain' demo. -- Security has been tightened and a new set of roles introduced. -- A message saying that a Mail Host is required for mail notification is included on certain forms. (suggested by Paul Browning) ver 0.5.0 -- Adding support for postings to be formatted as Plain Text, HTML or Structured text. -- Enabled preview when editing postings through the management interface. -- Fixed KeyError for site_header in Plain demo. -- Fixed another bug introduced in 0.4.0 that prevented Squishdot working with the ZSearchable Interface. -- Made Squishdot behave more like a ZCatalog in the way you can search it. -- Fixed a missing ',' that was causing the 'managemanage_editForm bug'. -- Fixed problem with Path on cookies that meant you had to enter name and email address at each level in the folder structure. -- Fixed nasty bug in the CRLF regular expression that meant lines were (and in old articles, still are) containing \r's. That really confused the structured text renderer ;-) ver 0.6.0 -- Integrated Bruce Perens' Batch Moderation patch and made some of its functionality available on the Postings page. -- The administrator can now be optionally emailed when news articles and/or postings arrive. -- Some improvements in presentation in the management interface screens. ver 0.7.0 -- Changes to the Demo Sites and Squishdot core to make them Zope 2.2 compatible. -- Updated Cataloging to use the Traversal Interface. This means 0.7.0 will not work with versions of Zope earlier than 2.2.0! -- Added in some html_quoting. The Demo Sites could do with a lot more... -- Some small changes to the management screens. ver 0.7.1 -- Slightly updated roadmap. -- Fixed bug that prevented deleting postings. ver 0.7.2 -- Made Squishdot work with INSTANCE_HOME Zope installations. ver 0.7.3 -- Removed bad url quoting of email addresses in some of the fancy demo pages. -- Fixed TinyTable detection that got broken in 0.7.2. -- Fixed problems with moderated Squishdot sites and searching. -- Fixed the behaviour of Squishdot's ZCatalog when Squishdot Sites were moved, copied or renamed. -- Updated copyright in about.dtml -- Updated roadmap. ver 0.8.0 -- Made Squishdot work with TinyTable or TunyTablePlus. Also made Tinytables work in 2.3.0. -- Fixed KeyError problem with Re-Catalog All Postings button. -- Reversed the order of postings on the postings tab and other small changes to make the Postings view more useful ver 1.0.0 -- Added Updaters to handle fixing old Squish Site instances. -- HTML postings are parsed to remove harmful tags. Unclosed tags are closed. -- Reimplemented email notifications. No HTML mail is now sent. HTML in postings is converted to text before being mailed out. -- Fixed a design problem with threading (this requries an updater to be run ;-). -- Fixed wierdness in Plain Demo addPostingForm which included the original posting's subject in all replies. -- Fixed the problem that someone with only Moderate Postings permissions couldn't acutally edit postings. -- Fixed reply count problem when postings were deleted. -- Made moderation stuff show if there are postings that require moderaion, not if we're in moderated mode. The two are not necessarily the same -- Added the ability for moderators to add, delete and modfy attachments to postings. -- Removed unneccessary exception catching in __init__.py -- Split the monolithic Squishdot.py file into several small, more usefuly files. ver 1.1.0 -- Search results calculation has been re-implemented and should be much more efficient now. -- Updated some information in one of the sample postings. -- Posting previews now also use the HTML parser. -- HTML parsing now doen using the Strip-o-Gram library. -- Mail notification has been improved. In addition, the site administrator will be mailed if notification fails. -- Postings now have a 'date' method which returns a DateTime object of their creation date and time. This is really handy for indexing and sorting. -- Properties are now deletable letting you share a set of properties between several Squishdot Sites. -- The moderation tab now renders postings in their correct format. -- The date_created, time_created and time_modified methods have been deprecated. -- Squishdot now uses the new Zope 2.3.2 BTrees -- The Updaters have been modified to use the UpdateSupport product. ver 1.2.0 -- Strip-O-Gram now uses a much better HTML Parser. -- Strip-O-Gram no longer allows you to sneak tags through using cunning means. -- Fixed a bug in where the preview code picked up the encoding type from. -- Fixed a bug in the posting deletion code that re-calculated posting counts incorrectly. This meant that some postings which hadn't been deleted weren't showing up. ver 1.2.1 -- Fixed stupid typo in Article.py. -- Brought back the Undo tab for Squishdot Sites. -- Removed some silly url quoting code from index_html in the demo sites. ver 1.3.0 -- Updated Licensing to be clear, consise and present in all files. -- Removed deprecated usage of SCRIPT_NAME from demo sites. -- Moved to new security spellings. -- Fixed the inability to change the subject of postings. -- Fixed bug when submitting incomplete postings. -- Made compatible with Zope 2.4.x -- Fixed mail notification template. -- Made Postings implement the Traversal interface. -- Squishfile now subclasses Zope's File object solving a few issues. -- Enabled Squishdot to work with the Refresh product. -- Fixed Strip-O-Gram bug that caused weirdness when & appeared on its own in postings. -- Error emails are no longer sent, people should use the MailingLogger product from Zope.org -- The render method is now replaceable by added an object called 'render' into the Squishdot Site object. -- Added a fairly complete PyUnit Test Suite. -- merged validateArticle and validateComment into a single validatePosting method. ver 1.4.0 -- Fixed cancelNotification URL in mail_html. Also fixed broken tests that should have caught it. -- Posting's desc_items method now filters on reviewed status. -- Optimisation of indexing during addition of postings. -- Fixed a very bad indexing bug involving incorrect Acquisition wrapping. This also made moderaton break completely. -- Fixed bug in plain demo previewPosting method. -- Moved to Strip-o-Gram 1.1. -- Adapted to Structured Text's desire to suddenly change API. -- Fixed bug when manage_edit is called non-TTW. -- Fixed bug that prevented replies being deleted. -- Fixed various small bugs. -- Removed unused desc_items method of SquishSite enabling the removal of redundant Stack class. -- Fixed bug that meant 'None' was returned when messages were successfully posted. -- Fixed incorrect incrementation of reply counts when people attempted add postings with missing fields. ver 1.4.1 -- Added the ability to delete postings by specifying their id on the moderation page. -- Slight improvement in efficiency of previewForm for 'plain' sites. -- Approving Articles or Postings using their edit form was fixed. -- Fixed a bug preventing attachments from being downloaded from Article or Posting edit forms. -- Added the ability to reverse approval of a Posting or Article using its edit form. -- Some tests were made more robust so they ran cross platform and from various locations. -- Updaters were changed so they are named as described in the README.TXT of the UpdateSupport product. ver 1.5.0 -- Added the ability to edit the date of posting on the posting edit form. -- Update the posting's 'modified' attribute when postings are editted. -- Use BTrees.IIBTree.IISet instead of the deprecated intSet.intSet. -- Fixed problems with indexes and metadata for Zope 2.6.0. -- Added 'date' as metadata by default. -- Fixed handling of reply counts and moderated counts when un-approving postings. -- Moved to Strip-o-Gram 1.4. -- Better documentation and some renaming in updaters. KNOWN BUGS: -- the demo sites don't html-quote several fields which really should be. -- Clicking the Import/Export button within a Squishdot site won't let you do anything useful.