Access the filesystem from Plone
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.
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 +.
For new releases please visit the Reflecto product page on plone.org.
Please report bugs and feature requests in the Reflecto issue tracker.
Reflecto is Copyright 2007 by Jarn AS Reflecto is Copyright 2008-2009,2013 by Simplon B.V.
Reflecto is distributed under the GNU General Public License, version 2. A copy of the license can be found in GPL.txt in the doc directory.
The chardet Universal Encoding Detector is copyright 2006 by Mark Pilgrim. Portions of chardet are copyright 1998-2001 Netscape Communications Corporation.
chardet is distributed under the GNU Lesser General Public License, version 2.1. A copy of the license can be found in LGPL.txt in the doc directory.
The Reflecto character description is copyrighted by Wikipedia contributors and licensed to the public under the GNU Free Documentation License (GFDL). A copy of the license can be found in GFDL.txt in the doc directory.
3.0.6 - June 5, 2014
- Fixed an issue with some files that do not return any encoding. Let’s fallback to ASCII. [keul]
- Quoting filename in Content-Disposition header to prevent ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION problem with Chrome browser. [keul]
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]