This is the the first 2007 update issue, with the aim to communicate the development of PostNuke to the community. Not too technical, not too detailed, but to show what the recent discussions and repository commits are about.
In this issue:
- API functionality
- Object Library and classes
- pnForms: functionality and documentation
- System modules: Categories, Search and Blocks
- ValueAddons modules
- pnRender Plugins
First of all, a happy new year to all users of PostNuke on behalf of the complete PostNuke team: Coredevs, Steering committee and other Board members. Let's all hope this year will be productive and succesfull for all of us. And of course: a finished .8 version of PostNuke is something we are all waiting for.
MileStone 3 is waiting around the corner: A feature freeze so far has speed up the progress and only a few bugs are blocking a release. The next development update will probably be submitted after the MS3 release.
OK, here goes!
API functionality
Introduced is a pnShutDown function to gracefully terminate the application framework. This now replaces all use of exit or die and also fixes some oddities caused by PHP's shutdown process.
Mark has replaced all old themesideblock function calls with newer API call pnBlockThemeBlock. Furthermore, he has added a raw text option to the PageUtil::registerVar (former pnPageRegisterVar) system.
The AjaxUtil is now using internal json_encode() if PHP >=5.2.0.
Object Library and classes
For the SessionUtil / RandomUtil, Drak has put his hands on improving the randomness in the generation of the AuthKey and passwords. This is done by extending the possibly characters used, and the length of the key (length also now being random).
Also, the AuthKey generation makes now use of the (updated) RandomUtil class. A big advantage is that the random data generation is done in one place, so a change will affect the complete system. This is actually with the complete Object Library: changes can be made in one place with the benefit that all calls are updated.
The DBUtil has now a renameTable method and a renameColumn method for easy manipulation of table properties without having to worry about SQL code. The latter (renameColumn) is a quite new function, so there may be some adoDB bugs.
Finally, pnPage.php is converted to the PageUtil class. This means that any 3rd party module developers should update their modules to make use of the new class. A call to (for example) pnPageSetVar('title', $title_var) must be updated to PageUtil::setVar('title', $title_var). The pnPage.php does not remain for backward compatibility. Examples for the needed changes can be found in SVN submission 21099. The Wiki documentation for Page variables still needs updating however.
pnForms: functionality and documentation
Jørn has been updating the pnForms toolkit extensively. Most important is hat the documentation in the files is more complete, and the Wiki documentation page has been updated. A summary:
- Added authkey checking to pnForms.
- Added min/max validation for integers.
- Changed "classHtml" to "cssClass" in "pnForm" plugin for consistency with the other classes.
- Added a language selector "pnFormLanguageSelector".
- and much more...
System modules: Categories, Search and Blocks
In the Categories system, there has been added support for a 'field' parameter.
The search module is as good as finished, and also displays a sum of all search hits too. An additional parameter is added to allow for searches that aren't going to be performed on a DB. Finally, it is now possible to search in RSS feeds.
The Blocks module has been updated, and now has a user friendly functionality for drag-drop between block positions and placements in one screen. This is done with Ajax technology (thanks Frank for simplifying and enhancing this), so javascript should be enabled to use this (non-js fallback available). Furthermore a XML/XSL block has been added (a generic xml/xslt block and modifier).
ValueAddons modules
Faq: implemented custom short URL handler and permalink structure
News: implemented cache handling
Feeds (was RSS): implemented categorisation in admin panel, added short URL handler, added title field.
Also, the RSS module is renamed to Feeds to better reflect it's purpose and to prevent clash with rss theme when using directory based URL's.
TinyMCE: Upgraded tinymce to v2.0.9
Reviews, Referers, Stats: Converted to API and pnRender compliant module, updated table management code.
pnRender Plugins
Mark has added an output filter in order to auto-magically title the administration pages, which makes navigation a bit easier.
Also, Axel added a new optional parameter to the pager plugin for link anchors (e.g. #comments). For example, these Development Updates rquire me to manually add the anchors to an (non existing) URL.

9 Comments so far
(Latest comments
)
1. Abadia wrote on Jan 22, 2007 at 10:32 AM
You're doing a great job.Just one question: is there an approximate date for the final release of PostNuke 0.8?
2. Teb wrote on Jan 22, 2007 at 01:34 PM
No, there is not...
Step by step we get through the MileStone packages, and after that the Release candidates will be released. When those are bug-free (read: no more bugs left in the tracker) it will be released as a final.
See also the PostNuke 0.8.0.0 Development and Release schedule.
3. Simon wrote on Jan 22, 2007 at 01:35 PM
No, we can't offer any estimations for the final release date, though MS3 should be released before the end of the month.
4. MACscr wrote on Jan 23, 2007 at 07:34 AM
After all these changes to the API, etc, will current API compliant modules still work (with no changes) with the final version of PN .8?5. JørnWildt wrote on Jan 23, 2007 at 10:58 AM
As far as I can see - yes. I have both Pagesetter and Mediashare running on both .76 and .8 (almost?) without mods. I think I did some minor changes, but I'm not sure.It does although require a separate installation of the .8 version of the Topics module (or just an install of all ValueAddOn modules).
6. Landseer wrote on Jan 23, 2007 at 11:23 AM
As long as a module does not directly access some core tables it should run out of the box (eg. pnForum SVN is running fine so far).But... these modules do not use the .8-special features so I prefer to write .8-only versions of my other modules (Formicula 2.0 or MultiHook 5.0). This makes it possible to reduce the amount of code needed dramatically without loosing functionality.
7. JørnWildt wrote on Jan 23, 2007 at 01:56 PM
Yes!
8. offline wrote on Jan 24, 2007 at 10:34 AM
Great work! Maybe someone has a list of modules that are API 0.8 compliant, tested and verified and known to work with PN 0.8. If so, please put the list on the website.9. Landseer wrote on Jan 24, 2007 at 06:51 PM
We started to collect this list on the German site:*click*
Of course this is far from being complete.