This document contains a list of changes for each release of Krang.
linked_stories() to Krang::ElementClass to make this interface
available to all elementclasses, especially WYSIWYG editors and the
like. [Bodo Schulze]
Fixed bug in FTP code where timezone used by FTP server (for file creation
dates, logging, etc.) was always UTC regardless of the local machine's
timezone (causing inconsistency in Krang dates and log entries). [Noam Weinstein]
Made sure a media is reported as unpublished after changing its
category. [Bodo Schulze]
Added convenience method root_category() to
Krang::Category. [Bodo Schulze]
Integrated PoorText with StoryLink interface. [Bodo Schulze]
Added the ErrorNotificationEmail configuration directive that can contain an optional
comma-separated list of email address that will be sent an email with details about
any Internal Server Errors that occur. [Michael Peters]
Added retire_hook and unretire_hook hooks for element classes when things are moved
in and out of the retired objects section. [Michael Peters]
Added untrash_hook hook for element classes when things are taken
out of the trash. [Michael Peters]
Added the ability to change an element's class in the Element Editor
UI if the element library is configured to allow it (using the
ChangeableElementClasses directive in set.conf). [Michael Peters]
Added a new WYSIWYG elementclass Krang::ElementClass::PoorText and all
it takes. [Bodo Schulze]
Fixed bug where user could Edit a story, then View an old version of it,
then click Edit from the View screen, in effect wiping out anything
that had been left unsaved in their session. [Noam Weinstein]
Fixed bug where it was possible from the View Schedule screen to 'View' the
version of a Story or Media currently open for edit, causing confusion and
the possible loss of changes if the user clicked 'Edit' again. [Noam Weinstein]
Ported fix to unpreview a media object when it is deleted
(instead of just unpublishing it). [David Kaufman]
Refactored bulk edit in its own classes. The legacy textarea-based
bulk editing is in Krang::BulkEdit::Textarea. Xinha-based bulk
editing is provided by Krang::BulkEdit::Xinha. This module largely
use parsing instead of regexes to sanitize/scrub the HTML coming from
Xinha. Xinha's toolbar and the set of allowed block-level is
configurable via subclassing Krang::BulkEdit::Xinha::Config. This
module also allows to configure whether paragraphs should be split on
BR tags. [Bodo Schulze]
Pass the browser engine name to the environment via
KRANG_BROWSER_ENGINE. This enables clients to dispatch to
Krang::Markup::SomeBrowserEngine methods. [Bodo Schulze]
Added modules to filter incoming/outgoing HTML markup according to
what different browser engines' markup commands can handle in WYSIWYG
areas. The base class Krang::Markup is subclassed by
Krang::Markup::Gecko, Krang::Markup::IE and
Krang::Markup::WebKit. [Bodo Schulze]
Upgraded HTML::Parser to version 3.56. [Bodo Schulze]
Removed Image-Info-1.15.tar.gz from src/ and replaced it with
Image-Size-3.1.1.tar.gz to fix bugs in Krang::Media's width() and
height() methods in which, for certain valid JPEG images, these
methods returned undef (and for others, returned an arrayref!)
According to its own POD docs, Image::Info is ``deprecated, and
should not be used'', ``has numerous bugs'', is only minimally
maintained, and recommends the use of Image::Size to replace these
functions. Krang now appears to return correct width and height
values for all JPEG's tested. [David Kaufman]
Separated the two perl classes in lib/Krang/FTP/FileHandle.pm into
their own files so that either can be more easily subclassed in an
addon, without having to override all the code in both unnecessarily
[David Kaufman]
Corresponding to the behavior of Krang::Story's delete(), made Made
Krang::Media's delete() and Krang::Template's delete() throw a
Krang::*::NoDeleteAccess exception if the user has no admin_delete
permission. [Bodo Schulze]
Fixed bug in krang_upload_templates and krang_rename_categories that
sets NO_ELEMENTLIBS to 1 even though it's necessary to instantiate the
Category element when creating new categories. [Noam Weinstein]
Added DateTime and Time elements similar to those used for cover_date
input. [David Kaufman]
Replaced package constants, global and lexical variables in
Krang::User with methods that can be subclassed. [David Kaufman]
Gave the scheduler the ability to email users after succeeding with or
giving up on a job. [Noam Weinstein]
Made schedule failure more configurable on the API level, adding the
ability to specify how many times a particular job is attempted and
how long the daemon waits between attempts. [Noam Weinstein]
Added ability to create object-specific alerts that are triggered only
for particular story or media objects. Enhanced MyAlerts UI to allow
users to control these. [Noam Weinstein]
In various templates, replaced CSS class 'c-mini' by 'c-label-tiny'
according to Michael Peters' renaming in r5180. [Bodo Schulze]
Added initial support for Xinha-backed bulk edit, based on code by
Noam Weinstein. [Bodo Schulze]
Fix to transfer media to trashbin when deleting it from within the
Edit screen (thanx Noam). [Bodo Schulze]
Added elements to Media objects, enhanced Media Edit UI to take advantage of the ability
to create, edit, and publish element data along with media objects. Wrote upgrade code
to instantiate skeletal media element class. [Noam Weinstein]
Refactored element_bulk_edit() and element_bulk_save() to ease the
implementation of WYSIWYG-based bulk edit areas. [Bodo Schulze]
Standardized locations of bottom-panel buttons on Edit screens. [Noam Weinstein]
Made it possible to associate contributors with a story or media
object even if the user doesn't have the manage_contribs permission,
which should presumably be required only for the ability to add or delete
contributors from the system. [Noam Weinstein]
Fixed bug where cloning a read-only story doesn't reset may_edit flag.
[Noam Weinstein]
Added ability to rename media files (through code, not GUI) without re-uploading
object. [Noam Weinstein]
On all Find screens, enable/disable the (green) list buttons according
to the checked status of the list's row checkboxes. Also
enable/disable the element editor's Delete button according to the
elements' delete checkbox status. [Bodo Schulze]
Made 'Revert' button for the edit screens of Stories, Media, and
Templates write to disk (after error-checking), added text clarifying
what the new version number means, updated related tests and
docs. [Noam Weinstein]
Added krang_deploy_templates script to deploy some or all templates
from the command-line. [Noam Weinstein]
Added option to krang_backup to backup a single instance. [Noam Weinstein]
Caring for singular/plural in string ``Result(s)'' on find
screens. [Bodo Schulze]
Make and remove symlinks (for now only calendar and help files) when
(un-)installing language distributions. Remove localized templates
when uninstalling a language dist. Also passed Krang::Localization
through perltidy. [Bodo Schulze]
Added 'force-checkin' option to krang_upload_templates and
krang_upload_media. (In the past objects checked out to other users
were skipped). [Noam Weinstein]
Added 'View Log' to Media View (r4815) and Template View (r4820)
screens. [Bodo Schulze]
For Media Edit screen, ripped out 'Publish to Preview' button
including its JavaScript function and Perl runmode, since each Save
and Save & Stay now does publish to preview anyway (behavior
introduced by Noam in r4513). [Bodo Schulze]
Replaced src/Digest-MD5-2.23.tar.gz with
src/Digest-MD5-2.36_patched_for_UTF8.tar.gz which handles UTF-8
data transparently. [Bodo Schulze]
Made sure each Krang template points to its own help files. Also
streamlined help file names to ease the making of more sophisticated
help systems. [Bodo Schulze]
Added t/dict/words.ascii (to generate filenames and the like) and
t/dict/words.latin1, a mixture of English, French, German, Italian,
Portuguese and Spanish words for content generation. Also made all
tests use Krang::Test::Content's get_word() method to generate UTF-8
content if the Charset directive says so.
Added localization admin scripts lang/bin/krang_lang_installer,
lang/bin/krang_lang_uninstaller and
lang/bin/krang_missing_localizations. Also updated install and
upgrade documentation and added a note to Krang developers about how
to use the localization API (localization_api.html). [Bodo Schulze]
Added bin/krang_smoke_test to make it as easy as possible to create a smoke server
to send the results to http://smolder.plusthree.com. [Michael Peters]
Added new option --with_language to bin/krang_makedist. Per
default Krang distributions will be made without the lexicons
under lang/, but with the localization admin scripts in
lang/bin/. [Bodo Schulze]
Added DefaultLanguage check to bin/krang_test (must be set to 'en'
to pass all tests). [Bodo Schulze]
Added localization API and German lexicon. [Bodo Schulze]
Added support for Ubuntu [Peter Leonard and Michael Peters]
Added support for Story Type-based category behavior, including auto-selection of category based on
type, cover-date, slug, and/or title, and validation of manually selected categories. [Noam Weinstein]
Added 'Cancel' button to Story, Template, and Media Edit screens - clicking it returns the
given object to its previous location (i.e. owner, desk, etc.) and sends user to the page
from where he/she opened it. [Noam Weinstein]
Removed requirement to upload a file when creating new media; can now use inline
editor without specifying a file. [Noam Weinstein]
Added ability to search full text of stories and templates from CMS. [Noam Weinstein]
Implemented beta version of flat-template support, allowing
a single template per top-level story type. [Noam Weinstein]
forget_all_dbhs() method to Krang::DB to help in the situation
where you fork a process and don't want the child to use the parent's handles.
[Michael Peters]
Added no_cache argument to Krang::DB::dbh() to by-pass the cache.
[Michael Peters]
Fixing bug in Krang::Schedule and Krang::Schedule::Daemon which resulted
in MySQL Lost Connection errors on really busy systems. [Michael Peters]
Fixed bug in Bulk Upload of media objects where Unix shell meta-characters
in file names caused problems when unpacking. [Michael Peters]
Added --story-class argument to bin/krang_publish. [Michael Peters]
Enable the use of optgroups in the 'Add Element' dropdown. [Eric Folley]
Adding new user preference for turning CodePress on/off. [Michael Peters]
Adding Fedora 9 as a build target. [Michael Peters]
Fixing bug in the scheduler daemon that resulted in lost MySQL connection
errors. [Michael Peters]
Fixed some minor bugs with the new Image Transformation. [Michael Peters]
Upgraded our JSON modules to use the latest JSON::XS. This gives us speed and
better handling of UTF8. [Michael Peters]
krang_to_utf8 script to ease conversions. [Noam Weinstein]
Added PreloadHandler available to addons to run code during Apache's
preload stage. [Michael Peters]
Added EnableTemplateCache configuration parameter to be able to turn Krang
UI template caching on. [Michael Peters]
Added the ability to limit the number of versions saved in the database
for each Story, Media, and/or Template object, automatically pruning
the oldest ones. [Noam Weinstein]
In Krang::ElementClass::XinhaEditor fixed caching of
htmlarea.js. [Bodo Schulze]
When a user has read-only access to stories, media, and/or templates, made
buttons like Publish, Add, Checkin, etc. hidden from view. [Noam Weinstein]
When editing media, made Save and Save_and_Stay buttons automatically
publish to preview. [Noam Weinstein]
Added a new script bin/krang_exec to make it really simple to run
commands against multiple Krang instances using Krang libraries, addons,
etc. [Michael Peters]
In Schedule's list_all runmode show the Delete button if there
are any table rows. [Bodo Schulze]
Fixed JS function name in Krang::ElementClass::MediaLink. [Bodo
Schulze]
Fixed a bug when trying to import/export UTF-8 data. [Michael Peters]
Added inheritable/overridable methods to Krang::Handler, login_uri()
and unprotected_uri(). [Jesse Erlbaum]
Made previewing from story-edit screen validate and then display the user's
latest changes (i.e. changes they haven't yet saved). [Noam Weinstein]
Made missing-template errors show the actual name of a missing file
even if it was included by another template. [Noam Weinstein]
Added alerts notifying user if the template or media file being edited was
modified by another user or window. (This used to crash.) [Noam Weinstein]
Implemented admin perm 'admin_users_limited'. Redirect to login
screen if user tampers with GID params. [Bodo Schulze]
Added new option --no_default to bin/krang_useradd to prevent the user
being associated with group 'default'. [Bodo Schulze]
Added real-time client-side syntax-highlighting (the CodePress library) to
the textareas used for viewing and editing Templates. Thanks to Jesse for
suggesting this feature, and finding the most excellent CodePress.org project!
[David Kaufman]
Completed v1 of multiple-window, multiple-session support, allowing a user
to open multiple stories, templates, publishing windows, etc. at the same time,
and log off each window individually or all together. [Noam Weinstein]
Implemented requested ``Replace Story'' feature where instead of a simple duplicate-URL
error, creating a story that conflicts with existing URLs now yields a dialogue box
giving users the option of overwriting the duplicate URLs. [Noam Weinstein]
Removed deprecated Story ``Priority''. [Noam Weinstein]
slug_use() method to TopLevel allowing class-based
defaults/requirements, and enhanced New Story and Edit
Story CGI to show slug fields as appropriate. [Noam Weinstein]
Added title/slug mapping for high CP1252 and latin-1 chars to
Krang.Slug.title_to_slug(). [Bodo Schulze]
Fixed bug in ListGroup.pm where re-editing from GUI lost all
but first value selected when multiple => 1. [Noam Weinstein]
Implemented automatic slug-generation based on title and story
type. [Noam Weinstein]
Made 'New Story' & 'Add Category' dialogues remember the last
category chosen during current session. [Noam Weinstein]
Made 'Save' buttons in element editor truly save to disk even
when editing a container, and replaced old non-disk save with
a 'Done' button. [Noam Weinstein]
Fixed addon v2 compat bugs in some test files. [Bodo Schulze]
Get bin/krang_install ready for use with MySQL 5.* [Bodo Schulze]
Added --all-instances flag to bin/krang_publish to work with
--everything. [Michael Peters]
Fix ordering of media types on media UI to be in alphabetical
order. [Eric Folley]
Completely new skin. [Don Brodale, Michael Peters and Eric Folley]
New AJAX interface and Javascript re-write. [Michael Peters]
Added a new forgot-password functionality to the login screen.
[Michael Peters]
Added the EnableFTP config directive which is true after an
upgrade. [Michael Peters]
Added the Secret config directive to be used for encryption and
encoding. [Michael Peters, Bodo Schulze]
Added the ContactEmail and ContactURL config directives to be used in
links in the footer. [Michael Peters]
Added the CustomCSS config directive which allows each instance to change
the CSS for the CMS. Most commonly this can be used to add specific logo
images per-instance. [Michael Peters]
Fixed bug #10. Extended Skins configuration by allowing an arbitrary list
of CSS colors that will be put into an arbitrary number of .css.tmpl
files. [Michael Peters]
Fixed bug #3. $publisher->publish_context now does not die if called without data.
[Michael Peters]
chown files
that had a single quote in them. [Mark Pearson, Michael Peters]
Make sure a copied story won't receive a duplicate URL. [Bodo Schulze]
Implemented desk security as specified in docs/permissions.pod and
discussed with Jesse Erlbaum. Also added tests to verify the API part
of this patch. [Bodo Schulze]
In Krang::Story-checkout()> and Krang::Story-move_to_desk()>,
fixed bugs related to story's desk_id and last_desk_id. Added tests
for it in t/story.t. [Bodo Schulze]
In Krang::CGI::Desk and Krang::CGI::Workspace, include desk name
in message when moving a story to another desk. [Bodo Schulze]
Show the 'text' cursor all over Xinha's edit area. [Bodo Schulze]
In Krang::HTMLPager, make krang_pager_sort_field persistent on
initial call to a Krang::CGI::* module's find() method.
[Bodo Schulze]
Added --below_category_id option and implemented
--limited_to_category option for bin/krang_publish. [Bodo
Schulze]
Add Fedora 7 as a platform for building. [Michael Peters, Jesse Erlbaum]
Upgraded DBI and DBD::mysql to be able to build Krang against
newer versions of MySQL. [Michael Peters]
In Krang::CGI::Story::copy(), preserve charset when copying a
story. [Bodo Schulze]
In Krang::Publisher::publish_context(), return an empty list to avoid
warnings when trying to get an empty publish context. [Bodo Schulze]
Added test_categorylink() to t/publish.t (implicitly tests
Krang::URL::real_url()). [Bodo Schulze]
Make use of Krang::URL::real_url() in the template_data() method of
Krang::ElementClass::CategoryLink, Krang::ElementClass::MediaLink and
Krang::ElementClass::StoryLink. [Bodo Schulze]
Added new module Krang::URL. It provides one method -- real_url() --
which adjusts the URL of story, media and category objects according
to their publishing context. [Bodo Schulze]
Added krang_src_dependency_check script to check Perl source module
dependencies. [Michael Peters]
In Krang::ElementClass::CategoryLink, Krang::ElementClass::MediaLink
and Krang::ElementClass::StoryLink fixed addon v2 compat bugs.
[Bodo Schulze]
After you've already built Krang --with--ssl, if you do a
krang_build --rebuild it will do the rebuild --with-ssl too.
In Krang::CGI::Media::list_active_row_handler(), fixed building of
thumbnail preview link. [Bodo Schulze]
In Krang::CGI::Story's create() method, fixed building of message
string after a Krang::Story::DuplicateURL error has been thrown.
[Bodo Schulze]
In bin/krang_build, got rid of hard coded versions of Apache
tarballs. [Bodo Schulze]
Fixed bug when previewing a story that was copied from another
story but hadn't been saved yet. [Michael Peters]
Added platform files to support Redhat Adaptive Server AS3
and AS4. [Jesse Erlbaum]
Applied Jose Quijada's patch to permit krang_export to handle large
sites without running out of ram. [Jesse Erlbaum]
Fix various buglets regarding paging and using overridden modules
in an addon. [Michael Peters]
Fixed problem with desk deletion where desks were reported to have
stories while those stories have been checked out to the user's
workspace. Also make sure the desk selector preselects as the default
checkin desk the next desk given by the desk's sorting order. [Bodo
Schulze]
In docs/permissions.pod, describe admin bits 'admin_scheduler' and
'admin_lists'. [Bodo Schulze]
In templates/Desk/desk.tmpl, removed 'Check out' Button and JavaScript
goto_edit() function, since they double the 'Edit' link. [Bodo Schulze]
Since first and middle name are concatenated with , we can't
html-escape the tmpl_var first_middle. So we'll do it one by one in
Krang::CGI::Contrib. [Bodo Schulze]
In check_categories() of Krang::CGI::Media::BulkUpload, fixed bug
where creation of non existing categories would fail if no parent
category is chosen. [Bodo Schulze]
In templates/story/view.tmpl, changed static template string 'Version'
to 'Current Version'. [Bodo Schulze]
Backport to trunk of Michael Peters' Ajax branch revision 3699,
removing warning in view() of Krang::CGI::Story occurring when story
version is undef. [Bodo Schulze]
Backport to trunk of Michael Peters' Ajax branch revision 3705,
implementing password match check in Krang::CGI::MyPref. [Bodo
Schulze]
In list_active() in Krang::CGI::Media, Krang::CGI::Story and
Krang::CGI::Template, made admin permission may_checkin_all
consistently control whether checkin checkboxes and button should be
displayed in ``Active Media'', ``Active Stories'' and ``Active Templates''.
[Bodo Schulze]
In krang.conf, allow multiple word InstanceDisplayName.
[Bodo Schulze]
Fixed addon v2 bugs in deserialize_xml() of Krang::Alert,
Krang::Category, Krang::Contrib, Krang::Group, Krang::List,
Krang::ListItem, Krang::Media, Krang::Story and Krang::Template.
[Bodo Schulze]
Added ApacheMaxSize directive to krang.conf so that you can
adjust the memory used depending on the machine capabilities and
the number of addons installed. [Michael Peters]
Fixed handling of hidden elements in the Story editor so they
wouldn't appear in the UI as advertised. [Michael Peters]
Fixed problem with importing data when an addon overrode the 'Group'
package. [Michael Peters]
PasswordChangeTime were set. [Michael Peters]
Fix ISE that happens when creating a new user via the UI when
PasswordChangeCount is set to a non-zero value. [Michael Peters]
Fixed a bug where Krang::Story->revert() would set the
checked_out field to the checked_out_by column, thus breaking
the ``Active Stories'' screen. [Michael Peters]
Story Type selector on Find Story Advanced Search is now ordered
by the element's display_name. [Michael Peters]
Added use_data, use_data_size and cache_key options to
Krang::HTMLPager's new(). Also added calculate_limit(),
calculate_order_by(), calculate_order_desc()
and calculate_current_page_num() to expose the inner calculations
when needed. [Michael Peters]
Fixed element editor to not display a delete button when no elements
allow deletion. Also suppressed the Order checkbox when nothing is
reorderable. [Sam]
Send no-cache HTTP headers for all Krang::CGI requests. This
will fix some problems when logging in as a different user with
the same browser session in IE. [Michael Peters]
Upgraded to HTML::Template v2.9 fixing several bugs. [Sam]
Added a new configuration variable, PreviewSSL, which controls whether
links to preview use SSL. This behavior was previously the default
when EnableSSL was set, but now it is available independently and can
be turned off even when Krang itself is using SSL. [Sam]
During DB creation, addon sql/ files should come after core
Krang. This allows addons to change existing Krang data/tables.
[Michael Peters]
Fixed bug where deleting a category which was used in an advanced
searched caused an ISE when returning to the advanced search. [Sam]
Fixed bug where use of URL search on Find Template would result in
incorrect substitution of % for non-alphanumeric characters. [Sam]
Fixed bug where hitting enter on the new or edit template screens
would produce an ISE. [Sam]
Fixed bug in media find - searches which included _ or % wouldn't find
anything. [Sam]
Fixed media bulk upload to ignore MacOSX fluff in upload archives
(__MACOSX directory, .DS_Store, .localized). [Sam]
Fixed bug in New Template where it was impossible to clear the category
selector after making a selection and clicking Save. [Sam]
Fixed a bug in media bulk upload - unless the media object was
originally created with its filename for title (i.e. uploaded via
bulk-upload or FTP) then trying to replace it with bulk upload
wouldn't work. [Sam]
In Krang::CGI::Status, import only ':html' functions from CGI, since
CGI's param() may mess up CAP's param(). [Bodo Schulze]
Added two new methods to Krang::ElementClass::TopLevel,
publish_frontend_app_template() and publish_frontend_app_stub().
These new methods permit a Krang site to publish interactive
applications and templates for those applications easily and
consistently. [Jesse Erlbaum]
Modified Site Server configuration to support CGI applications
(ending in ``.cgi'') and Apache::Registry apps (ending ``.pl'').
This will permit the site server to host interactive applications.
[Jesse Erlbaum]
Added new parameter ``mode'' to additional_content_block() method
in Publisher. This new parameter permits the permission of the
file to be set, which is particularly useful for publishing
executable files. [Jesse Erlbaum]
Changed SiteServer to forbid any request which doesn't match a
publish or preview URL. SiteServer trans handler now sets up
$ENV{DOCUMENT_ROOT} correctly which is needed in a CGI environment.
[Jesse Erlbaum]
Krang::lib set to also ignore ``.svn'' directories. [Jesse Erlbaum]
Stricter enforcement of asset permissions. [Michael Peters]
During Apache and FTP startup, krang now properly calls AddOn
init-handlers. [Michael Peters]
PasswordChangeTime and PasswordChangeCount directives
to allow the forcing of users to change their password every PasswordChangeTime
days and not permit users to use old passwords with PasswordChangeCount
changes. [Michael Peters]
More uniform password validation. Now also easier to implement a custom
password policy as an addon. [Michael Peters]
Added security feature of locking out users after several failed login
attempts. Configurable by the BadLoginCount, BadLoginWait and
BadLoginNotify conf directives. [Michael Peters]
Fixed bug in Krang::AddOn which would cause multiple version upgrades
which include changes to class.conf to fail. Specifically, the updated
class.conf (and other libraries) were not being reloaded until after
the upgrade ran. [Jesse Erlbaum]
Fixed bug in import where templates that were not deployed on the original
site, where deployed on the target site upon import. [Michael Peters]
Fixed bug in install/upgrade when using a binary built for SSL
in the way SSL symlinked conf files were handled. [Michael Peters]
publish_story()
and preview_story() allowing for future subclassing into Krang::Publisher::Parallel
simply redefine _process_assets() and _process_preview_assets().
[Aaron Dancygier]
In Krang::Test::Content, modified _init_words() to skip words
containing an apostrophe. [Bodo Schulze]
Added a new configuration parameter, Charset. This may be used to
control the character set for the Krang user-interface. [Sam]
Fixed ``Forbidden'' bug in Xinha implementation by permitting
static Xinha files. [Jesse Erlbaum]
Made Krang::CGI::Category::find() and find_row_handler() addon v2
compliant. [Bodo Schulze]
Added enforcement of permissions at the application and run-mode level
rather than just at the UI level. [Michael Peters]
Make admin list manager work intuitively and statefully. Pressing
RETURN does no longer submit the form, but adds a new to the
list. [Bodo Schulze]
In element_lib/TestParent1/* and element_lib/TestSet1/*, added addon
v2 compatibility. [Bodo Schulze]
In t/cgi.t, fixed addon v2 compat bug. [Bodo Schulze]
Upgraded to HTML::Template::Expr v0.06 - now with chained binary
operators! [Sam]
In Krang::Story, fixed addon v2 compatibility bug in find(). [Bodo
Schulze]
In Krang::History, replaced constants FIELDS, OBJECT_TYPES AND ACTIONS
with methods fields(), object_types() and actions()
respectively. [Bodo Schulze]
Allow multiple word action names in admin scheduler. [Bodo Schulze]
In admin contrib list view, made type column sortable. [Bodo Schulze]
For Krang::History, allow Krang::Story, Krang::Media and
Krang::Template to be overlayed with addon modules. [Bodo Schulze]
Added documentation for Krang::Widget::template_chooser() and cleaned
up template_chooser code. [Bodo Schulze]
Added tests for scalar methods admin_categories_ftp and admin_lists to
t/group.t [Bodo Schulze]
Added new primitive, Krang::ElementClass::CheckBoxGroup,
which integrates with Krang's lists system, in addition
to permitting simple values. [Jesse Erlbaum]
Added new option ``--makecats'' to krang_upload_media and
krang_upload_templates. When specified, missing categories
will be created in the CMS, instead of skipped. [Jesse Erlbaum]
Fixed bug in Krang::ElementClass::ListGroup and Krang::ElementClass::RadioGroup
such that associated ListItems will now be automatically added to the
DataSet. [Jesse Erlbaum]
Fixed bug in Krang::ElementClass::Date where date would change if KDS
was exported from a machine in one time zone and imported on a machine
in an earlier time zone. [Jesse Erlbaum]
schema/ directories of
installed Krang addons to find .xsd files describing objects to be
imported or exported. This furthers the support for non-standard
objects within Krang. [Peter Leonard]
Upgraded to HTML::Template v2.8 and HTML::Template::Expr v0.05. [Sam]
Fixed Krang::CGI::Help to lookup help files in an addon's
htdocs/help/ directory, allowing addons to provide their own help
content. [Sam]
Fixed a flaw in Krang::Handler that allowed access to any file via the
root handler. Now only image files and the two Krang CSS files are
accessible without logging-in. [Sam]
Added new script, krang_upload_templates, to upload a
directory of templates into a Krang instance. Modified
krang_createdb to call this script. [Jesse Erlbaum]
Sweetened up Krang::ElementClass::RadioGroup to use HTML
<labels>, and to allow you to specify a number of columns
for the input form. Added ``list_group'' parameter to allow
RadioGroup to be populated from a Krang list. [Jesse Erlbaum]
Added ``find'' parameter to Krang::ElementClass::StoryLink and
::MediaLink, to allow element authors to pre-set a filter
in their element library. Cleaned up some tests, silenced
some spurious warnings. [Jesse Erlbaum]
Fixed bug in Krang::Alert which would not allow sub-classes of Krang
objects to be used. Fixed Krang::ListItem tests in t/find.t, and
improved order_desc test to check entire result set. Fixed bug
in t/library.t which caused some tests to appear without names.
[Jesse Erlbaum]
Fixed a bug in krang_create_lists which caused script to fail for
new addon system. Added new feature to krang_create_lists and
lists.conf to permit list items to be specified. [Jesse Erlbaum]
Fixed a bug in which some tests would fail if the configured
element set did not have an ``article'' type. Tests will now run
even if you're using a custom element library. [Jesse Erlbaum]
Fixed a bug in Krang::lib which caused ``legacy'' /krang/element_lib path to
not be included in Perl's @INC path. [Jesse Erlbaum]
Extended bin/krang_upgrade to check an upgrade directory in each addon directory for
upgrade scripts to run. This is in addition to $KRANG_ROOT/upgrade. [Mike Friedman]
Fixed bug in Krang::ListItem that did not allow sub-classes of
Krang::List and Krang::ListItem to be used. [Bodo Schulze]
Made URL in message 'story_publish' a link opening the published
story in a new window. [Bodo Schulze]
Fixed bug in Krang::Story which would not allow subclasses of
Krang::Contrib, Krang::ElementClass::StoryLink and
Krang::ElementClass::MediaLink to be used. [Bodo Schulze]
Addon-v2 compliance for bin scripts
krang_scheduled krang_schedulectl krang_load_skin krang_info krang_ftpd
krang_ftpctl krang_floodfill krang_delete krang_create_lists krang_category_rename
krang_bench krang_backup krang_apachectl krang_siteserverctl krang_makedist krang_publish
[Aaron Dancygier]
Added SSL support. [Bodo Schulze]
delete action to track in Krang::History::add_history().
Added add_history() calls in Krang::Story::delete(), Krang::Template::delete(),
and Krang::Media::delete() [Aaron Dancygier]
Converted default element set to use Krang::ClassLoader and Krang::ClassFactory in
compliance with new addon system. [Aaron Dancygier]
Fixed a bug where deleting an element and then reverting to an older
version where that element existed didn't properly restore the
element. The old element would load properly but save wouldn't
restore it in the database. [Sam]
Added support for Fedora Core 4. [Aaron Dancygier]
Fixed compile bug in krang_backup introduced during the addon v2
work. [Sam]
Fixed link to static files (images, CSS, Javascript) to work through
the root server. [Sam]
execute() method. [Aaron Dancygier]
Added conditional Scheduler link in left nav bar under admin section
This is for non story or media related administrative scheduler addons.
Link points to new admin scheduler screen.
Allows you to use scheduler addons in place of external scripts run
by cron. [Aaron Dancygier]
Added support for Scheduler addon classes that are tied to story
or media content. This will show up in current scheduler screen.
[Aaron Dancygier]
Fixed shebang line bug in /htdocs .pl registry/cgi scripts and
Addon *.pl scripts. [Aaron Dancygier]
Fixed hardcoded perl bug in Addon.pm install() and uninstall()
[Aaron Dancygier]
Added tests for admin scheduler addons in t/addon_installer.t
[Aaron Dancygier]
Added support for centos release 4 [Ado Nishimura]
Fixed bin/krang_ctl and bin/krang_scheduled, to use Krang::ClassLoader
[Ado Nishimura]
Fixed Krang::NavigationNode documentation and xinha German localization
file [Bodo Schulze]
Fixed compile time ordering issues with bin/krang_addon_installer,
bin/krang_addon_uninstaller, and bin/krang_load_skin
[Bodo Schulze]
Fixed a bug where the logs would sometimes end up owned as root when
Krang was started as root. [Sam]
Fixed bug in Krang::ElementClass::ListGroup::validate() which prevented
lists from setting required=>1. [Jesse Erlbaum]
Fix bug that prevents users with ``may check in all'' permission from
checking in templates checked out by other users. [Perrin]
addons/. They may be developed in-place, potentially under
separate version control.src/ directory. The Krang build system will build these modules at
install time.krang_addon_uninstaller script. (This does not apply to addons
installed with the old system.)conf/class.conf configuration file.krang_createdb.
templates.kds). The file is lists.kds. [Peter]
Added slug as a variable available to all templates at
publish-time. This was intended to be there all along, but somehow
fell through the cracks. [Peter]
Krang::ElementClass::ListGroup now handles multidimensional lists
of arbitrary depth. Further testing is needed, but so far things look
good. [Peter Leonard, Andrea Bonotto]
Fixed a bug in Krang::DataSet with loading compressed .kds.gz files
and added a test for it. Also fixed bug in dataset.t where it was not
skipping all the tests that need TestSet1 when TestSet1 is not available
[Perrin]
Fixed a bug in Krang::List - default sort order for find was by
name, it is now by parent_list_id. [Peter]
Added tutorial documentation on how to use Lists in an element library. [Peter]
Changed HTML in templates to use text rather than textfield in form
inputs. [Perrin]
Updated several modules: DBI to 1.47, WWW-Mechanize to 1.10,
URI to 1.35, and libwww-perl to 5.803. [Perrin]
Added bin/krang_addon_framework - a new script to create a
supporting framework to simplify development of Krang addons. [Peter]
Added --rebuild option to bin/krang_build allowing it to build modules
even if there is an existing Krang build already. [Perrin]
--not_on_desk option to bin/krang_publish - limiting
publishing to checked-in items that are not on any desk. [Michael Peters]
Fixed a bug in Krang::Schedule - cleanup of the tmp/ directory
was not being done properly. This is now fixed. [Peter]
Cleaned up how KRANG_PERSIST variables are stored in the session
cache for remembering search preferences. The cleanup also fixed a
number of bugs - the Clear buttons on the advanced-search pages now
work again, category searches are now done on a per-type basis
(e.g. separate Story/Media/Template category-search prefs), and search
terms are remembered properly. [Peter]
Fixed a bug in Krang::CGI::ElementEditor - the new ``save always
reorders'' functionality that is part of 1.100 was breaking bulk-edit,
where reordering never happens. This now works properly. [Peter]
Added error-handling for Stories that return a zero-length string when
previewed/published. [Peter]
Upgraded Imager to 0.44 from 0.43, which fixes a bug involving
thumbnailing of extreme-aspect-ratio images. [Peter]
Fixed error message trapping in bin/krang_install to get Krang to
play nicer with MySQL 4.1.x [Peter]
bin/krang_install and bin/krang_createdb now handle the @localhost
in the MySQL user creation consistently. [Perrin]
bin/krang_ctl no longer uses sudo for starting things on unprivileged
ports. [Perrin]
Upgraded Scalar-List-Utils to 1.14 from 1.09 - this should fix some
compilation issues with MacOSX. [Peter]
About Krang now reports server IP address, AddOns are now
alphabetized properly. [Peter]
Added server IP address, along with instance-by-instance breakdowns to
bin/krang_info [Peter].
Fixed a bug in Krang::Story->_load_version() - the restored version
of the story still held outdated checkout and publish settings. The
restored version now returns default values for those parameters
(e.g. not checked out, not published). Note that this does not affect
revert(). The result is that scheduled publication of specific
story versions now works. [Peter]
Added build_preview_url to Krang::ElementClass::TopLevel. [Peter]
Added alt_tag and alt_tag_like searching to Krang::Media, also added
as an option in Media advanced find screen. [Matt]
Clicking Story save/save and stay now reorders elements as well. [Matt]
Krang::Story->find() can now search over a list of site_ids.
[Peter]
Bugfix to Krang::Category->deserialize_xml(). Circular
dependencies were not being handled properly, causing imports of some
.kds files to fail. [Peter]
Upgraded DBD-mysql to 2.9004. [Peter]
Bugfix to Krang::Dataset - now xml files are validated based on
their appearance in the index.xml file, as opposed to using File::Find
in the xml dir. [Matt]
Added session caching of search/advanced search options for
Story/Media/Template. [Matt]
Added Krang::Publisher->publish_context() - a means of storing
arguments during the publish of a given story. [Peter]
Added storage of sort order and sort by to session cache in
Krang::HTMLPager. [Matt]
Bugfix in Krang::Schedule - alerts were not being run because
of some incomplete code meant to check for valid alert id. [Matt]
Made changes in media UI to:
[Matt]
Small bugfix to the SolarisPlatform.pm [Joseph Sacco]
bin/krang_upgrade now supports remote MySQL databases. [Aaron
Ross]
Bugfix for bin/krang_publish, now correctly counts media total
and time with --to-preview option. [Matt]
Added bin/krang_expunge - designed to work in conjunction with
bin/krang_extract_subset, it deletes a site from a multi-site Krang
instance, and ensures that no dependencies are left hanging. [Peter]
Minor bugfix in bin/krang_extract_subset - proper handling of
StoryLink/MediaLink elements that do not point to anything.
Storable::nfreeze rather than Storable::freeze
when saving binary and object data. The move to nfreeze should
make .kds files architecture-independent, allowing migrations between
different platforms (e.g. x86 / SPARC / PPC). [Peter]
Updated Storable to the current release, version 2.13. [Peter]
Added bin/krang_extract_subset. This script is designed to extract
a single site and its' content from a multi-site Krang Instance.
[Peter]
Krang::Story now handles calls to find() with an arrayref of
site_ids. [Peter]
Krang::Media now handles calls to find() with an arrayref of
site_ids. [Peter]
Krang::Template now handles calls to find() with an arrayref of
category_ids. [Peter]
Fixed a bug in Krang::CGI::Site that would cause ISE on attempted
delete if a site had content in its root directory but no had no
other categories [Matt]
Added population of 'width', 'height', and 'image_dimensions' for
Krang::ElementClass::MediaLink fill_template. [Matt]
Bugfixes to Krang::CGI::Template that prevented files from being
uploaded to the edit template screen, and caused ISE when no filename
present. [Matt]
Bugfixes to Krang::Schedule - checked out or missing objects will
no longer drop large perl-heavy error messages in the logs. Thanks
for Michael Peters for the initial work to fix it. [Peter]
Fixed a bug in Krang::Publisher - zero-length story output is now
output properly, with a logfile entry to make a note of it. [Peter]
Deployed version is now displayed in the template edit UI.
[Michael Peters]
Fixed a bug in Krang::Schedule - scheduling specific versions of a
story or media object for publish now works again. [Peter]
Additional documentation! The long-awaited
Creating an Element Library in Krang! [Peter]
New documentation added -
Running Krang on the Desktop:
A guide on how to install and run Krang on your local machine.
[Peter]
Solaris support added! Tested against Solaris 9, this should also
work against previous versions as well. Thanks to Joseph Sacco
(jsacco@earthlink.net) [Peter]
Support for Mac OSX has been added! Currently tested against 10.3.5,
let us know if it works on other versions! Thanks to Matthew Wood
(matt@nomorefluffybunny.com) [Peter]
bin/krang_info now gives story/media stats for each
instance. [Peter]
Fixed a bug in Krang::ElementClass::StoryLink where elements that
were never linked to stories no longer throw an error, but return
cleanly. [Michael Peters]
Mandrake support has been added! [Matt]
Fixed browser detection to deal with 1.0 prerelease of Firefox, which
gives a version number of 0.10. [Aaron Ross]
bin/krang_publish script - errors are now trapped properly and
reported in a cleaner fashion. [Peter]
Fixed a bug in the upgrade process of 1.024. Users who upgraded to
1.024 should immediately upgrade to 1.025. [Peter]
bin/krang_publish and bin/krang_delete now properly interact
with hidden stories. [Peter]
bin/krang_info - a simple command-line script to list the
currently configured status of Krang. [Peter]
Reordered subroutine exports in Krang::Element to fix a library
loading loop that cropped up under some circumstances. Thanks to
Michael Peters (mpeters@plusthree.com) for finding it. [Peter]
Added support for hidden stories, based on class definitions. A
hidden story is one that, by default, does not show up in calls to
find(). This is useful for auto-generated story lists where some
types of stories shouldn't be listed. For example, this will be used
immediately by Krang Sitemap and
Krang RSS, neither of which should show in most lists. See
Krang::ElementClass::TopLevel and Krang::Story for more
information. [Peter]
Upgraded IPC::Run to 0.78, which is now pseudohash-free (later
versions of Perl complain). [Peter]
Moved htdocs/help/history.html to htdocs/help/log.html to correct links.
[Perrin]
Updated Imager to 0.43. [Peter]
Updated HTTP::BrowserDetect to the latest version, 0.98. [Peter]
Limited the directories being searched by bin/krang_install when
looking to change execute permissions on a newly-installed backup
file. There was no need to search a number of potentially large
directory trees, this should improve installation times. [Peter]
Added published => 1 argument to Krang::Media find()
method. Limits returning objects to those that have been published
before.
krang_backup to use the correct 2-digit month
(old month values were 00-11, not 01-12). [Peter]
Fixed a bug in Krang::Media where thumbnails of certain images were
causing segfaults. [Peter]
Fixed Krang::Story->preview_urls() to return the correct preview
URL for all sites when a story is associated with multiple sites.
[Peter]
Made Krang::Publisher->additional_content_block() a lot easier
to use from the developer perspective. Rather than handling the
result of the call, everything is now handled internally. Overriding
publish() to use additional_content_block is no longer required.
Additionally, it's backwards-compatible with the old way of doing
things, so no need to make changes to your element libraries. [Peter]
Fixed symlink bug that caused thumbnails to disappear from the UI
after a Krang instance was moved to a different location on the
filesystem. [Peter]
Fixed a bug where deleting a newly-copied story threw an error in the
UI. [Peter]
Added platform support for Gentoo release 1.5.2, thanks to a patch
from Fred Moyer (fmoyer@plusthree.com) [Perrin]
publish_category_per_page() in the publish
process. This functionality allows element library developers to
generate category template output customized for each page in a
story. [Peter]
Fixed a bug where Krang::ElementClass would complain about a missing
template for a sub-element that wasn't actually needed. [Sam]
Fixed a bug related to the internal tracking of assets in
Krang::Publisher. This finishes up a minor restructuring that
ensures krang_publish publishes each story/media object only once
during a publish run. [Peter]
Fixed a bug in krang_publish. When publishing with the
--site_id argument, all media objects under that site are now
published, not just those media objects linked to stories. [Peter]
Cleaned up the code handling the management of internal asset lists in
Krang::Publisher. This code is used to ensure the same asset is
not published more than once during a publish run. [Peter]
Added support for searching on site_id in Krang::Media->find().
[Peter]
Added publish_category_per_page() to
Krang::ElementClass::TopLevel. This method will soon be used by
Krang::Publisher to determine whether or not to publish category
elements once for each page in a story, or once for all pages in a
story. [Peter]
Added automatic height and width data to the Default::image element.
[Perrin]
logs/krang.log.
Previously, they were only reported in user-friendly (as opposed to
admin-friendly) fashion to the UI. [Peter]
Added indexes on the class and published_version columns in the
story table. This greatly speeds up searches against these fields.
[Sam]
Added new method use_category_templates() to
Krang::ElementClass::TopLevel. This boolean method defaults to
true, and can be used to determine whether or not to wrap story output
in category templates. [Peter]
Fixed a bug which caused scheduler problems in upgraded Krang
installs. Krang::Schedule::Daemon was missing code to reset
REMOTE_USER for each instance. [Sam]
Added directory hashing to Krang::Media's XML serialization system.
This allows a single KDS file to contain any number of media files.
The previous limit was 32,000. [Sam]
Added no_parent option to Krang::ListItem::find(). [Sam]
Fixed a bug in Krang::ListItem::find() which prevented ids_only
from working. [Sam]
Added missing indexes to the list tables, providing an impressive
speedup in working on large lists. [Sam]
Fixed a bug that prevented Krang from installing on very recent MySQL
releases which do not tolerate trailing commas in CREATE TABLE
statements. [Aaron Ross]
Added the ability to run Krang against a MySQL database on a different
machine. There is a new configuration parameter, DBHost, and a new
option to krang_install, --DBHost. [Aaron Ross]
Fixed Krang::CGI::Publisher to not produce a nav-bar when preview
results in an error. [Sam]
Fixed Krang::User to not load Krang::Group unless it needs to interact
with groups. This is needed because Krang::Script now uses
Krang::User to run as the 'system' user. Loading Krang::Group will
cause Krang to load its element libraries, which isn't always a good
thing to do. [Sam]
find_template() method. [Matt]
Fixed a bug preventing deletions in the List Admin from working
correctly. [Matt]
Fixed a bug in the FedoraCore1 platform library that would fail to find
chkconfig unless it was in the user's PATH. [Sam]
Fixed a bug where elements using the default Krang::ElementClass
input_form() implementation would eventually cause browsers to slow to
a crawl and eventually crash. The whole sordid tale is here:
http://perlmonks.org/index.pl?node_id=363214 [Sam]
Fixed a bug where clicking Publish on the Edit Media screen didn't
save changes. [Sam]
Fixed a bug where a story that failed to publish would still get a
'published' log entry. [Sam]
Added support for Fedora Core 2. [Sam]
Fixed problem determining KRANG_ROOT on Fedora Core 2 in all
Krang scripts. [Sam]
krang_export could only write output in directories
where KrangUser had write permissions. The output file is now
opened before su'ing to KrangUser. [Sam]
Removed support for --append from krang_export. This option was
never, to my knowledge, used and it didn't work after the permissions
fix above. [Sam]
Changed the schema for the Krang::User XML format to make the new
'hidden' field optional. This allows data files from pre-v1.017 Krang
to load in later Krangs. [Sam]
Fixed the v1.018 upgrade module to successfully upgrade instances from
v1.016 and older. Also made changes to allow repeated runs of the
upgrade module to succeed even if the upgrade stops part way through.
[Sam]
Changed krang_upgrade to wait till the upgrade is complete before
updating Krang's version number. This means that failed upgrades can
be re-run and the same upgrade modules will be run again. [Sam]
Fixed Gentoo Platform tests so that any version of Gentoo 1.4.x now
works. [Peter]
Fixed a bug in the error-handling section of Krang::Publisher that was
hiding the real cause of errors during publish. [Peter]
Fixed broken --republish_only flag in bin/krang_publish. [Peter]
Changed the default of Krang::ElementClass::Date so that dates are updated
when the default() method is called and not when new() is called.
Made Krang::Story::find(published=>1) work with stories that had a published
version of 1/0 instead of NOT NULL / NULL.
Fixed Krang::XML::Writer to allow raw tabs in XML without Base64
encoding. [Sam]
Added a workaround for a very strange seg-fault bug. [Sam]
Fixed bug where after upgrading to v1.018 old users don't show up in
the User Admin list screen. [Sam]
Changed Krang::Site so that only the site's URL is required to be
unique. Requiring all four fields to be unique, while seemingly
sensible, causes numerous problems during data imports. If necessary
we could add these checks back in at the UI level in Krang::CGI::Site.
[Sam]
Fixed a bug in Krang::Contrib's full_name() that would add ``, '' to the
end of the name when the contributor had an empty suffix. [Sam]
Fixed a bug in Krang::Publisher where no file would be written if the
story's output contained only whitespace or was empty. [Sam]
Bugfix related to the publish changes made in 1.017 - assets linked to
a story being previewed from an edit interface are now marked
properly. Media objects are now marked properly when previewed. [Peter]
Replaced Archive::Tar in Krang::DataSet->new with the system 'tar' for a 50x
speedup in untaring. [Rudy]
Removed code from Krang::Contrib that disallowed stories with existing
historical contrib-contrib_type pairs to preview/publish. [Matt]
--no-backup option to krang_upgrade. [Sam]
Fixed bug in bin/krang_publish where unknown errors during story
publish would trigger an exit without any kind of useful message. The
error is now printed to STDERR. [Peter]
Changed Krang to log and drop elements which exceed the maximum
allowed by their parent element. This mirrors the behavior for
elements with illegal class names. This allows for an easier element
set development process at the risk of possible data loss, which is
somewhat mitigated by the built in revision system. [Sam]
Fixed Krang::ElementLibrary to return a sorted list from top_levels().
This results in a sorted list or article types in the UI. [Sam]
Added a new hidden user called 'system' which is now used by
Krang::Script. This means you can now delete the 'admin' user with
impunity. [Sam]
Fixed bug where Krang::ElementClass::TopLevel::publish_check() was not
being checked by Krang::Schedule. Stories that are marked to not be
published by the scheduler will now have their wishes respected.
[Peter]
Fixed bug where contributors created by krang_import weren't
searchable in the UI unless they had first, middle and last
names. [Sam]
Added code to generate HTML documentation for the scripts in
bin/. [Sam]
Fixed a bug where previewing/publishing zero-length stories caused an
error. [Peter]
tmpl_include calls in templates weren't correctly
searching the category tree in all cases. [Matt]
Modified Krang::Widget::category_chooser() to take into account
category permissions when building the category chooser. Also took
advantage of the multiple-root support in HTML::PopupTreeSelect 1.4 to
remove to empty root node from the widget. [Sam]
Upgraded HTML::PopupTreeSelect to the latest released version,
1.4. [Sam]
Fixed a bug in Krang::Group where the category permissions cache
wasn't being correctly rebuilt after group changes were saved. [Sam]
Added filesystem sanity checks to the Publish checks - If the
story/media object being tested does not exist on the filesystem in
all locations that it should, it's flagged for output, regardless of
versioning. Also cleaned up some unneeded API cruft. [Peter]
Large changes to the publishing engine. When publishing/previewing a
story, Krang::Publisher will now check all related stories/media to
see if the most recent version of each object has been
published/previewed before. If so, the object will not be
published/previewed again. The chosen story/media object will always
be published/previewed. This is only default behavior in the UI,
scheduled publish jobs and bin/krang_publisher still publish all
content. Additional parameters have been added to the
Krang::Publisher API to support this functionality, see
Krang::Publisher for more information. [Peter]
Fixed bug in Krang::Contrib where importing a contributor with no
first name or no last name would duplicate the contributor if it
already existed instead of updating. [Sam]
Added the --skip option to krang_import which exposes the
existing Krang::DataSet::import_all() skip_classes option from the
command-line. [Sam]
Removed ``Delete Checked'' button from List Admin screen. Lists cannot
be deleted. [Sam]
Added Krang::Story->preview_version(), Krang::Media->preview_version
and Krang::ElementClass::TopLevel->force_republish() in anticipation
of forthcoming improvements to the publishing system. [Peter]
Upgraded XML::Validator::Schema to the latest release, 1.06. [Sam]
Fixed Krang::Story->preview_path() to use the submitted category
argument. This was keeping preview from writing out content to
multiple sites. [Peter]
Added password-length check to My Preferences, enforcing the
6-character minimum length on passwords that exists everywhere else in
the UI. [Peter]
Fixed error reporting in the publish process - error messages are
displayed in a more user-friendly fashion.[Peter]
Fixed Krang::ElementClass->publish() to trap errors thrown by
HTML::Template::Expr->output(), and fixed Krang::CGI::Publisher to
properly report errors and not try to redirect users when failures
occur in preview. [Peter]
Fixed krang_ftpd to setup higher file and memory limits. These limits
were preventing the FTP server from operating on some systems. [Sam]
template_data()
method. [Sam]
Added support for Debian. [Jason Purdy]
Fixed bug where clicking on a media link in the element editor would
open a new window every time. [Sam]
Moved code to run tests from Makefile into bin/krang_test. This
allows krang_install to affect which Perl binary runs the tests. It
also helps with BSD portability since the test target didn't work with
BSD make. [Sam]
post_install_message() that generates the same output.
This can now be overridden & extended on a platform-specific basis. [Peter]
Split the various checks out of Krang::Platform->verify_dependencies().
This will simplify ports to other platforms, as individual checks can
now be overridden, rather than the entire sub. [Peter]
Added new default scheduled job to analyze DB tables nightly. This
greatly improves performance for large databases. [Sam]
Fixed bug where default scheduled jobs (tmp cleaner and session
expiration) weren't being run for new installations. [Sam]
Fixed krang_createdb to stop after the first failed system
call. [Scott Lanning]
Added enhanced cache debugging code and a last-resort check in an
Apache log_handler to make sure the cache is off at the end of the
request. [Sam]
Moved setup of /etc/init.d link from krang_install into the Redhat
platform modules' finish_installation() methods. This should allow
the Gentoo and Debian ports to proceed. [Sam]
Fixed build and installation system to work with a Perl that isn't
called 'perl' and in your path. So, for example, if you've got a
binary called 'perl5.8.0' you can build Krang with it and install with
it. [Sam]
Added initial support for Gentoo 1.4.3. [Peter]
Updated porting.pod with steps that might really work. [Sam]
Fixed a bug where an error occurring during preview triggered a
Krang::Cache error which corrupted the display. [Sam]
Improved error message generated when InstanceElementSet is set to an
element set that isn't installed. [Peter]
Fixed a ton of whitespace in module source files which was breaking
the POD output. [Peter]