LiveWhale 1.3.4 Upgrade
December 18, 2009
By Morgan Grether
Wednesday night, Dec 16, 2009, our LiveWhale software was upgraded to version 1.3.4. Below is the official announcement from White Whale about the upgrade:
LiveWhale 1.3.4 Release Announcement
After many months of development we’re happy to announce the immediate availability of LiveWhale 1.3.4. In addition to assorted bug fixes, this release contains many new minor features, as well as a few new modules and widgets.
Please review the changelog below and contact Alex (email@example.com) as soon as possible to schedule an upgrade. Typically after hours on Friday evening are good targets. With the holidays upon us, we suggest scheduling an upgrade immediately after the libations wear off (week of Jan. 3rd).
Thanks to everyone whose feedback helped to produce this release, and Happy Holidays to all from the LiveWhale crew!
• New Features:
- Recaptcha support: Some of our new features benefit from the ability to use “captcha”, dynamic questions preventing the submission of forms by spam bots. In these features, captchas will be disabled until a free account is obtained with Recaptcha (http://recaptcha.net/). Your account will provide you with a public and private key, which can be entered in LiveWhale’s core/config.php under RECAPTCHA_KEY_PUBLIC and RECAPTCHA_KEY_PRIVATE.
- Added forms module. This allows you to create and save custom forms that can be displayed on your web site. Collected data can be e-mailed, stored in the database, or both. (Optional captcha support is provided by Recaptcha.)
- You can now opt-into user comments on news stories, events, and galleries by clicking the related checkbox on the editor screen for these items. Only LiveWhale users can hide/unhide comments and can view e-mail addresses of users posting comments, while logged in. You must add the comments element (from /livewhale/default/news.php, for example) to any templates where you wish comments to be support. (Optional captcha support is provided by Recaptcha.)
- Ability to log into LiveWhale can now be temporarily restricted (such as during an upgrade). This behavior can be customized in LiveWhale’s core/config.php. UPGRADE_ACCESS_DISABLED disables login access. UPGRADE_ACCESS_MESSAGE sets a custom message when login is restricted. UPGRADE_ACCESS_USER defines a single user who is permitted to log in during a period of restricted access.
- Added a feature to groups management that allows you to import new users via CSV. From the groups manager, click the “Import From CSV” link in the submenu and follow the instructions on the page.
- Added Bulletins module. This admin-only module allows you to e-mail LiveWhale users in bulk. You can specify all users or specific groups of users. (Individual users can be otherwise be e-mailed via the link on their user edit page.)
- The LiveWhale host configuration now supports a new option, GA_SITE_ID, which can be set to a Google Analytics site identifier (UA-XXXXXX-X). When this is done, the analytics tracking code will automatically be applied to frontend pages site-wide, when not already present. (We are looking at future support for adopting Google’s new and improved tracking code, currently in beta development.)
- The page editor now collects statistics from Google Analytics with an additional host configuration option. Set GA_EMAIL, GA_PASSWORD, and GA_PROFILE_ID to the values corresponding with your Google Analytics account on a host-by-host basis and page statistics will be displayed in the editor toolbar under “Page Details” as well as on the page edit details screen in the LiveWhale interface. Statistics include number of pageviews in the last week, month, and year, as well as a popularity score in the same three periods.
- Added tags widget. This widget produces a tag cloud on the public site, linking to a list of data (news, events, etc.) marked with that tag. See the widget manager, and select “Tags”, for details. This widget uses the familiar “item_url” to specify its template.
- Added file widget. This widget has only one arg, “path”, which specifies the path from the web root to a file whose raw contents should be displayed. This is useful for including template components, especially those otherwise presenting a security risk from raw injection via the page editor.
- 404 errors sent by LiveWhale, such as when requesting a news story that does not exist, can now send the same custom 404 pages as Apache does. To do this, add an ERROR_404 variable to your host config containing a web-root relative path to the custom 404 page.
- Widgets now possess an undocumented feature that allows widget sort order to be controlled in special cases. This is done using the “sort_order” arg, and giving it a value of balloon, date, reverse-date, alphabetical, or reverse-alphabetical (where applicable for each). Multiple sort options are possible by listing them in comma-separated format.
- Added a WYSIWYG button for creating tables. This can be used in the page editor as well as WYSIWYG editable areas on an editor screen.
- Images can now be flagged as shared, causing them to appear as available attachments for members of any group. This is done by checking the checkbox on the image editor and saving. When searching for an image to insert on a web page, attaching an image to a news story, etc., the shared image will appear as available, as if it was in your own group.
- Public submissions. LiveWhale will now automatically create and reserve a group called “Public” that will collect news items, events, and images that are submitted by the public. A default public submissions page is available at /livewhale/default/submit.php which can be copied and styled according to your own template. For security purposes, items that have been publicly submitted are hidden by default and cannot be displayed on the frontend unless the “Public” group is explicitly set in a group arg.
• Miscellaneous Improvements:
- You can now embed widgets inside news stories, blurbs, etc. To do this, click the HTML source button in the WYSIWYG toolbar and paste your widget code into the source where appropriate. Just like in the page editor, the widget will appear with a blue widget icon.
- All widgets that support the “tag” arg can now choose between matching by multiple tags in “and” mode (default) vs. “or” mode. To switch from “and” to “or” mode, set the “tag_mode” arg to “or”.
- News stories are now supported as a related content type.
- Blurbs can now possess related content.
- Widgets now support the “only_starred” arg, which retrieves only items that are starred.
- Tags can now be starred (allowing use of only_starred in the tags widget).
- You can now preview items you own, even if they’re hidden, using a improved preview display.
- The LiveWhale content directories for downloads and images are now divided into subdirectories by group id.
- Saving an item now returns you to the last page of the manager you were on, instead of always to the first page.
- Previously, making a download hidden would prevent it from showing in a widget, but would not prevent the direct download link from working. We now route direct download links through a PHP script which takes hidden states into account before allowing the file to be transferred.
- Improved compatibility of broken link checker to support certain urls with malformed 302 responses.
- Added support for an output_buffer handler in LiveWhale application plugins. This can be used to perform last minute output modifications before pages are sent to the client’s browser.
- The colon character is now allowed in tag titles.
- When importing a news item from RSS, a summary may now be obtained from the RSS item’s description field.
- Improved support for feeds over https on some server configurations.
- RSS feed content types have now been switched to application/rss+xml.
- RSS feed items now adopt the channel’s pubDate (or request time) if lacking their own pubDates.
- Improved compatibility with certain kinds of ICAL feeds.
- Improved display of accented latin characters in certain contexts where their named entities were shown.
- The events calendar widget now supports the group arg. This will allow you to create frontend calendar pages for a particular group.
- Added location to the default events template.
- The events widget now supports location in its output.
- The events calendar widget now supports the args: group, exclude_group, tag, exclude_tag, and only_starred, allowing you to specify which events are included on any given calendar page.
- Improved quality of XHTML text summarizes (for example, excerpt_limit on the feeds widget).
- Improved quality of related news results.
- Improved consistency of dropdown menus across all managers.
- In the widget manager, the downloads widget now displays a dropdown menu of options for file type instead of a text field.
- The content analyzer no longer analyzes contents within HTML comments.
- The content analyzer now warns you if a widget uses an invalid item_url path.
- The diagnostics routine now checks if there are any missing default templates for widgets that require them.
- Related content no longer sets target=”blank”. If this is desired, White Whale can apply it on a case-by-case basis.
- LiveWhale no longer allows logins on hosts that haven’t been configured in config.php.
- News stories, events, and galleries will now display the photo credit for images attached to them. The photo credit is no longer suggested as part of the caption at the time of attachment.
- An incorrect FTP pub path in the LiveWhale config is now correctly identified and reported, rather than giving a “page does not contain any editable elements” message.
- LiveWhale now catches and warns users of a server misconfiguration in which the the current host is locally mapped to an IP where LiveWhale is unreachable.
- The LiveWhale export data option now supports both XML and SQL formats.
- When adding a new page from a template, relative paths in “src” and “href” attributes, as well as in PHP includes/requires are now converted to absolute paths in the newly created page.
- Performance optimizations to url subrequests.
- Inline galleries now support group-owned gallery templates and the item_url arg.
- “Your Pages” now alerts you if permissions have not been set for your user or group.
- Where applicable, widgets gain an additional output variable, href, which contains the raw url to the linked item.
- Twitter has been added to the default save-and-share set for news/event/gallery details. This can be copied to your existing templates from LiveWhale’s default templates (/livewhale/default/)
- The “Recent Feeds” list now displays feeds by name, if possible.
- Editor screens now make it clearer when an item will be saved as hidden.
- Improvements to display of blurbs in the blurbs manager and search results.
- AJAX errors have been improved and no longer flood.
- The AJAX timeout has been increased to 10 seconds. It has also become editable via the AJAX_TIMEOUT setting in config.php.
- LiveWhale now properly handles malformed page templates where editable regions have been nested.
- Improved support for certain types of conditional/dynamic content inside editable regions.
- TinyMCE has been upgraded to version 3.2.7.
- LiveWhale’s FTP layer will automatically go into “accelerated mode” for read-only commands if the FTP files are also accessible locally. This greatly boosts speed for some FTP actions when supported.
- Inline styles are no longer stripped from editor fields allowing HTML.
- You can now “select all” from managers and RSS/ICAL import screens.
• Bug Fixes:
- Fixed a regression involving uploaded file names containing spaces.
- Fixed a bug in which copying certain news items could incorrectly affect tag search results.
- Fixed a minor cosmetic bug when importing from certain RSS feeds.
- Fixed a bug where disabling Pages scheduled content notification sometimes failed to take effect.
- Fixed a bug that could prevent page editing authorization when leaving out the “www” in the main host.
- Fixed a bug where golive time was required for a successfully scheduled story or blurb.
- Fixed a cosmetic bug which displayed HTML in gallery thumbnail mouseovers captions, when present.
- Fixed a bug in which repeating events would sometimes not take the max arg into account.
- Fixed a bug preventing the “category” option from appearing for blurbs in the widget manager.
- Fixed a bug that redirected “Save and Edit This Page Now” to the wrong location for pages created in the root directory.
- Fixed a bug that erroneously sorted certain events to the top of the events widget list.
- Fixed a bug where multi-value args (like tag or group) did not trim accidental leading spaces.
- Fixed a bug which could incorrectly encode captions for images attached to news or events.
- Fixed a bug where xphp variables could be improperly encoded in page titles.
- Fixed a bug where double/triple dashes encoded to ndash/mdash could break YouTube urls containing them.
- Fixed an bug where items with balloons would sometimes not move down in the list after “popping”.
- Fixed an bug where scripts using document.write could sometimes interfere with page editing.
- Fixed an bug where Firefox for Windows would sometimes shift button labels downward.