Dot 8 evolving: language files progression and legacy functionality
Thanks to the testing of the community users (yes, YOU!), some legacy functions (residing in /includes/legacy/ have been updated by Simon to solve some bugs. This is another proof that we do need everyone to test the releases and help not only yourself to make this release a success! The following files have also been marked 'deprecated', with an accompanying comment in the DocBlock: admin.php, backend.php, banners.php, error.php, modules.php, print.php and user.php. These files shall be removed in the next (post-dot8) major release.
The overhaul of language files has also applied to the Groups, Theme, Users and Profile modules. These modules now have better multilingual options and (by using the pnML function), making it a lot easier to translate the package and showing better logic in grammar for localisations. Furthermore, lots of open bugs have been solved and the templates have been revised also. For example, the emails sent by the Users module can now be adjusted by just editing a template!
David Nelson has offered to completely review the language files for dot8, and we all have to thank Olaf Fichtner for helping revamp the current language constants. The PostNuke Languages Project is actively following the development!
Important change in the language strings is the use of the _CREATEDBY / _CREATEDON and the _UPDATEDBY / _UPDATEDON constants. For better support in other languages, these are replaced by the following:
'_CREATEDBY', 'Created by %username%'
'_CREATEDON', 'Created on %date%'
'_CREATEDBYON', 'Created by %username% on %date%'
'_UPDATEDBY', 'Last updated by %username%'
'_UPDATEDON', 'Updated on %date%'
'_UPDATEDBYON', 'Last updated by %username% on %date%'
and can now be accessed through the normal pnml plugin in the templates.
System modules: pnForm and PageLock
Also introduced by Jørn is a new system module. The PageLock module is a module that helps enforcing single user access to a specific page, by blocking access to other users when one has it open.
Example: User A opens article X for editing. This is registered on the server. User B tries to open article X for editing too. But as soon as the article editing window is opened, it is overlayed with a transparent dark film and a box in the middle tells the user "Sorry this page has been locked by user A - please wait or come back later".
Functionality: The lock is maintained by an Ajax plugin that keeps pinging the server as long as user A keeps the editing page open. When user A closes the window then the pinging stops and the lock times out. If user B chooses to wait then his page keeps pinging the server for the release of the lock (also Ajax) - and when that happens he gains access to the page. The module can be used on all pages that edites a single item - articles, user data, news items, book pages, permissions settings - you name it.
To use this system, a module author has to use API calls in their own code for adding or releasing a block: pnModAPIFunc('PageLock', 'user', 'pageLock', ...) and pnModAPIFunc('PageLock', 'user', 'releaseLock', ...). To see al this in action, grab the latest nightly snapshot and play around with the HowtoPnForm module: edit a recipe in one browser, and try to edit the same in another browser.
ValueAddons modules: Members_List and EZComments
The Members_List module has been revised by Mark West, with some added configuration options. It is now possible to set the number of (allowed) registered users, and some new blocks (featured user last seen and last x users) have been added. Check out the latest nightly build to see the functionality and options.
Mark has now finished the integration of categories into the user side of the Reviews, Pages, FAQ and News modules. This way, migration of .7x categories into the new Categories module is now supported and can be tested by our users who want to upgrade their .7 site to .8.
Finally, there have been added configuration options for categorization and category titles in the permalinks with these modules.
One hot issue at the moment is the increasing amount of spam that is on lots of websites at this moment. More and more features are to be found on the internet to prevent spam showing on your site. Akismet / Bad Behaviour are one of these. As some already know, Akismet has been applied in EZCommnents for a while. For testing purposes, Mark has implemented a bad behaviour (http://www.bad-behavior.ioerror.us/) function also for testing purposes (as Steffen has found that this could also be a good application). It does need some code hacking to pnApi.php at this moment, so only advanmced users willing to help integreating this feature are invited to test this and report any iussues to the EZComments tracker at the EZComments NOC project page.
Core and API: ThemeUtil and Categories
The pnTheme system has now been converted to the ThemeUtil class. With this conversion, all occurences in the core were updated too. Both the old and the new file are loaded in pnInit for backwards compatibility, but the old file (onTheme) and its functions are now marked as 'deprecated' and will be removed in the next major release.
Also added to the new ThemeUtil is a getModuleStylesheet method which contains the logic from the modulestylesheet plugin. You can do PageUtil::addVar('stylesheet', ThemeUtil::getModuleStylesheet('modulename')) to include the value of pnModGetVar('modulename', 'modulestylesheet') or style.css (in this order) or PageUtil::addVar('stylesheet', ThemeUtil::getModuleStylesheet('modulename', 'special.css)) to include the special.css file in your rendered page.
While unnecessary for correct functioning of the website, one is now allowed to turn off session regeneration completely. This is added because it may be helpful with a couple of undecided bugs in the tracker at the moment.
Module Development: information for 3rd party Devs!
Axel introduced a very nice application called EasyDist. This allows you to create your own PostNuke package easily. You can find it at modulestudio.de. It is still in a very early stage, but you should get the idea. This is all still in development fase and is just for testing purposes at this moment.
A preliminary for the (automatic) creation of packages using EasyDist is that module authors package their modules in a standard way. Right now, there are different file structures in the ZIPs or TGZs the authors distribute. We came to the conclusion that the preferred file structure inside the archive should be - modules - MyModule - pnuser.php etc so that an unpacked archive could be copied inside the pnroot. More information is in the Guideli
Throttle-Status shows a critical analysis of Postnuke Multisite Scalability. Canada Ads Horses is out of the gate and pushing to catch up to the third genertion sequence demonstrated by Toronto. Reiteration improvements outlined briefly at this advancement describe the actual start date of the fourth generation sequence.
Lethbridge improved considerably as a direct database dump transfer over the previous second generation original creation Edmonton Work Wanted in the transfer to the Linux Guru domain. The main fault and subsequent end of life for municipality based linux advocacy and teaching sites arose from being replicated too much like the original.
First generation analysis of Swingerz was and still is the origin of thought for further analysis of multisite design. Each surviving platform gives clues as to what can be expected from the next generation. With a Black Diamond arriving in the heart of cowboy country this forth generation prototype takes its first cautious steps towards easy country living.
She's running the latest Regina post apocolyptic armagedon core. It consists of a highly customizable and extendable admin modular interface. The armagedon core prototype is slated to start undergoing basic sql preparations for advanced graphical user interface considerations almost immediatly.
Even in it's earliest infancy the post apocolyptic armagedon core proved invaluable in singular module replication affecting over three hundred websites with a one percent non-catastrophic failure rate. The armagedon core was in essence responsible for bringing the ads22Transfer.sql file to life after dump and proves that other data reiteration ideologies for Multisites are only hypothetical. Par for the reusable and simplistic module NS-MySQL_Tools
The practicality of of generating a large index of Multisites in one intall routine remains well tried according to this article. The data processed by the failure of the second generation reiteration concatenated with sequential envolution1-20 dot linuxguru.ca predisposed any notions of any glitzy bells and whistle transfers in the future. Neither is hand instantiation an option as evidenced in the heretofore previously mentioned article. It was the beginning of an unanswered and even unthought of question though.
It had something to do with creating an acceptable amount of content and community at an acceptable rate within standards applied by society. I find that having tried the blogging regression theories presented at this Drupal thread that I am still undergoing analysis of this project. The scope of my blogging content dissemination and aggregation theories reached a pitch with this announcement and slowly died an aggregating and aggravating RSS plague of duplicate destruction cumulating with the recinding of backend.php files from all root web directories.
With the creation of another advanced portal, very much like this one in many respects I continue to explore the bounds of Multisite
following line of code to your "header.php" file, located in your site's root directory. Be sure to add it before any CSS tags...
echo "backend.php\" type=\"application/rss+xml\" title=\"YOUR Site Name\">\n";
That's it! Now your site's feed will work with Firefox's automatic bookmark feature. Visitors of your site who use Firefox will be glad you did this! And as a reminder, do not add this line of code after any CSS tags. I made that mistake at first and it didn't work. Once I realized it needed to be before them, it worked.
to also use the same namingconvemtion as other stuff from this site, you will gain a wider syndication solution for your users.
First of all you get all the benefits from the backend2.php which is already out and used by a lot of people. See more information here
Second you will gain support for multiple feedtypes, just by adding something to the url.
By default you will recieve a RSS 2.0 feed. But if you specify an other of the supportet feedtypes you will be able to get validating RSS 0.91 feeds and validating Atom feeds.
However the Atom specification is only at version 0.3 so that may change in the future, but I will try to keep up with the development as it goes.
At the same time I would like to request some help from the community. I am looking for a coder who woul dlike to help me make a new version of the xRss module for Postnuke.
It seems there are a growing interrest for this, and I would like to add more functionality. My trouble is that I am not familiar with how to recieve information from other modules. Like getting lists of topics, languages, categories etc. to choose from while selcting your sources for the feed url or script.
RSS 2 validator
RSS 0.91 validator
RSS 2 topic 1 and 18 only in danish and english languages
To support multilingual sites the language of the story is included in the link.
I will also be interested in headring from anyone who have special requirements for the feeds, like if you woul dlike to expand the use of elements in a feed.
Example: Under each Item a number of extra elements can be added like a link and description to the Category or topic. Postnuke
(http://www.MYsite.com/search.php?query=&topic=1) and about sites that stop/go bankrupt (http://www.MYsite.com/search.php?query=&topic=2).
You have a website about trains (http://www.YOURsite.com/search.php?query=&topic=1) and about planes & automobiles (http://www.YOURsite.com/search.php?query=&topic=2).
I can create a Topic trains on my site and I'll display the news that I call from your website (the full article and people don't have to leave my site). You'll be able to create a topic called New Websites and syndicate my news. We both help each other with content, we keep our visitors, we both have a richer site and less work. It's a win-win situation and everybody's happy. Isn't life swell?
Of course, webmasters would have to be able to grant permission to syndicate their news -or- a source has to be mentioned at all times.
Just my 2 cents... I'm not a programmer so I don't know how and if this is possible, I'm just The Man With The Plan. Muhahaha
posted them there too. I want articles from PostNuke to show up on my site too. How do I do this? I assume it has to do with backend.php, and I've done an RSS feed at my site, but the only options for the RSS feed blocks are for the left & right side.
I searched all over PostNuke, the forums, Documentation Central, and a lot of PostNuke related sites for how to do this but can't find any references.