Skip to content

Commit 4ea108f

Browse files
kpshervaMohammed Taha Khan
authored andcommitted
fix(search): support identifier aliases (cds, cdsrn, aleph, doi)
1 parent 849ecb0 commit 4ea108f

2 files changed

Lines changed: 371 additions & 45 deletions

File tree

invenio.cfg

Lines changed: 57 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -8,64 +8,59 @@ https://inveniordm.docs.cern.ch/reference/configuration/.
88
"""
99

1010
import os
11-
1211
from copy import deepcopy
1312
from datetime import datetime, timedelta
1413

1514
from cds_rdm import schemes
15+
from cds_rdm.clc_sync.services.components import ClcSyncComponent
16+
from cds_rdm.components import (CDSResourcePublication,
17+
MintAlternateIdentifierComponent,
18+
SubjectsValidationComponent)
1619
from cds_rdm.custom_fields import CUSTOM_FIELDS, CUSTOM_FIELDS_UI, NAMESPACES
17-
from cds_rdm.permissions import (
18-
CDSCommunitiesPermissionPolicy,
19-
CDSRDMRecordPermissionPolicy,
20-
CDSRequestsPermissionPolicy,
21-
CDSRDMPreservationSyncPermissionPolicy,
22-
lock_edit_record_published_files,
23-
CDSAuditLogPermissionPolicy
24-
)
2520
from cds_rdm.files import storage_factory
2621
from cds_rdm.inspire_harvester.reader import InspireHTTPReader
2722
from cds_rdm.inspire_harvester.transformer import InspireJsonTransformer
2823
from cds_rdm.inspire_harvester.writer import InspireWriter
29-
from invenio_app_rdm.config import STATS_EVENTS as _APP_RDM_STATS_EVENTS, \
30-
STATS_AGGREGATIONS as _APP_RDM_STATS_AGGREGATIONS, APP_RDM_ROUTES
31-
from invenio_previewer.config import PREVIEWER_PREFERENCE as DEFAULT_PREVIEWER_PREFERENCE
32-
from invenio_rdm_records.checks import requests as checks_requests
33-
from invenio_rdm_records.config import (always_valid, RDM_RECORDS_PERSONORG_SCHEMES,
34-
RDM_RECORDS_IDENTIFIERS_SCHEMES as RDM_RECORDS_RELATED_IDENTIFIERS_SCHEMES
35-
)
36-
from invenio_records_resources.services.records.queryparser import (
37-
QueryParser,
38-
SearchFieldTransformer,
39-
)
40-
from invenio_rdm_records.proxies import current_rdm_records_service as record_service
41-
from invenio_rdm_records.services.components import DefaultRecordsComponents
42-
from invenio_rdm_records.config import (
43-
RDM_PERSISTENT_IDENTIFIERS,
44-
RDM_PARENT_PERSISTENT_IDENTIFIERS,
45-
RDM_SEARCH
46-
)
47-
from invenio_preservation_sync.utils import preservation_info_render
48-
from invenio_cern_sync.users.profile import CERNUserProfileSchema
49-
from invenio_oauthclient.views.client import auto_redirect_login
50-
from invenio_cern_sync.sso import cern_remote_app_name, cern_keycloak
51-
52-
from invenio_vocabularies.config import \
53-
VOCABULARIES_NAMES_SCHEMES as DEFAULT_VOCABULARIES_NAMES_SCHEMES
54-
24+
from cds_rdm.permissions import (CDSAuditLogPermissionPolicy,
25+
CDSCommunitiesPermissionPolicy,
26+
CDSRDMPreservationSyncPermissionPolicy,
27+
CDSRDMRecordPermissionPolicy,
28+
CDSRequestsPermissionPolicy,
29+
lock_edit_record_published_files)
30+
from cds_rdm.pids import validate_optional_doi_transitions
31+
from cds_rdm.views import frontpage_view_function, inspire_link_render
32+
from invenio_app_rdm.config import APP_RDM_RECORD_EXPORTERS as RECORD_EXPORTERS
33+
from invenio_app_rdm.config import APP_RDM_ROUTES
34+
from invenio_app_rdm.config import \
35+
STATS_AGGREGATIONS as _APP_RDM_STATS_AGGREGATIONS
36+
from invenio_app_rdm.config import STATS_EVENTS as _APP_RDM_STATS_EVENTS
5537
from invenio_app_rdm.config import \
5638
VOCABULARIES_DATASTREAM_READERS as DEFAULT_VOCABULARIES_DATASTREAM_READERS
5739
from invenio_app_rdm.config import \
58-
VOCABULARIES_DATASTREAM_TRANSFORMERS as DEFAULT_VOCABULARIES_DATASTREAM_TRANSFORMERS
40+
VOCABULARIES_DATASTREAM_TRANSFORMERS as \
41+
DEFAULT_VOCABULARIES_DATASTREAM_TRANSFORMERS
5942
from invenio_app_rdm.config import \
6043
VOCABULARIES_DATASTREAM_WRITERS as DEFAULT_VOCABULARIES_DATASTREAM_WRITERS
61-
from cds_rdm.clc_sync.services.components import ClcSyncComponent
62-
from cds_rdm.components import CDSResourcePublication
63-
from cds_rdm.components import SubjectsValidationComponent
64-
from cds_rdm.components import MintAlternateIdentifierComponent
65-
from cds_rdm.pids import validate_optional_doi_transitions
66-
from cds_rdm.views import frontpage_view_function, inspire_link_render
67-
68-
from invenio_app_rdm.config import APP_RDM_RECORD_EXPORTERS as RECORD_EXPORTERS
44+
from invenio_cern_sync.sso import cern_keycloak, cern_remote_app_name
45+
from invenio_cern_sync.users.profile import CERNUserProfileSchema
46+
from invenio_oauthclient.views.client import auto_redirect_login
47+
from invenio_preservation_sync.utils import preservation_info_render
48+
from invenio_previewer.config import \
49+
PREVIEWER_PREFERENCE as DEFAULT_PREVIEWER_PREFERENCE
50+
from invenio_rdm_records.checks import requests as checks_requests
51+
from invenio_rdm_records.config import (RDM_PARENT_PERSISTENT_IDENTIFIERS,
52+
RDM_PERSISTENT_IDENTIFIERS)
53+
from invenio_rdm_records.config import \
54+
RDM_RECORDS_IDENTIFIERS_SCHEMES as RDM_RECORDS_RELATED_IDENTIFIERS_SCHEMES
55+
from invenio_rdm_records.config import (RDM_RECORDS_PERSONORG_SCHEMES,
56+
RDM_SEARCH, always_valid)
57+
from invenio_rdm_records.proxies import \
58+
current_rdm_records_service as record_service
59+
from invenio_rdm_records.services.components import DefaultRecordsComponents
60+
from invenio_records_resources.services.records.queryparser import (
61+
QueryParser, SearchFieldTransformer)
62+
from invenio_vocabularies.config import \
63+
VOCABULARIES_NAMES_SCHEMES as DEFAULT_VOCABULARIES_NAMES_SCHEMES
6964

7065

7166
def _(x): # needed to avoid start time failure with lazy strings
@@ -391,6 +386,24 @@ RDM_SEARCH = {
391386
"projects": "custom_fields.cern\:projects",
392387
"study": "custom_fields.cern\:studies",
393388
"studies": "custom_fields.cern\:studies",
389+
"identifier": "metadata.identifiers.identifier",
390+
"cdsrn": "metadata.identifiers.identifier",
391+
"report_number": "metadata.identifiers.identifier",
392+
"inspire": "metadata.related_identifiers.identifier",
393+
"inis": "metadata.related_identifiers.identifier",
394+
"indico": "metadata.related_identifiers.identifier",
395+
"cds": "metadata.identifiers.identifier",
396+
"aleph": "metadata.identifiers.identifier",
397+
"doi": "pids.doi.identifier",
398+
"language": "metadata.languages.id",
399+
"languages": "metadata.languages.id",
400+
"title": "metadata.title",
401+
"publisher": "metadata.publisher",
402+
"description": "metadata.description",
403+
"publication_date": "metadata.publication_date",
404+
"creator": "metadata.creators.person_or_org.name",
405+
"creators": "metadata.creators.person_or_org.name",
406+
394407
},
395408
tree_transformer_cls=SearchFieldTransformer,
396409
),

0 commit comments

Comments
 (0)