Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

pypm install products.reflecto

How to install Products.Reflecto

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install products.reflecto
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
3.0.5Never BuiltWhy not?
2.5.1 Available View build log
2.4 Available View build log
Windows (64-bit)
3.0.5Never BuiltWhy not?
2.5.1 Available View build log
2.4 Available View build log
Mac OS X (10.5+)
3.0.5Never BuiltWhy not?
2.5.1 Available View build log
2.4 Available View build log
Linux (32-bit)
3.0.5Never BuiltWhy not?
2.5.1 Available View build log
2.4 Available View build log
Linux (64-bit)
3.0.5 Available View build log
2.5.1 Available View build log
2.4 Available View build log
Lastest release
version 3.0.5 on Jan 9th, 2014


Reflecto is a tool to incorporate part of the file system into a Plone site. It allows you to browse through a filesystem hierarchy and access the files in it. Files are represented as simple downloadable object, not as full CMF or Plone content types.


  • Plone 3.1 or later
  • TextIndexNG3 is optional, but needed to index non-text files.

Filename policies

Filenames must be valid Zope ids. In addition, filenames starting with a dot, or with '@@' are also deemed invalid. Files with names not matching these criteria will be ignored.

This means that filenames must basically be ASCII characters only, and not start with aq_, @@, . or _, not end with __ nor contain a +.

More information

For new releases please visit the Reflecto product page on plone.org.

Please report bugs and feature requests in the Reflecto issue tracker.


Design and Development --
Jarn Simplon B.V. Wichert Akkerman, Martijn Pieters
Universal Encoding Detector
Mark Pilgrim, Netscape Communications Corporation


3.0.5 - July 11, 2013
  • Fix a regression in creating new Reflectors and unindexing them when they are removed. [davisagli]
3.0.4 - July 9, 2013
  • Pass the base reflector path to sub-proxies when instantiating them so they can determine their filesystem path even when not acquisition-wrapped. Needed for compatibility with collective.indexing. [davisagli]
3.0.3 - July 5, 2013
  • Make ReflectoFile's SearchableText method use TextIndexNG3 converters if available. This is useful when indexing using collective.solr instead of TextIndexNG3 or the default Plone catalog. [davisagli]
3.0.2 - July 3, 2013
  • Changed the technique used to avoid indexing reflected items in live mode. The new technique does not conflict with collective.indexing's monkey patches of indexing methods. [davisagli]
  • Detect charset of files and encode as utf8 when indexing SearchableText, even when not using textindexng. [davisagli]
  • Add explicit zope.app.container dependency. [danjacka]
3.0.1 - June 19, 2013
  • Fix regression preventing the creation of new Reflectors. [davisagli]
3.0 - June 18, 2013
  • If plone.app.uuid is present, provide a UUID for reflected files. The UUID is based on the main reflector's UID and the file's path. [davisagli]
3.0b1 - January 23, 2013
  • Make sure reflected files implement all three methods (!!) to return the content type. This fixes problems displaying text files.
  • Log skipped files when iterating over directory contents.
  • Do manual splitting of filenames when indexing content. This allows searching for filenames. This previously did not work because the standard indexer strips dots, which does not work well for filenames.
2.5.1 - May 8, 2012
  • Package fix [aclark]
2.5 - May 8, 2012
  • Fixed broken imports for Plone 4.1 compatibility [swampmonkey]
  • Make compatible with Plone 4/Zope 2.12 by removing z2-style interfaces and adjusting some imports [tom_gross]
2.4 - July 17, 2009
  • Disable recursive handling of AT references in reflectors: proxies filesystem data is never referenceable, so this only slowed things down. [wichert]
  • Disable ownership fixing after adding reflector proxies. This prevents slow tree walks after copy/pasting reflectors. [wichert]
  • Silence manage_after* deprecation warning. [wichert]
2.3 - June 19, 2009
  • Do no index filesystem data when running in life mode. This guarantees no stale data will be in the catalog. [wichert]
  • Do not add trailing slash to file URLs in the folder contents view. This makes sure the base URL is correct, and relative paths in html files work correctly. [wichert]
  • Move the file-specific mime type logic to the ReflectoFile class, and make the default implementation always return application/octet-stream. This fixes problems with indexing of directories. [wichert]
2.2 - April 16, 2009
  • Use the mimetypes_registry tool to find the content-type of a file, only falling back to the system mimetype registry if the tool can not identify the file. [wichert]
  • Set the Content-Type header correctly for file downloads. [wichert]
2.1 - August 5, 2008
  • Return an empty list instead of raising an exception which triggers a site error when accessing a reflector which tries to use a path which does not exist on the filesystem. The old behaviour was non-intuitive for users and made migrating sites extremely hard. [wichert]
  • Update TextIndexNG3 support code to include the Title (ie the filename) of an object in SearchableText. [wichert]
  • Make Reflecto an ATCT content types to make it integrate better with Plone. This was triggered by Reflecto instances inheriting the excludeFromNav data from their parent which made them not appear in the site navigation for mysterious reasons. [wichert]
  • Fix Last-Modified header format. [elro]
  • Add webdav support. [elro]
  • Lowercase filenames before looking up the mime-type. This fixes incorrect mime-types for uppercase filenames. [wichert]
  • Remove the properties alias from the Reflector type. This is obsolete in Plone 3.x. [wichert]
  • Add CSRF authenticator to the folder_contents page. This means Reflecto now requires Plone 3.1, or Plone 3.0 with the CSRF hotfix. This fixes http://plone.org/products/reflecto/issues/30 . [wichert]
2.0 (Released 2008/05/14)
  • Use the correct title for the folder_contents buttons. [wichert]
  • Add support for downloading folders as zip files. [wichert]
  • If CacheSetup is installed allow users to tweak cache rules for individual Reflector instances. [wichert]
  • Prevent CR/LF conversion when uploading files on Windows. This fixes bug 22 (see http://plone.org/products/reflecto/issues/22 ). [wichert]
  • Port to Plone 3. [wichert]
  • Add a 'live' option which makes Reflecto show live filesystem data instead of catalogued data. [wichert]
  • Correct the Plone version test. This fixes bug 11 (see http://plone.org/products/reflecto/issues/11 ). [wichert]
1.2 (Released 2007/09/05)
  • Changed the permission mask from 600 to 644 [FinnArild]
  • Issue #1: Include the Title in SearchableText. [mj]
  • Issue #2: Add a SearchableText implementation for Directories, returing the Title. [mj]
  • Updated Install method to use the CMF 2.1 GenericSetup interface if Plone 3 is being used. [wichert]
  • Updated imports which current Zope 3 deprecated [wichert]
  • Updated tests to support Archetypes 1.5 as used by Plone 3.0 [wichert]
  • Updated @@index view mockup registration in directory tests for Plone 3.0 [mj]
  • Fixed contents tab for Plone 3.0 [mj]
1.1 (Released 2007/06/28)
  • Fixed uploading files and directory creation in subdirectories [mj]
1.0 (Released 2007/06/27)
  • Initial release [mj]

Subscribe to package updates

Last updated Jan 9th, 2014

Download Stats

Last month:10

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.