From db432b0d18e7660676ec60abf0ccafe94e3b5ecc Mon Sep 17 00:00:00 2001 From: Ihor Sokhan Date: Thu, 10 Apr 2025 12:35:07 +0300 Subject: [PATCH 1/3] update authors' names format in metadata --- website/profile/utils.py | 1 + website/templates/project/project_base.mako | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/website/profile/utils.py b/website/profile/utils.py index 5b1e22e8916..468fa42fd4a 100644 --- a/website/profile/utils.py +++ b/website/profile/utils.py @@ -31,6 +31,7 @@ def serialize_user(user, node=None, admin=False, full=False, is_profile=False, i 'id': str(user._id), 'registered': user.is_registered, 'surname': user.family_name, + 'given_name': user.given_name, 'fullname': fullname, 'shortname': fullname if len(fullname) < 50 else fullname[:23] + '...' + fullname[-23:], 'profile_image_url': user.profile_image_url(size=settings.PROFILE_IMAGE_MEDIUM), diff --git a/website/templates/project/project_base.mako b/website/templates/project/project_base.mako index 6dcab9e4175..6ba39f42418 100644 --- a/website/templates/project/project_base.mako +++ b/website/templates/project/project_base.mako @@ -71,7 +71,7 @@ <%def name="authors_meta()"> %if node['contributors'] and not node['anonymous']: <% - return [contrib['fullname'] for contrib in node['contributors'] if isinstance(contrib, dict)] + return [f'{contrib['surname']}, {contrib['given_name']}'for contrib in node['contributors'] if isinstance(contrib, dict)] %> %endif From 1dc349d4f43b0ade01a6c1a7949ef0594646f66d Mon Sep 17 00:00:00 2001 From: Ihor Sokhan Date: Thu, 10 Apr 2025 15:08:02 +0300 Subject: [PATCH 2/3] not update creators' names format --- website/templates/base.mako | 8 ++++++-- website/templates/project/project_base.mako | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/website/templates/base.mako b/website/templates/base.mako index 2561d2da961..642f8ffa03c 100644 --- a/website/templates/base.mako +++ b/website/templates/base.mako @@ -75,8 +75,8 @@ - %for author in self.authors_meta()[:10]: - + %for author, creator in list(zip(self.authors_meta()[:10], self.creator_meta()[:10])): + %endfor %for tag in self.keywords_meta()[:10]: @@ -329,6 +329,10 @@ ### The list of project contributors ### +<%def name="creator_meta()"> + ### The list of project creators ### + + <%def name="datemodified_meta()"> ### The project last modified date. diff --git a/website/templates/project/project_base.mako b/website/templates/project/project_base.mako index 6ba39f42418..68ff9354038 100644 --- a/website/templates/project/project_base.mako +++ b/website/templates/project/project_base.mako @@ -76,6 +76,14 @@ %endif +<%def name="creator_meta()"> + %if node['contributors'] and not node['anonymous']: + <% + return [contrib['fullname'] for contrib in node['contributors'] if isinstance(contrib, dict)] + %> + %endif + + <%def name="institutions_meta()"> %if node['institutions']: <% From a5d8c39a51bf090c936b7486487319cfd7ccafcc Mon Sep 17 00:00:00 2001 From: Ihor Sokhan Date: Thu, 10 Apr 2025 16:56:40 +0300 Subject: [PATCH 3/3] added given and family name to google metadata --- osf/metadata/serializers/google_dataset_json_ld.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/osf/metadata/serializers/google_dataset_json_ld.py b/osf/metadata/serializers/google_dataset_json_ld.py index 04deebede00..896e80acc7c 100644 --- a/osf/metadata/serializers/google_dataset_json_ld.py +++ b/osf/metadata/serializers/google_dataset_json_ld.py @@ -76,10 +76,12 @@ def metadata_as_dict(self) -> dict: def format_creators(basket): creator_data = [] - for creator_iri in basket[DCTERMS.creator]: + for creator in basket.focus.dbmodel.contributors.all(): creator_data.append({ '@type': 'Person', - 'name': next(basket[creator_iri:FOAF.name]), + 'name': creator.fullname, + 'givenName': creator.given_name, + 'familyName': creator.family_name }) return creator_data