diff --git a/docs/TODO b/docs/TODO deleted file mode 100644 index f10681d75b..0000000000 --- a/docs/TODO +++ /dev/null @@ -1,205 +0,0 @@ -TODO, WISHLIST -=========== -* Fix repeated search results - DONE -* File renaming dropdown - DONE -* Create indexing filesystem folders from document type metadata type - DONE -* Document detail to view document metadata - DONE -* Add file checksums (hashlib) - DONE -* Delete symlinks when document is deleted - DONE -* Handle NULL mimetypes during model save - DONE -* Raise exception instead of returning error msg - DONE -* Option to delete source staging file after upload - DONE -* Jquery upload document upload form with ajax widget - NOT NEEDED (commit: b0f31f2a8f82ff0daca081005f2fcae3f5573df5) -* Rename dropbox from document edit view - DONE -* Ability to rename staging file during upload - DONE -* Implement single sign on or LDAP for intranets - DEFERRED, provided by Django AuthBackends -* Database storage backend (sql, nosql: [mongodb]) - DEFERRED, provided by https://bitbucket.org/david/django-storages/wiki/Home -* Staging file previews - DONE -* Display file size in list and details - DONE -* Document previews - DONE -* Document previews on demand w/ imagemagick - DONE -* Add document description - DONE -* Integrate with http://code.google.com/p/pytesser/ - DEFERRED, done using Popen -* Show abbreviated uuid in document list - DEFERRED, Impractical -* Update symlinks when document or metadata changed - DONE -* Cache thumbnails and preview by document hash not by uuid - DONE -* Show document metadata in document list - DONE -* Add css grids - DONE -* If theres only one document type on db skip step 1 of wizard - DONE -* Be able to delete staging file - DONE -* Group documents by metadata - DONE -* Permissions - DONE -* Roles - DONE -* Assign default role to new users - DONE -* DB stored transformations - DONE -* Recognize multi-page documents - DONE -* Add unpaper to pre OCR document cleanup - DONE -* Count pages in a PDF file http://pybrary.net/pyPdf/ - NOT NEEDED -* Support distributed OCR queues (RabbitMQ & Celery?) - DONE -* MuliThreading deferred OCR - DONE -* Handle ziped or rar archives - DONE (zip only) -* Scheduled maintenance (cleanup, deferred OCR's) - DONE -* Tesserat default option ocr setup - DONE -* Check duplicated files using checksum - DONE -* Link to delete and recreate all document links - DONE -* Indicate in generic list which don't exist in storage backend - DONE -* Change to model signals - NOT NEEDED, found way to prevent save method recursion -* Show current page in generic list template - DONE -* Enable/disable ocr queue view & links - DONE -* Android App - NOT NEEDED (Use CamScanner, (C) IntSig Information Co, Ltd.) -* Extract nagivation code into new navigation app - DONE - -* TODO: Solve css:last column problem -* Change task manager from celery/rabbit to gearman -* Receive documents via email -* Mobile version -* Exif to metadata convertion -* External portal using sites contrib app -* Scanned document embedded barcode reading -* Encode metadata in barcode or qrcode on hardcopy -* Support custom applets (coordinates) - http://facstaff.unca.edu/mcmcclur/GoogleMaps/Projections/Lambert.html - http://code.google.com/p/django-gmapi/ - http://pypi.python.org/pypi/django-easy-maps - -Main -==== -* Diagnostics (document file <-> document db mismatches, orphan files) - DONE -* Sidebar search - DONE -* Convert home and about views to use generic_template - DEFFERED, cleanup html - -Common -====== -* Filterform date filtering widget -* Divide navigation links search by object and by view -* Merge generic templates into template widget object based rendering - DONE -* Multiple document select in generic list template - DONE -* Keyboard navigation -* Default button linking to 'Enter' and ESC key for cancel -* Dismiss all messages - DONE -* Sidebar multi item action box - DONE (inline w/ list) -* Show big icons in confirmation prompts (ie: document delete) - DONE - -Permissions -=========== -* Add permissions support to menus - DONE -* Role editing view under setup - DONE -* Implement permissions decorators -* Add user editing under roles menus - DONE -* Workflows app -* Handle anonymous users - -Documents -========= -* Skip step 2 of wizard (metadata) if no document type metadata types - DONE - have been defined -* Tile based image server -* Do separate default transformations for staging and for local uploads -* Download a document in different formats: (jpg, png, pdf) -* Download metadata group documents as a single zip file -* Download original document or transformed document -* Display preferences 'document transformations' (Rotation, default zoom) -* Document view temp transformations -* Gallery view for document groups - DONE -* Versioning support -* Generic document anotations using layer overlays -* Field for document language or autodetect -* Validate GET data before saving file -* Multiple document actions (clear transformations, delete) - DONE -* Publish document option -* Document list filtering by metadata -* Show last 5 recent metadata setups for easy switch -* Allow document type to be changed in document edit view -* Document model's delete method might not get called when deleting in bulk - from a queryset -* Allow metadata entry form to mix required and non required metadata - DEFFERED -* Block Setup menu item to non staff and non superuser users - DONE by means of evaluation or permissions -* Include annotations in transformed documents downloads -* Toggable option to include default transformation on document upload -* Add document tagging - DONE -* Separate free form document rename and require new permission -* Test zip file upload with multi directories zip file -* Don't append an extension separator if extension is non existant -* Statistics page (total used storage, total docs, per metadata group, - per type, per metadata) - DONE -* Improve doc page template/view - DONE -* Document page edit view - DONE -* Show all document's pages content combined - DONE -* Create 'simple view' document view for non technical users - DONE -* Unify document form classes - DONE -* Use document preview code for staging file also - DONE -* Delete physical file on delete method - DEFFERED (Not needed until Django 1.3) -* Download individual document pages -* Document printing support - STARTED -* Document group actions - DONE - -Filesystem serving -================== -* Avoid metadata indexing folders name clash -* WebDAV support - -Search -====== -* Advanced search by metadata fields -* Save advanced search by metadata setup as a virtual folder -* Add show_summary method to model to display as results of a search -* Cross model inclusion search - DONE -* Separate view code from search code - DONE -* New results only view - DONE -* Date search support - -Convert -======= -* Create mimetype convert map -* Migrate ocr app tesseract handling to convert app - DONE -* Add timeout support convert tasks -* DXF viewer - http://code.google.com/p/dxf-reader/source/browse/#svn%2Ftrunk -* Support spreadsheets, wordprocessing docs using openoffice in server - mode - DONE -* Cache.cleanup function to delete cached images when document hash - changes -* Support ExactImage -* Optimize zoom resizing - # if size: - # extra_options += u' -resize %d' % (int(size) * zoom / 100) - # else: - # if zoom != 100: - # extra_options += u' -resize %d%% ' % zoom - -Storage -======= -* Storage backend to storage backend copy support, to move/migrate - document to new storage backend -* Encrypting storage backend - Middleware storage that calls final storage backend, - http://www.freenet.org.nz/ezPyCrypto/ - -GridFSStorage -============= -* Implement user settings - DONE -* Implement delete-open soft locking - DEFERRED -* Implement master_slave_connection -* if exists adding _ plus a counter - avoid file versioning -* GridFS FUSE to filesystem serving bridge - -OCR -=== -* Don't do OCR on wordproccessing or spreadsheet document, strip tags - and store text -* Add timeout support to ocr tasks -* Allow for OCR document requeue on error and requeue limit -* Multiple ocr queue support - STARTED -* Add per node max ocr concurrent execution - DONE -* Don't allow duplicate documents in queues - DONE -* OCR queue schedule support -* Make automatic OCR a function of OCR app and not of Documents app - (via signals) - DONE -* Two types of OCR nodes: thin, fat (thin = document file is passed - serialized to node, fat = has direct access to document storage read - document file) -* Move document in queue (up, down, top, bottom) -* Support ocropus -* Support cuneiform -* Implement StringIO -* Add storage replication delay setting - DONE -* Advanced statistics (OCR average completion time, error rate)