Saturday, February 14, 2009

Free of charge, unless you want to pay for it

I have been considering a way to make a little money out of JoomlaPack. The donations are not very disappointing, but let’s face it: donations can only go that far. On the other hand, I detest proprietary (closed-source) software. Moreover, I believe that users should be able to pay in order to use a software only if they choose to do so. So, how do you combine Free (as in speech and as in beer) with Commercial?

To this end, beginning with the JoomlaPack 2.1 Stable release scheduled for mid-March, there will be two versions of the JoomlaPack component and JoomlaPack Remote: the Free version and the Special Edition version. Both versions will be 100% Open Source software (licensed under the GPL, so you can download their source code for free, anytime) and you can use them on an infinite number of sites for an unlimited period of time. Their main difference is that the advanced stuff (like multiple database backup, multiple backup profiles and extension filters) will only be available to the Special Edition version. You’ll gain 1 year access to Special Edition downloads by donating 20 Euros to the project.

So, your options for using JoomlaPack will be:

  1. Don’t pay a dime; use the Free version. About 90% of users won’t need anything more than that in order to backup, restore or move their site between hosts.
  2. Evaluate Special Edition for free. Why pay for something you can’t get to use beforehand? Our “Free Ride” plan gives you time-limited (24 hours) access to the full Special Edition downloads. You can keep the software after this period expires and use it legally on an unlimited number of sites. Yes, it’s like giving away free beers!
  3. Download the source code and build it yourself. Free and Open Source Software (FOSS) is about freedom of choice. If you don’t like paying, you can always download the source code for free and build it yourself. It’s not for the faint at heart, though… BTW, the Bleeding Edge will only serve SVN builds of the Free version.
  4. Donate 20 Euros and get 1 year of access to the Special Edition downloads. This is – obviously! – what I am hoping you’ll do if you are a serious webmaster or a web professional. Our site will have an integrated “donate & register” sign-up feature to support this option. Everybody who has donated the equivalent of 17 Euros or more since January 2008 will be entitled to a free account.

Please note that no matter if you use the Free or Special Edition version, how you got it and if you have a current JoomlaPack Club membership, you can use our software on an unlimited number of sites – commercial or not-for-profit – and for an unlimited amount of time. There will be no restrictions whatsoever. This is possible thanks to the provisions of the GNU General Public License under which JoomlaPack is licensed.

Some things were, are and will eternally remain free of charge. All of the other tools, like Kickstart and eXtract, will remain free of charge. Support will remain free of charge, for all. We take great pride in our support and we are willing to keep it this way! Documentation will be provided on-line and free of charge (albeit with a few unobtrusive advertisements) through our JoomlaPack.net site.

All of these changes will be applied somewhere in the first half of March, so don’t ask me for details yet! I hope you don’t mind this small change of policy. It’s just that the developer needs money to buy something to eat and rent a place to stay (and write code – computers don’t like rain).

Wednesday, January 21, 2009

Getting closer to 2.1

We are getting closer to the release of 2.1.b2, a landmark release of JoomlaPack. With this version, we are getting closer to what we considered feature-complete all along those two years. The new features – compared to 2.0 – are:

  • Easy Mode. We were all newbies and inexperienced users. Some of you have installed Joomla! only a short while ago and find the plethora of JoomlaPack’s features, options and settings intimidating. Feel intimidated no more! The Easy Mode basically provides a cut-down, easy to grasp, oversimplified interface without compromising on the effectiveness. The configuration page is much easier to use, as you only have the choice between three predefined sets of configuration options. Newcomers to the world of Joomla!, welcome the easiest way to backup your site.
  • Off-site directory inclusion filter. Backup folders outside your web server’s root!
  • Extension filters. Single click exclusion of components, modules, plug-ins, templates or even languages from your backup! In other words: build a site with everything installed; if you need a customized version, just select which extensions not to back up. Cool feature for professional web developers.
  • Front-end “light mode” backup. You can now back up from any Internet-capable device: EeePC’s, Pocket PC’s, cellphones, Wi-Fi enabled iPods… you name it!
  • Support for tar and tar.gz. Note that tar.gz requires an external gzip executable. A niche feature for all you *NIX fans.
  • Automatic troubleshooter. JoomlaPack detects if it failed last time and tries to apply two sets of “safe but slow” defaults. This will let it run smoothly on even more hosts without asking us for help and without you having to tweak Magic Numbers. Nice and clean!
  • Better notification of potential issues. Potential problems will show up before backing up; this is the best approach to help you to keep out of harm’s way.

