Joomla! Developer Network

There is always a great deal of Joomla! development activity underway and communicating with other developers in the community is essential. This site is a resource for anyone looking to build or maintain software based on the Joomla platform

Version 11.1 was tagged on 5 July 2011. This was the inaugural release of the platform following its separation from the Joomla CMS trunk.

 

The following pull requests made by community contributors were merged:

  • #72 ] Some modifications to fix unit tests, etc. ( LouisLandry )

  • #67 ] Docblock Work ( elinw )

    Docblocks in database continued

  • #68 ] Docblocks ( elinw )

    More docblocks

  • #70 ] PHP Strict Errors ( AmyStephen )

    Commit 1 - Minor change made to JDate::setTimezone to correct PHP Strict Error Commit 2 - Remove JButton::fetchID parent class - child classes are not consistent with parameters so there is no easy way to make the parent class consistent. Since it is not used and since it only returns when executed, removing it will at least get rid of the Strict eror.

  • #25 ] Fixes for #22587 and #24285 ( klas )

    #22587 - Change modules cache lifetime to be set as intended (seconds must be converted to minutes) - Cache handler needs to use all parameters for static variable caching Also $_handler is a static variable and so can't be referenced as $this->_handler (this bug was introduced after #22587 report) - change back to self::$_handler #24285 Fix changes module caching to store only headers that changed after module was executed. Headers before and after callback are compared.

  • #65 ] Docblocks ( elinw )

    Some more work

  • #64 ] A couple minor adjustments to the JApplication constructor and JDocumentOpenSearch tests. (LouisLandry )

  • #62 ] Deprecate JException ( elinw )

    Deprecate JException I believe that's the intention see also mailing list discussion http://groups.google.com/group/joomla-dev-framework/browse_thread/thread/930aa3cb51a88f4c

  • #61 ] Rearranged if statement ( rcorral )

    It will be quicker to check for null every time than the $plugin variable

  • #60 ] Secruity ( realityking )

    These are tow security fixes/improvements I wrote a while ago but are only now public. They have already been committed to the 1.6.4 branch.

  • #59 ] Docblocks ( elinw )

    New version of the old pull request

  • #48 ] Docblocks ( elinw )

    More updating of doc blocks

  • #57 ] Restoring memory limit after daemon test ( ianmacl )

    The daemon class sets the maximum memory to 256M which causes the code coverage report to fail. This change will restore the default value after the test is run.

  • #58 ] Adding files for continuous integration ( ianmacl )

    Added an ant script and moved the phpunit.xml.dist file into root to facilitate continuous integration.

  • #53 ] Let getModules get the module parameters. ( elinw )

    This is in response to this discussion on the general list. https://groups.google.com/d/topic/joomla-dev-general/vQ1BY2AwCRo/discussion

  • #26 ] Add batch processing to framework (Feature Request #22590) ( mbabker )

    Consistent with http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=22590... This pull request focuses only on the framework changes for this feature request. Between the 1.6.3 release and the platform merge, batch processing was added to com_content. Upon my own review and testing, the code used here was applied in a manner that it could be reused throughout components that follow a category->item structure. Specific to the framework are the following changes: - JControllerForm: Function batch added - JModelAdmin: Functions batch, batchAccess, batchCopy, batchMove, and generateNewTitle added - JHtmlBatch added If implemented, changes to the CMS can be made as demonstrated via my SVN branch (mbabker).

  • #38 ] Add JHtmlBehavior::multiselect() and move the multiselect JavaScript code ( realityking )

    Add JHtmlBehavior::multiselect() and move the multiselect JavaScript code to core.js. Add the option to use id's other than "adminForm" with multiselect.

  • #52 ] fix for removeUserFromGroup(), Ticket does not exist for it ( svanschu )

  • #55 ] Don't render meta elements without content ( realityking )

    CMS Issue: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=26184 Just a little markup saver. Also helps a little with some meta elements not valid in HTML5.

  • #56 ] Use local storage for tabs ( realityking )

    CMS Issue: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=26192 Saves a couple of cookies in the administration without loosing any functionality. Shouldn't have an BC issues.

  • #51 ] Test suite cleanup ( sebastianbergmann )

  • #42 ] Corrects some errors in the router + add some unit test ( chdemko )

    see http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=23999

  • #41 ] Component install rollback function rollback_menu is unimplemented leaving items in jos_menu (chdemko )

    see http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=24549 http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=25663

  • #50 ] Namespace the checkAll() function ( realityking )

    Issue on JoomlaCode: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=26124

  • #47 ] 2 platform changes that will enable Joomfish to interact with database queries more effectively (redux) ( GeraintEdwards )

    Sorry - closed pull request 44 by mistake (I'm new to github). This new request has the getter added to the correct class (I'd cut and pasted it in the wrong class last time :( ). To avoid confusion I'll repeat my comment about setters: A setter is a good idea (but not essential) but it would allow for unforeseen eventualities. The only problem with the setter is how it would interact with JDatabaseQueryElement - i.e. which one of the elements would it be setting? You can always simulate a setter by getting the separate element groups, calling clear and then resetting the relevant element. e.g. in pseudo code: $elements = $query->where; // do something to elements $query->clear('where'); foreach ($elements as $elem){ $query->where($elem); } Perhaps the last 4 lines would be the code for the __set method?

  • #46 ] Move JUpdater:arrayUnique() to JArrayHelper::arrayUnique(). ( realityking )

    IMO this sort of utility function is potentially useful for extension as well and should be located in a place where people would actually look for it :)

  • #49 ] Sync up media changes from trunk ( realityking )

  • #18 ] Add JDocumentOpensearch. ( realityking )

    These are the library changes for this patch: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=25250 This is potentially useful for other apps as well.

  • #45 ] Cleared Fatal crash if JTestConfig not found ( Paladin )

    Added different config file to JDatabaseMySQLTest to allow an independent decision by the tester on whether these tests should be run. It now requires config_mysql.php to contain the JMySQLTestConfig class to be present or the tests will be skipped.

  • #12 ] New Unit tests ( realityking )

    A couple of unit tests from my Bitbucket branch.

  • #39 ] Update FancyUpload to version 3.0.1. ( realityking )

  • #33 ] Fixed JStringTest ( Paladin )

    Darwin bug was causing tests to fail. Added test for Darwin, and if tests are running under Darwin, it marks the international string tests as skipped, and gives the reason why.

  • #34 ] Fixed broken JCacheStorageTest test ( Paladin )

    Test case did not handle mimimum cache life properly. Also moved test into the JoomlaTestCase class hierarchy because of its dependencies and cleaned up duplicated code.

  • #35 ] Fixed JCacheTest cases ( Paladin )

    JCacheTest test cases were pointed at a directory structure that no longer exists in the new testing environment. I pointed them to the correct location.

  • #37 ] JDocumentRenderer tests skipped ( Paladin )

    The JDocumentRendererAtom and JDocumentRendererRSS classes are too tightly coupled for good testing right now, so I marked the tests as skipped with a todo to come back after breaking more dependencies in the code. I basically punted on these tests, after doing a minor bit of code cleanup. They're too tightly coupled with too long of a chain of static method calls to be able to test as a block right now. So I marked the tests as skipped, and left a TODO to revisit them after we've broken a few more layers of dependency.

  • #32 ] Cleaning up after JDocument changes ( Paladin )

    Removing methods under test while ignoring the tests caused a mess that needed cleaned up.

  • #8 ] Docblocks branch ( elinw )

    This should be just the doc block edits.

  • #31 ] Cleaned up After JVersion Rename ( Paladin )

    Rename of JVersion left the tests for it untouched. Renamed the test file and everything associated with JVersion to JPlatform, to catch up with change.

  • #13 ] Move the rendering of HTML link elements to JDocumentRendererHead. ( realityking )

    Previously discussed here: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=25251 Note: This has some small backwards compatibility consequences (e.g. if somebody chose to override either of the two classes involved) but it makes JDocument more consistent and opens up future use (head links in other types of documents).

  • #22 ] Bb bit bucket url stuff updated ( elinw )

    old request did not have the test

  • #17 ] Remove getHeadData(), setHeadData() and mergeHeadData() from JDocument si ( realityking )

    Remove getHeadData(), setHeadData() and mergeHeadData() from JDocument since it only applies to JDocumentHTML.

  • #23 ] Remove workaround for PHP 4 and PHP 5.2.3 in JFTP and JXMLElement. ( realityking )

  • #11 ] AJAX improvements ( realityking )

    Small library modification to make it easier to use AJAX or other JS functionality with the Joomla framework.

  • #20 ] Use require_once instead of include in JLoader ( rvsjoen )

    I do not know if there is a good reason for using include over require_once, if there is, please disregard this commit. All unit tests ran fine with this change.

  • #14 ] JURI bugfix + stuff ( realityking )

    This fixes a regression in JURI (first commit). It also contains some new unit tests and code style improvements. The last commit removes a function parameter that is unused.

  • #19 ] Fix some unit tests so they also work on Windows ( rvsjoen )

    This has been previously discussed in this thread http://groups.google.com/group/joomla-dev-framework/browse_thread/thread/2bbd283638862a79

  • #2 ] Missing paremeter ( jonnsl )

    The function getUserState in the JApplication class is missing the $default parameter

 

