This project is not covered by Drupal’s security advisory policy.

This module is unsupported due to a security issue the maintainer didn’t fix. See Directory based organisational layer - Critical - Unsupported - SA-CONTRIB-2017-096 for details.

If you want to use this module, your options are:

  • Choose another, actively maintained module instead
  • File an issue in the queue with a patch to fix the module and then contact the security team to have your version reviewed and the project handed over to you following the unsupported project process.
  • Hire someone to fix the security bug so the module can be re-published and supported (Consider hiring companies listed in the Marketplace)

This module adds a new organizational layer to drupal, making it easy for managing large numbers of files and nodes. It allows the creation of onthefly directory structures and upload of mutliple files at once. Jpeg files are displayed as slideshows, other files can be downloaded from a block.

The "Directory based access control (ACL)" module allows the definition of per directory access permissions, and the "Directory based field" module allows adding nodes to directories.

Please read the installation instructions below for any details.


  • Defines blocks for folder navigation and management
  • File management
    • Ajax mask for creating new subdirectories
    • Multiple-file upload field (using hidden iframe)
    • Drag and drop Ajax uploading (tested with Firefox only, chrome should work to)
    • Deleting files and directories per drag and drop (Ajax)
  • Integration of external slide show modules:
    colorbox, lightbox2, shadowbox
  • You may add fields to directories with the
    "Directory based field" module
  • You may enable directory based access control using the module "Directory based access control (ACL)"
  • Supported Drupal Apis: file api and image_cache
  • Features for developers and themers
    • Almost all Markup code can be overidden, just take a look at the template files (.tpl.php)
    • Modules may add permissions with hook_odir_accesrules()
    • You may find more documented API's in api files.

Application areas

  • Large-scale websites with little work-overhead
  • Photo portals like Picasaweb / Flickr etc.
  • Document management
  • Intranet sites
  • ...

Planned features

  • Moving files and renaming directories per drag and drop (Ajax)
  • You may associate directory structures to taxonomy terms using module odir_taxonomy (EXPERIMENTAL)
  • Optimized caching
  • Creating and extracting zip/rar/... archives in the directory structure
  • Implementing directories as entities which may have custom fields
  • Enhance searching and indexing functionality
  • Localization
  • Integration with organic groups (OG)
  • User folders
  • ...

Further ideas and help are always welcome.


* Download the odir module and the following: ctools and imagecache_actions

* Enable the following modules:
- "Directory based organisational layer"
- "Directory based image"

* Optionally enable one of the slideshow sub-modules.

* Go to odir administration menus (admin/config/odir)
for setting the different options, especially enter the local directory
which you would like to use with the module. If it does not exist
create it and check that the webserver has write permissions to it.
(Permissions should be the same as for the files directory of drupal.)

The default path is /tmp/odir_files and is probably ok, for evaluation
and testing purposes on Unix-like machines.

* You may check the PHP upload_max_filesize variable, for setting the max upload size of files you wish to add to your site.

* Optionally go to admin/config/odir/settings_odir_image for choosing a slideshow mode.

* Go to admin/structure/block enable the following blocks:
- "Directory : subdirectories"
- "Directory : operations"

* You should control the permissions the permissions
Other modules may overide permissions in subfolders.

* Clear all caches (in case of problems).

What you can do from here:

* Create directories and subdirectories, either:
- Use the functionality in the activated blocks
- Create directories physically on disk as with FTP or a file browser.

* Add files into these directories, either:
- Per multi-file-selection utility
- Per Drag n Drop into the "Folder operations" block
(tested only with Firefox)
- Add files physically to disk as with FTP or a file browser.

* Images are displayed as clickable thumbnails, enabling slideshows.

* Non-image files will be displayed in a block and may be downloaded.


  • Directory "styles" is hidden because of technical reasons, and should not be used!
  • Uploading files in root-directory is disabled.

Donations and support

You may support this module by testing and submitting issues.

Any donation is highly appreciated, and will be considered a motivation for any further development. Please follow the Paypal Link

Project information