Content Management System

2011-09-09 A time to release all new features, fixes and nice improvements.
2009-09-11 Another release of a perl-based CMS with numerous new features.
2009-09-01 New community site and new book store are launched.
2008-08-09 New shop, community site and payment system are launched.

podius 5.3.0 is released

2009-09-11 12:04

The main changes in podius-5.3.0 compared to podius-5.2.0.

New features

  • Enhanced translation infrastructure (both per-project and multi-project), including new web tool locale.cgi to translate all strings and texts.
  • Full solution for processing web feeds (new module Podius::WebFeeds, scripts bin/devel/process-web-feeds, podius.cgi/process-web-feeds).
  • New component properties: ConditionalSelection, USAState, AutomanagedNumber.
  • New ways to debug and monitor activity in a podius based project.
  • Updated support for international standards (currencies, countries).
  • A lot of enhancements in functionality, see below.

Enhancements and improvements

  • Enhanced publish-components script to work on individual (by condition) or all instances of certain component type or on main components.
  • Added "set" and fixed "sort" of components in ComponentIterator; methods "get_first1", "get_last1", "get_next1", "get_prev1", "set_index_of".
  • Added "access_initial_code", "access_is_reset" and "reset" methods in Selection property.
  • Added "access_bits", "access_initial_codes" and "reset" methods in MultipleSelections property.
  • Added "access_content" and "access_size" methods in Multimedia property.
  • Added "create_child", "update_properties" methods in Podius::Component.
  • Added "run_command" function in Podius::IPC.
  • Slightly extended component search by supporting "id" in sub-query.
  • Improved work with component properties: Date, Time, Currency.
  • Added support for country continents and custom zones in Country.
  • Now published cgi files are created with the execution-bit permissions.
  • Added configurability to component search caching (find_components).
  • Added bin/admin/find-components options --delim --no-last-eol --caching.
  • Added bin/admin/restore-component-tree options --step --subtree --clobber.
  • Added bin/admin/foreach-component options --begin --end --summary.
  • Added bin/admin/publish-component multi-option --exclude-type, and condition options --if-modified, --if-time-passed, --if-or.
  • In publish-component by default show template and published pagenames.
  • Added option --level to scripts show-component-tree, dump-component-tree.
  • In File::Operations, save_file, load_file and all related function now accept filename "-" that means standard output or input respectively.
  • New Podius::Property::WikiText exportable function convert_text_to_html.
  • Support filters in Podius::Locale::t and unified translation-id notation.
  • Support multiple emails in Podius::EmailOperations::send_email, parsing regular podius templates for the email content and specifying arbitrary content-type.
  • Enhanced syntax for template file includes to specify extra stash vars.
  • New template function &quote_perl for generating valid perl strings using several styles, like "string", 'string', qq{string}, q{string}.
  • Improved template function &link to optionally check for the associated page existence or to return fallback url instead of throwing exception.
  • Improved control over component property merging in concurrent conflicts.
  • Increased the maximal allowed number of components in ComponentCache.
  • Support using "pcregrep -M" instead of "grep -P" if available for "find".
  • In web based component editor the button now says "Save", not "Update".
  • Automatically log of all modifications if file log/modified.log present.


  • Fixed several WikiText parsing bugs (in nested lists, section links, flat-lists, trailing slash in links), enhanced html and latex output.
  • Fixed the component search cache for file-based storage when fancy chars are used in a condition.

Incompatible changes

  • MultipleSelections::access_is_chosen is renamed to access_is_selected.