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
|
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
|
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
|
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.
|
via the API return 201 or 200. Currently returns 201.
|
||||||
- Consistent API return code for delete views without access. Some views
|
- Consistent API return code for delete views without access. Some views
|
||||||
return 403 other return 404.
|
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
|
Caching
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
@@ -22,15 +46,34 @@ Caching
|
|||||||
of all cache files. A manager method will be provided that will
|
of all cache files. A manager method will be provided that will
|
||||||
return the cache files in other of age to be deleted.
|
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
|
Forms processing
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
- Remove usage of self.cleaned_data. Use self.clean_data instead.
|
- Remove usage of self.cleaned_data. Use self.clean_data instead.
|
||||||
|
|
||||||
|
|
||||||
Metadata
|
Metadata
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
- Metadata lookup memory. Add a select2 style widget that will query a
|
- Metadata lookup memory. Add a select2 style widget that will query a
|
||||||
new metadata API endpoint that will return all used values so far.
|
new metadata API endpoint that will return all used values so far.
|
||||||
|
|
||||||
|
|
||||||
Notifications
|
Notifications
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
- Fix notification duplication of global & per document subscription
|
- Fix notification duplication of global & per document subscription
|
||||||
@@ -60,8 +103,26 @@ Other
|
|||||||
libraries.
|
libraries.
|
||||||
- Automatically capture license information from installed Python
|
- Automatically capture license information from installed Python
|
||||||
packages.
|
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.
|
- Unify all **RelationshipForms into a common class.
|
||||||
|
|
||||||
|
|
||||||
Permissions
|
Permissions
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
- Permission should be reciprocal. Example: To be able to add a tag to a
|
- 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
|
of an object. To modify its relationship with other objects a reciprocal
|
||||||
permission check should be instead.
|
permission check should be instead.
|
||||||
|
|
||||||
|
|
||||||
|
Search
|
||||||
|
~~~~~~
|
||||||
|
- Rename SearchModel.pk to id
|
||||||
|
|
||||||
|
|
||||||
Sources
|
Sources
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
- Add ACLs support to sources.
|
- Add ACLs support to sources.
|
||||||
- Provide error message/feedback when scanning from a remote scanner fails.
|
- 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
|
- 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
|
creation permission to attach a workflow to a document type they don't
|
||||||
control.
|
control.
|
||||||
@@ -91,11 +157,19 @@ Sources
|
|||||||
- To view the transition log, the workflow view permission is only needed for the
|
- 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
|
document. Make it necesary to have the same permission for the workflow or
|
||||||
for the transition and the states.
|
for the transition and the states.
|
||||||
|
- Render date time of scanned documents using SANE to a better output
|
||||||
|
(like document versions).
|
||||||
|
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
- Add document test mixin that creates documents types and documents
|
- Add document test mixin that creates documents types and documents
|
||||||
(to be used in dynamic_search.test_api).
|
(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
|
UI
|
||||||
~~
|
~~
|
||||||
@@ -105,6 +179,10 @@ UI
|
|||||||
the step with less mouse travel since this is a common screen.
|
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
|
- Add metadata to the Menu class to allow UI code to decide where and how
|
||||||
to display each menu.
|
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
|
Workflows
|
||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
@@ -125,3 +203,80 @@ Workflows
|
|||||||
- To view the transition log, the workflow view permission is only needed for
|
- 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
|
the document. Make it necesary to have the same permission for the workflow or
|
||||||
for the transition and the states.
|
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