I have to tell you, besides docman populate this is the best plugin for Docman. My main gripe with docman and other download components is that when you have more than 5 files, no one wants to scroll through 5 pages to view them. -DOCman forum user

First Impressions: DOCman 2.0 Alpha 1 Announcement Made by Joomlatools

Written by Omar Ramos | Admin. Posted in DOCman 2.0

It's official! Joomlatools announced DOCman 2.0 Alpha 1's public release today!

While not quite ready for use on production sites just yet, it's available to start playing around with, and perhaps even more importantly, developing (so I can start working on a DOCman List for DOCman 2.0 pretty soon).

Here's a screenshot and link to the announcement:

joomlatools docman 2.0 alpha1 announcement

I've already spent a bit of time playing with the Alpha 1 this morning and just wanted to share a few impressions.

Read on to see how my first impressions of DOCman 2.0 went!

DOCman 2.0 Alpha 1 First Impressions

First off, the installation is smooth and uneventful and I first installed the com_extman1.0.0RC2.tar.gz package, which also installs the Joomlatools Framework library onto your Joomla site, and then installed the docman_v2.0.0-alpha-1.tar.gz package.

On top of the com_docman extension, the docman_v2.0.0-alpha-1.tar.gz package also includes these other extensions, which are used to support the main com_docman component:

com docman additional extensions

When I enter into the DOCman component in the administrator you immediately see that the DOCman entities you're familiar with already are still present: Categories, Files, and Documents (which are Files that have been mapped to a Category and are viewable from the Frontend).

The Documents View

The default screen is the Documents one, which will display your Category hierarchy and any Documents you have created in DOCman 2.0:

initial docman2 screen

As you can see in the screenshot above, I've already created a few test documents on my end, to try out the functionality. One bug you'll notice at the moment is the Status dropdown above is partially cutoff, which can be fixed pretty quickly via CSS by Joomlatools (increasing the height for the select box seemed to do the trick for me), so I don't expect that to remain an issue for very long (it occurred both in Chrome and Firefox for me).

One other thing I noticed, which might be a nice option to have available to toggle on/off, would be the ability to include/exclude documents from child categories from appearing (currently, it looks like the default behavior is to exclude any child category documents, only allowing the documents from the current category to appear in the list).

For example, within the Commercial Extensions category I created, I have a subcategory for DOCman List, which contains about 9 files, while the Commercial Extensions category itself doesn't have any. It would be nice in certain cases, if the option were available, to click on the Commercial Extensions category and see those 9 files listed, even though they are in the DOCman List subcategory.

Below is an example screenshot showing the opposite behavior (nothing listed within the Commercial Extensions category):

subcategory documents excluded

One last thing to mention that might be useful to have displayed on the left-hand side where the categories are being listed would simply be an overall count for each category, as I can see that as being a handy number for users to be able to see.

