A good extension (quality code, quality interface) is not necessarily the right extension, and the right one (with the features you need) is not necessarily a good one. Finding an extension that is right and good is half the battle in building sites with Joomla, especially when it comes to things like download systems, photo galleries, portfolios, blogging suites, comment systems, replacements for the core content manager, and the new field of content construction kits (CCKs).
When a new extension has to be classified to be added to the Joomla Extension Directory (JED), it's a tough call where some belong. Some extensions cross categories, so it pays to heed the cross-references for "related categories" and to browse widely. Extensions you can use as photo galleries may be located in the portfolio section, or vice versa. And of course those classifications say nothing about actual feature sets. Good and robust frontend control over any extension type is probably the single most valuable and most frequently missing feature. Much of the time you will have to try extensions out or do a lot of searching to find out if they allow frontend submission and management with adequate permissioning. Any kind of XML output is also a historically neglected feature in Joomla extensions.
The reason this confusing but rich situation lies with the limitations of the Joomla core product itself plus the lack of a highly accessible CCK extension for it early on. For various reasons, third party developers have never contributed extraordinarily to make Joomla a stronger framework for their add-on applications so it can do more of the work for them. Or, instead of developing the core access controls, developers build their own access control extensions as a workaround laid on top of the core access controls.
In other words, the robust extensions do what they need to do for themselves, and most have been built for the needs of a specific use concept. Features and interface design are limited to a very narrow range of applications, at least early in an extension's development history. This results in a lot of crossover and redundancy, especially when there are multiple variants of a common ancestor extension.
On the good side, if you know you want a photo gallery, you've got photo galleries ready to go pretty much out of the box--it's just a matter of finding the best balance of quality, desired features, lack of excessive and unnecessary features that will just bloat your site. If you're able, you might also take into consideration how much time it will take to bang an extension into the shape you want by adding to it or stripping it down.
Of course, with all the CCK options available now and older extensions like SOBI and jReviews claiming they have been CCKs all along (indeed--in their own ways), you can also build your own versions of most of the popular application types in the JED. (Which CCK system is best for different projects and how they differ will have to be a topic for a later date.)
One of the tougher extension categories to wade through are those classified as either "Downloads" or "Directory" under "Directory and Documentation" in the JED. The vast majority are free of charge. (The leading commercial option is Mosets Tree, which is what the JED itself runs on.) You can find a good, non-critical summary of 20 of the best right here. You may also want to look at "File Management" under "Core Enhancements" and consider using more than one of these extensions together. To understand all their features, you'll have to look at the latest release notes or the developer's feature list. As is common with Joomla extensions, the features often outpace interface design as a priority. Most Joomla download systems have at least a three-level/page structure that is very poor in concept.
If you want to create a file sharing system with a directory structure and the option for privileged users to upload files (a major security vulnerability area), the candidates narrow down a lot. More so if you need to handle different licenses, frontend uploads, front end file/folder management, or nested file categories/folders that may or may not correspond (and automatically respond) to the actual file structure of a designated directory tree on the server. Ultimately there are 3 general ways to build a file-sharing system to those specifications. Here they are:
- Use one comprehensive component: DOCman. It almost does it all in version 1.4 whose main drawback is to not run natively in Joomla 1.5. DOCman 1.4 requires legacy mode, which is pretty bad and to be avoided. This problem will be rectified in Version 1.5 ( to be released in a week), a major leap forward for DocMan. Update: The long awaited Joomla 1.5 native version of DOCman (1.5) is now available for 12.97 EUR. Try the live demo here. jDownloads and Phoca Download cover the major bases too. jD is weak on menu views but has its own templating system (which is not really a plus, IMHO) and allows infinitely nested categories. Phoca is the opposite: strong with multiple menu views, no templating, and a limited section/category structure. Each has a mediocre backend. Phoca needs a lot of configuring to work after install, and there are some annoying parameter pitfalls due to that. FileCabinet is a very simple system with all the main core features needed. VNETCOM File Manager (VFM) looks and sounds like a good idea, but it had broken HTML tags appearing on its front and backend pages when I installed it, and it has not been updated in a year. Barring new development, that says "stay away" to me. Remository has been around a long time, is in pretty active development, and has a comprehensive feature set like DocMan. However, Remository is built poorly for Joomla 1.5, has a cumbersome and unattractive interface on both ends, and it tends to lose track of your files if you stick with the default settings and store the files in the database and/or use a folder hierarchy that doesn't correspond to the actual structure on the server. Those are nice features to have, but liek all the rest in Remository, it takes a lot of trouble to get them working. Now that there are superior alternatives, Remository is simply a major PITA to be avoided barring a major overhaul.
- Keep it really simple: Maybe all you really need is jsmallfib, a small, powerful file browser/manager plugin with pretty strong custom access controls and a very nice interface design. One of its unusual features is that access rules can be set according to users assigned to contacts or contact categories in com_contacts. This has certain organizational use benefits. For example, when you update your contact list (e.g., a board or committee) and move contacts out of a contact group, the contact groups work as permission role groups. (The usual per-user and core ACL group rules also apply.) Another simple solution is Core Design's Attachment plugin. An even simpler solution that might be very convenient for certain use cases is DropBox.com and the DropBox plugin for Joomla, which can be used to crate simple image galleries. Attachments for content articles is a component+plugin that's pretty solid and simple, but it may be abandonware judging by the lack of updates. Run Digital Download (RD Download) is similar in concept but breaks and shows broken PHP code when I've tried it. File Manager sounds like a related, more feature-rich product, but it may also be developmentally dead. (Its developer's site currently appears broken.)
- Still pretty simple by using two complementary extensions: The Flash Uploader plugin (or again jsmallfib) plus the JX List Files module is a simple and powerful solution. The Flash Uploader is a full-fledged file manager with excellent front and backend interfaces. It allows selected users to have private upload folders and to share folders based on group permission rules. With many users and frequent changes to their roles, keeping up with the necessary permission rule changes can be tedious work for administrators. That's why it's best to stick to group rules whenever possible. JX List Files displays a list of all the files in a single folder on the server that you determine in its settings, although you can create virtual folders to assign the files to for the purpose of ordering them within the page display list. If you need more, Flash Uploader + RokDownloads or another download-only system (e.g., JotLoader, IonFiles, RubberDoc) will work--especially if the download manager automatically indexes any files within a particular folder or folder tree on the server. (JX List files, JotLoader and IonFiles do this; RubberDoc does not.) RubberDoc, a component-module-plugin combo, has similar, though lesser capabilities compared to jsmallfib. (Backend-only uploads; uploading files to its storage folder by other means will not be recognized.) But used in combination with a content access control plugin, you can make a custom file download area pretty easily within content articles or even modules if you know how to make them accept plugins.
Conclusion: DOCman 1.5 is a new, quality commercial product I have not tested yet. (You can try a live demo of it here.) DOCman is by all indications the best built, most comprehensive all-in-one file repository component for Joomla. Out of the rest, Phoca would be my first choice when building new views for it isn't infeasible. Phoca's default views are inadequate and ugly, so you're going to either accept that or spend time building your own views. Jsmallfib is my #1 overall choice for being lightweight and very flexible for interface design--and no new templates or views need to be created. (Similarly, an article attachment plugin might suffice in many cases.) Some of the options I put under the third heading--using complementary extension pairs--may also deliver the features and appearance you want with very little modification. Security risks from excessively open permissioning increase in the #2 and #3 categories, however, because in those cases the permission controls are unconventional and/or somewhat complex. For that reason it's easy for site managers and administrators to fail to lock thinggs that should be locked. The best solution for that problem is going to be Joomla 1.6 and extensions developed for it. Access roles and rules will then be very centralized and clear to backend users as something you have to think out carefully and set up very deliberately.


Mister Wong
Digg
Del.icio.us
Slashdot
Furl
Yahoo
Technorati
Newsvine
Googlize this
Blinklist
Facebook
Wikio













0 Comments