JoomlaPack also received its fair share of bug fixes and minor adjustments. From the easiest to the fairly complex, these fixes and adjustments help our software work in even more “difficult” environments.

As always, we are commited to providing the community with a professional grade, reliable, open source and Free (as in speech and as in beer) backup solution, complete with documentation, support and a set of incredible utilities.

Monday, December 22, 2008

Coming up next: JoomlaPack 2.1

It's almost a week since 2.0.1 was released, but we haven't been lying dormant. On the contrary, this has been a very productive week with major work having been carried out towards the next beta release of our component, JoomlaPack 2.1 Beta 1. The major highlights of this upcoming release are:
  • Off-site directory inclusion. You can now backup directories above your site's root, provided that your server's open_basedir restrictions allow it. Many webmasters use directories above the site's root to store download repositories and such, therefore it's a handy feature to them :) The off-site directories are stored inside a new folder in the archive, one which does not already physically exist on your site.
  • Extension filters. I've been planning this ever since 1.0, but the code base wasn't mature enough. With this filter you can completely exclude any installed component, module, plug-in, template or even language! This is the absolute step in creating customized sites by performing nothing more than a backup! Note: components' database tables are not automatically excluded because there is no technically sound way to determine which table is owned by which component.
  • Front-end "Light Mode". With an increasing number of ultra-portable Internet-connected devices, ranging from Netbooks to PDA's to cellphones, it's desirable to be able to perform a site backup right from your palm, while on the move. In order to ensure this possibility, the "Light Mode" was invented. Using very plain pages (so users priced on data volume won't suffer) and front-end access, authenticating by means of the "secret word", the light mode enables you to backup your site anywhere, anytime, even while commuting to work or attending that boring meeting!
  • Tar and tar.gz support. The popular uncompressed tar format is based on a modified version of PEAR's Archive_Tar library. The optional gzip compression is realized using your operating system's gzip binary; doing this inside PHP has proved to be an awfully bad idea in the past (remember memory outages on JoomlaPack 1.0.x?)
  • Integrated news reader. We know we release a new version every now and then and that makes it hard for you to keep up. Since the "old" system of updates querying had the potential to cause insane amounts of traffic to our website (therefore it was eradicated in 2.0), we decided to implement a different idea. The new version fetches, caches and displays JoomlaPack's latest headlines through RSS, using the trusted Joomla! newsfeed syndication technology. So, no more remembering to visit JoomlaPack.net, the component's Control Panel does it for you ;)
  • Tons of bug fixes. It's bug hunting season and we came back from our "bug safari" with quite a few trophies! Fallen pray to our hunting skills: a dozen or so sources of PHP notices, JPI3 displaying odd behaviour with multiple database restoration pages, a broken email feature, undesired behaviour of quotas, erratic handling of cache and temporary directories and some few other minor bugs.
Now it's minor tweaking and QA time, so expect a formal beta 1 release somewhere around New Year. It'll be our present to you for the holiday season ;)

Of course, we're still working on other stuff as well, including our Native Tools. But that's the topic of another post, in due time!

Thursday, December 4, 2008

It's the final countdown!

After 6 months in development, countless hours of testing by JoomlaPack Developers, JATS and regular users, fixing a pile of bugs, one alpha and one beta release, we are finally ready to release JoomlaPack 2.0 Stable. So, spread the word around...

