-
Support
(Content)
-
of Life we no longer offer a PostNuke support through community forums which is where the majority of support was carried out.
PostNuke is no longer maintained so we strongly suggest migrating to Zikula. Most people have migrated from away from PostNuke to Zikula (see "The End")
Generated on February 1, 2009.
-
The End
(Content)
-
hich was originally based on a PostNuke version but soon forked in a totally different direction under development for a few years.
The fruits of the Adam Baum prokect were released as a new product called Zikula. Efforts have been made to make a migration path to the new product although not all modules and extension are compatible and the migration process can be rather difficult. For details about the migration package, please see the migration release.
Zikula should not be confused with PostNuke since they are spearate products and the underlying code is vastly different. A decision was made to provide security updates for PostNuke until 1st July 2009 and there will be no more releases of PostNuke beyond version 0.764. If security issues are found it is suggested you discontinue use of PostNuke and migrate. If you require professional support doing this you may contact us.
The End.
Generated on February 1, 2009.
-
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.
-
Using PostNuke and MySQL in Unicode (UTF-8)
(News)
-
MySql and UTF-8
by: Bernd Plagge
www.choicenet.ne.jp
MySql introduced support for different character sets and collating rules in version 4.1. While this has many advantages databases sometimes need to be migrated and then we have to ensure that the correct character code is set for the new database. We are mainly using UTF-8 and hence you may have to adapt this information to your situation!
What is the problem?
MySql uses as default Latin1, swedish flavour.
How do we check this?
run mysql.
mysql> show variables;
How to check the character set for a particular database?
run mysql.
mysql> show create table
The character code can be set in various places - so where is the best place for this?
We always use UTF-8
------------------------
In this case it makes sense to set the character code for the whole server to UTF-8. MySql actually sets the character code at different levels:
server
client
database connection
database
The character encoding for server, client and the connection work hand in hand to ensure that the data is interpreted correctly. It seems that MySql makes no effort to determine the correct character set but will convert data in accordance with it's configuration. This leads to problems for old databases if the database character code differes from the one configured.
The easiest way to configure MySql for UTF-8 is to put the configuration inot the main configuration file (/etc/mysql/my.cnf).
In my.cnf there are different file sections. So you can't put it just anywhere.
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
Setting UTF-8 for one Database
--------------------------------------
You can check the default character code for a database either by dumping the data and then changing the schema file or you can do this online.
You use the 'alter table' statement to change the database using mysql.
run mysql
alter database
default character set utf-8
default collotion_name utf8-general_ci;
note: you may omit the word 'default'.
It is also worth noting that e.g. mysqldump silently adds the default character code when exporting data!
This can causes problems if the character code defined and the database content are different. In such cases MySqldump will try to convert data to it's default character code!
However, you can disable that by adding the character code option when using MySqldump.
e.g. mysqldump --set-charset.
In the same way you may explicitely set the character set.
mysqlimport --default-character-set = utf8
mysqladmin --defautl-character-set = utf8 create
Setting the character code at server start
-----------------------------------------------------
You can start the server with:
character-set-server
collation-server
The current values can be determined with the command
run MySql:
mysql> show variables;
Values may be changed with commands like:
set character_set_server = utf8;
set collation_server = utf8_unicode_ci
Setting the character code within Applications
----------------------------------------------------------
You want ensure that the correct character code is set when connecting to a particular database.
Connect to the database and issue the following SQL command:
mysql>SET NAMES utf8;
SET NAMES is equivalent to the 3 commands:
character_set_client
character_set_connection
character_set_results
How to run PostNuke in UTF-8
-----------------------------------
Several things have to fall into place for this to work correctly.
1) the database encoding needs to be set to UTF-8
2) the application language needs to be encoded in UTF-8
3) PostNuke needs to be told to use UTF-8
ad 1)
see above for details!
ad 2)
The character code for a given language is set in language//global.php (PN 0.76x) or in language//core.php (PN 0.8). Search and adjust the following 3 define strings:
define('_CHARSET','UTF-8');
define('_LOCALE','en_US');
define('_LOCALEWIN','eng');
Of course it is not sufficient just to change the _CHARSET to UTF-8. The text strings themselves need to be encoded in UTF-8. This can be done in a number of ways:
a) use 'recode' or 'iconv' on every language file
b) use the pnlwb (PN Language Workbench) to extract and convert all language files
ad 3)
Following the database initialization you need to issue a "set names to 'UTF-8'" command. As this is done in includes/pnAPI.php we need to patch that file.
PN 0.76x
----------
// load security functions.
include 'includes/pnSecurity.php';
// Load our language files
include 'includes/pnLang.php';
pnLangLoad();
//bplagge 2006-01-31 - charset fix for new MySql version
$dbconn =& pnDBGetConn(true);
$info=$dbconn->ServerInfo();
if ($dbconn->ErrorNo() != 0) {
echo "Error: "; echo $dbconn->ErrorNo();
}
// print_r($info);
$c = _CHARSET;
// Mysql uses non-standard name for UTF-8!
if ($c == 'UTF-8')
$c = 'UTF8';
$query = sprintf('SET NAMES \'%s\'', $c);
$dbconn->Execute($query);
if ($dbconn->ErrorNo()!=0) {
echo "Error: "; echo $dbconn->ErrorMsg();
echo "check pnAPI.php";
}
}
// end bplagge - mysql charset adjustment
PN 0.8
-------
if ($stages & PN_CORE_LANGS) {
// Load our language files
pnLangLoad();
}
# bp 2007-06-01
# need to "set names '' " to ensure correct data handling
$query = sprintf('SET NAMES \'%s\'', 'UTF8');
$result = DBUtil::executeSQL($query, -1, -1, true, true);
Please note that the MySQL character code names are NON STANDARD!
How to check?
----------------
I always found that phpMyAdmin is an excellent tool for MySQL databases. If the data entered in PostNuke is also correctly displayed in phpMyAdmin table browse mode I'm quite confident that everything is fine.
Generated on June 6, 2007.
-
Development Update, February 2007-02
(News)
-
release, and some is part of the current nightly build from SVN. The items that are part of the MS3 package are indicated with a (*).
Installer and upgrade path
The installer for .8 now also checks for a web-user writable pnTemp directory. Before, only it's subdirectories had to be writable. However, more and more modules need a (temporary) writable directory of their own (for example cache directories for image creation or rss feeds). With a writable pnTemp, these modules are now easily allowed to create that directory themselves if it does not exist. (*)
The upgrade path from the historic .7 family has been updated: Some code has been added to migrate blocks placements into the new block_placements table. (*)
Furthermore, old style (legacy) blocks can now be stored in the /config/blocks directory. The specific files do need to be copied manually from the old /includes/blocks directory to it's new location. (*)
Core (API) and environment variables
In the core pnAPI, get_magic_quotes_runtime() was called lots of times for different purposes. With an internal caching method, the result is stored in the global PNRuntime array. Big advantage is that the site's speed has been significantly improved. (*)
Robert has added an enhancement to allow the pnSessionGet/Set/DelVar functions to accept an (optional) path argument (arguments 'autocreate' and 'overwriteExistingVar'). This will allow for easy setting of complex array structures. The change only adds extra arguments to the existing functions and are backwards compatible. At this moment, no direct usage has been committed yet.
PostNuke Object library
At this stage of development, a lot of changes are (and have been) made to the object library. Most of them are 'simple' bug fixes, but some changes are worth mentioning here (additional functionality or changed methods).
In the DBUtil class, there now exists a new method to increment a field with the function incrementObjectFieldByID. This can be used by module authors for updating read counts of content items for example. (*)
Additionally, the function selectScalar has been added (which takes a SQL quesry as argument). This is mostly useful for places where you want to do a "select count(*)" or similar scalar selection.
The utf8 conversion functions (convertFromUTF8 and convertToUTF8) have moved from AjaxUtil to DataUtil when solving a bug to keep the users input in Ajax driven fields as they are intended.
While solving a Google AdSense script bug, where the script tags were automatically cleaned by the safeHTL output filter, a new feature has been added to FormUtil: Before cleaning posted input on an already installed site, the FormUtil now checks if the current user has overall admin permissions. This allows site admins to input potentially harmful tags (javascript for example), but it's their site after all!
Jörn has improved CSS style handling in pnForm plugins, as he has changed some pnForm classes to be derived from pnFormStyledPlugin, which in itself is derived from the original pnFormPlugin.
Because it's better to read the languages directory first for available languages and compare that result against the full list of languages in stead of the other way around, the LanguageUtil has a new function getInstalledLanguages. This now significantly reduces the number of directory checks.
To ensure that most commonly used plugins are found as early as possible, the order in the pnRender class, where the system is searching for plugins, has been modified. The current correct order for the 0.8 distribution is:
system/pnRender/plugins
system/Theme/plugins
config/plugins
current theme-directory/templates/modules/$module/plugins
current theme-directory/plugins
current module-directory/pntemplates/plugins
Furthermore, two new variables can be added to the rendered output page using the PageUtil class. First is 'description', which is default set to the current site slogan. Second is 'footer', with the ability to add custom content just prior to the closing body tag. The latter function is applied as an outputfilter.
Finally, an additional parameter 'display' is added to the pager plugin, which can be set to either 'page' or 'offset'. This is (why am I explaning, isn't this rather self-explanatory?) to allow paging by pages, rather than offsets. It also mirrors the 'show' parameter that exists in many templates (based on the example module) but was never actually implemented.
Last but not least, the Theme class has now added support for a filters section in a page configuration file. This allows for loading of, in the first instance, custom output filters. Note there is no user interface to the functionality the moment.And, why not, the Atom theme has been updated to Atom 1.0
Module modifications
The following modules have been updated for improved .8 compatibility, or just to make administering those modules easier.
The User module now has the long awaited alpha pager for browsing users. (*)
All occurences of the block rendering APIs (read by the Blocks module) have changed from the old style call "return themesideblock" to "return pnBlockThemeBlock". (*)
To the Settings module there has been added a configurable separator for permalinks (*)Furthermore, a switch to globally disable JS Quicktags (which adds a set of buttons for common html tags to enabled textareas) is now part of the Settings module. (*)
Both the Ratings and the Multisites module are modified to meet the new standards of coding and templating. Work still needs to be done to both modules, so testing functionality for these modules may not be that worthwhile as yet. (*)
The Theme module takes over from the Xanthia module in an upgrade. This doesn't mean that it is not Xanthia anymore: it still is actually the Xanthia 3.0 engine (*).
To the Recommend_Us module a display hook has been added. This will add a list of social bookmark links, like the Diggers plugin also does.
Language files overhaul
The language defines in some modules have been reviewed and adjusted to the naming conventions of .8 (see also Dev Update 2006-06). This means that module-specific language defines start with a module-name specific prefix. Additionally, some new general language strings (using the pnML function) have been added to the core language file. The major effect this will have is to subtantially reduce the number of strings that need translating.These changes are applied to the following system modules: Admin, Admin_Messages, AuthPN, Blocks, Mailer, legal, Settings and SysInfo. ValueAddons modules will follow later.
PostgreSQL DBMS testers wanted
The .8 DBUtil class, as mentioned many times before, makes it possible to run PostNuke on different DBMS platforms, like PostgreSQL,
Generated on February 20, 2007.
-
Interview: Carl Slaughter
(News)
-
Where do you live?
Bethalto, IL USA
Where in the world is Bethalto, IL, USA
What is your real-life job?
IT Manager/Supervisor for a Credit Union
Tell me about your PostNuke "career".
PostNuke was what I started with and I liked it, I have tried others but PN is what I'm most comfortable with and frankly I do not want to learn another unless its REALLY great, and I do not see that happening ;-)
When did you start working on your own module?
Jan, 2003
Please describe to the community what your development is like?
It’s really only I and Batpuppy (Patrick Peay). I do most of the coding and Patrick does the debugging and HTML.
We never intended it to be as big a success as it is, we just wanted a good forum module for our own PN sites. And well the rest is history ;-)
I use HTML-Kit, along with tools like Power Desk Tools, with file find, and Xampp for local web testing. For release development we use TortoiseCVS, and UNIX command line tools for file compares.
What is the biggest difficulty in your development?
The difficulty only rests in your own abilities and desire to learn as much as you can about the PN core, along with keeping with the changes. Knowledge of PHP, HTML, and cross browser coding is a must as well. You have to develop skills in every area, then of course you develop your own personal abilities to bring your own ideas to the code as well, remember there is usually 100 different ways to accomplish the same thing, but only a few ways to do it right ;-)
What features should the PostNuke .8 core have to simplify your work?
Module aliasing. Lower overhead for modules (usually the module's fault) however the PN core has a good amount that is has in memory then if you have a significant module like PNphpBB then you start scraping the top of the RAM ceiling.
Which route will PostNuke/your module in your opinion go in the future?
As PNphpBB matures it will become more and more integrated into PN, we will streamline the code and do away with all unused code from the core of phpBB. Possibly fork the entire code, because currently we have kept the same basic code of the current phpBB release so we can apply phpBB specific patches and admins can easily add mods designed for phpBB. This will eventually not be an issue as more and more people are writing mods for PNphpBB directly.
What is the weakest/strongest point in your module?
PNphpBB is a module version of the popular phpBB forum it does its best to stay true to all the features and functionality of its stand alone counterpart as well as offering those who use phpBB the ability to migrate to a CMS environment. Its weak points are since it is a port of a stand alone module, it has a lot of redundant code, its own DB functions, template/HTML output code and functions that are not necessary due to the fact it is contained within PostNuke as a module (login/registration is not used).
Thank you very much for you time.
Visit Carl and the pnPHPBB forum project at http://www.pnphpbb.com
Generated on December 16, 2004.
-
PN Junior Admin Needed
(News)
-
Duties:
Routine back-ups of all production databases and code.
Routine account and Nuke admin duties (authorize content, add categories, etc.).
Convert the existing FrontPage-authored content and forms to work in a Linux/PostNuke environment.
Assist in implementing new themes and installing/updating modules as needed.
Routine content management - add articles, links, etc.
Qualifications:
Reasonable knowledge of Linux - RedHat preferred. Should know how to work from a login shell and not just from web forms. Does not need to be a veteran Unix weenie ... we already got one ... me. ;-)
Good knowledge of PostNuke ... good enough to maintain, update, manage the system. If you know your way around PHP well enough to code through minor bugs in modules that's a plus.
Good knowledge of FrontPage. Some of the content is still in FP - especially some mission-critical forms which there wasn't time to convert yet. Candidate MUST be able to take these forms and convert them to Apache/PHP/Perl without guidance - pick a good mailform script, deploy it, convert the forms into standard HTML and/or a PN module.
Common sense. This means having the sense to know what's important to get working first, and managing the alloted time in the budget wisely.
Engineering smarts. We maintain a test deployment site to try things out on. Candidate must know how to take things to a test site for trial, then migrate the production code to the production environment. Coding discipline will be maintained for both the Nuke code and database mods. A hack-n-slash coder is not what we need.
If this sounds interesting, please contact msmiller@siliconchisel.com.
It doesn't matter where you're located, but this business is on Pacific Time - so if you're on the other side of the world that
Generated on August 6, 2002.
-
Upgrading .71x to .713
(News)
-
Now, to quote from the original post..
This version of PostNuke includes a new version of the autolinks code, as the old one had a number of bugs and performance issues which required a
re-write of the module. Before installing this patch please go to the Modules administration screen and deactivate and remove the 'Autolink' module.
Once this has been done you can remove the following files/directories from your PostNuke directory:
html/includes/autolinkinc.php
html/modules/NS-Autolink
and apply the patch. Once the patch has been applied run 'Regenerate' from the Modules administration screen, and initialise and activate the new Autolinks module. To get autolinks working with news, edit the 'News' module from the Modules administration screen and select the 'Activate Autolinks for this module' checkbox.
This patch has no database changes so no upgrade scripts need to be run to migrate from 0.712 to this version.
So, good luck, and ask in #postnuke-support (Click here for web based chat) if you have any more questions.
Generated on April 22, 2002.
-
Rogue .713 Released
(News)
-
Upgrade Instructions for PostNuke 0.71.3
N.B. Please back up your PostNuke directory before attempting this upgrade.
This version of PostNuke includes a new version of the autolinks code, as the old one had a number of bugs and performance issues which required a
re-write of the module. Before installing this patch please go to the Modules administration screen and deactivate and remove the 'Autolink' module.
Once this has been done you can remove the following files/directories from your PostNuke directory:
html/includes/autolinkinc.php
html/modules/NS-Autolink
and apply the patch. Once the patch has been applied run 'Regenerate' from the Modules administration screen, and initialise and activate the new Autolinks module. To get autolinks working with news, edit the 'News' module from the Modules administration screen and select the 'Activate Autolinks for this module' checkbox.
This patch has no database changes so no upgrade scripts need to be run to migrate from 0.712 to this version.
Changelog for PostNuke 0.71.3
- Adding users no longer gives output error
- Extra tags added to allowed HTML
- Users without URLs now longer show up as having a web page of 'http://'
- Various fixes and tidy-ups to comments system
- Autolinks migrated to utility module, many bug fixes and performance improvements
- Clearer information on intranet setting during install/upgrade
- Better handling of error conditions when posting news
- Can now change the name of the group that new users get assigned to
- Various fixes when upgrading from previous versions
- Pager works correctly when passed bad info in perpage
- More explicit messages when modules fail to initialise
- Template module now sets options correctly
- Administration menus now show up for the right people
- Worked around bug in earlier versions of PHP that stopped users from logging in
- Upgrade process now successfully removes all instances of composite field _T* in administration messages
- Permissions system now copes with permissions setups where admins and sub-admins do not have their admin permissions first in the list
- Downloads should now show HTML correctly in descriptions and ratings
- Modules such as Andromeda which rely on downloading files to a harddrive now work under all browsers
- Display of comments and news posts during editing now shows HTML tags correctly
Enjoy!
Generated on April 15, 2002.
-
PostNuke takes over the Kingdom of Bahrain's official website!
(News)
-
site a true Bahraini portal serving the local and international communities with topical and helpful information about our Kingdom.
We're looking to customize PN711 as well and will migrate into 711 as soon as we finish that job.
http://www.BahrainToday.net was previously running custom code developed in-house. During it's brief history (original site launced in February 2002) until today after the conversion to PostNuke, we have had more than 500,000 hits! So it could also serve to "stress-test" PostNuke. It is also worth noting that this is the very first government site running completely on Linux (RedHat 7.2) so that's another battle won!
As the proof of concept is now done, we are looking for a full time PostNuke developer to live in our lovely Kingdom for an initial period of one year. The candidate must be completely savvy with PostNuke's programming, customization, and very good at writing custom modules. If any of you are interested in spending some time in the sun, please contact me at mahmood@bahraini.tv and let's start talking!
I would like to thank all the PostNuke developers for their dedication and the wonderful product they created, I hope now that I will be able to release all Arabisation and customization done back to the community so that others will benefit.
I think the first in the pipeline is to release the Arabic translations for PostNuke 711 once the team of translators are done with it, later you will receive our recommendations that hopefully will get some attention from the developers, the most difficult part of the job was removing all the ALIGN statements and replacing them with variables in the language file as well as ensuring that the "right-to-left" directionality required in Arabic is good. Some of that work has been done in the core files as well unfortunately but that was the only way we can get the right-to-left and left-to-right directionality to work correctly.
Go PostNuke!
Best regards
Mahmood Al-Yousif
http://www.bahraintoday.net
http://www.bahraini.t
Generated on March 28, 2002.