Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request for Transactional Metadata Queries (TMDQ) in ADF #5062

Open
aitseitz opened this issue Sep 6, 2019 · 0 comments
Open

Feature Request for Transactional Metadata Queries (TMDQ) in ADF #5062

aitseitz opened this issue Sep 6, 2019 · 0 comments

Comments

@aitseitz
Copy link

aitseitz commented Sep 6, 2019

Type of issue:

  • New feature request
  • Bug
  • Support request
  • Documentation

Current behaviour:
ADF 3.4.0 (latest) currently does not support Transactional Metadata Queries (TMDQ) against the database.
All search queries in ADF (content app and Alfresco Digigal Workplace) are running against the solr6 index!
(check discussion with Deny Vuika on the official alfresco content-app gitter chat from 6th of september 2019)

Expected behavior:
Having some option in ADF to allow TMDQ in general or even better if certain search api calls can be force to use TMDQ and run against the database instead of the solr6 index. Something similar to like 'queryConsistency' we're used to from the Alfresco JAVA Search API:

searchParameters.setQueryConsistency(QueryConsistency.EVENTUAL); // against Solr Index
searchParameters.setQueryConsistency(QueryConsistency.TRANSACTIONAL); // against DB

Steps to reproduce the issue:

  1. Open alfresco repository tier /alfresco/s/enterprise/admin/admin-searchservice
  2. Configure the Transactional Query Options for Alfresco Full Text Search (AFTS) to always use Database
  3. Reload your ADF Application (ADW or content-app) and open a configured search filter, for example #/recent-files or /#/favorites
  4. open console in browser and see all search queries fail with http 500 errors

Component name and version:
ADF Search API for example in custom filters in app.config.json
as well as search-query-builder.service.ts

Browser and version:
[all]

Node version (for build issues):
not relvant to this feature request

New feature request:

Motivation behind this feature request:
Not having the TMDQ option can lead to timing issues on an adf search refresh. Example given:
Customer uploads two documents via the adf app without filling out some custom mandatory aspects. The two uploaded documents will automatically get the 'sys:incomplete' aspect via a transaction (for details see: org.alfresco.repo.node.integrity.IncompleteNodeTagger) because mandatory aspects are missing.
The Customer then fills out all mandatory aspects for only one of the two documents.
Then the customer quickly navigates to a facetted filter which searches for the 'sys:incomplete' aspect. This is configured via app.config.json like this:

"component": {
  "selector": "check-list",
  "settings": {
    "options": [
      {
        "name": "Metadaten unvollständig",
        "value": "ASPECT:'sys:incomplete' AND (ASPECT:'customer:customaspect1' OR ASPECT:'customer:customaspect2')""
      }
    ]
  }
}

Now in the search result he can see both uploaded documents eventhough one document already has all mandatory aspects set and should not be appear in the search result.
If the customer waits for solr index to complete (default ~15sec) and then refreshes the adf search page, he'll see the correct result (only 1 document with missing mandatory aspects)


Having an QueryConsistency option for TMDQ in ADF Search API (search-query-builder.service.ts) would be great to avoid such transaction timing issues in the future.
Keep in mind that ADF Search Queries uses the official Alfresco REST API
https://api-explorer.alfresco.com/api-explorer/#!/search/search
and a disussion with the adf repository team should be made to check whether QueryConsistency option might be necessary in the Alfresco Search REST API to fullfill this feature request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants