From 13d36ab174cd9018d8feebc592ac6e8105c5752d Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sun, 1 Apr 2018 20:12:08 -0400 Subject: [PATCH] commit ce782a37f75727e998a6703802b16261e8e8ddca (HEAD -> feature/mayan-edms-ng-3-merge) Author: Michael Price Date: Mon Mar 12 16:32:29 2018 -0400 Move pending task chapter to its own topic file. Add release blockers and new features. Signed-off-by: Michael Price Signed-off-by: Roberto Rosario --- docs/topics/pending_tasks.rst | 229 ---------------------------------- docs/topics/pending_work.rst | 157 ++++++++++++++++++++++- 2 files changed, 156 insertions(+), 230 deletions(-) delete mode 100644 docs/topics/pending_tasks.rst diff --git a/docs/topics/pending_tasks.rst b/docs/topics/pending_tasks.rst deleted file mode 100644 index 8a51b2f098..0000000000 --- a/docs/topics/pending_tasks.rst +++ /dev/null @@ -1,229 +0,0 @@ -Pending errors --------------- - -These are errors or issues that are blocking a release. - -UI - Frontend -~~~~~~~~~~~~~ -- Close fancybox when clicking on the title to move to the document view. -- Match row height is not executing until scroll. -- Fix shift+click and control+click. - -UI - Backend -~~~~~~~~~~~~ -- Contextual multiple object action list is updating. On Checkout list - should diplay document checkin link. Same for other views. - - -Pending tasks -------------- - -These are task that need to be completed but are missing a dependency or -a design decision. As more information is added to each, they should be -converted into a MERC. - -API -~~~ -- User API edit view: Should not be able to add of remove groups without - corresponding group access. -- User group list API get & post views: Should adding a group to an user - via the API return 201 or 200. Currently returns 201. -- Consisten API return code for delete views without access. Some views - return 403 other return 404. -- Update API docstrings. The upgrade to the latest DRF broke all formatting. -- Make views smaller. Much as much as possible to serializers. -- Switch to ViewSets. - -Converter -~~~~~~~~~ -- Move converter transformations to their own module. - -Documents -~~~~~~~~~ -- Navigating to the interactive document page image is not triggering - the document view event. - -Events -~~~~~~ -- New event: document emailed. - -Forms processing -~~~~~~~~~~~~~~~~ -- Remove usage of self.cleaned_data. Use self.clean_data instead. - - -Notifications -~~~~~~~~~~~~~ -- Fix notification duplication of global & per document subscription - notifications. [DONE] - -Other -~~~~~ -- When moving documents to the trash update the message to "submitted" - and not "moved" or "deleted" since this is handled by a task queue - and is not immediate and doesn't delete the document. -- When emptying the trash update the message to "submitted" - since this is handled by a task queue and is not immediate. -- Delete .gitignore files from copied packages. Include .gitignore files - keep compiled or distributable files from being included in the main - repository. Temporary measure until a Javascript library manager is - added. -- Update celery to 4.1.0 -- Update to use the new class based views in the authentication app. - password_change(), password_change_done(), password_reset(), - password_reset_done(), password_reset_confirm(), and password_reset_complete() - function-based views are deprecated in favor of new class-based views - PasswordChangeView, PasswordChangeDoneView, PasswordResetView, - PasswordResetDoneView, PasswordResetConfirmView, and PasswordResetCompleteView. -- django.utils.translation.string_concat() is deprecated in favor of - django.utils.text.format_lazy(). string_concat(*strings) can be - replaced by format_lazy('{}' * len(strings), *strings). - Found in converter/classes.py and metadata/forms.py. -- Fix warnings in preparation for Django 2.0. -- Update all tempfile.mkstemp() to tempfile.mkstemp(dir=setting_temporary_directory.value) -- Get rid of common.utils.get_descriptor only used by common.utils.copyfile -- Update common.utils.copyfile to use only file objects. -- Change metadata label column from CharField to Label -- Start testing to Python 3 compatibility. - - -Permissions -~~~~~~~~~~~ -- Permission should be reciprocal. Example: To be able to add a tag to a - document, the user must hold the tag add permission for the document - and for the tag to be added. To be able to enable a metadata type to a - document type, the user must hold the metadata add permissions for the - metadata type and for the document type. -- Edit type permissions should only grant the ability to edit the properties - of an object. To modify its relationship with other objects a reciprocal - permission check should be instead. - -Search -~~~~~~ -- Rename SearchModel.pk to id - -Sources -~~~~~~~ -- Add ACLs support to sources. -- Provide error message/feedback when scanning from a remote scanner fails. -- Redirect to the same source when scanning from a remote scanner finishes. - Safe for staging files. -- Render date time of scanned documents using SANE to a better output - (like document versions). - -Testing -~~~~~~~ -- Add document test mixin that creates documents types and documents - (to be used in dynamic_search.test_api). -- Update all API tests using self.client to just self. and the HTTP method. -- Add test for searches for each app that uses search. -- Split documents.tests.test_views into test_document_views test_pages_views, etc. - The module is too big. - - -UI -~~ -- Shift click select to seletect multiple documents. -- During the document upload wizard and the option to double click to - select document type and submit the form. The purpose is to speed up - the step with less mouse travel since this is a common screen. -- Add metadata to the Menu class to allow UI code to decide where and how - to display each menu. -- Reduce the facet buttons paddings. -- Make facet action button smaller. Reduce margin-bottom. -- Hitting refresh adds a new history? Can refresh be detected with JS. - - -Workflows -~~~~~~~~~ -- Require a permission for document types to avoid a user that has the workflow - creation permission to attach a workflow to a document type they don't - control. -- Research making APIWorkflowDocumentTypeList a subclass of documents.api_views.APIDocumentTypeList -- A POST request to APIWorkflowDocumentTypeList should require some permission - on the document type part to avoid adding non controlled document types - to a new workflow. -- To transition a workflow, the transition permission is only needed for the - workflow. Make it necesary to have the same permission for the document - of document type. -- To view the transition log, the workflow view permission is only needed for the - document. Make it necesary to have the same permission for the workflow or - for the transition and the states. - - - -New features ------------- - -Converter -~~~~~~~~~ -- New zoom transformation. Resample, not just bigger final size but do - a resize * zoom multiple before. Produces a bigger image or higher - quality than the original. - -Caching -~~~~~~~ -- Size limited caching. A new model in the common app will keep track - of all cache files. A manager method will be provided that will - return the cache files in other of age to be deleted. - -Distribution -~~~~~~~~~~~~ -- Python based Javascript package manager. Each app specifies what - library and version needs. The common app (or a new app) will add all - the JS loading lines automatically so that compress can detect them. - -Other -~~~~~ -- New app that allows creating user document filters. Will provide the - same service as the document filters class. Interface can be made - using the template language or the same UI as the smart links. -- Allow add queue metadata that can be exported via a management command. - This will allow creating supervisor templates without all the worker - entries being hardcoded. -- Automatically capture license information from installed Javascript - libraries. -- Automatically capture license information from installed Python - packages. -- Finish and merge improved compressed file branch. -- Improve and merge PCL support branch. -- Swtich to self hosted documentation. -- Unify error logs in a common model. Fields: Datetime, namespace, - message, content type, object id. -- Export documents as PDF. Each document image is used to create a PDF - dinamycally. -- Document splitting. Only for PDF files first. A document versions - relationship between the documents has to be designed. -- Manually linking documents. - - -Metadata -~~~~~~~~ -- Metadata lookup memory. Add a select2 style widget that will query a - new metadata API endpoint that will return all used values so far. - -Search -~~~~~~ -- Add support for highlighting the search results in pages. - -Settings -~~~~~~~~ -- Database based settings. - -Sources -~~~~~~~ -- UI improvement for staging folders files selection. GitLab issue. - -UI -~~ -- Upgrade to Bootstrap 4. -- Upgrade to Flatly 4. -- Better workflow transition UI. Instead of a dropdown show all the - available transitions as buttons. - -Workflows -~~~~~~~~~ -- Workflow trigger filters. Example: {{ document.document_type.name = 'invoice' }} or same - UI as the smart links app. Will allow restricting the firing of workflow - actions by an user defined filter criteria. -- New workflow action: send email. Subject and content are templates. diff --git a/docs/topics/pending_work.rst b/docs/topics/pending_work.rst index 6d8adcd46b..5cdd1eb95c 100644 --- a/docs/topics/pending_work.rst +++ b/docs/topics/pending_work.rst @@ -2,6 +2,26 @@ Pending work ============ +Release blockers +---------------- + +These are errors or issues that are blocking a release. + +UI - Frontend +~~~~~~~~~~~~~ +- Close fancybox when clicking on the title to move to the document view. +- Match row height is not executing until scroll. +- Fix shift+click and control+click. + + +UI - Backend +~~~~~~~~~~~~ +- Contextual multiple object action list is updating. On Checkout list + should diplay document checkin link. Same for other views. + + +Pending work +------------ These are tasks that need to be completed but are missing a dependency or a design decision. As more information is added to each, they should be @@ -15,6 +35,10 @@ API via the API return 201 or 200. Currently returns 201. - Consistent API return code for delete views without access. Some views return 403 other return 404. +- Update API docstrings. The upgrade to the latest DRF broke all formatting. +- Make views smaller. Much as much as possible to serializers. +- Switch to ViewSets. + Caching ~~~~~~~ @@ -22,15 +46,34 @@ Caching of all cache files. A manager method will be provided that will return the cache files in other of age to be deleted. + +Converter +~~~~~~~~~ +- Move converter transformations to their own module. + + +Documents +~~~~~~~~~ +- Navigating to the interactive document page image is not triggering + the document view event. + + +Events +~~~~~~ +- New event: document emailed. + + Forms processing ~~~~~~~~~~~~~~~~ - Remove usage of self.cleaned_data. Use self.clean_data instead. + Metadata ~~~~~~~~ - Metadata lookup memory. Add a select2 style widget that will query a new metadata API endpoint that will return all used values so far. + Notifications ~~~~~~~~~~~~~ - Fix notification duplication of global & per document subscription @@ -60,8 +103,26 @@ Other libraries. - Automatically capture license information from installed Python packages. +- Update celery to 4.1.0 +- Update to use the new class based views in the authentication app. + password_change(), password_change_done(), password_reset(), + password_reset_done(), password_reset_confirm(), and password_reset_complete() + function-based views are deprecated in favor of new class-based views + PasswordChangeView, PasswordChangeDoneView, PasswordResetView, + PasswordResetDoneView, PasswordResetConfirmView, and PasswordResetCompleteView. +- django.utils.translation.string_concat() is deprecated in favor of + django.utils.text.format_lazy(). string_concat(*strings) can be + replaced by format_lazy('{}' * len(strings), *strings). + Found in converter/classes.py and metadata/forms.py. +- Fix warnings in preparation for Django 2.0. +- Update all tempfile.mkstemp() to tempfile.mkstemp(dir=setting_temporary_directory.value) +- Get rid of common.utils.get_descriptor only used by common.utils.copyfile +- Update common.utils.copyfile to use only file objects. +- Change metadata label column from CharField to Label +- Start testing to Python 3 compatibility. - Unify all **RelationshipForms into a common class. + Permissions ~~~~~~~~~~~ - Permission should be reciprocal. Example: To be able to add a tag to a @@ -73,11 +134,16 @@ Permissions of an object. To modify its relationship with other objects a reciprocal permission check should be instead. + +Search +~~~~~~ +- Rename SearchModel.pk to id + + Sources ~~~~~~~ - Add ACLs support to sources. - Provide error message/feedback when scanning from a remote scanner fails. -- Redirect to the same source when scanning from a remote scanner finishes. - Require a permission for document types to avoid a user that has the workflow creation permission to attach a workflow to a document type they don't control. @@ -91,11 +157,19 @@ Sources - To view the transition log, the workflow view permission is only needed for the document. Make it necesary to have the same permission for the workflow or for the transition and the states. +- Render date time of scanned documents using SANE to a better output + (like document versions). + Testing ~~~~~~~ - Add document test mixin that creates documents types and documents (to be used in dynamic_search.test_api). +- Update all API tests using self.client to just self. and the HTTP method. +- Add test for searches for each app that uses search. +- Split documents.tests.test_views into test_document_views test_pages_views, etc. + The module is too big. + UI ~~ @@ -105,6 +179,10 @@ UI the step with less mouse travel since this is a common screen. - Add metadata to the Menu class to allow UI code to decide where and how to display each menu. +- Reduce the facet buttons paddings. +- Make facet action button smaller. Reduce margin-bottom. +- Hitting refresh adds a new history? Can refresh be detected with JS. + Workflows ~~~~~~~~~ @@ -125,3 +203,80 @@ Workflows - To view the transition log, the workflow view permission is only needed for the document. Make it necesary to have the same permission for the workflow or for the transition and the states. + + +New features +------------ + +Converter +~~~~~~~~~ +- New zoom transformation. Resample, not just bigger final size but do + a resize * zoom multiple before. Produces a bigger image or higher + quality than the original. + +Caching +~~~~~~~ +- Size limited caching. A new model in the common app will keep track + of all cache files. A manager method will be provided that will + return the cache files in other of age to be deleted. + +Distribution +~~~~~~~~~~~~ +- Python based Javascript package manager. Each app specifies what + library and version needs. The common app (or a new app) will add all + the JS loading lines automatically so that compress can detect them. + +Other +~~~~~ +- New app that allows creating user document filters. Will provide the + same service as the document filters class. Interface can be made + using the template language or the same UI as the smart links. +- Allow add queue metadata that can be exported via a management command. + This will allow creating supervisor templates without all the worker + entries being hardcoded. +- Automatically capture license information from installed Javascript + libraries. +- Automatically capture license information from installed Python + packages. +- Finish and merge improved compressed file branch. +- Improve and merge PCL support branch. +- Swtich to self hosted documentation. +- Unify error logs in a common model. Fields: Datetime, namespace, + message, content type, object id. +- Export documents as PDF. Each document image is used to create a PDF + dinamycally. +- Document splitting. Only for PDF files first. A document versions + relationship between the documents has to be designed. +- Manually linking documents. + + +Metadata +~~~~~~~~ +- Metadata lookup memory. Add a select2 style widget that will query a + new metadata API endpoint that will return all used values so far. + +Search +~~~~~~ +- Add support for highlighting the search results in pages. + +Settings +~~~~~~~~ +- Database based settings. + +Sources +~~~~~~~ +- UI improvement for staging folders files selection. GitLab issue. + +UI +~~ +- Upgrade to Bootstrap 4. +- Upgrade to Flatly 4. +- Better workflow transition UI. Instead of a dropdown show all the + available transitions as buttons. + +Workflows +~~~~~~~~~ +- Workflow trigger filters. Example: {{ document.document_type.name = 'invoice' }} or same + UI as the smart links app. Will allow restricting the firing of workflow + actions by an user defined filter criteria. +- New workflow action: send email. Subject and content are templates.