The jsmallfib Joomla! plugin allows you to transform a normal Joomla! article into a simple but fully functional file browser. Files and folders within specified repositories can be browsed and, depending on user- and/or group-based access rights, modified. Optionally, the system can perform logging functions on all activities (uploading, downloading, creating folders, renaming or removing files and folders); the actions log may be viewed by users with specific access rights. In order to achieve this functionality the article must contain a text command in the format:

{jsmallfib [repository]}


  • jsmallfib
    is the command: it has to be written exactly like this (though it may contain capital letters), and should immediately follow the opening curly bracket (no blank space is allowed here).

  • [repository]
    is an optional parameter indicating the toplevel folder for this file repository (if used it must be included in square brackets). This folder should be located within the path specified in the plugin's parameters (the Default jsmallfib Path parameter on the right side of this page). The Default jsmallfib Path may be relative to the Joomla! root folder, or be expressed as an absolute path (useful if the path is outside the web root).

    Please notice that only if a relative path is used will jsmallfib attempt to create a non existant repository folder.

With regard to permissions, default settings are configurable within the plugin's parameters, for both visiting and registered users. To implement access rights for specific users, or for entire Joomla! contact categories, these settings can optionally be overridden by adding appropriate arguments after the repository parameter in the command, using this format:

{jsmallfib [repository] [id1:permission1] ... [idN:permissionN]}


  • [id:permission]
    associates a user ID with a specific access right. In particular, permission values, in increasing order of abilities, are:

      0 -> no access
      1 -> viewing access (may only browse the repository)
      2 -> ability to create folders, upload files and rename files and folders
      3 -> may delete files, but not folders
      4 -> may delete files and empty folders
      5 -> may additionally view logs

The id parameter is intended as a user ID; you can get these values in the Joomla! User Manager area (notice that using ID 0 refers to all non-registered users). If the user ID is prefixed with G (or g) it is taken as a Joomla! contact category ID (you can get the relevant values in the Joomla! Contact Categories list)

Command usage example:

{jsmallfib [project] [63:2] [65:3] [g6:2] desc(Hello file browsing world!)}

in this case, assuming that the default permission is 0 (no access), users with user ID 63 and 65, as well as all users belonging to contact category ID 6 will be able to see the files starting from folder 'project' (under the default absolute path specified in the plugin parameters). User ID 63 will be able to upload files and create folders, user ID 65 will also have the ability to delete, while all users of contact category ID 6 will have access rights 2 (create folders and upload files).

You may also set a description for the repository, by placing it in the format

desc(this is a description)

within the curly brackets. This will be included below the title and before the files/folders display (in the above example it's the Hello file browsing world! sentence).

As a final note on command syntax, notice that, although the curly brackets and the square ones around the repository are required, the id:permission pairs may have a looser format. Thus, the command above may have been written as:

{jsmallfib [project] 63:2, 65:3 g6:2 desc(Hello file browsing world!)}

With regards to the icons representing file extensions, these can be found in the folder plugins/content/jsmallfib within the main Joomla! installation. Icons are PNG image files named ext.png, where ext is the file extension to represent. Introducing a new file extension is as simple as creating a new icon file with the relevant name.

If you enjoy this software, please consider making a donation to the developer:

jsmallfib has been written by Enrico Sandoli based on the original standalone enCode eXplorer by Marek Rei (also released under GPL Licence). Because jsmallfib works within the Joomla! environment, the original password protection has been replaced with the access rights system described above, which is simple but powerful. The functionality to delete files and folders (if empty) has also been added to the original code, together with the ability to set the file repository inside or outside the web root. Some extra security checks to disable access to areas outside the intended file repositories have also been introduced.

Additional information on jsmallfib can be found on http://www.jsmallsoftware.com. The original code by Marek Rei can be found on http://encode-explorer.siineiolekala.net.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Copyright © 2009-2010  by Enrico Sandoli (jsmallsoftware)

Return to previous page