Have some questions that you’ve just got to get answered? The chances are good we've already done it. Check the FAQ below:

For those who love detail - you can see the full development strategy here

For those of you who want the quick, simple to understand overview - read here.

Q: Will 3.5 be the LTS release for the 3.x series?

A: No. The strategies have been modified to not lock in a specific release as the LTS release of a series. Under the revised strategy, unless superseded with a newer minor release, there will be at least two years of support for the last minor release of a series. The concept of an LTS release is being eliminated in favor of this. For example, if 3.4 were to be the final minor release of the 3.x series, it would be supported for at least two years after its release.


FAQ's for Joomla's Improved Release Cycle

Have questions? You can ask us on Twitter

To help answer questions of the development and release cycle of for Joomla 3, we've created a twitter account to help! Ask a question to @askjoomla by sending a tweet. Questions will be updated here  daily so you can keep your Joomla! businesses running smoothly.

1. Introduction

This strategy document sets out what the community of Joomla users, from ordinary non-technical users through to high-level technical developers, can expect from the products that come under the umbrella of the Joomla project.

This is primarily about how we approach and manage change: how we adapt, develop and grow our products in an ever-changing technological landscape; how we communicate to our users and contributors what to expect from our products as they change from one release to the next; and how we guide our contributors towards making the future changes that we want as a community.

