Saturday, January 9, 2010

Our blog has moved

Well, for the last few months our official blog has been moved inside our site, at http://joomlapack.net/resources/blog.html.

We do recognize that some people have occasional problems with accessing our forum, e.g. their registration confirmation email is caught in the spam box and they can't retrieve it. As a result we'll keep the comments of this blog post open so that you can contact us in such a case. However, this is NOT the preferred way to do so. You may want to try these methods first:
  • Send a Twitter message @nikosdion or @joomlapack
  • Drop me a line in the contact form of my personal site.
  • Send me an email; my email address is present in each and every JoomlaPack PHP file. It is also accessible from your site's back-end, as the author's email address for the JoomlaPack component.
Thank you!

Nicholas K. Dionysopoulos
JoomlaPack Lead Developer and project leader

Saturday, June 20, 2009

Split ZIP Support in upcoming JoomlaPack 2.3

In my previous blog posts I described some of the new features arriving with JoomlaPack 2.3 and presented the brand new JPI4 installer. This time, I'd like to talk about a different feature, less visible, but very important nonetheless: Split archive support.

Some hosts impose a hard limit on the maximum size a file can have on their server. It's different than the account quota we're all used to. Whereas account quota limits the total size of files (and database contents) your account can hold in total, the maximum size limit imposes a restriction on the size a single file can have on the server. When your JoomlaPack backup archive tries to grow beyond this size (usually, that's 10Mb), your host abruptly ends the backup process throwing an HTTP 500 Internal Server Error.

The ZIP archive format supports a feature called spanning or spliting. A ZIP archive utilizing this feature can span multiple files of a predetermined maximum file size. For instance, you can have 20Mb of data spanning four 5Mb files. The unarchiver application will treat them as a single archive when extracting the ZIP file. JoomlaPack 2.3 is now able to take advantage of this feature with a new configuration option in the Advanced section. You simply set the maximum size of each part and let it work out the spanning details.

This new feature also caused an avalanche of required changes in pretty much all of the JoomlaPack Suite software components. For example, the component must support downloading the multiple parts. Kickstart has to expect and handle multi-part ZIP files. The same goes with eXtract, as it presently doesn't know about split ZIPs. Last, but not least, the JoomlaPack Remote application will also have to handle downloading the multi-part ZIP files.

Rome wasn't built overnight, neither does JoomlaPack. So far we have managed to implement the generation of split ZIPs and their handling in the Administer Backup Files page. Before the beta is released, Kickstart will also support split ZIPs. By the time 2.3 goes stable, eXtract and Remote will also support split ZIPs.

Our next goal is to give the JPA engine the same support. It's an equally engaging process, so it's not possible to predict if this will make it to the stable. It highly depends on the available time I've got to develop such a thing.

Meanwhile, you can try - at your own risk! - the split ZIP support by downloading the latest developer's release from the Bleeding Edge.

Wednesday, June 3, 2009

Introducing JoomlaPack Installer 4

One of the features we were working on with utmost secrecy – or not so much of it if you are following us on Ohloh – is that of a new installer script, duped JoomlaPack Installer 4, or JPI4 for short. JPI4 is supposed to be a site installer script which, unlike its predecessors, doesn’t depend on the Joomla! Framework and has less chance of failing when some ACL components are installed. It’s also supposed to be lightweight and easy to use. Here is a sample video of it in action:

A few quick conclusions from this video:

  • I write better English than I speak
  • I can’t speak and use the computer at the same time
  • jQuery UI effects are quite impressive

You are welcome to share your thoughts with us. Your feedback is most welcome!

Sunday, May 17, 2009

JoomlaPack 2.2 imminent and 2.3 feature plan

With JoomlaPack 2.2 Stable being only one week away from official release (it's scheduled for May 24th), work has began on JoomlaPack 2.3. You may think it's a little too soon, but it's never early enough to design new exciting features, don't you think?

Before I start ranting about new features, I want to share with you some exciting last-minute features added in JoomlaPack 2.2:

  • Easy to navigate, translatable back-end menu. It was there in 1.2.x, it was removed in 2.0, so it's back again. With proper icons. Cool!
  • Back-end Control Panel quick backup icon. Integrates JoomlaPack right into your Joomla! Control Panel. The icon displays a warning icon if your last backup has failed or if backing up your site is overdue. Useful and cool.
  • Display optimization. Since some JoomlaPack text was unreadable on certain browsers (Chrome, anyone?), I made the font-size uniform throughout.
  • One-click profile change. having to select the active profile and click on the Change Profile button was an overkill. Now you just have to select the new profile. Convenient.
  • Plus some important bug fixes you are about to find out. Just wait for May 24th :D

Since JoomlaPack is in a very mature state, the releases in the 2.x series really focus on detail, automation, and plain cool stuff. About this latter category, even though less than 1% of you will ever use them - or get to know about them - I know that those who will use them will really appreciate them! What's on the menu, then?

  • Easier site migration with DirectFTP file packer engine. Annoyed by having to backup, download the backup, upload the backup to the new server and unpack the backup file there to create a clone or transfer your site? Me too. The optimal solution would be backing up directly to the target server, sparing you from the need to download / upload the backup file. This is what DirectFTP does. Instead of backing up to an archive file, it backs up to a remote FTP server. Life is neither fair, nor perfect, so getting it to run requires some trial and error adjusting the Magic Numbers. This is a feature for geeks and professional web developers, not the average layperson. Preliminary tests show that it has some good potential.
  • CRON made easy. Setting up your CRON script is a two step process. First, you have to set up the PHP file which runs the backup. Then, you have to set up the CRON job on your server. While JoomlaPack can't help you with latter step (it exists in the realm of server setup which JoomlaPack doesn't have access for security reasons) we can help you with the former part. Let's face it. Few people understand enough PHP and cryptic parameters to successfully set up the script which runs the backup. To this end, we'll include a "CRON script manager" feature. It will create those scripts for you. What's more, it can be set up to email you the backup file. This is nowhere near being rock-solid, as the maximum size of an attachment is usually too small to hold a complete site backup. It can, however, efficiently hold a medium-sized database dump. So, there you go, you can have something like daily database backup delivered to your doorstep... umm... email address, I mean.
  • Split ZIP files. On popular request! Some servers put a cap on the maximum size of files on their server, for example 10Mb. If you try to create a larger file, they just fail. The ZIP format has this handy multi-volume feature, but so far JoomlaPack can't make use of it. This is about to change. This is a very advanced feature, useful for a handful of occasions, so don't expect it to integrate perfectly with JoomlaPack's "Administer Backup Files" feature or JoomlaPack Remote. The only way to download the split backup file will be using FTP. Of course, something is much better than nothing and the people to whom this feature is addressed can attest to this fact.

Every time I write a post on new features I get the impression that the only thing missing from JoomlaPack is the kitchen sink. Of course, I am always wrong; you prove me wrong. That's not something bad, on the contrary. Every time you prove me wrong, you get to have even more features implemented for everyone to benefit. Don't feel shy, please come by our Feature Requests forum and ask for something crazy and useful. Who knows? Maybe the next useful feature is the result of your request!

And since we are at this, don't forget to vote for JoomlaPack in JoomlaShack's competition for the Ultimate Joomla! Extension. Thank you!

Sunday, April 12, 2009

What you don’t see matters the most

Whereas it’s true that most JoomlaPack features are exposed by means of its graphical user interface, its the most important aspect is the backup core engine. What matters the most is having reliable backups every time, under any circumstances. This is what the backup core engine (CUBE) does and that’s why I had to improve it for the upcoming JoomlaPack 2.2.

Up until now, certain bottlenecks in the file packing code made it virtually impossible to use JoomlaPack on big sites running on slow servers. The reason was really simple. JoomlaPack had to scan all contained files and folders of a given folder in one go. If this operation took long enough (on slow servers it did), it would crash due to time outs. Same goes with packing big files. If many smaller files had been archived before hitting the big file, a timeout may had occurred.

Up until now we had to work around these limitations with certain fuzzy procedures, such as fiddling with Magic Numbers and changing to the Slow algorithm. The effect was that fewer operations would happen in a single step, reducing (but not always eliminating) the possibility of a time out occurring. Of course, this was a half-baked attempt to circumvent the problem, rather than solving it.

JoomlaPack 2.2.b1 will include my fixes to these problems. JoomlaPack is now smart enough to detect if a long file operation might cause a timeout, stop it, roll back and execute it in a new step, having the maximum amount of execution time available. There is also an improved filesystem scanner engine which detects large directories and forces their scanning to occur inside a single new step, to avoid timeouts.

The benefit of this approach is that JoomlaPack will now be able to work on sites where it wouldn’t work out-of-the-box and it will be substantially faster on sites where workarounds had to be implemented. For example, my own site required the Balanced settings in order to be possible to back it up. The backup took 15 minutes to complete. Now it works with the Optimistic settings and backs up in under 3 minutes! Wow!

Moreover, some servers couldn’t handle the amount of information required to be stored for large sites in the database between subsequent steps and crashed with a database error. I have included an option to force storage of temporary data in files instead of in database. This is required if you have directories deep down the fileystem hierarchy, containing more than 100-200 files.

Finally, there is a new feature you’re gonna love: Live Update. That’s right, JoomlaPack can detect if there is a new version released, notify you and install it with a single click. Please note that this feature requires that your server can draw data from other Internet sites. If RSS syndication with other sites works for you (i.e. you can display other sites’ RSS feeds in Joomla!) then Live Update will probably work as well. Also note that on servers where JoomlaPack’s “alternate installation” is required the single click update will fail. This is a limitation of the server.

Saturday, March 28, 2009

The Earth Hour 2009

With only half an hour before 20:30 local time in Greece, I am turning off the lights on my house. Don't know what I'm talking about? It's this year's Earth Hour. We just turn off all the lights for an hour, 20:30 to 21:30 local time, wherever we are on the planet. It's the least we can do for the planet we live in.

Being a person who cares, I've decided to participate. For this hour I am turning off all lights, my PC (which consumes more electricity than a light bulb), light up some candles and enjoy the atmosphere. If I get a sudden Internet connectivity craving, there's always my EeePC. With less than 20W of power consumption, it's the most eco-friendly device I own :)

So, did you turn off your lights today?

Monday, March 9, 2009

Still on the free side

In my last blog post I shared my thoughts with you about having two versions of JoomlaPack, one paid and one for free. Well, 2.1 Stable is released and – as you noticed – it remains free of charge.

There was a number of factors which led me to this decision. The most important of which was the sentimental factor. I began creating JoomlaPack as a small personal project in order to help me accomplish a task I had at hand. I released it under the GPL in hope that other people would find it useful. The rest is history…

I simply found out that the spirit of JoomlaPack commanded that it should remain Free, both as in “free speech” and as in “free beer”. It is my personal attempt to prove that Free software doesn’t have to be an ugly, cryptic, undocumented and unsupported piece of code, meant only for the privileged elite of “hackers” and “geeks”. JoomlaPack was designed with the user in mind, right from the start.

But, let’s face it, the developer, yours truly, does have the need to make a living. Let alone the need to finance this expensive hobby: developing, writing documentation, supporting, improve the web infrastructure of this project does cost money and time. That’s why I decided to keep accepting donations and added advertisements on JoomlaPack.net. I sincerely hope that you’ll keep on donating . This is what keeps this project both Free and “for free”.

As a side note, I’d like to point out that both the “Free Edition” and the “Special Edition” are fully functional and distributed without any charge. You should think of their names as in “free from unnecessary features” and “made for sites and people with special interests in mind”. I know, this isn’t probably the most thought out or correct marketing approach, but you know me… I am just a code monkey, not an advertising agency :)