2011-May-01
* Added comment app with support for adding and deleting comments to 
  and from documents
* Updated requirements files as per issue #9
* Show tagged item count in the tag list view
* Show tagget document link in the tags subtemplate of documents
* Made comment sorted by oldest first, made comment subtemplate
  scrollable
* Rename comments app to document_comment to avoid conflict with 
  Django's comment app
* Made document comments searchable
* Bumped version to 0.5.5

2011-Apr-30
* Bumped version to 0.5.1
* Applied initial merge of the new subtemplate renderer
* Fixed tag removal logic
* Initial commit to support document comments

2011-Apr-29
* Updated so that loading spinner is displayed always
* Exclude tags from the local document upload form

2011-Apr-28
* Added document tagging support
    - Required installing django-taggit and doing a sync-db
* Bumped version to 0.5
  Added tag list view and global tag delete support
     Added tag editing view and listing documents with an specific tag

2011-Apr-27
* Changed the previewing and deleting staging files views to required
  DOCUMENT_CREATE permission
* Added no-parent-history class to document page links so that iframe 
  clicking doesn't affect the parent window history
  Fixes back button issue on Chrome 9 & 10
* Added per app version display tag
* Added loading spinner animation
* Messages tweaks and translation updates

2011-Apr-26
* Converter app cleanups, document pre-cache, magic number removal

2011-Apr-25
* Added OCR view displaying all active OCR tasks from all cluster nodes
* Disabled CELERY_DISABLE_RATE_LIMITS by default
* Implement local task locking using Django locmem cache backend

2011-Apr-24
* Added doc extension to office document format list
* Removed redundant tranformation calculation
* Make sure OCR in processing documents cannot be deleted

2011-Apr-23
* PEP8, pylint cleanups and removal of relative imports
* Removed the obsolote DOCUMENTS_GROUP_MAX_RESULTS setting option
* Improved visual appearance of messages by displaying them outside the
  main form
* Added link to close all notifications with one click
* Made the queue processing interval configurable by means of a new
  setting: OCR_QUEUE_PROCESSING_INTERVAL
* Added detection and reset of orphaned ocr documents being left as
  'processing' when celery dies
* Improved unkwnown format detection in the graphicsmagick backend
* Improved document convertion API
* Added initial support for converting office documents (only ods and
  docx tested)
* Added sample configuration files for supervisor and apache under
  contrib/
* Avoid duplicates in recent document list

2011-Apr-22
* Added the configuration option CONVERTER_GM_SETTINGS to pass
  GraphicsMagicks specific commands the the GM backend
* Lower image convertion quality if the format is jpg
* Inverted the rotation button, more intuitive this way
* Merged and reduced the document page zoom and rotation views
* Increased permissions app permission's label field size
        ** DB Update required
* Added support for metadata group actions
* Reduced the document pages widget size
* Display the metadata group numeric total in the metadata group form
  title
* Reorganized page detail icons

2011-Apr-21
* Added first & last page navigation links to document page view
* Added interactive zoom support to document page detail view
* Spanish translation updates
* Added DOCUMENTS_ZOOM_PERCENT_STEP, DOCUMENTS_ZOOM_MAX_LEVEL,
  DOCUMENTS_ZOOM_MIN_LEVEL configuration options to allow detailed
  zoom control
* Added interactive document page view rotation support
    
2011-Apr-20
* Changed the side bar document grouping with carousel style document
  grouping form widget
* Removed the obsolete DOCUMENTS_TRANFORMATION_PREVIEW_SIZE and
  DOCUMENTS_GROUP_SHOW_THUMBNAIL setting options
* Improved double submit prevention
* Added a direct rename field to the local update and staging upload
  forms
* Separated document page detail view into document text and document
  image views
* Added grab-scroll to document page view

2011-Apr-19
* Disabled submit buttons and any buttons when during a form submit
* Updated the page preview widget to display a infinite-style horizontal
  carousel of page previews

2011-Apr-18
* Added support user document folders
    Must to a syncdb to add the new tables

2011-Apr-17
* Added support for listing the most recent accessed documents per user

2011-Apr-16
* Added document page navigation

2011-Apr-15
* Fixed diagnostics url resolution
* Added confirmation dialog to document's find missing document file
  diagnostic
* Added a document page edit view
* Added support for the command line program pdftotext from the
  poppler-utils packages to extract text from PDF documents without
  doing OCR

2011-Apr-14
* Fixed document description editing
* Replaced page break text with page number when displaying document
  content
* Implemented detail form readonly fields the correct way, this fixes
  copy & paste issues with Firefox
* New document page view

2011-Apr-13
* Added view to add or remove user to a specific role

2011-Apr-12
* Updated the jQuery packages with the web_theme app to version 1.5.2

