Author: Jarn AS


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

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

.. _Reflecto product page:
.. _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

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.



Design and Development --
    `Simplon B.V. <>`__
    Wichert Akkerman, Martijn Pieters

`Universal Encoding Detector`_
    Mark Pilgrim, Netscape Communications Corporation

.. _Trolltech:
.. _Jarn:
.. _Universal Encoding Detector:


3.0.5 - July 11, 2013

- Fix a regression in creating new Reflectors and unindexing
  them when they are removed.

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.

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.

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.

- Detect charset of files and encode as utf8 when indexing
  SearchableText, even when not using textindexng.

- Add explicit dependency.

3.0.1 - June 19, 2013

- Fix regression preventing the creation of new Reflectors.

3.0 - June 18, 2013

- If is present, provide a UUID for reflected files.
  The UUID is based on the main reflector's UID and the file's path.

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 prev