Phosphorus Five Zen release

I have just created a new release of Phosphorus Five. The most important change is that I have now removed System42 out of the main P5 GitHub repository, and created a repository for System42, outside of the main P5 core.

This means that if you wish to use System42 in combination with P5, you’ll have to first of all download Phosphorus Five, then download System42, make sure you copy System42 into the main “p5.webapp” folder of P5, before you apply some changes to your web.config inside of your “core/p5.webapp” folder. The entire installation guide for System42 can be found here.

My reasoning for separating System42 and P5 from each other, is that first of all System42 is for many people simply a use-case for using P5. Secondly, because it gives a more clean separation of concerns, not confusing people about what is what.

This allows you to start out with a complete blank piece of paper, P5 that is, and create your solutions entirely from scratch, without having to drag around System42. I kind of like the analogy a Zen master once said in regards to this.

When you’re a Zen novice, the Buddha is everything. When you become a Zen master, the Buddha disappears.

In such a regard, System42 is the Buddha, and what you should start out with, to grasp P5. When you’re a Shaolin Kung-Fu Zen master in P5, you can drop it in its entirety.

Significantly improved documentation

There are lots of other goodies in this release. Probably the most important change, is the fact that the documentation is now significantly improved! As usual, the documentation can be found as README.md files, at the project(s) GitHub websites. Below are links for your convenience.

In addition to the above changes, I have also removed tons of bugs. To list all of them, would make this blog very boring, but I have gone through every single example code in the documentation, and everything seems to now work perfectly. For instance, the Ajax DataGrid had several bugs, which largely made it useless in practice. These are now fixed, and the DataGrid is now a first class member of System42.

Breaking changes

There are some few breaking changes. For instance I have removed most references to event arguments starting with an underscore “_”. Which means that if you get weird bugs in your code during upgrading, please go through your code and check for arguments starting with an underscore “_”. I am sorry for this, but it creates a more consistent use of the events, and creates a uniform way of argument naming convention for the future. Please refer to the documentation of your specific component if you don’t know whether or not there are changes to what you are using. These are for the most parts changes found in System42, and not P5.

The goodie bag

However, there’s lot of goodies in the core now, hopefully making it up to you. Below is an incomplete list of some of the cooler new features.

  • p5.threading – Threading support library
  • p5.io.zip – Zipping and unzipping of files, with AES encryption support
  • p5.markdown – Creating HTML out of Markdown snippets

In addition, a lot of the pre-existing components have new additional features. Such as for instance the ability to create MIME messages directly from the HTTP REST Active Events in p5.http. This allows you among other things, to create PGP encrypted HTTP POST and PUT requests, passing in a PGP encrypted MIME message. Which I personally think is pretty kick ass cool!

I don’t want to go completely overboard explaining every single feature, since that would create a very boring blog post. However, if in doubt, utter “Thx for all the fish” – And download Phosphorus Five and System42 … 😉

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s