PostNuke

Flexible Content Management System

News

With EastDist & EasyInstall, Postnuke will be able to fill special needs "Right out of the box". One area where I think this could be best put is for Scout Troops. By using the security of Postnuke, the flexibility of it's modules, and a variety of pre-made themes we could build a tool that could help Scouts all around the world.

What Troop couldn't use a calender that tells the Scouts and parents when the next camp out is. Forums where the Scouts can talk about their favorite merit badges. A photo gallery of the canoe trip down the river. Newsletters telling families about the most recent ranks the Scouts have earned. Meanwhile also providing a public webpage that can tell others about your Troop. By focusing on communication, organization, co-operation, and program integration we can address many of the problems that Troops face every day.

With Scouts being a global movement, this project too will be global. By localizing tools for Scouting organizations around the world many more scouts will benefit from our work. This can be an opportunity for current and past Scouts and Scouters to work together to help Troops around the world. Those that have never been involved in Scouting are always welcome to help as well.

Ease of use will be the key to this being successful. By making it easy to use we can help Troops that do not have very tech savvy leaders to administer the site. Meanwhile, by keeping the Postnuke core in tact, more advanced admins can add any Postnuke module they may need. Documentation will pay off for end users as well as any developers that build upon our work.

Privacy and security will be very important. For the safety of the Scouts, and everyone's piece of mind, a strict standard of what information is available to the public will be enforced.

Releasing this as Open Source software is also a way that the work that we do can be helpful even beyond the Scouting community. Many of the same tools may be used by other groups, such as sports teams, clubs, or even keeping an extended family in contact.

If you would be interested in helping with this project please contact me at oik2 -at- hideyhole.org. Please include your name, any strengths that could be useful, and any ideas you may have.

In the standard version the Profile contains just one icon to edit your personal data and one icon to logout.
So, I investigated how this works - as I never used it in over 3 years.
All modules are classified as 'admin' modules or user modules. Every user module and that is the vast majority of modules can have an icon in the Profile folder. What it requires is a pnaccountapi.php file in the modules directory. That means, if you want to show the Pages icon in the Profile folder you need a file named ./modules/Pages/pnaccountapi.php.
This program does not contain much but the definition of the icon to show. Sample content is like this:
[code]function Pages_accountapi_getall($args)
{
if (!isset($args['uname'])) {
if (!pnUserloggedIn()) {
$uname = null;
} else {
$uname = pnUserGetVar('uname');
}
}
// Create an array of links to return
if ($uname != null) {
$uid = pnUserGetIDFromName($uname);
$items = array(array('url' => pnModURL('Pages', 'user'),
'module' => 'core',
'set' => 'icons/large',
'title' => _PAGES,
'icon' => 'pages.gif'));
} else {
$items = null;
}
// Return the items
return $items;
}[/code]

Of course we recorded all presentation but sadly the software wasn't able to capture the desktops which leaves us with much less informative videos. But maybe you can nevertheless gather some information from it or at least feel the atmosphere of this years meeting.

The .7 news module had it's own categories - there were hacks that added subcategories to it. And there were hacks that added subsection to the sections module aso.

Every module had to have it's own categories. But implementing a system of unlimited subcategories is not a too easy task - that is why many modules didn't have subcategories. I always depended on the coding skill of the module developer.

The .8 categories module will solve this problem. It is most of all an internal categories system - the administration you see is only the interface. But do you want to first add a new category there and then add your article in the news administration? That is certainly not what you call usability.

The categories are supposed to be used by the module developers via the API - they can use it any way they want but they only have to throw the name of the new category into the db and won't have to care about the way it's stored there.

AFAIK the Quotes module is the only module that already uses the Category API. But Robert Gasch - the maintainer of the categories system - will write some documentation for module developers soon. There will also be some snippets includes that you can make fit for your modules.

How should the handling of the categories look like in your opinion? We need you "end user input" on that, so that Robert perhaps could make the snippets match your needs.

This opens an interesting question of 1) how PostNuke should brand itself, and 2) who the audience for PostNuke is? I do not ask why Joomla was chosen as the "most lowed" CMS - I am asking how PostNuke should relate itself to Joomla (and other CMS's for that sake).

PostNuke .8 and Joomla are, as I see it, quite close to each other. They both boost table-less designs, templating, complete use of CSS, user friendliness, modular etc. etc. So what's the difference? There's surely a lot of technical stuff to be said about this, but I'm looking at the marketing side this time.

The three most obvious positions has already been taken: the most-loved/best CMS (for beginners), the most professional, and the best blogging system. So how should PostNuke be positioned? If we try to head for the "best CMS" then we compete directly with Joomla and that's going to be a hard battle to win: Joomla has (apparently) gained a lot of momentum recently and competing with that is difficult.

So is there another position for PostNuke to take up? What should be the one-line slogan for PostNuke?

One position could be: "PostNuke - the most versatile CMS". That is not really correct wrt. Typo3, but it fits with current work on 1) cleaning out the PN core, and 2) making different distributions of PostNuke, and it sounds more "for the end user" than calling PostNuke an "application framework" (which the core is). You can get a complete blogging system for PostNuke, you can have a community site, you can make a photo site, and you can make something completely different, like for instance www.turmappen.dk which only uses the PostNuke core and some home grown modules (never miss a chance to make some advertizing for your website :-)).

