Johan Janssens recognised as CMS “Most Valued Person”

I’m sure Packt Publishing needs no introduction. They published nine books on Joomla so far,
donate portions of their sales back to Joomla, and organize yearly open source awards. Joomla has taken home a bunch of these awards in the past (is anyone keeping track?). This week the 2008 winners will be announced.

Joomla 1.5′s Lead Architect

This year, a new category was added: “Open Source CMS Most Valued Person“. I’m pleased to announce that our own Johan Janssens was selected for his work on Joomla by his community peers. Johan is one of the co-founders of Joomla, and has led the development of Joomla 1.5. Thanks to his efforts, Joomla has moved away from the spaghetti code it inherited from Mambo, and now has a super-flexible, object-oriented framework.

With almost 3500 commits (aka code changes or additions in the code repository), Johan has written more Joomla than anyone else, and it’s gonna take a while before anyone catches up. He’s also a top 10 poster in the official Joomla forums, spoke at numerous events, helped set up structures like the working groups and OSM, and led the development working group

That’s why I’m extremely proud to be working alongside Johan on Nooku. He always has great ideas, knows more about software architecture than anyone I’ve ever met, and he’s always happy to share his knowledge.

It’s just the beginning

What can you expect from Johan in the future? Let me just say this: if you paid close attention, you already figured out that Nooku is not going to be ‘just’ a multilingual extension for Joomla, and it’s even going to be very useful for mono-lingual sites. You’ve come to expect great things from Johan, and we’re not settling for anything less. Stick around for some surprises about the upcoming Nooku 0.6.

Read more

The Super Secret Sitemap Trick

Did you know you can have a sitemap in your Joomla site without installing any additional extensions?

Really? How?

The menu module already does everything we need: it’s essentially a tree with all the items in the system. All we need to do is make it look like a component.

  1. Create a new article called ‘Sitemap’. In the body, type {loadposition sitemap} and save it.
    (screenshot)
  2. Make a new menu item called Sitemap, and point it to the article.
    (screenshot)
  3. In the module manager, make a new Menu module. Set ‘Menu name’ to the menu you want to display as a sitemap.
    (screenshot)
  4. In the position box, type ‘Sitemap’. Obviously this refers to the position we used earlier in the {loadposition…} tag
  5. Make sure you set ‘Always show submenu items’ and ‘Expand menu’ to yes, and save.
    (screenshot)
  6. Add more modules for each menu
  7. You should now have a nice sitemap in the frontend.
    (screenshot)
    You can style it with CSS or if you’re creative, you can add some folding using javascript.
  8. Post a link here to your sitemap, to show the world what you did

Got any quick’n’dirty tricks to do cool stuff in Joomla that was never intended to be used that way? Let us know!

Read more

Saying goodbye to an old friend !

Today we say goodbye to mambodocman.com. Launched in March 2004 it has served the DOCman project for over 4 years. Last November we moved the forums over and today we are letting the curtain fall over the old site.

Saying Thanks!

This is an excellent opportunity to say thanks. First of all a big round of applause goes to Vasco Nunes, founder and original developer of DOCman. Vasco started development of DOCman in the summer of 2003 and worked on the project from versions 1.0 to 1.3.

Vasco is also the one who invited me to join the DOCman project in early 2004 to help out with DOCman 1.2. My work on DOCman later caught the eye of the Mambo core team which I joined in April 2004.

I would also like to thank all the previous contributors for the efforts they have put into the DOCman project over the past years (in random order):

  • Charles Gentry (developer)
  • Timothy Beutels (developer)
  • Mathias Verraes (developer)
  • Shayne Bartlett (doc writer)
  • Peek (graphic designer)
  • Alexander Krestinin (tester)
  • Mark Semczyszyn (tester)
  • Marko Milenovic (tester)
  • Krisstoffer & Harri (forum moderators)

These are the people that have made DOCman one of the most popular extensions for Mambo and Joomla!.

Looking into the future

DOCman development has been a little slow of late, because we’re working on Nooku all the time. Mathias, current lead developer for DOCman, already answered this question in a comment on one of his recent blog posts:

We’ll make an announcement on the future of DOCman soon. Don’t worry, DOCman is not dead — it’s not even sleeping, just taking a quick nap!

We have big plans for DOCman future, keep a close eye on this blog in the coming weeks…</p>

From today forward all information about DOCman can be found on our extensions page.

Read more

Hidden feature: Joomla’s media folder

Traditionally, Joomla extensions stored all their assets (images, javascript, css, flash files…) inside the extension’s folder. However, because these files are supposed to be publicly accessible, and all other files should stay hidden, that doesn’t really make sense. Fortunately, this was fixed in Joomla 1.5.4. Extensions can now use the /media folder.

How does it work?

Very easy: simply add a media tag in your extension’s manifest file.

Before:

<files folder="site">
 <folder>some_folders</folder>
 <folder>css</folder>
 <folder>images</folder>
 <folder>js</folder>
 <file>index.html</file>
 <file>mycomp.php</file>
</files>

After:

<files folder="site">
 <folder>some_folders</folder>
 <file>mycomp.php</file>
</files> 

<media destination="com_mycomp" folder="media">
 <folder>css</folder>
 <folder>images</folder>
 <folder>js</folder>  
 <file>index.html</file>
</media>

Inside your installable package, you should now have the folders /site and /media. During the extension’s installation, the files from /media will be copied to /media/com_mycomp (or plg_myplugin or mod_mymodule).

Benefits

Separating publicly accessible assets from the rest of the system like this has some security advantages. Ideally, you’d move all other files below the document root, increasing security. Joomla doesn’t support this yet. What you can do however, is add a htaccess file in /com_mycomp with ‘deny from all‘. This way you don’t need to litter your component with index.html files and defined(‘_JEXEC’) or die(); statements. Of course, this assumes that the end user’s host has AllowOverride turned on.

Read more