Online Upgrade to 2.9 Beta Now Available

If you’ve been wanting to help test but were avoiding the extra steps of loading the 2.9 Version Upgrade tool manually then now is your time to hop on board and help give us the additional coverage we need to make 2.9 final! Simply go to Module Admin on your 2.8 system and check for updates as you always do and this time you will see the 2.9 Upgrade Tool available for you to download and upgrade. Not on 2.8 yet? (Shame on you!) Just upgrade from the version you are on to the next version and keep up the process until you are on 2.9.

We’ve had a decent amount of coverage and have talked to several testers running production systems on the 2.9 Beta which has led us to publish the 2.9 Upgrade Tool and help increase the testing so we can move 2.9 to a release candidate. At this point, we are effectively in feature freeze so other than minor tweaks that we may push through, you should only see bug fixes coming in. Something to remember, a large portion of the bug reports that we get are often issues from previous releases that happen to be exposed during the increased testing which occurs with new release cycles. Often, you will only get those fixes on the new release!

What has changed in 2.9?

As is always the case, the best and most exhaustive way to see what is going on is to have a look at the consolidated information in the [url=/trac/milestone/2.9]current (2.9) milestone[/url] where you can see as of this writing there are 491 closed tickets and only 13 open tickets. Beyond that, load it up and try. There are many great new features including some which have been requested for years now!

I’ve also tried to provide some editorial updates on key areas within these blogs. Last time I discussed the [url=/news/2011-02-28/version-2-9-amportal-conf-advanced-settings-im-confused]Advanced Settings (replacement for amportal.conf)[/url] changes and what was behind those. Today I’ll talk about something a little more subtle, those new Repository checkboxes and why did it change from before.

Module Admin Repositories

Upon upgrading you may notice the “Standard/Extended Repository” select box is gone and in its place are four checkboxes with:

[list]
[*]Basic
[*]Extended
[*]Unsupported
[*]Commerical
[/list]

So what is this all about or is it simply the same as before with checkboxes instead of a select box? And why are there multiple repositories anyhow?

The reason we have categorized the different repositories is to help set a level of support expectation when you are choosing modules to download. As a project made up mostly of volunteer developers our resources can be stretched thin. As such, we have tried to categorized the different modules based on a combination of usage within the community and commitments within the development team to provide timely support. This has led to the first 3 primary categories. The modules that are in the Basic category are considered prevalent and thus critical and as such, we make a strong effort to address important issues in those modules quickly. The Extended category still has the core development team’s commitment to support these modules but they are often used by a much smaller percentage of the community and as such, the level of responsiveness to issues on these modules may be significantly reduced. The Unsupported category includes a list of modules that do not have the core FreePBX development team’s support. This does not mean that none of us will work on these modules and in fact we often do. These modules typically have a single contributing author who is backing them, or someone who has adopted the module. They are kept in the online system based on the demand from the community to have them available and some sort of track record that someone is looking after them.

The last category, the Commercial category, is not currently used but we do have plans for it. There are several commercial modules available from various sources and no centralized way to make the community aware of those modules. Although we strongly believe in the process of Open Source we also have no problems with companies producing specialized modules that they wish to make available for a fee. As long as they are not violating the GPL or any other license, which means they have 100% of the copyright ownership of their code, then we are very happy to see such modules further enhance the very rich FreePBX eco-system. The Commercial repository will be a way to access and download such modules. The licensing and purchase process will depend on where the modules are coming from. We’ll talk more about this before going online with any such modules.

A bit more technical – what’s going on behind the scene?

So what is really going on behind the scenes with these different repositories? The actual categories are nothing more than tags in the master XML file that is accessed by Module Admin when you check for online modules and updates. The internal mechanism has changed a bit from the Standard/Extended select box of 2.8 and prior. In the previous releases, there were two different XML files for the two different repositories. This created some very annoying artifacts when switching between the repositories such as reports of new modules when there were none, or extended modules showing as only locally available when switching back to the Standard repository. These have all been rectified by the new design since there is a single XML file regardless of what you choose, thus no more of these artifacts.

First, if you un-check all of the repositories and check for updates online, you will be informed of any updates available for all installed modules on your system. You will not be presented with any new modules available. Once you start selecting repositories, you will also be presented with any modules within those repositories that you do not have installed. Once installed though, you do not have to have that repository checked to be informed of updates, it will always check based on what is currently installed on your system. This can be quite handy for two similar scenarios. If you are installing a system new, you may want to include the Standard repository and click install all, knowing that you are limiting your system to just those modules. Similarly, you can setup your system as needed choosing modules from any of the repositories that you need. Once setup, you can un-check all the repositories allowing you to check for updates online and then choose the upgrade all option knowing that only installed modules will be upgraded and no new modules will be presented.

So the changes are more than just moving form a select box to the checkboxes and should enhance your experience while getting rid of some annoying past artifacts. For now, the sun is shining outside so it’s time for me to go have a life. Happy testing!