The stakeholders in our project have widely varying needs and a balance must be struck between, at one extreme, those for whom any change is unwelcome and all shades to the other extreme of those who thrive on continuous change. Change is essential if our products are to remain relevant to their intended users, so our goal is to manage that change in such a way that we minimise the disruption it can cause.

Since the Joomla project is responsible for more than one product, this strategy is written to be as generic as possible and to allow new products to be added to our portfolio without forcing any extensive re-writes.

This strategy builds on the substantial practical experience of a lot of people over the many years since the project's foundation. The reasoning behind what is written here, and the lessons learned in leading up to it, is outside the scope of the document itself and reference should be made to other sources for that commentary.


Joomla! Development Strategy

Joomla! is a dynamic community driven project and we are always striving to improve and adapt to the changing world of the Internet. We care about long-term stability. We care about adapting to change. We care about providing a solid platform you can be confident in and rely on.

After receiving feedback from the global Joomla community, we are improving the release strategy so that we can better meet our shared goals.

For those who love detail - you can see the full development strategy here. For those of you who want the quick, simple to understand overview - read on.


Joomla! Improved Release Cycle: For the People by the People

The Production Leadership Team (PLT) is pleased to announce that there will be a 3.4 release of the Joomla! CMS, which is planned to be released on July 15, 2014.


Announcing Joomla! CMS 3.4

We are pleased to announce that the board of directors of Open Source Matters have approved a change of license of the Joomla Framework to the Lesser General Public License, or LGPL for short. This is an historic moment because it is a mighty step towards fulfilling Joomla’s mission to become a “platform”  on which to build many types of applications.


LGPL License Change Approved for the Joomla Framework

LTS Release

STS Release

Note: View known compatibility Issues

Current Release: 1.1.0

Upcoming Release: 1.2

Joomla! Reading

Joomla! Programming

Joomla! Programming

Mark Dexter & Louis Landry
Joomla! Templates

Joomla! Templates

Angie Radtke