When creating a New Document, I noticed there was not a Save & New button available, which is something that has become quite useful to me and others for quickly adding new Articles/Categories to Joomla and I hope this will be added as well. Related to that addition, I also hope that DOCman 2.0 will be smart enough to detect which category has currently been selected on the left-hand side of the Documents View, and will pre-select that Category when creating a new Document (this will save users a step if they are going to be adding many documents one-by-one...even though this is mostly handled already through the Bulk Addition capabilities of the Files view, which I'll talk about next, it would still be a nice touch to include).

Also, for pagination, I would like to see the ability for an "ALL" option which was lacking in previous versions of DOCman as well, and perhaps a few in-between options greater than 100 (such as 200, 500, etc.).

The Files View

The Files View makes use of the newly created com_files component from Joomlatools and provides a much improved uploader, allowing you to upload multiple files quickly and easily, along with the ability to create folders and subfolders to organize/store your files, which was not possible in previous versions of DOCman which stored all files within the dmdocuments directory.

files view

As you can see, the structure you create above will be mimicked in the docman-files folder in the root of your Joomla directory:

docman-files directory

 And the opposite is true as well, if you upload files or create folders in your docman-files directory, they will be displayed within the Files View in DOCman 2.0 (they will still need to be turned into Documents and assigned to a Category though before they will be visible to anyone).

I'm noticing that an .htaccess file is not being included in the docman-files directory, which would be needed to prevent anyone from directly accessing your files on your site, so this is one reason why DOCman 2.0 shouldn't be considered ready for production usage (though of course, you could always add the .htaccess file yourself to prevent direct access).

Since DOCman supports mapping a file to multliple categories, if you select the checkbox next to a file and click on Create Document you can assign that file to one Category, then go back to the Files View select it again and click Create Document once more and choose another Category to have it show up in more than one location.

Additionally, since Populate is now built in, if you click on the Populate button it will display all of the Files you have, which have not been assigned to any Categories and allow you to bulk add them in. A nice feature I noticed here is that Populate is smart enough to detect the folder you're currently browsing, so it will only select Files which have not been added to a Category for the current Folder.

Here is an example of how the Create Documents/Populate screens look like when clicked from the Files View:

populate view

The Categories View

The Categories View is fairly simple, but I would love to be able to see a few additions to it, especially a filter to for selecting a parent Category. One of my biggest gripes with the original DOCman was how laborious it was to create repetitive Category structures.

Here is how the Categories List View appears:

categories view

Here is how the Add New Category View appears (notice that this view is also missing the Save & New button):

create new category 

One thing to help improve the Create New Category view would be to allow a parent Category to be selected, which would then be pre-selected as the Parent Category. However, since some sites can have many categories, making it difficult to find the correct category in a dropdown list an additional improvement would be to allow for the Category List to be filterable, to make the process of finding the correct Parent Category simpler. A perfect example of a filterable select box can be seen in NoNumber's Advanced Module Manager extension:


nonumber select filter 

So that's one level of improvement, but another level would be the ability to create Categories quickly according to pre-defined Category Templates. This was an addition I added into my own DOCman installations that allowed me to quickly replicate Category structures onto multiple categories. For example, each of the Committees above might have the following Category Template applied to them, which would quickly add in all of the needed subcategories defined in the Category Template:

category template

Now that the new Joomla ACL has been integrated with DOCman 2.0, default permissions for each Category Template, along with any other useful Category setting, could be applied by default to all new categories added using a template. To add the above feature into the original DOCman I needed to create a new view for the creation of the templates and then made use of this mootools script to allow for tabs to be used within a textarea so I could create the structure seen above (tabbing doesn't seem to work in Chrome, but it does in Firefox, and likely IE): https://github.com/SilverTab/nawte

Then some additional coding was needing to allow me to select one of my Category Templates, see the list of Categories, select the ones I wished to apply the template to, and then apply it, which would then create all of the Categories defined in the Category Template for each of the Parent Categories I selected.

The Options View

In terms of Options, there doesn't seem to be quite as many options as there used to be, and in some cases there is a little less flexibility available (for example, now you can choose to display previews to users for certain filetypes that support previewing in the browser, but in the frontend there is only a Download button and not the Download or View buttons that were available previously).


Something I am looking forward to as a capability is to have all uploads and additional Category creation occur via the Joomla Administrator, rather than the Frontend so once again I'm super happy to see the Joomla ACL supported within the Advanced Permissions button above, and individually within Categories/Documents within DOCman 2.0. I'll try and write-up a separate tutorial on how that could be accomplished for an organization.

Additionally, here are the options available when creating an All Categories View or Single Category view menu item:

menu all categories view options

The Frontend

The Frontend looks fairly similar to what is available in the previous versions of DOCman, but one thing you will notice is that there are less buttons displayed when Documents are being listed (I'm not sure if this is by design in the new version, or if they'll be added later). I tried this out using the stock Joomla 2.5 template.

All Categories View:

 frontend all categories

Category View with Child Category and Documents:

 frontend category with child and documents

Category View with No Child Categories and Documents:

 frontend category no child with documents

Single Document View:

frontend single document view

If you are logged into your website and assuming you have the correct permissions, DOCman 2.0 gives you the following additional options (Add new document into a Category, along with the Edit/Delete options for a Document):

frontend logged in

Here is how the Add New Document screen looks in the Frontend:

frontend add new document

The only issue I experienced was when I clicked on the Select button, which resulted in a 500 error (My guess is there's an issue with the plugin or view, which is preventing frontend access).

frontend select file path

The other issue I noticed was that after canceling or selecting Save & Close for an existing Document I was always taken back to the All Categories page, rather than the page I selected the link from (for example, if I had already browsed into a subcategory, then clicked on an Edit link and saved the Document I would expect to be taken back to the subcategory I was on, but instead I'm taken back to the All Categories view and have to browse again into the subcategory I was in).

All in all though, the frontend works as it should and I'm sure Joomlatools will be polishing the frontend as they get closer to an official stable release.

JSON for Web Services

One last thing I'd like to add, for those following the Joomlatools Framework development, is that DOCman 2.0 does have included by default a JSON representation of the data displayed on the screen that is accessible by adding ?format=json to the end of the DOCman 2.0 URLs.

The only thing I wasn't really able to retrieve using JSON (I'm not sure if there's an additional parameter required to switch the behavior) would be the ability to retrieve the list of Documents within a particular Category in JSON format. For my DOCman List Plugin this might be especially useful to have available and might allow me to load document lists on demand (for example, only retrieve and display a list of documents once a Category has been expanded).

Final Words

All in all, I'm pretty pleased with how DOCman 2.0 is turning out and I hope Joomlatools is able to resolve the small issues I've discovered and might take into consideration a few of the other ideas I've presented above (they would sure make my life a lot easier...mostly as a user, but the JSON stuff could be useful as a developer :-).

I hope others find this preview of DOCman 2.0 useful and sign up for a subscription over at Joomlatools if you don't already have one and take DOCman 2.0 Alpha 1 out for a spin!