So, Guite, hurry up and make the best of EasyDist! I love the concept - it should really be available for use on postnuke.com (and I know there's some technical details that still needs to be fixed for this to happen).

The next question is - who is the audience for PostNuke? Here is a problem since PostNuke all of sudden becomes a multi purpose tool - with different audiences for different distributions. How should that be managed? Honestly, I don't now, I'm not a marketing man. Hopefully some of you out there has some good suggestions? Or maybe a completely different view on the issue?

PS: I'm on vacation right now, so do not expect a quick response from me.

The system information module will make it easier for webmasters to collect the needed information in case they seek help in the forums.

The use of Ajax makes the handling of various modules far easier. You can drag and drop permissions or user information fields. And on the user side you can for example rate a content item using the Ratings hook using an Ajax function and not having to reload the whole page after rating it.

The new URL system add permalinks to .8 and make URLs nice and readable as you can already find them in other systems like Wordpress. The permalinks can be defined by the administrator and can be included into other modules. It already works for example with the News module and the Pages module. The Pages module in the Value Addons package is the successor of Mark's htmlpages.

Included into the new Theme module is a Theme generator that creates all the basic files and file entries you need to start working on a new layout.

A real enhancement compared to .7 can be found in the block control - Blocks can be dragged and dropped into place and various block setups can be set not only for modules but for single content items.

There are still 2 or 3 major bugs in the bugtracker that are already partly fixed but which must be fixed before RC2 can be releast. That shouldn't take too much time.

In his outlook on .9 Mark explained that all Postnuke releases after Feburary next year will at least require PHP 5.2 - so ask your hosting providers early enough for updates. The background of this decision is the move towards object orientation in the Postnuke codebase and the fact that PHP 5 is around long enough now to become standard.

The language system is the last big project on the roadmap towards Postnuke 1.0 - other PHP projects will be evaluated to find the best solution. In the same move the internationalisation of content will be improved. Direct translations for content must be possible - News articles with the same ID in different languages are the result. Again getText was discussed as a possible solution and the move to UTF-8.

One of the most complex parts of Postnuke today is the Permission system. It is powerful yet often to complicated. So soultions have to be found to solve standard permissions requirements.

Axel Guckelsberger requested an addition to the hooks system - hooks don't know the permissions a user has for the item they are hooked into. So if you want to download a files that is attached to a forum post the permissions to download would result from the a) the permission of the user to view the thread and b) the permission of the user to download files. Hooks are today blind for this. Mark agreed that this had to be changed for future releases.

While talking about hooks Frank Schummertz requested more hook types. Currently we have display, transform, create, update and delete hooks. A required new type is the init or pageload hook that hooks into the start of the system like the spam prevention system BadBehaviour for example that stops the loading of the page if it detects a spam bot.

Mark Ronchera asked for the use of OpenID in future releases which Mark West answered by explaining the flexibility of the .8 authentication module. You can easily inculde plugins for other authentication systems. Simon Birtwistle pointed out that he already produced a plugin for his university's auth system. If you want you could also authenticate against phpBB or any other PHP script but you are not limited to it and LDAP e.g. is already included.

As an introduction JÃ¸rn gave a tour through CoType and showed what the work with pnFoms looks like: Automatic input validation, standardized feedback in case of invalid input and standardized form look & feel.

In the second part of his presentation JÃ¸rn looked into the code behind CoType - most of the examples came from the Wiki and made clear that pnForm will save a lot of work and take away the responsibility for usable forms a bit away from the programmer.

If you missed the broadcast, wait a few days for us to upload the videos to the noc.

EasyDist is a distribution system that enables the future webmaster to point & click a custom Postnuke package - complete with core, modules, theme and languages. Just as you need it. EasyDist will then give you a download archive with all parts in the right folders.

EasyInstaller is a window program that helps the newbie to install the previously acquired package. You simply have to type in FTP and Database credentials and if will upload and install Postnuke automatically. EasyInstall is written in C# and Axel is looking for someone to take over the job of finalizing the work on EasyInstaller.

The major project is the ModuleStudio. I can't really summarize the whereabouts of this system. But Axel assured me that it helps module developers to point & click a new module within few hours and it won't be possible anymore to write incompliant functions anymore. Every module generated with his system must be as secure as the rest of Postnuke and can only contain errors that are errors of the generator and if you correct that error in the ModuleStudio you can update every module in the same step. The programmer himself can't introduce coding errors.

During the presentation Axel showed a live demo of the visual editor which turned out to be pretty impressing. The ModuleStudio will be released open source but maybe there will be restrictions and different licenses for commerical or non open source projects.