2011-Apr-11
* Made AVAILABLE_INDEXING_FUNCTION setting a setting of the documents 
  app instead of the filesystem_serving app
* Fixed document download in FireFox for documents containing spaces in
  the filename
* If mime detection fails set mime type to '' instead of 'unknown'
* Use document MIME type when downloading otherwise use
  'application/octet-stream' if none

2011-Apr-08
* Changed the way document page count is parsed from the graphics
  backend, fixing issue #7
* Optimized document metadata query and display

2011-Apr-07
* Implemented OCR output cleanups for English and Spanish
* Redirect user to the website entry point if already logged and lands
  in the login template

2011-Apr-06
* Changed from using SimpleUploadedFile class to stream file to the
  simpler File class wrapper
* Updated staging files previews to use sendfile instead of serve_file
* Moved staging file preview creation logic from documents.views to
  staging.py
* When deleting staging file, it's cached preview is also deleted

2011-Apr-04
* Added a new setup option:
    FILESYSTEM_INDEXING_AVAILABLE_FUNCTIONS - a dictionary to allow users
    to add custom functions
* Made automatic OCR a function of the OCR app and not of Documents app
  (via signals)
  Renamed setup option DOCUMENT_AUTOMATIC_OCR to OCR_AUTOMATIC_OCR
* Clear node name when requeueing a document for OCR

2011-Apr-01
* Added support for editing the metadata of multiple documents at the
  same time

2011-Mar-31
* Added Graphics magick support by means of user selectable graphic
  convertion backends
  Some settings renamed to support this change:
      CONVERTER_CONVERT_PATH is now CONVERTER_IM_CONVERT_PATH
      CONVERTER_IDENTIFY_PATH is now CONVERTER_IM_IDENTIFY_PATH
  Added options:
      CONVERTER_GM_PATH - File path to graphicsmagick's program.
      CONVERTER_GRAPHICS_BACKEND - Backend to use: ImageMagick or 
      GraphicMagick
  
* Raise ImportError and notify user when specifying a non existant
  converter graphics backend

2011-Mar-29
* Fixed issue #4, avoid circular import in permissions/__init__.py
* Add a user to a default role only when the user is created

2011-Mar-28
* Added total page count to statistics view

2011-Mar-25
* Added support to disable the default scrolling JS code included in
  web_theme app, saving some KBs in transfer
* Clear last ocr results when requeueing a document

2011-Mar-24
* Removed the 'exists' column in document list view, diagnostics
  superceded this