JoomlaPack 2.0 Stable
Global Launch

Sunday, December 7th, 2008 - Noon, UTC

Our site will be down for 2-3 days for maintenance and a necessary face-lift. It will be back on-line at the official launch date and time. Meanwhile, let me give you the highlights of this release...

Coded around the Joomla! 1.5 API, the JoomlaPack 2.0 component delivers a high-profile backup solution for your site, while remaining Free, both as in "freedom" and as in "zero price". More powerfull than ever before and compatible with a wide assortment of server setups, it's designed to protect your valuable site. With exciting new features, like live full site or database only restoration and multiple database-only backup, it makes backing up your site a child's play. Our thorough documentation will guide you through and - should the need arise - our stellar support team is always willing to lend a hand, right now and for free!

We wanted to push the PHP site backup technology to its limits ever since the first release, more than two years ago. So, as you readers of this blog already know, we decided to take site backup... to your desktop! AFAIK, nobody attempted this before, but we did. Full fledged multiple site backups running in parallel, right from your desktop, thanks to JoomlaPack and a hefty XML-RPC plugin. The whole thing is called JoomlaPack Remote and will be shipped with this release.

As far as the backup archive extraction is concerned, we've got the traditional command-line suite of utilities called the JPA Utilities (JPAUtils) or, a new addition to the webmaster's arsenal, the vastly improved JoomlaPack eXtract graphical wizard for Windows and all x86 systems running WINE. It's click, click, backup archive is now extracted, thank you very much ;)

Our versatile web-based ZIP and JPA archive extraction tool, Kickstart, is even more powerful and smart. It can write files to your site using the traditional PHP direct file access mode, or the new FTP mode for maximum compatibility with common shared hosts setups. Using the FTP mode, it can automatically work around permission and ownership problems ("ownership hell") which would otherwise give you, the webmaster, a tough challenge trying to restore or upgrade your site.

The default embedded installer is now the JoomlaPack Installer 3 (JPI3), based on the Joomla! 1.5 installer, improved under the hood. It even supports the "auto mode" which - in conjunction with Kickstart - allows for fast two-click site restoration/migration for advanced web professionals.

Welcome to the future of Joomla! site backup.

Wednesday, November 19, 2008

Tools of the trade

A topic I was willing to cover for quite a while is the toolchain used to build JoomlaPack. Some programmers have even asked me what are the best tools to build Joomla! extensions. While probably not perfect, the combination I'll present here has worked wonders for me.

  • Integrated Development Environment. After having tried a number of different PHP IDE's, I settled for Eclipse PHP Development Tools. An Open-Source project by Zend, the makers of the PHP core engine, it uses the famous Eclipse IDE to provide a thorough PHP IDE. Another alternative is PHPeclipse, but lacks some features which facilitate development and management of large and/or complex problems.
  • Version Control. Tracking your changes and being able to roll back when pooh happens is a must-have for anything more complex than "hello world" software. I regularly use Subversion (affectionately called SVN be everyone). In order to integrate it with Eclipse, I use Subclipse. By the way, this makes up for the best Subversion client I've used so far!
  • Testing server. Every developer needs a local testing server. The easiest solution is to use a prepackaged, easy to install solution, like XAMPP or WAMPserver.
  • Reference book. Joomla! 1.5 offers a very rich and powerful framework. Before setting out to develop an extension for it, it is very useful to read a book on Joomla! extension development. The two books I have read so far are Mastering Joomla! 1.5 Extension and Framework Development (wonderful reference book) and Learning Joomla! 1.5 Extension Development (more like a tutorial, recommended for beginners). Of course you can shop for something else and it probably takes a few tries to find the one which is best for you.
  • Debugging tools. I regularly use J! Dump to gain insight on my code. To be perfectly honest, once I found out about it and began using it, I started to wonder how could I code without it! It replaces your needs for ugly calls to var_dump(), die(), etc.
