-
Pricing
(Content)
-
version 2 license. The GPL allows you to modify the code without restrictions ensuring you can customize it to fit your project requirements. You can also redistribute your work, with the understanding credit must be given to the original authors and that you must also license the new modified code as GPL. At no time are you permitted to change the license terms.
The GPL license ensures you have full access to the source code. This gives peace of mind about security since nothing is hidden
Generated on February 1, 2009.
-
Url rewriting on Postnuke 0.8
(News)
-
Main principles of the mod rewrite
For information, the URL rewriting is a module that you can activated in your apache to rewrite the links of a site in order to simplify their reading.
The idea is that the Pn Team also thought that the mod rewrite was not necessarily available / activated on all types of servers (particularly on Windows servers). Indeed, the Postnuke team offers rewritings based on tips already heavily used in management systems like blogs.
Before you begin, here is the format of a link without rewriting.
without rewriting
index.php?module=Users&func=logout Index.php? Users & module = func = logout
URL rewriting without mod rewrite
This rewriting reproduced a "virtual" Folders system on your site, links look like this
URL rewriting without mod rewrite
index.php/Users/logout
In terms of mechanism, it is very simple, when your Web server receives a request for a link, it loads instinctively page "index.html". In this index.php, the parameters of the request are recovered via the header (you can look in "phpInfo" there is a field $ _SERVER [ 'REQUEST_URI'] which corresponds to this information).Then these parameters are interpreted , between the first two "/" is the name of the module, between the two others, the function name. Now Postnuke know the name of the module and function to launch.
You can pass parameters too, for instance, if you want to load a forum with id=2, the links will look like this
URL rewriting without mod rewrite
index.php/Forum/viewforum/forum:2
Note that the url rewriting uses ":" to represent the parameters in a url. So you can't pass variables like this "index.php?variable=filter:3". (be carefull if you are using Pagesetter and his filters system).
URL rewriting with mod rewrite
Optimizing the previous version
In the previous example, all links contained index.php ... but it's ugly, and functionally this file contains no
information useful to load the asked module.This trick is useful when you have no mod rewrite, but if one has an "mod rewrite enabled" server,you can use a "lighter" version of the previous rewriting without an "index.html"
Here is an example
URL rewriting with mod rewrite :Optimizing the previous version
/Users/logout
Be careful, if one of your pictures is written this way
and you load the page /MyModule/main/. "/MyModule/main/test.png" which will be searched. Note that you can make a rewriting that redirect all links of the form "/*/*/*.(jpg | png | gif)" to "$ 3. (Jpg | png | gif)." (but it's ugly).
Mode file
This url rewriting is the classical version already used in previous versions of the cms, The rewrited links are lists of words (module name, the name of function) separated by dashes. Note that this version uses a large number of regular expressions rules to do the rewriting compared to the other one, which may increase the load of your server Web.
One example here ...
URL rewriting with mod rewrite : Mode file
module-Forum-viewtopic-topic-2903-start-0.html
Note that the "module" which one would have thought there's no point in it, is made for the support of the "old style" loading of modules.
URL rewriting customized
So here is the coolest feature, which allows you to customize the URL rewriting depending on the module you want to load. Just create a "encodeurl" function in your API module (pnuserapi) that takes as parameters, the information needed to create for output a fully customized rewrited link.
After, the loading of each page of the CMS, a "decodeurl" function in the API part of the module takes care to reformat the encoded url in a form understandable by the CMS.
You can find an example of the use of this method in the module "Pages" of values addons
Format of a encode and decode url
function pages_userapi_encodeurl($args)
function pages_userapi_decodeurl($args)
This feature is interesting because it allows us to have the hands on your url, not only before loading the page, but after loading this page, allowing you post-processing actions rather interessant.
This method allow you to
- put keywords in the url: (see Pages module)
- have a single version of your rewrited url : Indeed, through the post treatment you can recalculate the url and it does not conform to your requirements, you can redirect to the good link via a redirect 301 "Moved Permanently headers.
Use case of a url rewriting "no duplicate"
Notes: A small problem nevertheless for the use of this rewriting, which is limited to the type url "user". (more details here)
This article is a translation from this "how to" released on Postnuke-France
Generated on February 25, 2008.
-
pnMeeting 2007: Mark West talks about .8/.9
(News)
-
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
Generated on September 9, 2007.
-
pnMeeting 2007: Albert Perez Monfort introduces the "Intraweb" project
(News)
-
their school websites. The Department of Education offers a Postnuke sites to every school in Catalonia and some 500 of them use it.
Besides Postnuke Moodle and MyScrapBook are in use for the project. MyScrapBook is an easy content solution that the schools use to produce book-style web sites.
As a first step the projects main site has been migrated from Joomla to Postnuke - a point that was criticized last year ;-) But more importantly during the last year 450 teacher were trained in the use of PostNuke. Theses courses are repeated this year with another 400 teachers.
Albert Monfort and his collegues for their project integrated Postnuke with the eLearning system Moodle very comfortably. Moreover they imporved some of the old core modules so that they can handle massive numbers of users. For their special requirements Albert Monfort and his collegues programmed several modules. For example "Agendas" handles Agendas for single users or groups of users. Teachers can even handle presence lists with Postnuke. All modules are available via their homepage only most of they are currently Catalan only.
They even build up an internal FAQ system for common problems with Postnuke. It's in Catalan - so if you are able to speak Catalan feel free to translate it for the wiki. ;-)
For the future the Catalanian Deparment of Educations plans to at once move to .8 and run it only with one installation. That will reduce the maintainance work and the risk of problems with hundereds of installations.
The project "Intraweb" can be found at http://phobos.xtec.cat/intraweb/web/
Generated on September 8, 2007.
-
PostNuke .8 RC1 Released
(News)
-
PostNuke 0.800 RC1 Core Only Download
Download (ZIP)
MD5: 17d7f2eb16bf4dd886695adefab0e1f5
SHA-1: 624dcb1b29c17150e341878c727ddac83fadeb54
Download (TAR.GZ)
MD5: 9807fe2f3e0ef9f7fa88a3bbb0426815
SHA-1: 354edfc9eff87f77713bc1750cdc77144fcf0bff
PostNuke 0.800 RC1 Full Package Download
Download (ZIP)
MD5: 15718c1d68223bf5fc69b144666741f8
SHA-1: e1901b3d06dce1b82f2dfcde4d2da74e7afb9cf8
Download (TAR.GZ)
MD5: 1d983e5fd18907022fbec598c4ae7111
SHA-1: afb25ef625ce6e1564c40faf1cb29b3c1ea0ee13
PostNuke 0.800 RC1 ValueAddons Download
Download (ZIP)
MD5: 38879b481640289b7b6a605af41638a1
SHA-1: aa10e8f79d038b667aa8638347d3d12a999d8e99
Download (TGZ)
MD5: 4adc34945ae0cf42b3f96408bd21d17c
SHA-1: d4f80e0478bef1721eb29484024a9ed7a1a2e025
Please feel free to use the article below to publicise PostNuke in any web development communities you belong to. It is also published here on community.postnuke.com.
Simon BirtwistleHammerHead
About PostNuke
The PostNuke Application Framework provides a high performance, secure and feature complete framework which both website administrators and web developers can use to great effect in creating unique and attractive websites. PostNuke can be used as a CMS, adapted to blogging, ecommerce or community websites, or for more abstract tasks. It is easily adaptible, extensible and can handle situations in which performance and security are paramount. In this way, PostNuke is a reliable and robust choice for any website administrator.
The most recent version of PostNuke is 0.8 RC1, which represents a feature complete 0.8 version. Once the release candidates have undergone full testing and any remaining bugs are fixed a full release will be made available. This release will be suitable for live websites, however in the meantime RC1 is suitable for testing and development work.
Highlights For Website Administrators
The 0.8 release is more polished and up to date than ever before. With the new libraries for developers, new features should be faster and simpler to develop, reducing deployment costs. PostNuke 0.8 can be adapted to almost any need, from blogs to community websites and new third party modules are being developed all the time, constantly improving what PostNuke has to offer.
Additionally PostNuke 0.8 has a focus on the latest standards: XHTML compliance, Section 508 and Accessibility, and further enahncements have been made to both security, performance and usability.
With all core modules now templated, PostNuke 0.8 is designed to be cached, providing a huge performance boost over dynamically generating every page. Furthermore, with the templating system applied to all core modules designers will find it easier than ever to create a unique look to their websites. Gone are the days of standard 3 column layouts - PostNuke 0.8 includes new themes which are CSS, and not table, based. The new Xanthia theme engine is easier to use and performs better than ever before, while including an upgrade feature making it easy to import Xanthia themes from previous PostNuke versions.
For website administrators, this is the best PostNuke release yet, combining compliance with the latest standards and constantly improving features.
Highlights For Web Developers
The 0.8 release provides an Application Framework to allow rapid development of web solutions using the now stable PostNuke core. This allows third party developers to use the wide range of included API and utility libraries to create their own modules and extend the feature set PostNuke already provides.
Of these libraries, one of the most substantial is DBUtil, providing a cross compatible interface to the database. Selecting, updating and deleting data can all be achieved in one line, and DBUtil, combined with ADOdb will automatically create a cross compatible query for whatever database system is in use. PostNuke .8 has been tested with PostGreSQL, and further databases will be supported in future versions.
Other key features are site wide categories, supported through integration with DBUtil, the PostNuke Forms Framework for HTML forms, and other object based APIs. All of these are new since the 0.7x series and ensure third party development is both quicker and easier, and that compatibility with future versions is maintained.
For web developers, PostNuke will provide an attractive option when searching for a framework upon which complex web solutions can be built quickly, easily and with a minimum of effort. This applies even with normally time consuming tasks such as categories implementations, as the PostNuke core already handles many common requirements of web solution.
Generated on July 17, 2007.
-
Pre-Installation Server Compatibility Checker
(News)
-
utility that first checks the PHP and MySQL versions of the server for the purposes of verifying that the server meets the minimum requirements of a PostNuke installation. The application is currently checking for 'PHP 4.1.0' (or later) and 'MySQL 4.1' (or later) as these are the basic requirements of PostNuke 0.7.6.4.The PNSCC also uses a number of PHP ini configurations to populate a tidy display of the most common ini settings. If a non-techy person needs to quickly locate and convey these values in a tech support exchange, this can be very handy. It can be useful in a variety of situations, check the display to see how it might be of use to you.As a security measure, the PNSCC expires and disables itself after a default of 20 minutes in an effort to avoid exposing server information beyond a limited span of time. Nonetheless, the file should be deleted from the server after use.Quick Rundown
Shows PostNuke's minimum requirements
Verifies and shows current PHP version
Verifies and shows current MySQL version
Provides pass/fail messaging
Displays many ini-related settings
Locks itself down after 20 minutes
Download the PostNuke Server Compatibility Checker utility.
Generated on May 17, 2007.
-
ElementBB moves houses
(News)
-
"Element BB is a forum for postnuke heavily inspired by Vanilla forum.
The goals of this project was to create a very simple, very easy to use, easy to impliment, web standards compliant, accessible and usable forum. I felt that Vanilla meets and often exceeds these requirements which is why I chose it as the model to develop from. Please note: this application was built from scratch, it has no relation to Vanilla aside from its appearance and some of its available features." -- invalidresponse.com
ElementBB will be released under the GPL at version 1.0 has now been moved to the NOC. So download the module, test it, create translations and give feedback in the project trackers.
Links
Element BB Project
invalidresponse.com
Generated on March 8, 2007.
-
PostNuke .8 + OpenID
(News)
-
There requirements are:
* Distribute under an OSI-approved license.
* Have at least 200,000 public internet users and 5,000 downloads per month.
* Implement OpenID 2.0 support as a Relying Party (RP) or Identity Provider (IdP).
* Pass the OpenID compliance testing tool (to be released in August 2006).
* Make enabling OpenID no more difficult than changing one configuration setting (there can be more optional configuration settings).
* Distribute the implementation as part of the project's core (it cannot be an additional download or patch).
* Place an OpenID logo in the signon form (as on this site).
* Answer "What is OpenID?" (or link to an answer) near the signon form.
I think the 2 requirement is hard to meet for any piece of software. But IMHO PostNuke is popular enough.
As you know Postnuke .8 includes a new login system which is open to all kinds of authentications. It should be a piece of cake to implement the OpenID-system. So if you are interested in doing the job, you should get into contact with the OpenID-people.
Moreover PostNuke could use some pro comments on the OpenID page.
Links:
OpenID Code Bounty
Generated on February 14, 2007.
-
PostNuke 0.750 Gold Hebrew Translation
(News)
-
Work is in progress for a valid, proper translation for PostNuke in the Hebrew language (he_IL, ISR, heb)
The final product would be offered, for now, as a complete package (modified PostNuke, changes are written onto original english installation).
This is mostly because doing LTR to RTL is most intrusive and doesn't end at just translating all the lang files.
Later on, and as need arises, I would attempt either writing an updater script that would search new versions and replace text as needed, or look for an option to integrate the language as an addon (like all other languages), but the whole idea seems very unlikely, because of the waste of time (doing this 1 man crew thing).
If I would have more support and help, there would be a stable and reliable support for versions newer than 0.750 gold.
Any one who wants to contact me for this project should do so at:
lordskp [at] gmx [dot] net
Requirements:
Basic PHP knowledge (I won't rule out people who wants to learn, though)
Hebrew-English, fluent.
Common sense.
If you still hesitate, I hereby announce that Postnuke is the most assuring project for Hebrew CMS. I've spent about 10 hours of my free time, to check on other leading CMSs, and to see if they like Hebrew -- they didn't!.
And i won't even talk about hebrew for PHPNuke!!.
Generated on March 16, 2005.
-
Not quite a Roadmap
(News)
-
50%. He emphasized the advantages of this real templating system of non-templating systems like the old theme enginge or Autotheme.
After some turkish fast food Larsneo (Germany) told about the advantages of accessibility within Postnuke core. All avertable barriers will be removed from the core. The rest will lie in the hands of the administrator. This will not only make Postnuke sites accessible for handicapped users but also better to evaluate for search engines.
His second topic was the dangers of cross site scripting and other security issues. He pointed out his latest advances in fighting these problems. In the following discussing the team came up with a number of ideas that might prevent some of the mistakes of the past.
The second Day
The second day was the day of the module developers and far too short. Jørn Lind-Nielsen (Denmark) introduced us to his latest coup: workflows in Pagesetter 5.0.0. The state-based system uses XML and php-plugins for the design of specific workflows. Everybody was really impressed by his advances.
A new quality of commercial module development was presented by Frank Schummertz (Germany): He and his collegues from pnCommerce are currently working on a complex confugurator module that enables their customer to offer a shopping system for air conditioning system. The user enters all the requirements he has and the module calculates a specific offer.
The Remains of the Day
All in all it was a very interesting weekend with a bunch of really nice people. I think by getting to know eachother personally the relations within the team improve and we established some quite important connections among the module developers. As far as I understood Jørn, he's going to cooperate with Xexpress' Brave Cobra (Belgium) who not only entertained us with the story of his journey that almost ended in Paris and not in Stuttgart, because he used the right highway in the wrong direction. He also turned out to be a skilled singer and guitarplayer as he played some songs in the Biergarten as the other relaxed from the day.
Not quite a Roadmap
One of the important results of the meeting was the evaluation of the state of the .8-development – what is done, what is missing and what needs to be done:
Postnuke .8 will not contain any more features that .7x in regard to kinky stuff like more colorful links or coffee machine drivers. It will be a total redesign of the Postnuke core that gets rid of all the legacy stuff from phpNuke and form Postnuke into a professional framework that offers Interfaces for module developers.
So the main features will be the abstraction of API, Permissions, ADODB aso from the modules. An admin will be able to install the pure core with e.g. Pagesetter only and it will work. This will be a slim, performative core and it is already pretty advanced. But it needs to be completed and properly tested.
The next step will be milestone releases for module developers to test their modules with the new core. These milestones will work and can be uses as example but there will be no upgrade mechanisms for existing sites and no garantee that it will be 100% compatible to the final release. As a result the milestones can't be used in live sites.
Another thing that needs to be done is a total rewrite of all the old modules. They need to be API compliant and templated. The estimated 6 month did not suffice as the work turned out to be more complicated than imagined.
The last problem to be solved is the upgrading process, as for example the data from the Weblinks module will have to be distributed to the new Weblinksmodule, the ratings hook and EZComments.
All this efford will make the system more secure, performative and flexible but it's still some road ahead.
BTW: We are already planning a second meeting next year near Hamburg
Generated on August 10, 2004.