-
OS History
(Content)
-
See http://www.gnu.org/philosophy/free-software-for-freedom.html for more explanation of the difference between the two movements.
The basic philosophy behind open source is very simple: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, and people fix the bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing.
There are many active Open Source Software projects but some may be thinking you get what you pay for, so if it's free there must be something wrong with it. Sometimes this is true but there are open source software projects providing stable, scalable applications. The key is to know where to look and what to look for when evaluating the stability and scalability.
Here are a few interesting facts and examples of Open Source projects:
Apache is the number one web server at nearly 62% of all installations. Second place was help by Microsoft at just under 27%. (Source: Netcraft)
GNU/Linux is the number two operating system at nearly 30% of all servers behind Microsoft operating system at nearly 50%. (Source: Netcraft)
Sendmail (a mail transport agent) sendmail has become one of the standards of the Internet's infrastructure (TCP/IP, Apache, sendmail).
BIND the Berkley Internet Naming Daemon responsible for mapping domain names to IP addresses ran on 95% of all public reverse DNS servers. (Source: Information Sciences Institute of the University of Southern California).
MySQL founded in 1995 by two open source veterans, Michael "Monty" Widenius and David Axmark, with the help of Allan Larsson and claims 4 million installations worldwide and 30,000 downloads of the software per day making MySQL by far the planet's most widely distributed open-source database. (Source: mySQL)
PHP is a widely used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML and as of May 2003 it was being used on 12,487,030 domains and 1,321,203 IP addresses. (Source: PHP)
Linux Operating System is over three years old and has grabbed 13.7 percent of the $50.9 billion market for server computers, and that figure is expected to jump to 25.2 percent in 2006, putting Linux in the No. 2 position. (Source: IDC)
SourceForge a site providing support tools and resources for the OSS/Free Software movement recently announced a major two year
Generated on February 27, 2009.
-
Security Announcement: PostSchedule 1.0.5 SQL injection vulnerability
(News)
-
As a quick fix we suggest to replace the original pnuserapi.php with the content of PostSchedule-Quickfix.zip that can be downloaded [url=http://support.pn-cms.de/module-Downloads-view-cid-501-start-0.htm]here[/url]. As a long time solution we suggest to look for a replacement as the development has stopped some time ago. For .764 PGCalender or PostCalendar might be a solution, when using .8 crpcalendar, Eventliner or TimeIt may be worth to look at.
We do not support PostSchedule with this fix, you use it on you own risk. It may (or may not) fix the recent exploit, but there might be others in the code. If someone wants to have closer look at it, feel free.
Generated on April 29, 2008.
-
GSoC Interview: Mathieu Prevel
(News)
-
2. What attracted you to the Google Summer of Code as a programme, and PostNuke as a project?
For me, the Google Summer of Code is the opportunity to carry out an interesting project and better know the open source evolution.
I do think that type of knowledge should be shared. That is why I like open source, and why I did my utmost to be accepted into your organisation to program with you during this Google Summer Of Code. Actually, by making easier the creation of a website for anybody you get close to my way of thinking.
I want to participate to an Open Source project because I already take advantage of the work of the Open Source community. (I use Mandriva with KDE, I can program with PHP, C...) I couldn't be who I am without the Open Source community. It is my way to thank it.
3. Tell us about your project, and how you hope it can benefit PostNuke?
My project is a revisions control. It will be a user-friendly central system GUI in the admin panel which could allow to see the different versions and to revert to a previous version.
All existing modules and future modules should be easily added to this revisions control.
It could be very useful if there is some admins.
5. What do you personally hope to gain from participating in the Summer of Code with PostNuke?
This GSOC is the opportunity to realize something useful for everybody. Due to Open Source I could meet people who live all around the world and learn to know them. I could learn who they are, and share my time with people who have the same hobby I have.
I do think it is an interesting experience and a human adventure.
6. Can you see yourself contributing your talents to Open Source projects following the SoC? Will you continue to work with PostNuke in some capacity after the programme has ended?
I am very interested in Open Source projects thus I would contribute to them and carry on with PostNuke after this GSoC.
7. Is there anything else you’d like to say now, as the programme begins?
I would thank you PostNuke again to choose me to realize this project and the community which is very friendly. I am excited to begin.
Lastly, thanks for your time – we in the PostNuke team are excited about the Summer of Code, so thank you for taking part and
Generated on April 28, 2008.
-
GSOC Interview: John Pritchard
(News)
-
2. What attracted you to the Google Summer of Code as a programme, and PostNuke as a project?
I was attracted to GSoC because I enjoy coding and I thought that I could do with some experience before I actually get a job and I can also help out the community while I'm at it :). I chose PostNuke in particular because php is the language I have the most experience with, I made countless websites through my teenage years and I also spent a lot of time modifying PHP-Nuke to suit my needs (although the code I used is probably buried somewhere now), so I thought it'd be the project that would benefit the most from me and it'd be the one I'd be most comfortable doing.
3. Tell us about your project, and how you hope it can benefit PostNuke?
I'm going to be doing an overhaul of the categories system in PostNuke. I hope it will benefit PostNuke by increasing the usability and efficiency of the categories system.
4. What do you personally hope to gain from participating in the Summer of Code with PostNuke?
Experience and something to put on my CV :)
The satisfaction of doing something productive in the community.
Money - I'm a broke student, so it has to be said :P.
5. Can you see yourself contributing your talents to Open Source projects following the SoC? Will you continue to work with PostNuke in some capacity after the programme has ended?
Depends on time constraints really, I'd definately consider it if I had quite a bit of free time but at the moment I'm pretty swamped with work, I have a few projects of my own that I've had to put on the backburner =\.
7. Is there anything else you’d like to say now, as the programme begins?
I wish everyone good luck with their respective projects and I hope to speak to you all soon :)...Oh and "hey mum, I'm on the internet!" :P.
Lastly, thanks for your time – we in the PostNuke team are excited about the Summer of Code, so thank you for taking part and choosing PostNuke!
I'm excited too, thanks for choosing me!
Generated on April 25, 2008.
-
GSoC Interview: Daniel Byrd
(News)
-
American and English whenever it’s convenient (It’s pretty much only more convenient to be American when trying to enter America).
I enjoy doing a bit of drawing here and there and pretty much any reasonable kind of sport, especially team sports. But as far as interesting hobbies go I don’t raise boa constrictors or compete for the world record for juggling with flaming knives or anything like that. I guess I need to take something up so I can better answer these kinds of questions.
I currently run www.lincolnjcr.com (technically not completely finished yet) where I’ve implemented a specific self-made content management system, which probably had something to do with what drew me to Postnuke.
2. What attracted you to the Google Summer of Code as a programme, and PostNuke as a project?
What tempted me about the GSOC program was the flexibility of the whole system, working where you want, when you want, as well the opportunity to get paid to code, which probably wouldn’t have been possible otherwise and is obviously going to offer some useful experience.
PostNuke seemed like a project I could actually make an impact on, as I already have a decent head start in all the required areas, I didn’t like the idea of taking a plunge into the unknown and having to spend half the time trying to figure out what was actually going on rather than actually contributing. Also a lot of people use websites, and a lot of people benefit from Postnuke, so the idea of contributing to something genuinely useful to many people was a factor for me.
3. Tell us about your project, and how you hope it can benefit PostNuke?
I’ve been on countless websites where the search functionality is just not up to scratch, it’s frustrating to say the least. Although Postnuke already has a fairly well implemented search module, theres room for improvement. My project is essentially to construct a fully functional search engine for PostNuke. Actually, two. One direct port of an existing search system, (along the lines of htdig or phpdig) and one more specific implementation that works more intimately with PostNuke.
The outcome for Postnuke should be the following the features:
Unsharp searches so that users get probably expected results in spite of typing or spelling errors.
Searching of non-html documents (such as open office documents and PDF)
Improvements in performance. Currently, each module is queried individually, multiple results for the same page are displayed more than once and there is no way of displaying searches by relevance.
(If time allows) Semantic searches (ie content added by person x)
5. What do you personally hope to gain from participating in the Summer of Code with PostNuke?
I’m looking forward to getting an insider’s perspective on an open source project as I don’t really know much about open source, and this seems like the best way to learn more. Of course in terms of further work prospects, this is a useful bit of experience to have for sure. It would also be nice to make some friends in the process.
6. Can you see yourself contributing your talents to Open Source projects following the SoC? Will you continue to work with PostNuke in some capacity after the programme has ended?
It’s a definite possibility, I’ll have to see how it goes and see how much I enjoy it. It also depends on how much spare time I have as well I guess. But I’d definitely consider it.
7. Is there anything else you’d like to say now, as the programme begins?
I’d like to thank the people here at PostNuke for applying to GSOC so that I could have this opportunity, and I’d like to say that I’m looking forward to the next few months and that I’ll do my best to make my effort a worthwhile addition to PostNuke.
Lastly, thanks for your time – we in the PostNuke team are excited about the Summer of Code, so thank you for taking part and choo
Generated on April 23, 2008.
-
OpenID for PostNuke
(News)
-
If you haven't read that yet and is interested in OpenID then please read it here - it will explain the whole OpenID background.
For those of you that haven't heard about OpenID yet, here is the very short explanation: OpenID is a relatively new web-technology for managing your online identity. It's primary purpose is to facilitate Single Sign On across independent websites. This means you can create yourself an OpenID identity and use that for login in to different websites without having to retype your password over and over again.
When I wrote the last article I promissed to deliver an OpenID implementation for PostNuke, and, well, here it is! You can now download OpenID from the NOC OpenID project page.
By installing this module you enable your users to:
Register an OpenID with their PostNuke account and login with this OpenID. The OpenID manager page can be found in the user account panel (Profile).
Create an account on your website using OpenID's registration process.
The OpenID module requires PostNuke version .8 from SVN (april 15th) - and probably also PHP 5.x since a required extension "domxml" is not delivered with PHP 4.x.
So don't hesitate - get your website OpenID enabled today and save yourself (and your customers) the hazzle of managing multiple user accounts.
Intra-web usage
You can use OpenID for Single Sign On between closed "intra-webs". For this
you must have a trusted OpenID Identity Provider (IP) - either your own or an
external one. Then you add a filter on the OpenID admin pages - this filter
should allow access from your trusted IP and deny access from any other
provider. In this way only users from your trusted IP will be allowed to access
your website.
Read more
You can find lots of information about OpenID around the web. The most obvious place to start is of course openid.net. But at openidbook.com you can get a free copy of the 200+ pages OpenID book from Rafeeq Ur Rehman. This should satisfy even the most curious people
Enjoy, Jørn Wildt
Generated on April 16, 2008.
-
Development Update, 2008-01
(News)
-
.8 Final: the next step after RC3
Since the release of RC3, already a lot of bugfixes have been committed to the repository. The developers have agreed to address all new features to the .9 tree, where the two major changes (UTF-8 and gettext, see below) are already in active development. This should result in much shorter release cycles (and earlier release dates) also, and give module developers much more clarification on what to change in order to make their module work under the new major release. If needed, an final bugfizing weekend may still be organised for .8 final.
The upgrade from .764 installations on certain systems has been improved, by increasing the memory_limit to 64M. However, this only works for php version 5.2.1 and above.
Upgrading to .8 together with some 3rd party modules may raise problems when the modules upgrade process is not failsafe for .8 or if the upgrade function uses core functions of modules that are not available yet. Therefore the upgrade of 3rd party modules in general is avoided by following a white list of core modules.
Most site-specific data can already be easily overridden using the /config and /themes directories. The Multisites module however still needs some futher thought on the best way of running multiple sites from a single install. One method having multiple unrelated (i.e. non table sharing) sites of a single install would be to have config/site1, config/site2 etc., this will be postponed to a next release.
The Tour module is now in a state where it can be translated to other languages as well. Just translate the templates and put them in a subdir with the appropriate language abbrevation, all within the pntemplates directory.
MultiCategorization introduction and issues since
As earlier announced, a last fix for supporting MultiCategorization has been added to the core just before the release of RC3. Since those changes, another small fix was then required to be fully backwards compatible. On the module-devs list, the devs have discussed a lot on how to solve these issues. Chances are great that if the new (already committed) patches do not solve the problems, MultiCategorization might be postponed to later versions in order to fully test the new features.
For more information on MultiCategorization, visit this thread in the forum.
DOM extension to use correct paths in JavaScript
Some javascripts, eg. the lightbox, need to know the path to the system and the entrypoint as well (which can be configured in the settings), otherwise they may fail in case of short urls being enabled. Since dynamic javascript creation might be a performance problem, some inline javascript is added to the pagevars to extend the DOM:
- document.location.entrypoint: will be set to what is configured to be the entrypoint
- document.location.pnbaseURL: will point to the result of pnGetBaseURL();
Any ideas on how to make his more unobtrusive are very welcome!
PostNuke Upgrade Distribution
In previous articles and posts, the term '.8 upgrade pack' was used to represent a full .8 package, including 3rd party modules, to upgrade to .8 from an existing .764 installation. However, the term 'upgrade pack' is not quite correct and misleading, because it implies to be an upgrade package with changed files only, while the main parts remain as-is. The transition between .764 and .8 requires a complete exchange of all files, so the so called upgrade package is a complete distribution.
Now it remains what modules should be in an upgrade distribution, to be able to fully upgrade an existing .764 installation, including new versions of 3rd party modules. These include Downloads 2.2, pnMessages, Polls 2.0, bbcode / bbsmile, Weblinks, EZComments and MultiHook at least. This might need some additional testing with certain versions also.
Core changes and additions in the .9 tree
Mark has already overhauled some core API methods and calls. All systems modules are now using the Renderer Class instead of pnRender. Also, a first pass has been committed in changing all pn* function calls to new object method calls. For example, pnModGetInfo is replaced with ModuleUtil::getInfo and pnSecGenAuthKey is replaced with SecurityUtil::generateAuthKey.
For those who did not know: A class pnCompat.php still includes most oldstyle API calls for backwards compatibility.
GetText and Default DB Charset
Bernd is progressing rapidly on integrating gettext in de development tree, and has added po-files for all core modules. The required PHP version for .9 has already been set to a minimum of 5.1.6, and since version 5.0, MySql supports different character sets and corresponding collating orders. To run an application in UTF-8 (unicode) it is not sufficient to change the character set for PN; we needed to set the database encoding (actually server and client) to UTF-8 as well.
A user who wishes to run his site in multiple languages, needs to decide the database encoding at installation time. The default is UTF-8, because the current iso-8859-1 is restricted to too few language combinations. UTF-8 is a 'no-worry' setting because it will work with any language (as long as it is UTF-8 encoded.
This change is $PNConfig['DBInfo']['default']['dbcharset'] = 'utf-8';
To cache or not to cache, that's the question
Also discussed on the devs-list is the current (and future) state of output caching within PostNuke. Why should any application repeat the same processing tasks on a item that hasn't changed?
Not caching anything is fine if one has got infinite resources to throw at a site (and even then there are limits). But in reality there are finite resources and you need to take steps to ensure that those resources are effectively used. One method for that is not wasting precious resources repeating the same tasks time after time.
The key is effective cache management. Currently we put too much load onto the module to handle it's own caching. Once you then
Generated on March 2, 2008.
-
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.php". 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.php"
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.
-
PostNuke 0.8 RC3 Released
(News)
-
PostNuke 0.8 RC3 Upgrade Pack Download
Download (ZIP)
MD5: 02629a822154f9f88a72ebea7f562470
SHA-1: 7ca9de7e7285778122e3d711c1b48f9ee4342396
Download (TAR.GZ)
MD5: eaf730995aec0acebca26f62a9f5ec98
SHA-1: 2245191875cb66d4c2cbda769321b3f0ccb7dc33
PostNuke 0.800 RC3 Core Download
Download (ZIP)
MD5: 95000958fa40f442a40282db5aae1799
SHA-1: aaa57406204bdc1220a6768d6de2021736ffe1cc
Download (TAR.GZ)
MD5: e563098769d0ce448c31a39a92f9b0ab
SHA-1: 5fe83c58707de118a28ba0dd8c72138706d90388
PostNuke 0.800 RC3 ValueAddons Download
Download (ZIP)
MD5: 195a63ac59c1ddce7507ad50b21032d1
SHA-1: 8f64584642ea3959b13a98b1649dfe50921ffa31
Download (TAR.GZ)
MD5: f7436f01187f81f34eb80c4959d46d37
SHA-1: 5ebce8c82fa1599ad81b3bce771d418b6e496329
Release Highlights
There are a number of improvements in RC3 over RC2, these include an enhanced upgrade script, the new Tour module and some last minute categories module improvements.
New Upgrade Script
The two upgrade scripts, upgrade76.php and upgrade.php have now been combined into a single file. In addition to this, a number of interface improvements have been made to make the process of upgrading your .7x series websites simpler and more reliable. The new script also solves some long standing bugs with the update proceedure, so we invite anyone who had problems with the upgrade proceedure previously to try again with this new version.
Tour Module
In an attempt to reduce the learning curve when first starting with PostNuke, a new module has been developed to introduce you to this new release of PostNuke. It provides a first time tour of PostNuke, introducing you to common terms like block, module and theme with which new users may not be familiar and also gives some basic hints and tips on where to start.
For more experienced users, there is a 'New In PostNuke 0.8' section, where you can discover more about this release of PostNuke, and a distribution tour, where authors of distributions can describe the purpose of their package and how it benefits you as a site administrator. The distribution tour page is stored in docs/distribution/tour_page1.htm, and an example is included in this release. This file is not intended to be viewed outside the Tour module, as the Tour module adds navigational elements around the page.
Finally, module and theme developers can include tours for their module, to introduce users to key features, or help them familiarise themselves with the basics. It is intended to serve as a crash course for all modules - be they complicated (such as pagesetter) or more simple (such as the Pages module). Certain modules have hidden features about which a user may not necessarily be aware, and we hope that the tour module will allow module developers to better promote the features their modules contain.
The tour module supports multipage tours for all modules - simply store tour_page1.htm and any subseqeuent pages in modules/yourmodule/pndocs/, or themes/yourtheme/docs.
Categories Improvements
The categories module received a few last minute improvements in SVN just before the release of RC3. These improvements are
Generated on February 20, 2008.
-
Short Status Update
(News)
-
overhauled the upgrade's usability - and he merged the .7 upgrade and the .8MS upgrade into one file. So there's only one upgrade.php for all.
Simon Birtwistle together with some guys from the support team wrote a tour module that is supposed to explain the basic functions to first time Postnuke users.
All this is now in the SVN and will be release as RC3 ASAP.
As we are all pretty busy these days, I won't promise it for tomorrow but ASAP. ;-
Generated on February 13, 2008.