As some of you may know - I'm member of the JED team (http://extensions.joomla.org) since February this year. It is an interesting experience and a job that is extremely demanding... One needs to constantly approve/reject extensions and no matter how hard one works - there are always new extensions in the queue. Believe it or not one of the most common reasons to reject a listing is because it is missing an index.html file in a folder or "defined('_JEXEC') or die()" statement in the php files or a license tag.
Developers have been always talking and talking that those checks can be automated and when you submit an extension the JED should let you know if you don't pass a certain test/rule. On jandbeyond this year we were again talking about that and somebody suggested that we should create a component for this. And it struck me! All this time I thought that I needed access to the JED server to make changes to the software we run, but if I don't have this access - why not create an extension and make developers aware of it! If developers test their zip packages before they submit them to the JED, this could ensure that their submissions won't be rejected due to missing index.html files... This could save JED editors time and it could save developers time! And as we know time is money...
This is where the JEDchecker comes in the game! Currently it only checks for missing index.html files and "defined('_JEXEC') or die();" statements. The plan is to add checks for the license tags, maybe something that will show the use of base64 encoding (this is not always bad I know!!!) and once this is done, then we will have a pretty solid checker for submission problems to the JED.
Now I don't want to stop here. My vision is that we need to add checks for the coding standards that the JPlatform demands. Those checks won't be a requirement for the JED submission, but they would definitely help to raise the code quality in the Joomla community, by simple making developers aware of them!
If you are a developer that wants to test the component ->simple go to the download section, download it and install it on joomla 2.5. Then get your component zip file and upload it through the extension -> unzip -> then click check!
If you are a developer that wish to help with providing check rules, then head up to our github page - fork the component add your rule and send a pull request!
Writing rules is easy!!! Just check the existing rules here. Basically you create a file "yourrule.php". This file needs to contain the jedcheckerRulesYourrule class. The class needs a check function that accepts a basedir path. That is all! The component will automatically find your rule and execute the check method and output the result from it. Each rule is called in a separate ajax request.
For any kind of comment/feedback don't hesitate to use the comment form below!