commit ce782a37f7 (HEAD -> feature/mayan-edms-ng-3-merge)
Author: Michael Price <loneviking72@gmail.com> 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 <loneviking72@gmail.com> Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -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.
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user