That's about it, guys and gals. Developing for Joomla! is neither hard, nor expensive. All the tools, save the books, are Free and Open Source software.

Have fun writing some high quality code!

Sunday, October 26, 2008

Taking site backup... to the desktop!

Lately I have sporadically "leaked out" some of my thoughts on JoomlaPack's future and features I am working on lately. One particular feature, is providing XMLRPC services. Why is it so important, you might wonder? Well, let's see what XMLRPC is all about.

Most people have published on a blog using a desktop application, be it ScribeFire, Windows Live Writer, w.bloggar, etc. The common feature of all these tools is that you are writing your article off-line and when you're ready you can publish it on your blog. The magic behind the scenes is XMLRPC. This buzzword really means that the client (your blogging software) sends a chunk of XML data to the server (your blog). This is specially formatted so that the server understands it has to perform an action (in this case, post an article). When it's done, it sends a response in XML format back to the client. The client processes it and tells you that your article is posted.

It wouldn't be so much of a deal if it weren't for the XML format itself. It is generic enough to cater for every use imagineable, but it's also very robust that it can be very well described. It is analogous to paper in written communication. While it does not provide the language, it provides the medium on which the language can be carried between the two parties involved. The choice of language (and the interpretation of the messages) is left to the two parties. But it's really cool to know that the message will always be written on paper, neither on stone, nor on papyrous.

Joomla! 1.5.x has two built-in XMLRPC plugins for posting articles. The first is the Joomla! XMLRPC services plugin and the other one is the Blogger API XMLRPC services. This way you can use an off-line blogging tool with Joomla!. In fact, it's the best way to have a newbie post articles in a Joomla! site, because it carries virtually no risk of messing up settings.

This is all very cool, but you are probably wondering where does JoomlaPack fit in? What does this article posting thing got to do with site backups? Well, remember when I said XMLRPC is very generic? It is so generic it can be used any time you want to tell the server to do something and inform you on the outcome. For example, we could tell the server to load JoomlaPack's engine (CUBE), starting a backup and returning us backup status information. In fact, this allows us to control the backup process from any networked device as long as it can connect to our site's server.

The missing piece of the solution is the client part. Ideally, a client would run on any operating system (cross-platform) and be able to backup any site on which JoomlaPack runs. It should even grab a local copy of the backup archive for safekeeping. This piece of software would truly take site backup to the desktop!

Today, in SVN revision 313 (notably, this revision number is the same as Donald Duck's car registration number - I'm a lifetime fan of Donald :D - and has a number of notable properties ), I have commited the first part of the solution, the XMLRPC services plugin. I will now start writing the desktop application in Lazarus, a cross-platform programming environment similar to Delphi. My expectation is that this will be stable somewhere in mid-Q1 2009.

Stay tuned. JoomlaPack is about to redefine site backup.

Tuesday, October 21, 2008

A new tool in the 'hood!

You talk, we hear. We hear you and we think hard. Then, we come up with a solution, code it, test it and release it. That sums up the development process here at JoomlaPack Developers.

This time, we heard a lot of you complaining that sometimes backup archives are hard to extract. It seems that PHP4 users have a lot of grief with ZIP files, because on their platform the larger files appear to be corrupt with most traditional archivers. A lot of people who don't have an option but to use JPA files complain - rightfully - that this format seems arbitrary and lacks support from visual tools. You talked. We heard you.

Please, welcome JoomlaPack eXtract! eXtract is the latest addition to our utilities collection, with a twist. It is visual extraction wizard running on the Windows(tm) platform, similar in look and feel to the integrated Windows' ZIP extraction wizard. eXtract can extract ZIP and JPA backup archives generated by JoomlaPack. It comes with an installer to make your life easier during installation. Despite being version 0.1, it's usable.

Download eXtract now from our JoomlaCode.org FRS or the SourceForge.net mirror.