Choosing Great ExtensionsJoomla Day New England 2010Andy Tarr,  Tarr Consulting
No magic bulletCommon sense researchJune 5, 2010J Day NE: Choosing Great Extensions2
Know Your NeedsLocate ExtensionsEvaluate for Quality & FitnessJune 5, 2010J Day NE: Choosing Great Extensions3
Know Your NeedsJune 5, 2010J Day NE: Choosing Great Extensions4
Locate ExtensionsJune 5, 2010J Day NE: Choosing Great Extensions5
http://extensions.joomla.orgJune 5, 2010J Day NE: Choosing Great Extensions6
Other UsersJune 5, 2010J Day NE: Choosing Great Extensions7
http://community.joomla.org/showcaseJune 5, 2010J Day NE: Choosing Great Extensions8
June 5, 2010J Day NE: Choosing Great Extensions9
Evaluate Quality & FitnessWhat questions do we have?Where do we find the answers?June 5, 2010J Day NE: Choosing Great Extensions10
QuestionsFeatures & functionalitySecuritySupportQuality of codeUpdatesLicense & costJune 5, 2010J Day NE: Choosing Great Extensions11
	Features & FunctionalityJune 5, 2010J Day NE: Choosing Great Extensions12
					  SecurityJune 5, 2010J Day NE: Choosing Great Extensions13
Developer & Community SupportJune 5, 2010J Day NE: Choosing Great Extensions14
		  Quality of CodeJune 5, 2010J Day NE: Choosing Great Extensions15
	UpdatesJune 5, 2010J Day NE: Choosing Great Extensions16
License		License & CostJune 5, 2010J Day NE: Choosing Great Extensions17
AnswersJoomla.orgExtension/Developer’s websiteFrom the DeveloperJUG groups & mailing listsGoogleThe extension itselfJune 5, 2010J Day NE: Choosing Great Extensions18
June 5, 2010J Day NE: Choosing Great Extensions19
June 5, 2010J Day NE: Choosing Great Extensions20http://extensions.joomla.org
June 5, 2010J Day NE: Choosing Great Extensions21http://docs.joomla.org/Vulnerable_Extensions_List
June 5, 2010J Day NE: Choosing Great Extensions22http://forum.joomla.org
June 5, 2010J Day NE: Choosing Great Extensions23Extension/Developer’s website
June 5, 2010J Day NE: Choosing Great Extensions24Developer & Community Support
User Group & Mailing ListsJune 5, 2010J Day NE: Choosing Great Extensions25
June 5, 2010J Day NE: Choosing Great Extensions26
June 5, 2010J Day NE: Choosing Great Extensions27The Extension Itself
Final questions?June 5, 2010J Day NE: Choosing Great Extensions28

Choosing Great Joomla Extensions

Editor's Notes

  • #5 What are your business needs?Do you have any technical constraints?Example: JQuery/MootoolsWhat’s your budget? Any license restrictions, preferences?
  • #7 The most common place is the JED, otherwise known as the Joomla Extension Directory.Why extensions are not on the JEDThey don't have a GPL license. For the past year only extensions that are licensed under GPL are allowed.Known security issuesIf the editors of the JED find out that there is a security issue with an extension, they will remove it. Example: FireboardThey won't run on 1.5.1.0 extensions were removed last summer
  • #8 Example: joomlauggoogle group
  • #13 Which Joomla release is it forDoes it have the features & functionality that we need
  • #14 What was the last release date? Is it within the last year?Is it a “stable” release? Alpha, beta & RC (release candidates) still have bugs to be worked outAre there any know security issues?
  • #15 Does the developer support the extensionIs there community support
  • #16 Which release - caveat about 1.5 legacyDo you have to change permissions for it to install or use itIf you have to change folders/files to 777, that’s a security issueIdeally your site should work with folders at 755 and files at 655 (check this)If you have problems with standard programs at that level you might need to activate the FTP layer. Only activate the FTP layer if necessary. This overcomes issues of "ownership" in some host settings without needing to set permissions at 777.If the extension won't work with the ftp layer, then in those host settings you would have to set files/folders at 777 which is a security issue.So sometimes an extension can be run safely on one site and can't be run safely in another because of lack of support for this featureDoes it kill kittens?ok to "override", not ok to change or hackIs it encrypted?Being encrypted doesn't make an extension insecure, but it does limit your ability (or anyone else's) to evaluate the code for security. If you have to have IonCube and Zend Optimizer on your server for the extension to run, then that's a sign that it's encrypted. Is it written in "MVC" structure?This is a modern programming technique that is used by Joomla. If an extension is written to take advantage of Joomla, it will be written this way. This is part of what allows for template overrides to work, for example. It also means that the extension is more likely to be written in a way that will allow it to work with future releases without major modifications.Ability to work with templates. Is there an index.html file in every folder?JEXEC or dieall the php files should have a JEXEC or die line at the top. It's usually just after the header comments.
  • #17 How long has it been around and when was it last updated
  • #18 What is the license?Is it free?If not free, do you buy the extension or a subscriptionTerms of use
  • #28 MVC StructureTypical component MVC structure: (move some of this to how do we find it?)com_cowscontrollersmodelsviewscowtmplcategorytmplTypical module MVC structuremod_cowstmplFolder structure is more of an indication than a hard and fast rule because it's more complex than what I'm showing.Index.html in each folderJEXEC or die