* Added 3rd party sendfile app (support apache's X-sendfile)
* Updated the get_document_image view to use the new sendfile app

2011-Mar-23
* Fixed the issue of the strip spaces middleware conflicting with
  downloads
* Removed custom IE9 tags
* Closed Issue #6
* Allow deletion of non existing documents from OCR queue
* Allow OCR requeue of pending documents
* Invalid page numbers now raise Http404, not found instead of error
* Added an additional check to lower the chance of OCR race conditions
  between nodes
* Introduce a random delay to each node to further reduce the chance of
  a race condition, until row locking can be implemented or is
  implemented by Django


2011-Mar-22
* Moved navigation code to its own app
* Reimplemented OCR delay code, only delay new document
  Added a new field: delay, update your database schema acordinging
* Made the concurrent ocr code more granular, per node, every node can
  handle different amounts of concurrent ocr tasks
  Added a new field: node_name, update your database schema acordinging
* Reduced default ocr delay time

2011-Mar-21
* Added a new diagnostics tab under the tools menu
* Added a new option OCR_REPLICATION_DELAY to allow the storage some
  time for replication before attempting to do OCR to a document
* Added OCR multi document re-queue and delete support

2011-Mar-20
* Added simple statistics page (total used storage, total docs, etc)

2011-Mar-18
* Implemented form based and button based multi item actions (button
  based by default)
* Added multi document delete
* Fixed a few HTML validation errors
* Issues are now tracked using github

2011-Mar-16
* Added indexing flags to ocr model
* Small optimization in document list view
* Small search optimization

2011-Mar-14
* Display "DEBUG mode" string in title if DEBUG variable is set to True
* Added the fix-permissions bash script under misc/ folder

2011-Mar-12
* Plugged another file descriptor leak
* Show class name in config settings view
* Added missing config option from the setup menu
* Close file descriptor to avoid leaks

2011-Mar-11
* Don't allow duplicate documents in queues
* Don't raise PermissionDenied exception in PermissionDenied middleware,
  even while debugging
* Fixed page number detection
* Created 'simple document' for non technical users with all of a
  document pages content
* Use document preview code for staging file also
* Error picture literal name removal
* Spanish translation updates
* Show document file path in regards of its storage

2011-Mar-10
* Added new setting: side bar search box

2011-Mar-09
* Implemented new PermissioDenied exception middleware handler
* Permissions app api now returns a PermissionDenied exception instead
  of a custom one
* Added new 403 error template
* Updated the 404 template to display only a not found message
* Moved the login required middleware to the common app
* Fixed search app's model.objects.filter indentation, improved result
  count calculation
* Added dynamic comparison types to search app
* Separated search code from view code
* Correctly calculate show result count for multi model searches
* Fixed OCR queue list showing wrong thumbnail
* Fixed staging file preview
* Show current metadata in document upload view sidebar
* Show sentry login for admin users
* Do not reinitialize document queue and/or queued document on reentry
* Try extra hard not to assign same uuid to two documents
* Added new transformation preview size setting
* Renamed document queue state links
* Changed ocr status display sidebar from form based to text based

2011-Mar-08
* Added document action to clear all the document's page transformations
* Allow search across related fields
* Optimzed search for speed and memory footprint
* Added LIMIT setting to search
* Show search elapsed time on result page

2011-Mar-07
* Converter now differentiates between unknown file format and convert
  errors 
* Close file descriptors when executing external programs to
  prevent/reduce file descriptior leaks
* Improved exception handling of external programs
* Show document thumbnail in document ocr queue list
* Make ocr document date submitted column non breakable
* Fix permissions, directories set to mode 755 and files to mode 644
* Try to fix issue #2, "random ORM field error on search while doing OCR"
* Added configurable location setting for file based storage
* Prepend storage name to differentiate config options

2011-Mar-06
* Fixed duplicated document search
* Optimized document duplicate search
* Added locale middleware, menu bar language switching works now
* Only show language selection list if localemiddleware is active
* Spanish translation updates
* Added links, views and permissions to disable or enable an OCR queue
* Enabled Django's template caching
* Added document queue property side bar window to the document queue
  list view
* Added HTML spaceless middleware to remove whitespace in HTML code

2011-Mar-05
* If current user is superuser or staff show thumbnail & preview
  generation error messages
* Added a setting to show document thumbnail in metadata group list
* Started adding configurations setting descriptions

2011-Mar-04
* Initial GridFS storage support
* Implemented size and delete methods for GridFS
* Implement GridFS storage user settings

2011-Mar-03
* Added document link in the OCR document queue list
* Link to manually re queue failed OCR
* Don't separate links (encose object list links with white-space:
  nowrap;)

2011-Feb-26
* Added document description to the field search list
* Sort OCR queued documents according to submitted date & time
* Document filesystem serving is now a separate app
    - Step to update:
        1) rename the following settings:
            DOCUMENTS_FILESYSTEM_FILESERVING_ENABLE
            DOCUMENTS_FILESYSTEM_FILESERVING_PATH
            DOCUMENTS_FILESYSTEM_SLUGIFY_PATHS
            DOCUMENTS_FILESYSTEM_MAX_RENAME_COUNT
        to:    
            FILESYSTEM_FILESERVING_ENABLE
            FILESYSTEM_FILESERVING_PATH
            FILESYSTEM_SLUGIFY_PATHS
            FILESYSTEM_MAX_RENAME_COUNT
        
        2) Do a ./manage.py syncdb
        3) Execute 'Recreate index links' locate in the tools menu
        4) Wait a few minutes
        
        Some warnings may be returned, but these are not fatal as they
        might be related to missing metadata in some documents.

2011-Feb-21
* Added per document duplicate search and a tools menu option to seach
  all duplicated documents
* Added document tool that deletes and re-creates all documents
  filesystem links
* Increased document's and document metadata index filename field's size
  to 255 characters

2011-Feb-19
* Added sentry to monitor and store error for later debugging
* Zip files can now be uncompressed in memory and their content uploaded
  individually in one step

2011-Feb-17
* Added support for concurrent, queued OCR processing using celery

2011-Feb-16
* Apply default transformations to document before OCR
* Added unpaper to the OCR convertion pipe

2011-Feb-15
* Added views to create, edit and grant/revoke permissions to roles

2011-Feb-14
* Added multipage documents support (only tested on pdfs)
    To update a previous database do: [d.update_page_count() for d in
    Document.objects.all()]
* Added support for document page transformation (no GUI yet)

2011-Feb-13
* Added permissions and roles support

2011-Feb-10
* Added python-magic for smarter MIME type detection
  (https://github.com/ahupp/python-magic).
* Added a new Document model field: file_mime_encoding.
* Show only document metadata in document list view.
* If one document type exists, the create document wizard skips the
  first step.
* Changed to a liquid css grid

* Added the ability to group documents by their metadata
* New abstracted options to adjust document conversion quality (default,
  low, high)
