From 56d9f9e4e78f5eb9b839b646477f6c37e558f4a2 Mon Sep 17 00:00:00 2001 From: astanley Date: Mon, 31 Aug 2026 10:55:54 -0300 Subject: [PATCH] initial commit --- config/install/block.block.authortasks.yml | 36 + .../block.block.bartik_account_menu.yml | 25 + config/install/block.block.bartik_tools.yml | 25 + config/install/block.block.citethis.yml | 29 + .../metatag.metatag_defaults.node__issue.yml | 25 + ...metatag_defaults.node__journal_article.yml | 28 + .../block.block.bartik_account_menu.yml | 23 + .../optional/block.block.bartik_branding.yml | 22 + .../block.block.bartik_breadcrumbs.yml | 19 + .../optional/block.block.bartik_content.yml | 19 + config/optional/block.block.bartik_footer.yml | 23 + config/optional/block.block.bartik_help.yml | 19 + .../block.block.bartik_local_actions.yml | 17 + .../block.block.bartik_local_tasks.yml | 19 + .../optional/block.block.bartik_main_menu.yml | 23 + .../optional/block.block.bartik_messages.yml | 19 + .../block.block.bartik_page_title.yml | 17 + .../optional/block.block.bartik_powered.yml | 19 + .../block.block.seven_breadcrumbs.yml | 18 + config/optional/block.block.seven_content.yml | 18 + config/optional/block.block.seven_help.yml | 18 + .../block.block.seven_local_actions.yml | 15 + config/optional/block.block.seven_login.yml | 18 + .../optional/block.block.seven_messages.yml | 17 + .../optional/block.block.seven_page_title.yml | 17 + .../block.block.seven_primary_local_tasks.yml | 17 + ...lock.block.seven_secondary_local_tasks.yml | 17 + config/optional/block_content.type.text.yml | 5 + config/optional/comment.type.comment.yml | 7 + ...orm_display.block_content.text.default.yml | 31 + ...y_form_display.comment.comment.default.yml | 33 + ...iew_display.block_content.text.default.yml | 21 + ...y_view_display.comment.comment.default.yml | 24 + .../field.field.block_content.text.body.yml | 21 + ...eld.field.comment.comment.comment_body.yml | 20 + config/optional/user.role.administrator.yml | 5 + config/optional/user.settings.yml | 16 + journal.info.yml | 88 ++ journal.install | 14 + journal.profile | 24 + .../journal_cite_this.info.yml | 7 + .../journal_cite_this.module | 24 + .../journal_cite_this.routing.yml | 15 + .../Controller/JournalExportController.php | 66 ++ .../src/Plugin/Block/CiteThisBlock.php | 128 +++ .../tests/src/Functional/LoadTest.php | 46 + .../journal_devel/journal_devel.info.yml | 7 + .../custom/journal_devel/journal_devel.module | 35 + .../src/Plugin/Block/DebugBlock.php | 31 + .../templates/journal-devel.html.twig | 1 + .../config/install/user.role.issue_editor.yml | 218 +++++ .../user.role.journal_article_creator.yml | 86 ++ .../user.role.journal_article_reviewer.yml | 30 + .../install/user.role.journal_editor.yml | 251 +++++ .../config/install/user.role.web_editor.yml | 95 ++ ...ws.workflow.journal_article_submission.yml | 85 ++ .../journal_editorial.info.yml | 8 + .../journal_editorial.module | 28 + ...form_display.node.news_article.default.yml | 122 +++ ...view_display.node.news_article.default.yml | 64 ++ ..._view_display.node.news_article.teaser.yml | 33 + .../field.field.node.news_article.body.yml | 21 + ..._article.field_article_highlight_image.yml | 28 + ...ode.news_article.field_article_section.yml | 28 + ....field.node.news_article.field_part_of.yml | 36 + .../config/install/node.type.news_article.yml | 17 + .../custom/journal_news/journal_news.info.yml | 8 + ....views_block__editor_content_in_review.yml | 39 + ...cle_peer_reviewer_content_list_block_1.yml | 38 + ...cle_peer_reviewer_content_list_block_2.yml | 41 + ...k.views_block__new_submissions_block_1.yml | 39 + ...de.journal_article.field_peer_reviewer.yml | 35 + ...field.storage.node.field_peer_reviewer.yml | 25 + ...nal_article_peer_reviewer_content_list.yml | 673 ++++++++++++++ .../optional/views.view.new_submissions.yml | 381 ++++++++ .../journal_peer_review.info.yml | 10 + .../journal_peer_review.module | 152 ++++ .../editor.editor.rich_text_references.yml | 66 ++ .../filter.format.rich_text_references.yml | 159 ++++ .../images/reference_embed_icon.png | Bin 0 -> 6204 bytes .../journal_references.info.yml | 18 + .../journal_references.module | 29 + .../journal_references.services.yml | 5 + .../journal_references/src/CSL/MLA_ToC.xml | 456 ++++++++++ .../src/Routing/RouteSubscriber.php | 25 + .../install/system.menu.author-tasks.yml | 7 + .../install/views.view.manage_citations.yml | 465 ++++++++++ .../custom/journal_site/journal_site.info.yml | 13 + .../journal_site/journal_site.links.menu.yml | 27 + .../comment.type.editorial_comments.yml | 7 + ...lay.comment.editorial_comments.default.yml | 33 + ...entity_form_display.node.issue.default.yml | 160 ++++ ...tity_form_display.node.journal.default.yml | 292 ++++++ ...m_display.node.journal_article.default.yml | 338 +++++++ ...agraph.author_with_affiliation.default.yml | 36 + ...lay.comment.editorial_comments.default.yml | 24 + ...entity_view_display.node.issue.default.yml | 79 ++ ...re.entity_view_display.node.issue.full.yml | 233 +++++ ....entity_view_display.node.issue.teaser.yml | 282 ++++++ ...tity_view_display.node.journal.default.yml | 575 ++++++++++++ ....entity_view_display.node.journal.full.yml | 587 ++++++++++++ ...ntity_view_display.node.journal.teaser.yml | 54 ++ ...w_display.node.journal_article.default.yml | 218 +++++ ...view_display.node.journal_article.full.yml | 224 +++++ ...ew_display.node.journal_article.teaser.yml | 77 ++ ..._display.node.journal_article.toc_item.yml | 156 ++++ ...agraph.author_with_affiliation.default.yml | 41 + ...agraph.author_with_affiliation.preview.yml | 42 + .../core.entity_view_mode.node.toc_item.yml | 15 + ...omment.editorial_comments.comment_body.yml | 29 + .../install/field.field.node.issue.body.yml | 21 + ...eld.field.node.issue.field_issue_cover.yml | 37 + ...ld.field.node.issue.field_issue_number.yml | 29 + ...ield.field.node.issue.field_issue_open.yml | 22 + ...ode.issue.field_issue_publication_date.yml | 27 + ...ld.field.node.issue.field_issue_volume.yml | 27 + .../field.field.node.issue.field_part_of.yml | 36 + ...ield.node.journal.field_journal_abbrev.yml | 18 + ....node.journal.field_journal_about_this.yml | 20 + ...ournal.field_journal_author_guidelines.yml | 20 + ...node.journal.field_journal_description.yml | 20 + ...field.node.journal.field_journal_eissn.yml | 18 + ...node.journal.field_journal_for_authors.yml | 23 + ...de.journal.field_journal_for_librarins.yml | 23 + ...node.journal.field_journal_for_readers.yml | 23 + ...ld.node.journal.field_journal_initials.yml | 18 + ....node.journal.field_journal_issn_print.yml | 18 + ....field.node.journal.field_journal_logo.yml | 37 + ....journal.field_journal_mailing_address.yml | 37 + ....node.journal.field_journal_main_image.yml | 37 + ...ournal.field_journal_principal_contact.yml | 32 + ...d.node.journal.field_journal_publisher.yml | 18 + ...urnal.field_journal_technical_support_.yml | 28 + .../field.field.node.journal_article.body.yml | 33 + ...ournal_article.field_article_dc_rights.yml | 18 + ...ournal_article.field_article_dc_source.yml | 18 + ...rnal_article.field_article_disciplines.yml | 28 + ..._article.field_article_editor_comments.yml | 29 + ..._article.field_article_highlight_image.yml | 28 + ...al_article.field_article_peer_reviewed.yml | 22 + ....journal_article.field_article_section.yml | 30 + ...journal_article.field_article_subjects.yml | 28 + ...article.field_article_submission_files.yml | 32 + ...journal_article.field_article_subtitle.yml | 29 + ...ode.journal_article.field_article_type.yml | 22 + ...article.field_authors_and_affiliations.yml | 30 + ....node.journal_article.field_cc_license.yml | 31 + ...d.field.node.journal_article.field_doi.yml | 22 + ...urnal_article.field_editorial_comments.yml | 32 + ...journal_article.field_featured_article.yml | 22 + ...article.field_journal_article_abstract.yml | 29 + ...article.field_journal_article_keywords.yml | 28 + ...eld.node.journal_article.field_part_of.yml | 38 + ...ticle.field_publication_date_electroni.yml | 23 + ...node.journal_article.field_works_cited.yml | 72 ++ ...iliation.field_affiliation_contributor.yml | 53 ++ ...h_affiliation.field_affiliation_string.yml | 29 + ...d.storage.node.field_article_dc_rights.yml | 20 + ...d.storage.node.field_article_dc_source.yml | 20 + ...storage.node.field_article_disciplines.yml | 19 + ...age.node.field_article_editor_comments.yml | 18 + ...age.node.field_article_highlight_image.yml | 23 + ...orage.node.field_article_peer_reviewed.yml | 21 + ...eld.storage.node.field_article_section.yml | 23 + ...ld.storage.node.field_article_subjects.yml | 19 + ...ge.node.field_article_submission_files.yml | 28 + ...ld.storage.node.field_article_subtitle.yml | 19 + .../field.storage.node.field_article_type.yml | 132 +++ ...ge.node.field_authors_and_affiliations.yml | 24 + .../field.storage.node.field_cc_license.yml | 22 + .../install/field.storage.node.field_doi.yml | 22 + ....storage.node.field_editorial_comments.yml | 19 + ...ld.storage.node.field_featured_article.yml | 21 + .../field.storage.node.field_issue_cover.yml | 29 + .../field.storage.node.field_issue_number.yml | 19 + .../field.storage.node.field_issue_open.yml | 17 + ...rage.node.field_issue_publication_date.yml | 23 + .../field.storage.node.field_issue_volume.yml | 23 + ...ield.storage.node.field_journal_abbrev.yml | 20 + ....storage.node.field_journal_about_this.yml | 18 + ...ge.node.field_journal_article_abstract.yml | 18 + ...ge.node.field_journal_article_keywords.yml | 19 + ...e.node.field_journal_author_guidelines.yml | 18 + ...storage.node.field_journal_description.yml | 22 + ...field.storage.node.field_journal_eissn.yml | 20 + ...storage.node.field_journal_for_authors.yml | 18 + ...orage.node.field_journal_for_librarins.yml | 18 + ...storage.node.field_journal_for_readers.yml | 18 + ...ld.storage.node.field_journal_initials.yml | 20 + ....storage.node.field_journal_issn_print.yml | 20 + .../field.storage.node.field_journal_logo.yml | 29 + ...age.node.field_journal_mailing_address.yml | 20 + ....storage.node.field_journal_main_image.yml | 29 + ...e.node.field_journal_principal_contact.yml | 19 + ...d.storage.node.field_journal_publisher.yml | 20 + ....node.field_journal_technical_support_.yml | 19 + .../field.storage.node.field_part_of.yml | 23 + ....node.field_publication_date_electroni.yml | 23 + .../field.storage.node.field_works_cited.yml | 23 + ...aragraph.field_affiliation_contributor.yml | 92 ++ ...age.paragraph.field_affiliation_string.yml | 23 + .../install/filter.format.links_only.yml | 32 + .../config/install/node.type.issue.yml | 16 + .../config/install/node.type.journal.yml | 17 + .../install/node.type.journal_article.yml | 17 + ...aragraphs_type.author_with_affiliation.yml | 8 + .../install/pathauto.pattern.article.yml | 21 + .../config/install/pathauto.pattern.issue.yml | 21 + .../install/pathauto.pattern.journal.yml | 21 + .../taxonomy.vocabulary.article_keywords.yml | 8 + .../taxonomy.vocabulary.article_section.yml | 8 + .../taxonomy.vocabulary.disciplines.yml | 8 + .../install/taxonomy.vocabulary.subjects.yml | 8 + .../views.view.issue_table_of_contents.yml | 257 ++++++ .../install/views.view.journal_issue_list.yml | 222 +++++ .../config/install/views.view.media.yml | 854 ++++++++++++++++++ .../journal_types/journal_types.info.yml | 25 + .../journal_types/journal_types.install | 66 ++ .../custom/journal_types/journal_types.module | 84 ++ .../journal_types/src/CitationTools.php | 111 +++ .../FieldFormatter/CitationFieldFormatter.php | 202 +++++ .../templates/journal-types.html.twig | 1 + .../node--journal-article--toc-item.html.twig | 127 +++ 223 files changed, 13153 insertions(+) create mode 100644 config/install/block.block.authortasks.yml create mode 100644 config/install/block.block.bartik_account_menu.yml create mode 100644 config/install/block.block.bartik_tools.yml create mode 100644 config/install/block.block.citethis.yml create mode 100644 config/install/metatag.metatag_defaults.node__issue.yml create mode 100644 config/install/metatag.metatag_defaults.node__journal_article.yml create mode 100644 config/optional/block.block.bartik_account_menu.yml create mode 100644 config/optional/block.block.bartik_branding.yml create mode 100644 config/optional/block.block.bartik_breadcrumbs.yml create mode 100644 config/optional/block.block.bartik_content.yml create mode 100644 config/optional/block.block.bartik_footer.yml create mode 100644 config/optional/block.block.bartik_help.yml create mode 100644 config/optional/block.block.bartik_local_actions.yml create mode 100644 config/optional/block.block.bartik_local_tasks.yml create mode 100644 config/optional/block.block.bartik_main_menu.yml create mode 100644 config/optional/block.block.bartik_messages.yml create mode 100644 config/optional/block.block.bartik_page_title.yml create mode 100644 config/optional/block.block.bartik_powered.yml create mode 100644 config/optional/block.block.seven_breadcrumbs.yml create mode 100644 config/optional/block.block.seven_content.yml create mode 100644 config/optional/block.block.seven_help.yml create mode 100644 config/optional/block.block.seven_local_actions.yml create mode 100644 config/optional/block.block.seven_login.yml create mode 100644 config/optional/block.block.seven_messages.yml create mode 100644 config/optional/block.block.seven_page_title.yml create mode 100644 config/optional/block.block.seven_primary_local_tasks.yml create mode 100644 config/optional/block.block.seven_secondary_local_tasks.yml create mode 100644 config/optional/block_content.type.text.yml create mode 100644 config/optional/comment.type.comment.yml create mode 100644 config/optional/core.entity_form_display.block_content.text.default.yml create mode 100644 config/optional/core.entity_form_display.comment.comment.default.yml create mode 100644 config/optional/core.entity_view_display.block_content.text.default.yml create mode 100644 config/optional/core.entity_view_display.comment.comment.default.yml create mode 100644 config/optional/field.field.block_content.text.body.yml create mode 100644 config/optional/field.field.comment.comment.comment_body.yml create mode 100644 config/optional/user.role.administrator.yml create mode 100644 config/optional/user.settings.yml create mode 100644 journal.info.yml create mode 100644 journal.install create mode 100644 journal.profile create mode 100644 modules/custom/journal_cite_this/journal_cite_this.info.yml create mode 100644 modules/custom/journal_cite_this/journal_cite_this.module create mode 100644 modules/custom/journal_cite_this/journal_cite_this.routing.yml create mode 100644 modules/custom/journal_cite_this/src/Controller/JournalExportController.php create mode 100644 modules/custom/journal_cite_this/src/Plugin/Block/CiteThisBlock.php create mode 100644 modules/custom/journal_cite_this/tests/src/Functional/LoadTest.php create mode 100644 modules/custom/journal_devel/journal_devel.info.yml create mode 100644 modules/custom/journal_devel/journal_devel.module create mode 100644 modules/custom/journal_devel/src/Plugin/Block/DebugBlock.php create mode 100644 modules/custom/journal_devel/templates/journal-devel.html.twig create mode 100644 modules/custom/journal_editorial/config/install/user.role.issue_editor.yml create mode 100644 modules/custom/journal_editorial/config/install/user.role.journal_article_creator.yml create mode 100644 modules/custom/journal_editorial/config/install/user.role.journal_article_reviewer.yml create mode 100644 modules/custom/journal_editorial/config/install/user.role.journal_editor.yml create mode 100644 modules/custom/journal_editorial/config/install/user.role.web_editor.yml create mode 100644 modules/custom/journal_editorial/config/install/workflows.workflow.journal_article_submission.yml create mode 100644 modules/custom/journal_editorial/journal_editorial.info.yml create mode 100644 modules/custom/journal_editorial/journal_editorial.module create mode 100644 modules/custom/journal_news/config/install/core.entity_form_display.node.news_article.default.yml create mode 100644 modules/custom/journal_news/config/install/core.entity_view_display.node.news_article.default.yml create mode 100644 modules/custom/journal_news/config/install/core.entity_view_display.node.news_article.teaser.yml create mode 100644 modules/custom/journal_news/config/install/field.field.node.news_article.body.yml create mode 100644 modules/custom/journal_news/config/install/field.field.node.news_article.field_article_highlight_image.yml create mode 100644 modules/custom/journal_news/config/install/field.field.node.news_article.field_article_section.yml create mode 100644 modules/custom/journal_news/config/install/field.field.node.news_article.field_part_of.yml create mode 100644 modules/custom/journal_news/config/install/node.type.news_article.yml create mode 100644 modules/custom/journal_news/journal_news.info.yml create mode 100644 modules/custom/journal_peer_review/config/optional/block.block.views_block__editor_content_in_review.yml create mode 100644 modules/custom/journal_peer_review/config/optional/block.block.views_block__journal_article_peer_reviewer_content_list_block_1.yml create mode 100644 modules/custom/journal_peer_review/config/optional/block.block.views_block__journal_article_peer_reviewer_content_list_block_2.yml create mode 100644 modules/custom/journal_peer_review/config/optional/block.block.views_block__new_submissions_block_1.yml create mode 100644 modules/custom/journal_peer_review/config/optional/field.field.node.journal_article.field_peer_reviewer.yml create mode 100644 modules/custom/journal_peer_review/config/optional/field.storage.node.field_peer_reviewer.yml create mode 100644 modules/custom/journal_peer_review/config/optional/views.view.journal_article_peer_reviewer_content_list.yml create mode 100644 modules/custom/journal_peer_review/config/optional/views.view.new_submissions.yml create mode 100644 modules/custom/journal_peer_review/journal_peer_review.info.yml create mode 100644 modules/custom/journal_peer_review/journal_peer_review.module create mode 100644 modules/custom/journal_references/config/install/editor.editor.rich_text_references.yml create mode 100644 modules/custom/journal_references/config/install/filter.format.rich_text_references.yml create mode 100644 modules/custom/journal_references/images/reference_embed_icon.png create mode 100644 modules/custom/journal_references/journal_references.info.yml create mode 100644 modules/custom/journal_references/journal_references.module create mode 100644 modules/custom/journal_references/journal_references.services.yml create mode 100644 modules/custom/journal_references/src/CSL/MLA_ToC.xml create mode 100644 modules/custom/journal_references/src/Routing/RouteSubscriber.php create mode 100644 modules/custom/journal_site/config/install/system.menu.author-tasks.yml create mode 100644 modules/custom/journal_site/config/install/views.view.manage_citations.yml create mode 100644 modules/custom/journal_site/journal_site.info.yml create mode 100644 modules/custom/journal_site/journal_site.links.menu.yml create mode 100644 modules/custom/journal_types/config/install/comment.type.editorial_comments.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_form_display.comment.editorial_comments.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_form_display.node.issue.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_form_display.node.journal.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_form_display.node.journal_article.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_form_display.paragraph.author_with_affiliation.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.comment.editorial_comments.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.issue.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.issue.full.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.issue.teaser.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.journal.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.journal.full.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.journal.teaser.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.full.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.teaser.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.toc_item.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.paragraph.author_with_affiliation.default.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_display.paragraph.author_with_affiliation.preview.yml create mode 100644 modules/custom/journal_types/config/install/core.entity_view_mode.node.toc_item.yml create mode 100644 modules/custom/journal_types/config/install/field.field.comment.editorial_comments.comment_body.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.issue.body.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.issue.field_issue_cover.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.issue.field_issue_number.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.issue.field_issue_open.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.issue.field_issue_publication_date.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.issue.field_issue_volume.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.issue.field_part_of.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_abbrev.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_about_this.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_author_guidelines.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_description.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_eissn.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_authors.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_librarins.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_readers.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_initials.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_issn_print.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_logo.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_mailing_address.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_main_image.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_principal_contact.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_publisher.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal.field_journal_technical_support_.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.body.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_dc_rights.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_dc_source.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_disciplines.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_editor_comments.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_highlight_image.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_peer_reviewed.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_section.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_subjects.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_submission_files.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_subtitle.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_type.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_authors_and_affiliations.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_cc_license.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_doi.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_editorial_comments.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_featured_article.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_journal_article_abstract.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_journal_article_keywords.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_part_of.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_publication_date_electroni.yml create mode 100644 modules/custom/journal_types/config/install/field.field.node.journal_article.field_works_cited.yml create mode 100644 modules/custom/journal_types/config/install/field.field.paragraph.author_with_affiliation.field_affiliation_contributor.yml create mode 100644 modules/custom/journal_types/config/install/field.field.paragraph.author_with_affiliation.field_affiliation_string.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_dc_rights.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_dc_source.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_disciplines.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_editor_comments.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_highlight_image.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_peer_reviewed.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_section.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_subjects.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_submission_files.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_subtitle.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_article_type.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_authors_and_affiliations.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_cc_license.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_doi.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_editorial_comments.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_featured_article.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_issue_cover.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_issue_number.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_issue_open.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_issue_publication_date.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_issue_volume.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_abbrev.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_about_this.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_article_abstract.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_article_keywords.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_author_guidelines.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_description.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_eissn.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_for_authors.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_for_librarins.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_for_readers.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_initials.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_issn_print.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_logo.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_mailing_address.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_main_image.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_principal_contact.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_publisher.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_journal_technical_support_.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_part_of.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_publication_date_electroni.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.node.field_works_cited.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.paragraph.field_affiliation_contributor.yml create mode 100644 modules/custom/journal_types/config/install/field.storage.paragraph.field_affiliation_string.yml create mode 100644 modules/custom/journal_types/config/install/filter.format.links_only.yml create mode 100644 modules/custom/journal_types/config/install/node.type.issue.yml create mode 100644 modules/custom/journal_types/config/install/node.type.journal.yml create mode 100644 modules/custom/journal_types/config/install/node.type.journal_article.yml create mode 100644 modules/custom/journal_types/config/install/paragraphs.paragraphs_type.author_with_affiliation.yml create mode 100644 modules/custom/journal_types/config/install/pathauto.pattern.article.yml create mode 100644 modules/custom/journal_types/config/install/pathauto.pattern.issue.yml create mode 100644 modules/custom/journal_types/config/install/pathauto.pattern.journal.yml create mode 100644 modules/custom/journal_types/config/install/taxonomy.vocabulary.article_keywords.yml create mode 100644 modules/custom/journal_types/config/install/taxonomy.vocabulary.article_section.yml create mode 100644 modules/custom/journal_types/config/install/taxonomy.vocabulary.disciplines.yml create mode 100644 modules/custom/journal_types/config/install/taxonomy.vocabulary.subjects.yml create mode 100644 modules/custom/journal_types/config/install/views.view.issue_table_of_contents.yml create mode 100644 modules/custom/journal_types/config/install/views.view.journal_issue_list.yml create mode 100644 modules/custom/journal_types/config/install/views.view.media.yml create mode 100644 modules/custom/journal_types/journal_types.info.yml create mode 100644 modules/custom/journal_types/journal_types.install create mode 100644 modules/custom/journal_types/journal_types.module create mode 100644 modules/custom/journal_types/src/CitationTools.php create mode 100644 modules/custom/journal_types/src/Plugin/Field/FieldFormatter/CitationFieldFormatter.php create mode 100644 modules/custom/journal_types/templates/journal-types.html.twig create mode 100644 modules/custom/journal_types/templates/node--journal-article--toc-item.html.twig diff --git a/config/install/block.block.authortasks.yml b/config/install/block.block.authortasks.yml new file mode 100644 index 0000000..5de0f26 --- /dev/null +++ b/config/install/block.block.authortasks.yml @@ -0,0 +1,36 @@ +langcode: en +status: true +dependencies: + config: + - system.menu.author-tasks + module: + - system + - user + theme: + - bartik +id: authortasks +theme: bartik +region: content +weight: -6 +provider: null +plugin: 'system_menu_block:author-tasks' +settings: + id: 'system_menu_block:author-tasks' + label: 'Author tasks' + provider: system + label_display: visible + level: 1 + depth: 0 +visibility: + request_path: + id: request_path + pages: '/user/*' + negate: false + context_mapping: { } + user_role: + id: user_role + roles: + journal_article_creator: journal_article_creator + negate: false + context_mapping: + user: '@user.current_user_context:current_user' diff --git a/config/install/block.block.bartik_account_menu.yml b/config/install/block.block.bartik_account_menu.yml new file mode 100644 index 0000000..0005070 --- /dev/null +++ b/config/install/block.block.bartik_account_menu.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + config: + - system.menu.account + module: + - system + theme: + - bartik +_core: + default_config_hash: itSHPYmGXnBVuW6FDLy148URrBNXTe0TRtnb-yeSDHI +id: bartik_account_menu +theme: bartik +region: hidden_blocks_collection +weight: -7 +provider: null +plugin: 'system_menu_block:account' +settings: + id: 'system_menu_block:account' + label: 'User account menu' + provider: system + label_display: visible + level: 1 + depth: 1 +visibility: { } diff --git a/config/install/block.block.bartik_tools.yml b/config/install/block.block.bartik_tools.yml new file mode 100644 index 0000000..ea13e43 --- /dev/null +++ b/config/install/block.block.bartik_tools.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + config: + - system.menu.tools + module: + - system + theme: + - bartik +_core: + default_config_hash: bHIvY3Ld-1mnMYWmNIoVPBYWQkpvHrO2jzOQhM5Y8BQ +id: bartik_tools +theme: bartik +region: hidden_blocks_collection +weight: -6 +provider: null +plugin: 'system_menu_block:tools' +settings: + id: 'system_menu_block:tools' + label: Tools + provider: system + label_display: visible + level: 1 + depth: 0 +visibility: { } diff --git a/config/install/block.block.citethis.yml b/config/install/block.block.citethis.yml new file mode 100644 index 0000000..632ec7f --- /dev/null +++ b/config/install/block.block.citethis.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + module: + - journal_cite_this + - node + theme: + - bartik +id: citethis +theme: bartik +region: sidebar_second +weight: 0 +provider: null +plugin: cite_this_block +settings: + id: cite_this_block + label: 'Cite this' + provider: journal_cite_this + label_display: visible + context_mapping: + node: '@node.node_route_context:node' +visibility: + node_type: + id: node_type + bundles: + journal_article: journal_article + negate: false + context_mapping: + node: '@node.node_route_context:node' diff --git a/config/install/metatag.metatag_defaults.node__issue.yml b/config/install/metatag.metatag_defaults.node__issue.yml new file mode 100644 index 0000000..ac2fe0d --- /dev/null +++ b/config/install/metatag.metatag_defaults.node__issue.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: HAWGbhacNu42B8eiIHXmi2mIB6FzFf6cuzhS7lbE9sk +id: node__issue +label: 'Content: Issue' +tags: + description: '[node:body]' + image_src: '[node:field_issue_cover:entity:url]' + abstract: '[node:body]' + dcterms_title: '[node:title]' + dcterms_type: Text + dcterms_publisher: '[node:field_part_of:entity:field_journal_publisher]' + dcterms_description: '[node:body]' + dcterms_coverage: '[node:langcode]' + dcterms_format: text/html + dcterms_modified: '[node:changed:html_datetime]' + dcterms_abstract: '[node:body]' + citation_title: '[node:title]' + citation_journal_title: '[node:field_part_of:entity:title]' + citation_issue: '[node:field_issue_number]' + citation_volume: '[node:field_issue_volume:entity:field_volume_number]' + citation_issn: '[node:field_part_of:entity:field_journal_eissn]' + citation_publication_date: '[node:field_publication_date:html_datetime]' diff --git a/config/install/metatag.metatag_defaults.node__journal_article.yml b/config/install/metatag.metatag_defaults.node__journal_article.yml new file mode 100644 index 0000000..1f573bd --- /dev/null +++ b/config/install/metatag.metatag_defaults.node__journal_article.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: 3HKaUPhjQOYRWOt1XaDwJioKEC5vKHGvugzqlpBx1Rw +id: node__journal_article +label: 'Content: Article' +tags: + image_src: '[node:field_article_highlight_image:entity:image:entity:url]' + dcterms_identifier: '[node:field_doi]' + dcterms_title: '[node:title]' + dcterms_contributor: '[node:field_authors_and_affiliations:entity:field_affiliation_contributor]' + dcterms_publisher: '[node:field_part_of:entity:field_part_of:entity:field_journal_publisher]' + dcterms_date: '[node:created:html_datetime]' + dcterms_description: '[node:field_journal_article_abstract]' + dcterms_language: '[node:langcode]' + dcterms_creator: '[node:field_authors_and_affiliations:0:entity:field_affiliation_contributor:0]' + dcterms_format: text/html + dcterms_subject: '[node:field_article_subjects]' + dcterms_is_part_of: '[node:field_part_of:entity:url]' + dcterms_abstract: '[node:field_journal_article_abstract]' + citation_title: '[node:title]' + citation_journal_title: '[node:field_part_of:entity:field_part_of:entity:title]' + citation_issue: '[node:field_part_of:entity:field_issue_number]' + citation_volume: '[node:field_part_of:entity:field_issue_volume]' + citation_issn: '[node:field_part_of:entity:field_part_of:entity:field_journal_eissn]' + citation_publication_date: '[node:created:html_datetime]' + citation_author: '[node:field_authors_and_affiliations:entity:field_affiliation_contributor]' diff --git a/config/optional/block.block.bartik_account_menu.yml b/config/optional/block.block.bartik_account_menu.yml new file mode 100644 index 0000000..93cadc8 --- /dev/null +++ b/config/optional/block.block.bartik_account_menu.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - system.menu.account + module: + - system + theme: + - bartik +id: bartik_account_menu +theme: bartik +region: secondary_menu +weight: 0 +provider: null +plugin: 'system_menu_block:account' +settings: + id: 'system_menu_block:account' + label: 'User account menu' + provider: system + label_display: '0' + level: 1 + depth: 1 +visibility: { } diff --git a/config/optional/block.block.bartik_branding.yml b/config/optional/block.block.bartik_branding.yml new file mode 100644 index 0000000..6cf70a7 --- /dev/null +++ b/config/optional/block.block.bartik_branding.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + module: + - system + theme: + - bartik +id: bartik_branding +theme: bartik +region: header +weight: 0 +provider: null +plugin: system_branding_block +settings: + id: system_branding_block + label: 'Site branding' + provider: system + label_display: '0' + use_site_logo: true + use_site_name: true + use_site_slogan: true +visibility: { } diff --git a/config/optional/block.block.bartik_breadcrumbs.yml b/config/optional/block.block.bartik_breadcrumbs.yml new file mode 100644 index 0000000..bce3d01 --- /dev/null +++ b/config/optional/block.block.bartik_breadcrumbs.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - system + theme: + - bartik +id: bartik_breadcrumbs +theme: bartik +region: breadcrumb +weight: 0 +provider: null +plugin: system_breadcrumb_block +settings: + id: system_breadcrumb_block + label: Breadcrumbs + provider: system + label_display: '0' +visibility: { } diff --git a/config/optional/block.block.bartik_content.yml b/config/optional/block.block.bartik_content.yml new file mode 100644 index 0000000..b1e0c80 --- /dev/null +++ b/config/optional/block.block.bartik_content.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - system + theme: + - bartik +id: bartik_content +theme: bartik +region: content +weight: 0 +provider: null +plugin: system_main_block +settings: + id: system_main_block + label: 'Main page content' + provider: system + label_display: '0' +visibility: { } diff --git a/config/optional/block.block.bartik_footer.yml b/config/optional/block.block.bartik_footer.yml new file mode 100644 index 0000000..a8623d1 --- /dev/null +++ b/config/optional/block.block.bartik_footer.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - system.menu.footer + module: + - system + theme: + - bartik +id: bartik_footer +theme: bartik +region: footer_fifth +weight: 0 +provider: null +plugin: 'system_menu_block:footer' +settings: + id: 'system_menu_block:footer' + label: 'Footer menu' + provider: system + label_display: '0' + level: 1 + depth: 0 +visibility: { } diff --git a/config/optional/block.block.bartik_help.yml b/config/optional/block.block.bartik_help.yml new file mode 100644 index 0000000..cf344d3 --- /dev/null +++ b/config/optional/block.block.bartik_help.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - help + theme: + - bartik +id: bartik_help +theme: bartik +region: content +weight: -30 +provider: null +plugin: help_block +settings: + id: help_block + label: Help + provider: help + label_display: '0' +visibility: { } diff --git a/config/optional/block.block.bartik_local_actions.yml b/config/optional/block.block.bartik_local_actions.yml new file mode 100644 index 0000000..a58496d --- /dev/null +++ b/config/optional/block.block.bartik_local_actions.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + theme: + - bartik +id: bartik_local_actions +theme: bartik +region: content +weight: -20 +provider: null +plugin: local_actions_block +settings: + id: local_actions_block + label: 'Primary admin actions' + provider: core + label_display: '0' +visibility: { } diff --git a/config/optional/block.block.bartik_local_tasks.yml b/config/optional/block.block.bartik_local_tasks.yml new file mode 100644 index 0000000..6b7c5d3 --- /dev/null +++ b/config/optional/block.block.bartik_local_tasks.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + theme: + - bartik +id: bartik_local_tasks +theme: bartik +region: content +weight: -40 +provider: null +plugin: local_tasks_block +settings: + id: local_tasks_block + label: Tabs + provider: core + label_display: '0' + primary: true + secondary: true +visibility: { } diff --git a/config/optional/block.block.bartik_main_menu.yml b/config/optional/block.block.bartik_main_menu.yml new file mode 100644 index 0000000..dc7ebec --- /dev/null +++ b/config/optional/block.block.bartik_main_menu.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - system.menu.main + module: + - system + theme: + - bartik +id: bartik_main_menu +theme: bartik +region: primary_menu +weight: 0 +provider: null +plugin: 'system_menu_block:main' +settings: + id: 'system_menu_block:main' + label: 'Main navigation' + provider: system + label_display: '0' + level: 1 + depth: 1 +visibility: { } diff --git a/config/optional/block.block.bartik_messages.yml b/config/optional/block.block.bartik_messages.yml new file mode 100644 index 0000000..e6bb7d7 --- /dev/null +++ b/config/optional/block.block.bartik_messages.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - system + theme: + - bartik +id: bartik_messages +theme: bartik +region: highlighted +weight: 0 +provider: null +plugin: system_messages_block +settings: + id: system_messages_block + label: 'Status messages' + provider: system + label_display: '0' +visibility: { } diff --git a/config/optional/block.block.bartik_page_title.yml b/config/optional/block.block.bartik_page_title.yml new file mode 100644 index 0000000..21cfb2f --- /dev/null +++ b/config/optional/block.block.bartik_page_title.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + theme: + - bartik +id: bartik_page_title +theme: bartik +region: content +weight: -50 +provider: null +plugin: page_title_block +settings: + id: page_title_block + label: 'Page title' + provider: core + label_display: '0' +visibility: { } diff --git a/config/optional/block.block.bartik_powered.yml b/config/optional/block.block.bartik_powered.yml new file mode 100644 index 0000000..bb74cc8 --- /dev/null +++ b/config/optional/block.block.bartik_powered.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - system + theme: + - bartik +id: bartik_powered +theme: bartik +region: footer_fifth +weight: 10 +provider: null +plugin: system_powered_by_block +settings: + id: system_powered_by_block + label: 'Powered by Drupal' + provider: system + label_display: '0' +visibility: { } diff --git a/config/optional/block.block.seven_breadcrumbs.yml b/config/optional/block.block.seven_breadcrumbs.yml new file mode 100644 index 0000000..fc95b02 --- /dev/null +++ b/config/optional/block.block.seven_breadcrumbs.yml @@ -0,0 +1,18 @@ +id: seven_breadcrumbs +theme: seven +weight: 0 +status: true +langcode: en +region: breadcrumb +plugin: system_breadcrumb_block +settings: + id: system_breadcrumb_block + label: Breadcrumbs + provider: system + label_display: '0' +dependencies: + module: + - system + theme: + - seven +visibility: { } diff --git a/config/optional/block.block.seven_content.yml b/config/optional/block.block.seven_content.yml new file mode 100644 index 0000000..dd2bfbe --- /dev/null +++ b/config/optional/block.block.seven_content.yml @@ -0,0 +1,18 @@ +id: seven_content +theme: seven +weight: 0 +status: true +langcode: en +region: content +plugin: system_main_block +settings: + id: system_main_block + label: 'Main page content' + provider: system + label_display: '0' +dependencies: + module: + - system + theme: + - seven +visibility: { } diff --git a/config/optional/block.block.seven_help.yml b/config/optional/block.block.seven_help.yml new file mode 100644 index 0000000..5bb3529 --- /dev/null +++ b/config/optional/block.block.seven_help.yml @@ -0,0 +1,18 @@ +id: seven_help +theme: seven +weight: 0 +status: true +langcode: en +region: help +plugin: help_block +settings: + id: help_block + label: 'Help' + provider: help + label_display: '0' +dependencies: + module: + - help + theme: + - seven +visibility: { } diff --git a/config/optional/block.block.seven_local_actions.yml b/config/optional/block.block.seven_local_actions.yml new file mode 100644 index 0000000..999807f --- /dev/null +++ b/config/optional/block.block.seven_local_actions.yml @@ -0,0 +1,15 @@ +id: seven_local_actions +theme: seven +weight: -10 +status: true +langcode: en +region: content +plugin: local_actions_block +settings: + id: local_actions_block + label: Primary admin actions + label_display: '0' +dependencies: + theme: + - seven +visibility: { } diff --git a/config/optional/block.block.seven_login.yml b/config/optional/block.block.seven_login.yml new file mode 100644 index 0000000..0a488a7 --- /dev/null +++ b/config/optional/block.block.seven_login.yml @@ -0,0 +1,18 @@ +id: seven_login +theme: seven +weight: 10 +status: true +langcode: en +region: content +plugin: user_login_block +settings: + id: user_login_block + label: 'User login' + provider: user + label_display: visible +dependencies: + module: + - user + theme: + - seven +visibility: { } diff --git a/config/optional/block.block.seven_messages.yml b/config/optional/block.block.seven_messages.yml new file mode 100644 index 0000000..35c3531 --- /dev/null +++ b/config/optional/block.block.seven_messages.yml @@ -0,0 +1,17 @@ +id: seven_messages +theme: seven +weight: 0 +status: true +langcode: en +region: highlighted +plugin: system_messages_block +settings: + id: system_messages_block + label: 'Status messages' + provider: system + label_display: '0' +dependencies: + module: + - system + theme: + - seven diff --git a/config/optional/block.block.seven_page_title.yml b/config/optional/block.block.seven_page_title.yml new file mode 100644 index 0000000..56df293 --- /dev/null +++ b/config/optional/block.block.seven_page_title.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + theme: + - seven +id: seven_page_title +theme: seven +region: header +weight: -30 +provider: null +plugin: page_title_block +settings: + id: page_title_block + label: 'Page title' + provider: core + label_display: '0' +visibility: { } diff --git a/config/optional/block.block.seven_primary_local_tasks.yml b/config/optional/block.block.seven_primary_local_tasks.yml new file mode 100644 index 0000000..66e8d7b --- /dev/null +++ b/config/optional/block.block.seven_primary_local_tasks.yml @@ -0,0 +1,17 @@ +id: seven_primary_local_tasks +theme: seven +weight: 0 +status: true +langcode: en +region: header +plugin: local_tasks_block +settings: + id: local_tasks_block + label: Primary tabs + label_display: '0' + primary: true + secondary: false +dependencies: + theme: + - seven +visibility: { } diff --git a/config/optional/block.block.seven_secondary_local_tasks.yml b/config/optional/block.block.seven_secondary_local_tasks.yml new file mode 100644 index 0000000..7824d64 --- /dev/null +++ b/config/optional/block.block.seven_secondary_local_tasks.yml @@ -0,0 +1,17 @@ +id: seven_secondary_local_tasks +theme: seven +weight: 0 +status: true +langcode: en +region: pre_content +plugin: local_tasks_block +settings: + id: local_tasks_block + label: Secondary tabs + label_display: '0' + primary: false + secondary: true +dependencies: + theme: + - seven +visibility: { } diff --git a/config/optional/block_content.type.text.yml b/config/optional/block_content.type.text.yml new file mode 100644 index 0000000..3af742d --- /dev/null +++ b/config/optional/block_content.type.text.yml @@ -0,0 +1,5 @@ +id: text +label: 'Text' +revision: 0 +description: 'A text block contains a title and a body.' +langcode: en diff --git a/config/optional/comment.type.comment.yml b/config/optional/comment.type.comment.yml new file mode 100644 index 0000000..ddcbbc9 --- /dev/null +++ b/config/optional/comment.type.comment.yml @@ -0,0 +1,7 @@ +langcode: en +status: true +dependencies: { } +id: comment +label: 'Default comments' +target_entity_type_id: node +description: 'Allows commenting on content' diff --git a/config/optional/core.entity_form_display.block_content.text.default.yml b/config/optional/core.entity_form_display.block_content.text.default.yml new file mode 100644 index 0000000..e1a3958 --- /dev/null +++ b/config/optional/core.entity_form_display.block_content.text.default.yml @@ -0,0 +1,31 @@ +langcode: en +status: true +dependencies: + config: + - block_content.type.text + - field.field.block_content.text.body + module: + - text +id: block_content.text.default +targetEntityType: block_content +bundle: text +mode: default +content: + body: + type: text_textarea_with_summary + weight: 0 + settings: + rows: 9 + summary_rows: 3 + placeholder: '' + third_party_settings: { } + region: content + info: + type: string_textfield + weight: -5 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + region: content +hidden: { } diff --git a/config/optional/core.entity_form_display.comment.comment.default.yml b/config/optional/core.entity_form_display.comment.comment.default.yml new file mode 100644 index 0000000..1010be2 --- /dev/null +++ b/config/optional/core.entity_form_display.comment.comment.default.yml @@ -0,0 +1,33 @@ +langcode: en +status: true +dependencies: + config: + - comment.type.comment + - field.field.comment.comment.comment_body + module: + - text +id: comment.comment.default +targetEntityType: comment +bundle: comment +mode: default +content: + author: + weight: -2 + region: content + comment_body: + type: text_textarea + weight: 11 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + subject: + type: string_textfield + weight: 10 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: { } diff --git a/config/optional/core.entity_view_display.block_content.text.default.yml b/config/optional/core.entity_view_display.block_content.text.default.yml new file mode 100644 index 0000000..9f2d981 --- /dev/null +++ b/config/optional/core.entity_view_display.block_content.text.default.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - block_content.type.text + - field.field.block_content.text.body + module: + - text +id: block_content.text.default +targetEntityType: block_content +bundle: text +mode: default +content: + body: + type: text_default + weight: 0 + label: hidden + settings: { } + third_party_settings: { } + region: content +hidden: { } diff --git a/config/optional/core.entity_view_display.comment.comment.default.yml b/config/optional/core.entity_view_display.comment.comment.default.yml new file mode 100644 index 0000000..6ae213d --- /dev/null +++ b/config/optional/core.entity_view_display.comment.comment.default.yml @@ -0,0 +1,24 @@ +langcode: en +status: true +dependencies: + config: + - comment.type.comment + - field.field.comment.comment.comment_body + module: + - text +id: comment.comment.default +targetEntityType: comment +bundle: comment +mode: default +content: + comment_body: + label: hidden + type: text_default + weight: 0 + region: content + settings: { } + third_party_settings: { } + links: + weight: 100 + region: content +hidden: { } diff --git a/config/optional/field.field.block_content.text.body.yml b/config/optional/field.field.block_content.text.body.yml new file mode 100644 index 0000000..9b30601 --- /dev/null +++ b/config/optional/field.field.block_content.text.body.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - block_content.type.text + - field.storage.block_content.body + module: + - text +id: block_content.text.body +field_name: body +entity_type: block_content +bundle: text +label: Body +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + display_summary: false +field_type: text_with_summary diff --git a/config/optional/field.field.comment.comment.comment_body.yml b/config/optional/field.field.comment.comment.comment_body.yml new file mode 100644 index 0000000..1337070 --- /dev/null +++ b/config/optional/field.field.comment.comment.comment_body.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - comment.type.comment + - field.storage.comment.comment_body + module: + - text +id: comment.comment.comment_body +field_name: comment_body +entity_type: comment +bundle: comment +label: Comment +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/config/optional/user.role.administrator.yml b/config/optional/user.role.administrator.yml new file mode 100644 index 0000000..daf926b --- /dev/null +++ b/config/optional/user.role.administrator.yml @@ -0,0 +1,5 @@ +id: administrator +label: Administrator +weight: 2 +langcode: en +is_admin: true diff --git a/config/optional/user.settings.yml b/config/optional/user.settings.yml new file mode 100644 index 0000000..e3b3a89 --- /dev/null +++ b/config/optional/user.settings.yml @@ -0,0 +1,16 @@ +anonymous: Anonymous +verify_mail: true +notify: + cancel_confirm: true + password_reset: true + status_activated: true + status_blocked: false + status_canceled: false + register_admin_created: true + register_no_approval_required: true + register_pending_approval: true +register: admin_only +cancel_method: user_cancel_block +password_reset_timeout: 86400 +password_strength: true +langcode: en diff --git a/journal.info.yml b/journal.info.yml new file mode 100644 index 0000000..bfa82b3 --- /dev/null +++ b/journal.info.yml @@ -0,0 +1,88 @@ +name: Journal +type: profile +description: 'Content types and workflows for scholarly content.' +core_version_requirement: '^8.0 || ^9' +install: + - address + - field_group + - field_permissions + - panelizer + - views + - views_entity_form_field + - media + - entity_browser + - menu_ui + - lightning_media + - embed + - bibcite + - bibcite_bibtex + - bibcite_ris + - bibcite_import + - bibcite_endnote + - bibcite_marc + - bibcite_entity + - journal_types + - journal_cite_this + - journal_news + - journal_editorial + - journal_peer_review + - journal_references + - journal_site + - metatag + - metatag_dc + - metatag_dc_advanced + - metatag_google_scholar + - autosave_form + - block_content + - breakpoint + - ckeditor + - config + - conflict + - contextual + - menu_link_content + - datetime + - quickedit + - editor + - entity_block + - help + - history + - node + - options + - path + - pathauto + - page_cache + - redirect + - taxonomy + - text + - dblog + - shortcut + - toolbar + - field_ui + - file + - rdf + - views_ui + - diff + - image_widget_crop + - moderation_dashboard + - moderation_sidebar + - lightning_core + - lightning_api + - lightning_layout + - lightning_contact_form + - lightning_page + - lightning_search + - lightning_landing_page + - lightning_media_audio + - lightning_media_bulk_upload + - lightning_media_document + - lightning_media_image + - lightning_media_instagram + - lightning_media_slideshow + - lightning_media_twitter + - lightning_media_video + - lightning_banner_block + - lightning_map_block +themes: + - bartik + - seven + - claro diff --git a/journal.install b/journal.install new file mode 100644 index 0000000..c4e1cc9 --- /dev/null +++ b/journal.install @@ -0,0 +1,14 @@ +' . t('About') . ''; + $output .= '

' . t('Cite an article using the Bibcite export formats.') . '

'; + return $output; + + default: + } +} diff --git a/modules/custom/journal_cite_this/journal_cite_this.routing.yml b/modules/custom/journal_cite_this/journal_cite_this.routing.yml new file mode 100644 index 0000000..42609ab --- /dev/null +++ b/modules/custom/journal_cite_this/journal_cite_this.routing.yml @@ -0,0 +1,15 @@ + +journal_cite_this.journal_export_controller_export: + path: '/journal_cite_this/export/{bibcite_format}/{entity_type}/{entity}' + defaults: + _controller: '\Drupal\journal_cite_this\Controller\JournalExportController::export' + _title: 'export' + requirements: + _permission: 'access content' + options: + parameters: + bibcite_format: + type: bibcite_format + entity: + type: entity:{entity_type} + diff --git a/modules/custom/journal_cite_this/src/Controller/JournalExportController.php b/modules/custom/journal_cite_this/src/Controller/JournalExportController.php new file mode 100644 index 0000000..e784b98 --- /dev/null +++ b/modules/custom/journal_cite_this/src/Controller/JournalExportController.php @@ -0,0 +1,66 @@ +getType() !== 'journal_article') { + throw new NotFoundHttpException(); + } + $citation_tools = new CitationTools($this->entityTypeManager); + $citation_metadata = $citation_tools->getCitationMetadataForArticle($entity); + + $citation_metadata['type'] = 'journal_article'; + $r = Reference::create($citation_metadata); + + return parent::export($bibcite_format, 'reference', $r); + } + +} diff --git a/modules/custom/journal_cite_this/src/Plugin/Block/CiteThisBlock.php b/modules/custom/journal_cite_this/src/Plugin/Block/CiteThisBlock.php new file mode 100644 index 0000000..3e633bf --- /dev/null +++ b/modules/custom/journal_cite_this/src/Plugin/Block/CiteThisBlock.php @@ -0,0 +1,128 @@ +entityTypeManager = $entity_type_manager; + $this->formatManager = $bibcite_format_manager; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $container->get('entity_type.manager'), + $container->get('plugin.manager.bibcite_format') + ); + } + /** + * {@inheritdoc} + */ + public function build() { + $formats = $this->formatManager->getExportDefinitions(); + + $node = $this->getContextValue('node'); + if (empty($node) || $node->getType() !== 'journal_article') { + return; + } + + $nid_fld = $node->nid->getValue(); + $nid = $nid_fld[0]['value']; + $citation_tools = new CitationTools(); + $citation_metadata = $citation_tools->getCitationMetadataForArticle($node); + + $citation_metadata['type'] = 'journal_article'; + + + $r = Reference::create($citation_metadata); + $serializer = \Drupal::service('serializer'); + $data = $serializer->normalize($r, 'csl'); + + $text_citation = [ + '#theme' => 'bibcite_citation', + '#data' => $data, + ]; + + if (!empty($nid)) { + $export_links = [ + '#theme' => 'links', + //'#list_type' => 'ul', + '#prefix' => '

' . $this->t('Export as') . '

', + '#links' => [], + //'#attributes' => ['class' => ['citation-export-links']], + //'#wrapper_attributes' => ['class' => ['container']], + ]; + foreach ($formats as $format) { + // Endnote 7 export seems to be buggy. + $export_links['#links'][] = [ + 'title' => $format['label'], + 'url' => Url::fromRoute('journal_cite_this.journal_export_controller_export', ['bibcite_format' => $format['id'], 'entity_type' => 'node', 'entity' => $nid]), + ]; + } + } + return [$text_citation, $export_links]; + } + +} diff --git a/modules/custom/journal_cite_this/tests/src/Functional/LoadTest.php b/modules/custom/journal_cite_this/tests/src/Functional/LoadTest.php new file mode 100644 index 0000000..8e6c67b --- /dev/null +++ b/modules/custom/journal_cite_this/tests/src/Functional/LoadTest.php @@ -0,0 +1,46 @@ +user = $this->drupalCreateUser(['administer site configuration']); + $this->drupalLogin($this->user); + } + + /** + * Tests that the home page loads with a 200 response. + */ + public function testLoad() { + $this->drupalGet(Url::fromRoute('')); + $this->assertSession()->statusCodeEquals(200); + } + +} diff --git a/modules/custom/journal_devel/journal_devel.info.yml b/modules/custom/journal_devel/journal_devel.info.yml new file mode 100644 index 0000000..e4dd3df --- /dev/null +++ b/modules/custom/journal_devel/journal_devel.info.yml @@ -0,0 +1,7 @@ +name: 'Journal Devel' +type: module +description: 'Development extensions to the Journal install profile.' +core_version_requirement: '^8.0 || ^9' +package: 'Journal' +dependencies: + - block diff --git a/modules/custom/journal_devel/journal_devel.module b/modules/custom/journal_devel/journal_devel.module new file mode 100644 index 0000000..5470731 --- /dev/null +++ b/modules/custom/journal_devel/journal_devel.module @@ -0,0 +1,35 @@ +' . t('About') . ''; + $output .= '

' . t('Development extensions to the Journal install profile.') . '

'; + return $output; + + default: + } +} + +/** + * Implements hook_theme(). + */ +function journal_devel_theme() { + return [ + 'journal_devel' => [ + 'render element' => 'children', + ], + ]; +} diff --git a/modules/custom/journal_devel/src/Plugin/Block/DebugBlock.php b/modules/custom/journal_devel/src/Plugin/Block/DebugBlock.php new file mode 100644 index 0000000..7fd902f --- /dev/null +++ b/modules/custom/journal_devel/src/Plugin/Block/DebugBlock.php @@ -0,0 +1,31 @@ +getRouteName(); + $route_object = \Drupal::routeMatch()->getRouteObject(); + ksm($route_object); + $build['#cache']['max-age'] = 0; + $build['journal_debug_block']['#markup'] = 'Implement DebugBlock.

' . var_dump($route_name); + + return $build; + } + +} diff --git a/modules/custom/journal_devel/templates/journal-devel.html.twig b/modules/custom/journal_devel/templates/journal-devel.html.twig new file mode 100644 index 0000000..91e43c8 --- /dev/null +++ b/modules/custom/journal_devel/templates/journal-devel.html.twig @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modules/custom/journal_editorial/config/install/user.role.issue_editor.yml b/modules/custom/journal_editorial/config/install/user.role.issue_editor.yml new file mode 100644 index 0000000..04a9cb2 --- /dev/null +++ b/modules/custom/journal_editorial/config/install/user.role.issue_editor.yml @@ -0,0 +1,218 @@ +langcode: en +status: true +dependencies: + module: + - lightning_core +third_party_settings: + lightning_core: + description: 'Responsible for guiding submissions through the peer review process, assigning categories and editing article and issue metadata.' +_core: + default_config_hash: sQTjVlyR-_9Fgj_OYZZHoja8o2kqoskGSgJXjm7-uE0 +id: issue_editor +label: 'Issue editor' +weight: 9 +is_admin: null +permissions: + - 'access bibcite export' + - 'access comments' + - 'access content overview' + - 'access contextual links' + - 'access files overview' + - 'access image_browser entity browser pages' + - 'access in-place editing' + - 'access media overview' + - 'access media_browser entity browser pages' + - 'access taxonomy overview' + - 'access toolbar' + - 'administer comments' + - 'administer entity browsers' + - 'administer media' + - 'change layouts in place editing' + - 'change own username' + - 'create audio_file media' + - 'create bibcite_contributor' + - 'create bibcite_keyword' + - 'create bibcite_reference' + - 'create document media' + - 'create field_affiliation_contributor' + - 'create field_affiliation_string' + - 'create field_article_peer_reviewed' + - 'create field_article_section' + - 'create field_article_submission_files' + - 'create field_authors_and_affiliations' + - 'create field_doi' + - 'create field_featured_article' + - 'create field_part_of' + - 'create field_peer_reviewer' + - 'create field_publication_date_electroni' + - 'create image media' + - 'create instagram media' + - 'create issue content' + - 'create journal_article content' + - 'create landing_page content' + - 'create media' + - 'create news_article content' + - 'create page content' + - 'create terms in article_keywords' + - 'create terms in article_section' + - 'create terms in disciplines' + - 'create terms in subjects' + - 'create tweet media' + - 'create url aliases' + - 'create video media' + - 'create video_file media' + - 'delete any audio_file media' + - 'delete any bibcite_reference' + - 'delete any document media' + - 'delete any image media' + - 'delete any instagram media' + - 'delete any issue content' + - 'delete any journal_article content' + - 'delete any media' + - 'delete any news_article content' + - 'delete any page content' + - 'delete any tweet media' + - 'delete any video media' + - 'delete any video_file media' + - 'delete bibcite_contributor' + - 'delete bibcite_keyword' + - 'delete issue revisions' + - 'delete journal_article revisions' + - 'delete landing_page revisions' + - 'delete media' + - 'delete news_article revisions' + - 'delete own audio_file media' + - 'delete own bibcite_keyword' + - 'delete own bibcite_reference' + - 'delete own document media' + - 'delete own image media' + - 'delete own instagram media' + - 'delete own issue content' + - 'delete own journal_article content' + - 'delete own landing_page content' + - 'delete own news_article content' + - 'delete own page content' + - 'delete own tweet media' + - 'delete own video media' + - 'delete own video_file media' + - 'delete page revisions' + - 'delete terms in article_keywords' + - 'delete terms in article_section' + - 'delete terms in disciplines' + - 'delete terms in subjects' + - 'edit any audio_file media' + - 'edit any bibcite_reference' + - 'edit any document media' + - 'edit any image media' + - 'edit any instagram media' + - 'edit any issue content' + - 'edit any journal_article content' + - 'edit any landing_page content' + - 'edit any news_article content' + - 'edit any page content' + - 'edit any tweet media' + - 'edit any video media' + - 'edit any video_file media' + - 'edit bibcite_contributor' + - 'edit bibcite_keyword' + - 'edit field_affiliation_contributor' + - 'edit field_affiliation_string' + - 'edit field_article_peer_reviewed' + - 'edit field_article_section' + - 'edit field_article_submission_files' + - 'edit field_authors_and_affiliations' + - 'edit field_doi' + - 'edit field_featured_article' + - 'edit field_part_of' + - 'edit field_peer_reviewer' + - 'edit field_publication_date_electroni' + - 'edit own audio_file media' + - 'edit own bibcite_keyword' + - 'edit own bibcite_reference' + - 'edit own comments' + - 'edit own document media' + - 'edit own field_affiliation_contributor' + - 'edit own field_affiliation_string' + - 'edit own field_article_peer_reviewed' + - 'edit own field_article_section' + - 'edit own field_article_submission_files' + - 'edit own field_authors_and_affiliations' + - 'edit own field_doi' + - 'edit own field_featured_article' + - 'edit own field_part_of' + - 'edit own field_peer_reviewer' + - 'edit own field_publication_date_electroni' + - 'edit own image media' + - 'edit own instagram media' + - 'edit own issue content' + - 'edit own journal_article content' + - 'edit own landing_page content' + - 'edit own news_article content' + - 'edit own page content' + - 'edit own tweet media' + - 'edit own video media' + - 'edit own video_file media' + - 'edit terms in article_keywords' + - 'edit terms in article_section' + - 'edit terms in disciplines' + - 'edit terms in subjects' + - 'post comments' + - 'reorder entity_hierarchy children' + - 'revert issue revisions' + - 'revert journal_article revisions' + - 'revert landing_page revisions' + - 'revert news_article revisions' + - 'revert page revisions' + - 'skip comment approval' + - 'update any media' + - 'update media' + - 'use editorial transition archive' + - 'use editorial transition create_new_draft' + - 'use editorial transition publish' + - 'use editorial transition review' + - 'use journal_article_submission transition create_new_draft' + - 'use journal_article_submission transition pass_peer_review' + - 'use journal_article_submission transition publish' + - 'use journal_article_submission transition respond_to_feedback' + - 'use journal_article_submission transition reviewer_feedback' + - 'use journal_article_submission transition send_to_review' + - 'use moderation dashboard' + - 'use moderation sidebar' + - 'use text format links_only' + - 'use text format rich_text' + - 'use text format rich_text_references' + - 'view all media revisions' + - 'view any moderation dashboard' + - 'view any unpublished content' + - 'view bibcite_contributor' + - 'view bibcite_keyword' + - 'view bibcite_reference' + - 'view field_affiliation_contributor' + - 'view field_affiliation_string' + - 'view field_article_peer_reviewed' + - 'view field_article_section' + - 'view field_article_submission_files' + - 'view field_authors_and_affiliations' + - 'view field_doi' + - 'view field_featured_article' + - 'view field_part_of' + - 'view field_peer_reviewer' + - 'view field_publication_date_electroni' + - 'view issue revisions' + - 'view journal_article revisions' + - 'view landing_page revisions' + - 'view latest version' + - 'view news_article revisions' + - 'view own field_affiliation_contributor' + - 'view own field_affiliation_string' + - 'view own field_article_peer_reviewed' + - 'view own field_article_section' + - 'view own field_article_submission_files' + - 'view own field_authors_and_affiliations' + - 'view own field_doi' + - 'view own field_featured_article' + - 'view own field_part_of' + - 'view own field_peer_reviewer' + - 'view own field_publication_date_electroni' + - 'view own unpublished content' + - 'view page revisions' diff --git a/modules/custom/journal_editorial/config/install/user.role.journal_article_creator.yml b/modules/custom/journal_editorial/config/install/user.role.journal_article_creator.yml new file mode 100644 index 0000000..f974db0 --- /dev/null +++ b/modules/custom/journal_editorial/config/install/user.role.journal_article_creator.yml @@ -0,0 +1,86 @@ +langcode: en +status: true +dependencies: + module: + - lightning_core +third_party_settings: + lightning_core: + description: 'Article submitters, able to submit content for review and edit their own submitted content. They can also add contributors and references for use in their own articles.' +_core: + default_config_hash: WRLBUAx5Xohg4toMToqJ1LXleuIp8gXWVY0IQ4tOIHw +id: journal_article_creator +label: Author +weight: 11 +is_admin: null +permissions: + - 'access bibcite export' + - 'access comments' + - 'access contextual links' + - 'access image_browser entity browser pages' + - 'access media_browser entity browser pages' + - 'change layouts in place editing' + - 'change own username' + - 'create audio_file media' + - 'create bibcite_contributor' + - 'create bibcite_keyword' + - 'create bibcite_reference' + - 'create document media' + - 'create field_affiliation_contributor' + - 'create field_affiliation_string' + - 'create field_article_submission_files' + - 'create field_authors_and_affiliations' + - 'create image media' + - 'create instagram media' + - 'create journal_article content' + - 'create media' + - 'create tweet media' + - 'create video media' + - 'create video_file media' + - 'delete media' + - 'delete own audio_file media' + - 'delete own bibcite_keyword' + - 'delete own bibcite_reference' + - 'delete own document media' + - 'delete own image media' + - 'delete own instagram media' + - 'delete own tweet media' + - 'delete own video media' + - 'delete own video_file media' + - 'edit own audio_file media' + - 'edit own bibcite_keyword' + - 'edit own bibcite_reference' + - 'edit own comments' + - 'edit own document media' + - 'edit own field_affiliation_contributor' + - 'edit own field_affiliation_string' + - 'edit own field_article_submission_files' + - 'edit own field_authors_and_affiliations' + - 'edit own image media' + - 'edit own instagram media' + - 'edit own journal_article content' + - 'edit own tweet media' + - 'edit own video media' + - 'edit own video_file media' + - 'post comments' + - 'skip comment approval' + - 'update media' + - 'use editorial transition create_new_draft' + - 'use editorial transition review' + - 'use journal_article_submission transition create_new_draft' + - 'use journal_article_submission transition respond_to_feedback' + - 'use moderation sidebar' + - 'use text format links_only' + - 'use text format rich_text' + - 'use text format rich_text_references' + - 'view bibcite_contributor' + - 'view bibcite_keyword' + - 'view bibcite_reference' + - 'view journal_article revisions' + - 'view latest version' + - 'view own field_affiliation_contributor' + - 'view own field_affiliation_string' + - 'view own field_article_section' + - 'view own field_article_submission_files' + - 'view own field_authors_and_affiliations' + - 'view own field_doi' + - 'view own unpublished content' diff --git a/modules/custom/journal_editorial/config/install/user.role.journal_article_reviewer.yml b/modules/custom/journal_editorial/config/install/user.role.journal_article_reviewer.yml new file mode 100644 index 0000000..90224da --- /dev/null +++ b/modules/custom/journal_editorial/config/install/user.role.journal_article_reviewer.yml @@ -0,0 +1,30 @@ +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: fyr-r-1PNzrdqnhDX0Eds5z2dYuNkpU2q7bUXBwLnuI +id: journal_article_reviewer +label: 'Article reviewer' +weight: 12 +is_admin: null +permissions: + - 'access comments' + - 'change own username' + - 'delete any journal_article content' + - 'delete own bibcite_keyword' + - 'edit own bibcite_keyword' + - 'edit own comments' + - 'post comments' + - 'skip comment approval' + - 'use editorial transition archive' + - 'use editorial transition publish' + - 'use editorial transition review' + - 'use journal_article_submission transition create_new_draft' + - 'use journal_article_submission transition reviewer_feedback' + - 'use moderation dashboard' + - 'use moderation sidebar' + - 'use text format links_only' + - 'use text format rich_text' + - 'view any unpublished content' + - 'view field_article_submission_files' + - 'view latest version' diff --git a/modules/custom/journal_editorial/config/install/user.role.journal_editor.yml b/modules/custom/journal_editorial/config/install/user.role.journal_editor.yml new file mode 100644 index 0000000..7ccf2dd --- /dev/null +++ b/modules/custom/journal_editorial/config/install/user.role.journal_editor.yml @@ -0,0 +1,251 @@ +langcode: en +status: true +dependencies: + module: + - lightning_core +third_party_settings: + lightning_core: + description: 'The editor user with greatest permissions to create and delete all types of content and users.' +_core: + default_config_hash: B49Ku2fBSbj8-e7F5GJxv5_tjF8frJ0jxmzgT5IcvAk +id: journal_editor +label: 'Journal editor' +weight: 7 +is_admin: null +permissions: + - 'access bibcite export' + - 'access comments' + - 'access content overview' + - 'access contextual links' + - 'access files overview' + - 'access image_browser entity browser pages' + - 'access in-place editing' + - 'access media overview' + - 'access media_browser entity browser pages' + - 'access panels in-place editing' + - 'access private fields' + - 'access site in maintenance mode' + - 'access site reports' + - 'access taxonomy overview' + - 'access toolbar' + - 'administer account settings' + - 'administer block_content display' + - 'administer comment display' + - 'administer comment fields' + - 'administer comments' + - 'administer contact_message display' + - 'administer contact_message fields' + - 'administer entity browsers' + - 'administer image styles' + - 'administer media' + - 'administer menu' + - 'administer meta tags' + - 'administer node display' + - 'administer nodes' + - 'administer panelizer node journal content' + - 'administer panelizer node journal layout' + - 'administer panelizer node journal revert' + - 'administer taxonomy' + - 'administer users' + - 'bypass node access' + - 'change layouts in place editing' + - 'change own username' + - 'create audio_file media' + - 'create bibcite_contributor' + - 'create bibcite_keyword' + - 'create bibcite_reference' + - 'create document media' + - 'create field_affiliation_contributor' + - 'create field_affiliation_string' + - 'create field_article_peer_reviewed' + - 'create field_article_section' + - 'create field_article_submission_files' + - 'create field_authors_and_affiliations' + - 'create field_doi' + - 'create field_featured_article' + - 'create field_part_of' + - 'create field_peer_reviewer' + - 'create field_publication_date_electroni' + - 'create image media' + - 'create instagram media' + - 'create issue content' + - 'create journal content' + - 'create journal_article content' + - 'create landing_page content' + - 'create media' + - 'create news_article content' + - 'create page content' + - 'create terms in article_keywords' + - 'create terms in article_section' + - 'create terms in disciplines' + - 'create terms in subjects' + - 'create tweet media' + - 'create url aliases' + - 'create video media' + - 'create video_file media' + - 'delete all revisions' + - 'delete any audio_file media' + - 'delete any bibcite_reference' + - 'delete any document media' + - 'delete any image media' + - 'delete any instagram media' + - 'delete any issue content' + - 'delete any journal content' + - 'delete any journal_article content' + - 'delete any landing_page content' + - 'delete any media' + - 'delete any news_article content' + - 'delete any page content' + - 'delete any tweet media' + - 'delete any video media' + - 'delete any video_file media' + - 'delete bibcite_contributor' + - 'delete bibcite_keyword' + - 'delete issue revisions' + - 'delete journal revisions' + - 'delete journal_article revisions' + - 'delete landing_page revisions' + - 'delete media' + - 'delete news_article revisions' + - 'delete own audio_file media' + - 'delete own bibcite_keyword' + - 'delete own bibcite_reference' + - 'delete own document media' + - 'delete own image media' + - 'delete own instagram media' + - 'delete own issue content' + - 'delete own journal content' + - 'delete own journal_article content' + - 'delete own landing_page content' + - 'delete own news_article content' + - 'delete own page content' + - 'delete own tweet media' + - 'delete own video media' + - 'delete own video_file media' + - 'delete page revisions' + - 'delete terms in article_keywords' + - 'delete terms in article_section' + - 'delete terms in disciplines' + - 'delete terms in subjects' + - 'edit any audio_file media' + - 'edit any bibcite_reference' + - 'edit any document media' + - 'edit any image media' + - 'edit any instagram media' + - 'edit any issue content' + - 'edit any journal content' + - 'edit any journal_article content' + - 'edit any landing_page content' + - 'edit any news_article content' + - 'edit any page content' + - 'edit any tweet media' + - 'edit any video media' + - 'edit any video_file media' + - 'edit bibcite_contributor' + - 'edit bibcite_keyword' + - 'edit field_affiliation_contributor' + - 'edit field_affiliation_string' + - 'edit field_article_peer_reviewed' + - 'edit field_article_section' + - 'edit field_article_submission_files' + - 'edit field_authors_and_affiliations' + - 'edit field_doi' + - 'edit field_featured_article' + - 'edit field_part_of' + - 'edit field_peer_reviewer' + - 'edit field_publication_date_electroni' + - 'edit own audio_file media' + - 'edit own bibcite_keyword' + - 'edit own bibcite_reference' + - 'edit own comments' + - 'edit own document media' + - 'edit own field_affiliation_contributor' + - 'edit own field_affiliation_string' + - 'edit own field_article_peer_reviewed' + - 'edit own field_article_section' + - 'edit own field_article_submission_files' + - 'edit own field_authors_and_affiliations' + - 'edit own field_doi' + - 'edit own field_featured_article' + - 'edit own field_part_of' + - 'edit own field_peer_reviewer' + - 'edit own field_publication_date_electroni' + - 'edit own image media' + - 'edit own instagram media' + - 'edit own issue content' + - 'edit own journal content' + - 'edit own journal_article content' + - 'edit own landing_page content' + - 'edit own news_article content' + - 'edit own page content' + - 'edit own tweet media' + - 'edit own video media' + - 'edit own video_file media' + - 'edit terms in article_keywords' + - 'edit terms in article_section' + - 'edit terms in disciplines' + - 'edit terms in subjects' + - 'post comments' + - 'reorder entity_hierarchy children' + - 'revert all revisions' + - 'revert issue revisions' + - 'revert journal revisions' + - 'revert journal_article revisions' + - 'revert landing_page revisions' + - 'revert news_article revisions' + - 'revert page revisions' + - 'skip comment approval' + - 'update any media' + - 'update media' + - 'use editorial transition archive' + - 'use editorial transition create_new_draft' + - 'use editorial transition publish' + - 'use editorial transition review' + - 'use journal_article_submission transition create_new_draft' + - 'use journal_article_submission transition pass_peer_review' + - 'use journal_article_submission transition publish' + - 'use journal_article_submission transition respond_to_feedback' + - 'use journal_article_submission transition reviewer_feedback' + - 'use journal_article_submission transition send_to_review' + - 'use moderation dashboard' + - 'use moderation sidebar' + - 'use text format links_only' + - 'use text format rich_text' + - 'use text format rich_text_references' + - 'view all media revisions' + - 'view all revisions' + - 'view any moderation dashboard' + - 'view any unpublished content' + - 'view bibcite_contributor' + - 'view bibcite_keyword' + - 'view bibcite_reference' + - 'view field_affiliation_contributor' + - 'view field_affiliation_string' + - 'view field_article_peer_reviewed' + - 'view field_article_section' + - 'view field_article_submission_files' + - 'view field_authors_and_affiliations' + - 'view field_doi' + - 'view field_featured_article' + - 'view field_part_of' + - 'view field_peer_reviewer' + - 'view field_publication_date_electroni' + - 'view issue revisions' + - 'view journal revisions' + - 'view journal_article revisions' + - 'view landing_page revisions' + - 'view latest version' + - 'view news_article revisions' + - 'view own field_affiliation_contributor' + - 'view own field_affiliation_string' + - 'view own field_article_peer_reviewed' + - 'view own field_article_section' + - 'view own field_article_submission_files' + - 'view own field_authors_and_affiliations' + - 'view own field_doi' + - 'view own field_featured_article' + - 'view own field_part_of' + - 'view own field_peer_reviewer' + - 'view own field_publication_date_electroni' + - 'view own unpublished content' + - 'view page revisions' diff --git a/modules/custom/journal_editorial/config/install/user.role.web_editor.yml b/modules/custom/journal_editorial/config/install/user.role.web_editor.yml new file mode 100644 index 0000000..be2c33f --- /dev/null +++ b/modules/custom/journal_editorial/config/install/user.role.web_editor.yml @@ -0,0 +1,95 @@ +langcode: en +status: true +dependencies: + module: + - lightning_core +third_party_settings: + lightning_core: + description: 'Able to create and edit non-scholarly site content.' +_core: + default_config_hash: RUVGF6qnEwwnXM0FPtbEFf9fpVX7Cl7OPtIqis9b5ug +id: web_editor +label: 'Web content editor' +weight: 13 +is_admin: null +permissions: + - 'access contextual links' + - 'access image_browser entity browser pages' + - 'access media_browser entity browser pages' + - 'administer menu' + - 'administer panelizer node landing_page content' + - 'administer panelizer node landing_page layout' + - 'administer panelizer node landing_page revert' + - 'administer panelizer node page content' + - 'administer panelizer node page layout' + - 'change layouts in place editing' + - 'change own username' + - 'create audio_file media' + - 'create bibcite_contributor' + - 'create bibcite_keyword' + - 'create bibcite_reference' + - 'create document media' + - 'create image media' + - 'create instagram media' + - 'create landing_page content' + - 'create media' + - 'create news_article content' + - 'create page content' + - 'create tweet media' + - 'create url aliases' + - 'create video media' + - 'create video_file media' + - 'delete any news_article content' + - 'delete any page content' + - 'delete landing_page revisions' + - 'delete media' + - 'delete news_article revisions' + - 'delete own audio_file media' + - 'delete own bibcite_keyword' + - 'delete own bibcite_reference' + - 'delete own document media' + - 'delete own image media' + - 'delete own instagram media' + - 'delete own landing_page content' + - 'delete own news_article content' + - 'delete own page content' + - 'delete own tweet media' + - 'delete own video media' + - 'delete own video_file media' + - 'delete page revisions' + - 'edit any landing_page content' + - 'edit any news_article content' + - 'edit any page content' + - 'edit own audio_file media' + - 'edit own bibcite_keyword' + - 'edit own bibcite_reference' + - 'edit own document media' + - 'edit own image media' + - 'edit own instagram media' + - 'edit own landing_page content' + - 'edit own news_article content' + - 'edit own page content' + - 'edit own tweet media' + - 'edit own video media' + - 'edit own video_file media' + - 'revert landing_page revisions' + - 'revert news_article revisions' + - 'revert page revisions' + - 'update media' + - 'use editorial transition archive' + - 'use editorial transition create_new_draft' + - 'use editorial transition publish' + - 'use editorial transition review' + - 'use text format links_only' + - 'use text format rich_text' + - 'use text format rich_text_references' + - 'view all media revisions' + - 'view any unpublished content' + - 'view bibcite_contributor' + - 'view bibcite_keyword' + - 'view bibcite_reference' + - 'view landing_page revisions' + - 'view latest version' + - 'view news_article revisions' + - 'view own unpublished content' + - 'view page revisions' diff --git a/modules/custom/journal_editorial/config/install/workflows.workflow.journal_article_submission.yml b/modules/custom/journal_editorial/config/install/workflows.workflow.journal_article_submission.yml new file mode 100644 index 0000000..9a8c629 --- /dev/null +++ b/modules/custom/journal_editorial/config/install/workflows.workflow.journal_article_submission.yml @@ -0,0 +1,85 @@ +langcode: en +status: true +dependencies: + config: + - node.type.journal_article + module: + - content_moderation +_core: + default_config_hash: IbXIWOwlHmS68a9yudO8nYqJSjUYdUCJOo2Ujw83ytI +id: journal_article_submission +label: 'Article Submission' +type: content_moderation +type_settings: + states: + draft: + published: false + default_revision: false + label: Submission + weight: -10 + editorial_review: + published: false + default_revision: false + label: 'In editorial review' + weight: -7 + peer_review: + published: false + default_revision: false + label: 'In peer review' + weight: -9 + published: + published: true + default_revision: true + label: Published + weight: -6 + with_submitter: + published: false + default_revision: false + label: 'With submitter' + weight: -8 + transitions: + create_new_draft: + label: Submission + to: draft + weight: -10 + from: + - draft + - editorial_review + - peer_review + - published + pass_peer_review: + label: 'Pass Peer Review' + from: + - peer_review + to: editorial_review + weight: -6 + publish: + label: Publish + to: published + weight: -5 + from: + - draft + - editorial_review + - peer_review + - published + respond_to_feedback: + label: 'Respond to feedback' + from: + - with_submitter + to: peer_review + weight: -7 + reviewer_feedback: + label: 'Reviewer feedback' + from: + - peer_review + to: with_submitter + weight: -8 + send_to_review: + label: 'Send to Review' + from: + - draft + to: peer_review + weight: -9 + entity_types: + node: + - journal_article diff --git a/modules/custom/journal_editorial/journal_editorial.info.yml b/modules/custom/journal_editorial/journal_editorial.info.yml new file mode 100644 index 0000000..d3be460 --- /dev/null +++ b/modules/custom/journal_editorial/journal_editorial.info.yml @@ -0,0 +1,8 @@ +name: 'Journal Editorial' +type: module +description: 'Workflows for scholarly content' +core_version_requirement: '^8.0 || ^9 || ^10' +package: 'Journal' +dependencies: + - journal_types + diff --git a/modules/custom/journal_editorial/journal_editorial.module b/modules/custom/journal_editorial/journal_editorial.module new file mode 100644 index 0000000..a23ca56 --- /dev/null +++ b/modules/custom/journal_editorial/journal_editorial.module @@ -0,0 +1,28 @@ +delete(); + } +} diff --git a/modules/custom/journal_news/config/install/core.entity_form_display.node.news_article.default.yml b/modules/custom/journal_news/config/install/core.entity_form_display.node.news_article.default.yml new file mode 100644 index 0000000..cb053d3 --- /dev/null +++ b/modules/custom/journal_news/config/install/core.entity_form_display.node.news_article.default.yml @@ -0,0 +1,122 @@ +langcode: en +status: true +dependencies: + config: + - entity_browser.browser.media_browser + - field.field.node.news_article.body + - field.field.node.news_article.field_article_highlight_image + - field.field.node.news_article.field_article_section + - field.field.node.news_article.field_part_of + - node.type.news_article + module: + - content_moderation + - entity_browser + - entity_hierarchy + - path + - text +_core: + default_config_hash: icalymWJVSMqbFOEmncF5vVTcmk0Qae4taSa-q64V58 +id: node.news_article.default +targetEntityType: node +bundle: news_article +mode: default +content: + body: + type: text_textarea_with_summary + weight: 121 + settings: + rows: 9 + summary_rows: 3 + placeholder: '' + third_party_settings: { } + region: content + created: + type: datetime_timestamp + weight: 10 + region: content + settings: { } + third_party_settings: { } + field_article_highlight_image: + type: entity_browser_entity_reference + weight: 123 + settings: + entity_browser: media_browser + field_widget_display: rendered_entity + field_widget_edit: true + field_widget_remove: true + selection_mode: selection_append + field_widget_display_settings: + view_mode: thumbnail + open: true + region: content + third_party_settings: { } + field_article_section: + weight: 122 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete + region: content + field_part_of: + weight: 124 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + hide_weight: false + third_party_settings: { } + type: entity_reference_hierarchy_autocomplete + region: content + moderation_state: + type: moderation_state_default + weight: 100 + settings: { } + region: content + third_party_settings: { } + path: + type: path + weight: 30 + region: content + settings: { } + third_party_settings: { } + promote: + type: boolean_checkbox + settings: + display_label: true + weight: 15 + region: content + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 120 + region: content + third_party_settings: { } + sticky: + type: boolean_checkbox + settings: + display_label: true + weight: 16 + region: content + third_party_settings: { } + title: + type: string_textfield + weight: -5 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 5 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + region: content + third_party_settings: { } +hidden: { } diff --git a/modules/custom/journal_news/config/install/core.entity_view_display.node.news_article.default.yml b/modules/custom/journal_news/config/install/core.entity_view_display.node.news_article.default.yml new file mode 100644 index 0000000..e9462ac --- /dev/null +++ b/modules/custom/journal_news/config/install/core.entity_view_display.node.news_article.default.yml @@ -0,0 +1,64 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.news_article.body + - field.field.node.news_article.field_article_highlight_image + - field.field.node.news_article.field_article_section + - field.field.node.news_article.field_part_of + - node.type.news_article + module: + - entity_hierarchy + - panelizer + - text + - user +third_party_settings: + panelizer: + enable: false + custom: false + allow: false + default: default +_core: + default_config_hash: xI3B0VzULKTNxOUid0lkV2it5RgTl6Qa_fbuLPuUkgI +id: node.news_article.default +targetEntityType: node +bundle: news_article +mode: default +content: + body: + label: hidden + type: text_default + weight: 2 + settings: { } + third_party_settings: { } + region: content + field_article_highlight_image: + weight: 4 + label: visually_hidden + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_article_section: + weight: 3 + label: inline + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_part_of: + weight: 0 + label: inline + settings: + link: true + third_party_settings: { } + type: entity_reference_hierarchy_label + region: content + links: + weight: 1 + region: content + settings: { } + third_party_settings: { } +hidden: { } diff --git a/modules/custom/journal_news/config/install/core.entity_view_display.node.news_article.teaser.yml b/modules/custom/journal_news/config/install/core.entity_view_display.node.news_article.teaser.yml new file mode 100644 index 0000000..9e296d5 --- /dev/null +++ b/modules/custom/journal_news/config/install/core.entity_view_display.node.news_article.teaser.yml @@ -0,0 +1,33 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.news_article.body + - field.field.node.news_article.field_article_highlight_image + - field.field.node.news_article.field_article_section + - node.type.news_article + module: + - text + - user +_core: + default_config_hash: Gk6ZZIWBK9ATqv3G_zANqhqWdqiQAMhqWu2-AjHt_fw +id: node.news_article.teaser +targetEntityType: node +bundle: news_article +mode: teaser +content: + body: + label: hidden + type: text_summary_or_trimmed + weight: 101 + settings: + trim_length: 600 + third_party_settings: { } + region: content + links: + weight: 100 + region: content +hidden: + field_article_highlight_image: true + field_article_section: true diff --git a/modules/custom/journal_news/config/install/field.field.node.news_article.body.yml b/modules/custom/journal_news/config/install/field.field.node.news_article.body.yml new file mode 100644 index 0000000..a3d4090 --- /dev/null +++ b/modules/custom/journal_news/config/install/field.field.node.news_article.body.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.body + - node.type.news_article + module: + - text +id: node.news_article.body +field_name: body +entity_type: node +bundle: news_article +label: Body +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + display_summary: true +field_type: text_with_summary diff --git a/modules/custom/journal_news/config/install/field.field.node.news_article.field_article_highlight_image.yml b/modules/custom/journal_news/config/install/field.field.node.news_article.field_article_highlight_image.yml new file mode 100644 index 0000000..dcce6db --- /dev/null +++ b/modules/custom/journal_news/config/install/field.field.node.news_article.field_article_highlight_image.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_highlight_image + - media.type.image + - node.type.news_article +id: node.news_article.field_article_highlight_image +field_name: field_article_highlight_image +entity_type: node +bundle: news_article +label: 'Highlight Image' +description: 'Select from uploaded media an image that will be included in lists of content to accompany the article link.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:media' + handler_settings: + target_bundles: + image: image + sort: + field: status + direction: DESC + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/modules/custom/journal_news/config/install/field.field.node.news_article.field_article_section.yml b/modules/custom/journal_news/config/install/field.field.node.news_article.field_article_section.yml new file mode 100644 index 0000000..b7d1dc1 --- /dev/null +++ b/modules/custom/journal_news/config/install/field.field.node.news_article.field_article_section.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_section + - node.type.news_article + - taxonomy.vocabulary.article_section +id: node.news_article.field_article_section +field_name: field_article_section +entity_type: node +bundle: news_article +label: Section +description: 'Section where this item will appear.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + article_section: article_section + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/modules/custom/journal_news/config/install/field.field.node.news_article.field_part_of.yml b/modules/custom/journal_news/config/install/field.field.node.news_article.field_part_of.yml new file mode 100644 index 0000000..b51f622 --- /dev/null +++ b/modules/custom/journal_news/config/install/field.field.node.news_article.field_part_of.yml @@ -0,0 +1,36 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_part_of + - node.type.issue + - node.type.news_article + module: + - entity_hierarchy + - require_on_publish +third_party_settings: + require_on_publish: + require_on_publish: false +id: node.news_article.field_part_of +field_name: field_part_of +entity_type: node +bundle: news_article +label: Issue +description: 'Optionally attach this news story to a journal issue.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'entity_hierarchy:node' + handler_settings: + target_bundles: + issue: issue + sort: + field: _none + auto_create: 0 + auto_create_bundle: '' + weight_min: 0 + weight_max: 1024 + weight_label: Order +field_type: entity_reference_hierarchy diff --git a/modules/custom/journal_news/config/install/node.type.news_article.yml b/modules/custom/journal_news/config/install/node.type.news_article.yml new file mode 100644 index 0000000..a2491b9 --- /dev/null +++ b/modules/custom/journal_news/config/install/node.type.news_article.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' +name: 'News Article' +type: news_article +description: 'Non-peer reviewed web content.' +help: 'This is content created for the journal web site that has not gone through peer review It does not include the technical metadata associated with scholarly content and may or may not be attached to an issue.' +new_revision: true +preview_mode: 1 +display_submitted: true diff --git a/modules/custom/journal_news/journal_news.info.yml b/modules/custom/journal_news/journal_news.info.yml new file mode 100644 index 0000000..0b3c06b --- /dev/null +++ b/modules/custom/journal_news/journal_news.info.yml @@ -0,0 +1,8 @@ +name: 'Journal News' +type: module +description: 'Content types for non-scholarly content' +core_version_requirement: '^8.0 || ^9' +package: 'Journal' +dependencies: + - journal_types + diff --git a/modules/custom/journal_peer_review/config/optional/block.block.views_block__editor_content_in_review.yml b/modules/custom/journal_peer_review/config/optional/block.block.views_block__editor_content_in_review.yml new file mode 100644 index 0000000..ac19aef --- /dev/null +++ b/modules/custom/journal_peer_review/config/optional/block.block.views_block__editor_content_in_review.yml @@ -0,0 +1,39 @@ +langcode: en +status: true +dependencies: + config: + - views.view.journal_article_peer_reviewer_content_list + module: + - system + - user + - views + theme: + - bartik +id: views_block__editor_content_in_review +theme: bartik +region: content +weight: 0 +provider: null +plugin: 'views_block:journal_article_peer_reviewer_content_list-editor_content_in_review' +settings: + id: 'views_block:journal_article_peer_reviewer_content_list-editor_content_in_review' + label: '' + provider: views + label_display: visible + views_label: '' + items_per_page: '20' +visibility: + request_path: + id: request_path + pages: '/user/*' + negate: false + context_mapping: { } + user_role: + id: user_role + roles: + administrator: administrator + journal_editor: journal_editor + issue_editor: issue_editor + negate: false + context_mapping: + user: '@user.current_user_context:current_user' diff --git a/modules/custom/journal_peer_review/config/optional/block.block.views_block__journal_article_peer_reviewer_content_list_block_1.yml b/modules/custom/journal_peer_review/config/optional/block.block.views_block__journal_article_peer_reviewer_content_list_block_1.yml new file mode 100644 index 0000000..0aa69fd --- /dev/null +++ b/modules/custom/journal_peer_review/config/optional/block.block.views_block__journal_article_peer_reviewer_content_list_block_1.yml @@ -0,0 +1,38 @@ +langcode: en +status: true +dependencies: + config: + - views.view.journal_article_peer_reviewer_content_list + module: + - system + - user + - views + theme: + - bartik +id: views_block__journal_article_peer_reviewer_content_list_block_1 +theme: bartik +region: content +weight: 0 +provider: null +plugin: 'views_block:journal_article_peer_reviewer_content_list-block_1' +settings: + id: 'views_block:journal_article_peer_reviewer_content_list-block_1' + label: '' + provider: views + label_display: visible + views_label: '' + items_per_page: none + context_mapping: { } +visibility: + request_path: + id: request_path + pages: '/user/*' + negate: false + context_mapping: { } + user_role: + id: user_role + roles: + journal_article_reviewer: journal_article_reviewer + negate: false + context_mapping: + user: '@user.current_user_context:current_user' diff --git a/modules/custom/journal_peer_review/config/optional/block.block.views_block__journal_article_peer_reviewer_content_list_block_2.yml b/modules/custom/journal_peer_review/config/optional/block.block.views_block__journal_article_peer_reviewer_content_list_block_2.yml new file mode 100644 index 0000000..5ca37dd --- /dev/null +++ b/modules/custom/journal_peer_review/config/optional/block.block.views_block__journal_article_peer_reviewer_content_list_block_2.yml @@ -0,0 +1,41 @@ +langcode: en +status: true +dependencies: + config: + - views.view.journal_article_peer_reviewer_content_list + module: + - system + - user + - views + theme: + - bartik +id: views_block__journal_article_peer_reviewer_content_list_block_2 +theme: bartik +region: content +weight: 0 +provider: null +plugin: 'views_block:journal_article_peer_reviewer_content_list-block_2' +settings: + id: 'views_block:journal_article_peer_reviewer_content_list-block_2' + label: '' + provider: views + label_display: visible + views_label: '' + items_per_page: '20' + context_mapping: { } +visibility: + request_path: + id: request_path + pages: '/user/*' + negate: false + context_mapping: { } + user_role: + id: user_role + roles: + administrator: administrator + journal_editor: journal_editor + issue_editor: issue_editor + journal_article_creator: journal_article_creator + negate: false + context_mapping: + user: '@user.current_user_context:current_user' diff --git a/modules/custom/journal_peer_review/config/optional/block.block.views_block__new_submissions_block_1.yml b/modules/custom/journal_peer_review/config/optional/block.block.views_block__new_submissions_block_1.yml new file mode 100644 index 0000000..29e21c7 --- /dev/null +++ b/modules/custom/journal_peer_review/config/optional/block.block.views_block__new_submissions_block_1.yml @@ -0,0 +1,39 @@ +langcode: en +status: true +dependencies: + config: + - views.view.new_submissions + module: + - system + - user + - views + theme: + - bartik +id: views_block__new_submissions_block_1 +theme: bartik +region: content +weight: 0 +provider: null +plugin: 'views_block:new_submissions-block_1' +settings: + id: 'views_block:new_submissions-block_1' + label: '' + provider: views + label_display: visible + views_label: '' + items_per_page: none +visibility: + request_path: + id: request_path + pages: '/user/*' + negate: false + context_mapping: { } + user_role: + id: user_role + roles: + administrator: administrator + journal_editor: journal_editor + issue_editor: issue_editor + negate: false + context_mapping: + user: '@user.current_user_context:current_user' diff --git a/modules/custom/journal_peer_review/config/optional/field.field.node.journal_article.field_peer_reviewer.yml b/modules/custom/journal_peer_review/config/optional/field.field.node.journal_article.field_peer_reviewer.yml new file mode 100644 index 0000000..1145e48 --- /dev/null +++ b/modules/custom/journal_peer_review/config/optional/field.field.node.journal_article.field_peer_reviewer.yml @@ -0,0 +1,35 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_peer_reviewer + - node.type.journal_article +_core: + default_config_hash: 1rYuhiA4RSxrD4-Yx28YLr0WrHuXFoyBYUmclguivGs +id: node.journal_article.field_peer_reviewer +field_name: field_peer_reviewer +entity_type: node +bundle: journal_article +label: 'Peer reviewer' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:user' + handler_settings: + include_anonymous: false + filter: + type: role + role: + journal_article_reviewer: journal_article_reviewer + administrator: '0' + journal_editor: '0' + issue_editor: '0' + journal_article_creator: '0' + target_bundles: null + sort: + field: _none + auto_create: false +field_type: entity_reference diff --git a/modules/custom/journal_peer_review/config/optional/field.storage.node.field_peer_reviewer.yml b/modules/custom/journal_peer_review/config/optional/field.storage.node.field_peer_reviewer.yml new file mode 100644 index 0000000..4f733e1 --- /dev/null +++ b/modules/custom/journal_peer_review/config/optional/field.storage.node.field_peer_reviewer.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - node + - user +third_party_settings: + field_permissions: + permission_type: custom +_core: + default_config_hash: Di6CSJrrRB3oT2oZMHwjrnzJP7VFqwSOmB9tZE4PGZU +id: node.field_peer_reviewer +field_name: field_peer_reviewer +entity_type: node +type: entity_reference +settings: + target_type: user +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_peer_review/config/optional/views.view.journal_article_peer_reviewer_content_list.yml b/modules/custom/journal_peer_review/config/optional/views.view.journal_article_peer_reviewer_content_list.yml new file mode 100644 index 0000000..797c398 --- /dev/null +++ b/modules/custom/journal_peer_review/config/optional/views.view.journal_article_peer_reviewer_content_list.yml @@ -0,0 +1,673 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.journal_article.field_peer_reviewer + - workflows.workflow.journal_article_submission + module: + - content_moderation + - node + - user + - views_entity_form_field +_core: + default_config_hash: cz4izNZ534-vIWpJjTOwj9GU5mVa31zAuvtcTLDoaKs +id: journal_article_peer_reviewer_content_list +label: 'Content for Review' +module: views +description: 'The list of articles assigned for review.' +tag: '' +base_table: node_field_data +base_field: nid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: '‹ Previous' + next: 'Next ›' + first: '« First' + last: 'Last »' + quantity: 9 + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + title: title + form_field_field_peer_reviewer: form_field_field_peer_reviewer + form_field_moderation_state: form_field_moderation_state + info: + title: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + form_field_field_peer_reviewer: + align: '' + separator: '' + empty_column: false + responsive: '' + form_field_moderation_state: + align: '' + separator: '' + empty_column: false + responsive: '' + default: '-1' + empty_table: false + row: + type: fields + fields: + title: + id: title + table: node_field_data + field: title + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + form_field_field_peer_reviewer: + id: form_field_field_peer_reviewer + table: node_field_data + field: form_field_field_peer_reviewer + relationship: none + group_type: group + admin_label: '' + label: 'Assigned reviewer' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + plugin: + hide_title: 1 + hide_description: 1 + type: options_select + settings: { } + third_party_settings: { } + entity_type: node + plugin_id: entity_form_field + form_field_moderation_state: + id: form_field_moderation_state + table: node_field_data + field: form_field_moderation_state + relationship: none + group_type: group + admin_label: '' + label: 'Move to' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + plugin: + hide_title: 0 + hide_description: 0 + type: moderation_state_default + settings: { } + third_party_settings: { } + entity_type: node + plugin_id: entity_form_field + filters: + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '0' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: boolean + entity_type: node + entity_field: status + moderation_state: + id: moderation_state + table: node_field_data + field: moderation_state + relationship: none + group_type: group + admin_label: '' + operator: in + value: + journal_article_submission-peer_review: journal_article_submission-peer_review + journal_article_submission-with_submitter: journal_article_submission-with_submitter + journal_article_submission-editorial_review: journal_article_submission-editorial_review + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + plugin_id: moderation_state_filter + sorts: + created: + id: created + table: node_field_data + field: created + order: DESC + entity_type: node + entity_field: created + plugin_id: date + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' + granularity: second + title: 'Content for Review' + header: { } + footer: { } + empty: { } + relationships: { } + arguments: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.field.node.journal_article.field_peer_reviewer' + - 'config:field.storage.node.field_peer_reviewer' + - 'config:workflow_list' + block_1: + display_plugin: block + id: block_1 + display_title: Block + position: 1 + display_options: + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.field.node.journal_article.field_peer_reviewer' + - 'config:field.storage.node.field_peer_reviewer' + - 'config:workflow_list' + block_2: + display_plugin: block + id: block_2 + display_title: 'Author''s Submissions' + position: 3 + display_options: + display_extenders: { } + display_description: '' + title: 'Unpublished Submissions' + defaults: + title: false + fields: false + arguments: false + filters: false + filter_groups: false + fields: + title: + id: title + table: node_field_data + field: title + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + form_field_moderation_state: + id: form_field_moderation_state + table: node_field_data + field: form_field_moderation_state + relationship: none + group_type: group + admin_label: '' + label: 'Move to' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + plugin: + hide_title: 0 + hide_description: 0 + type: moderation_state_default + settings: { } + third_party_settings: { } + entity_type: node + plugin_id: entity_form_field + arguments: + uid: + id: uid + table: node_field_data + field: uid + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: current_user + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + entity_type: node + entity_field: uid + plugin_id: numeric + filters: + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '0' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: boolean + entity_type: node + entity_field: status + filter_groups: + operator: AND + groups: + 1: AND + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: { } + editor_content_in_review: + display_plugin: block + id: editor_content_in_review + display_title: 'Editor Overview' + position: 2 + display_options: + display_extenders: { } + display_description: '' + title: 'Articles in Review' + defaults: + title: false + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.field.node.journal_article.field_peer_reviewer' + - 'config:field.storage.node.field_peer_reviewer' + - 'config:workflow_list' diff --git a/modules/custom/journal_peer_review/config/optional/views.view.new_submissions.yml b/modules/custom/journal_peer_review/config/optional/views.view.new_submissions.yml new file mode 100644 index 0000000..e3e0dc1 --- /dev/null +++ b/modules/custom/journal_peer_review/config/optional/views.view.new_submissions.yml @@ -0,0 +1,381 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.journal_article.field_peer_reviewer + - workflows.workflow.journal_article_submission + module: + - content_moderation + - node + - user + - views_entity_form_field +_core: + default_config_hash: uTZIwJ1Q2LAgIaYDPWLyfyTs18uFnc4Je5OwVcE5T00 +id: new_submissions +label: 'New Submissions' +module: views +description: 'Articles that have been submitted and not sent to peer review' +tag: '' +base_table: node_field_data +base_field: nid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 20 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: '‹ Previous' + next: 'Next ›' + first: '« First' + last: 'Last »' + quantity: 9 + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + title: title + field_peer_reviewer: field_peer_reviewer + info: + title: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_peer_reviewer: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + default: '-1' + empty_table: false + row: + type: fields + options: + default_field_elements: true + inline: { } + separator: '' + hide_empty: false + fields: + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + form_field_field_peer_reviewer: + id: form_field_field_peer_reviewer + table: node_field_data + field: form_field_field_peer_reviewer + relationship: none + group_type: group + admin_label: '' + label: 'Peer reviewer' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + plugin: + hide_title: 1 + hide_description: 1 + type: options_select + settings: { } + third_party_settings: { } + entity_type: node + plugin_id: entity_form_field + form_field_moderation_state: + id: form_field_moderation_state + table: node_field_data + field: form_field_moderation_state + relationship: none + group_type: group + admin_label: '' + label: 'Moderation: Move to' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + plugin: + hide_title: 0 + hide_description: 0 + type: moderation_state_default + settings: { } + third_party_settings: { } + entity_type: node + plugin_id: entity_form_field + filters: + moderation_state: + id: moderation_state + table: node_field_data + field: moderation_state + relationship: none + group_type: group + admin_label: '' + operator: in + value: + journal_article_submission-draft: journal_article_submission-draft + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + plugin_id: moderation_state_filter + sorts: + created: + id: created + table: node_field_data + field: created + order: DESC + entity_type: node + entity_field: created + plugin_id: date + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' + granularity: second + title: 'New Submissions' + header: { } + footer: { } + empty: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + empty: true + tokenize: false + content: + value: 'There are no items in the submission queue.' + format: rich_text_references + plugin_id: text + relationships: { } + arguments: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.field.node.journal_article.field_peer_reviewer' + - 'config:field.storage.node.field_peer_reviewer' + - 'config:workflow_list' + block_1: + display_plugin: block + id: block_1 + display_title: Block + position: 1 + display_options: + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.field.node.journal_article.field_peer_reviewer' + - 'config:field.storage.node.field_peer_reviewer' + - 'config:workflow_list' diff --git a/modules/custom/journal_peer_review/journal_peer_review.info.yml b/modules/custom/journal_peer_review/journal_peer_review.info.yml new file mode 100644 index 0000000..f2a8ee0 --- /dev/null +++ b/modules/custom/journal_peer_review/journal_peer_review.info.yml @@ -0,0 +1,10 @@ +name: 'Journal Peer Review' +type: module +description: 'Assign peer reviewers to articles' +core_version_requirement: '^8.0 || ^9 || ^10' +package: 'Journal' +dependencies: + - journal_types + - journal_editorial + - field_permissions + diff --git a/modules/custom/journal_peer_review/journal_peer_review.module b/modules/custom/journal_peer_review/journal_peer_review.module new file mode 100644 index 0000000..40515d9 --- /dev/null +++ b/modules/custom/journal_peer_review/journal_peer_review.module @@ -0,0 +1,152 @@ + [ + 'journal_editor', + 'issue_editor', + ], + 'edit field_peer_reviewer' => [ + 'journal_editor', + 'issue_editor', + ], + 'view field_peer_reviewer' => [ + 'journal_editor', + 'issue_editor', + ], + ]); + + $field = \Drupal\field\Entity\FieldConfig::loadByName('node', 'journal_article', 'field_authors_and_affiliations'); + $storage = $field->getFieldStorageDefinition(); + $storage->setThirdPartySetting('field_permissions', 'permission_type', 'custom'); + $storage->save(); + + foreach ([ + 'field_authors_and_affiliations', + 'field_affiliation_contributor', + 'field_affiliation_string' + ] as $field_name) { + journal_peer_review_grant_field_permissions( + [ + "create $field_name" => [ + 'journal_editor', + 'issue_editor', + 'journal_article_creator', + ], + "edit own $field_name" => [ + 'journal_editor', + 'issue_editor', + 'journal_article_creator', + ], + "edit $field_name" => [ + 'issue_editor', + 'journal_editor', + ], + "view own $field_name" => [ + 'journal_article_creator', + ], + "view $field_name" => [ + 'issue_editor', + 'journal_editor', + ], + ] + ); + } + + + // Put Assigned Reviewer into the Publication State form region. + $form_entity = EntityFormDisplay::load('node.journal_article.default'); + $group_data = $form_entity->getThirdPartySettings('field_group'); + $pubstate_group = $group_data['group_publication_state']; + array_splice($pubstate_group['children'], 1, 0, 'field_peer_reviewer'); + $form_entity->setComponent('field_peer_reviewer', ['region' => 'content']) + ->setThirdPartySetting('field_group', 'group_publication_state', $pubstate_group) + ->save(); + + // Add 'Peer Reviewers' field to the Entity View Display + $view_entity = EntityViewDisplay::load('node.journal_article.default'); + $view_entity->setComponent('field_peer_reviewer', [ + 'type' => 'entity_reference_label', + 'weight' => 5, + 'region' => 'content', + 'label' => 'above', + 'settings' => ['link' => '1']]) + ->save(); +} + + +/** + * Implements hook_node_access(). + * + * @inheritdoc + */ +function journal_peer_review_node_access(NodeInterface $node, $op, AccountInterface $account) { + + if ($node->bundle() != 'journal_article') { + return AccessResult::neutral(); + } + + // Pass-through if node is published as we are through the peer review process. + if ($node->isPublished()) { + return AccessResult::neutral(); + } + + // If user does not have article reviewer role, just pass through + // and let the standard Drupal access rules handle it. + if (!in_array('journal_article_reviewer', $account->getRoles())) { + return AccessResult::neutral(); + } + + $reviewers = $node->get('field_peer_reviewer'); + + if (!empty($reviewers) && is_a($reviewers, 'Drupal\Core\Field\EntityReferenceFieldItemList')) { + foreach ($reviewers->referencedEntities() as $reviewer) { + if ($reviewer->getEntityTypeId() == 'user' && $reviewer->id() == $account->id()) { + // User is in the assigned reviewers list, so they can see the article. + return AccessResult::allowed(); + } + } + } + + return AccessResult::forbidden(); +} + +/** + * Loop through the array and grant permissions for the specified roels on each field. + * + * @param $permissions + */ +function journal_peer_review_grant_field_permissions($permissions) { + $role_storage = \Drupal::service('entity_type.manager')->getStorage('user_role'); + $roles = []; + + foreach ($permissions as $permission_name => $role_names) { + foreach ($role_names as $role_name) { + $roles[$role_name] = $role_storage->load($role_name); + if (!empty($roles[$role_name])) { + $roles[$role_name]->grantPermission($permission_name); + } + } + } + + // Save all roles. +// foreach ($roles as $role) { +// $role->trustData()->save(); +// } +} diff --git a/modules/custom/journal_references/config/install/editor.editor.rich_text_references.yml b/modules/custom/journal_references/config/install/editor.editor.rich_text_references.yml new file mode 100644 index 0000000..60cad2e --- /dev/null +++ b/modules/custom/journal_references/config/install/editor.editor.rich_text_references.yml @@ -0,0 +1,66 @@ +langcode: en +status: true +dependencies: + config: + - filter.format.rich_text_references + module: + - ckeditor +_core: + default_config_hash: VcTIWimn2gjjIeXeNlksgzleqMPYHTBGTIzvNJ9Tu_0 +format: rich_text_references +editor: ckeditor +settings: + toolbar: + rows: + - + - + name: Formatting + items: + - Bold + - Italic + - Subscript + - Superscript + - JustifyLeft + - JustifyCenter + - JustifyRight + - Outdent + - Indent + - Format + - + name: Links + items: + - DrupalLink + - DrupalUnlink + - reference_footnotes + - + name: Lists + items: + - BulletedList + - NumberedList + - + name: Media + items: + - media_browser + - Blockquote + - blockquote_attribution + - + name: Tools + items: + - Table + - Source + - SpecialChar + - Language + - Maximize + plugins: + stylescombo: + styles: '' + language: + language_list: un +image_upload: + status: false + scheme: public + directory: inline-images + max_size: '' + max_dimensions: + width: null + height: null diff --git a/modules/custom/journal_references/config/install/filter.format.rich_text_references.yml b/modules/custom/journal_references/config/install/filter.format.rich_text_references.yml new file mode 100644 index 0000000..80d6abe --- /dev/null +++ b/modules/custom/journal_references/config/install/filter.format.rich_text_references.yml @@ -0,0 +1,159 @@ +uuid: 668a452a-de3f-44be-b4be-a29b16a835d3 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.embedded + - core.entity_view_mode.media.full + - core.entity_view_mode.media.hero + - core.entity_view_mode.media.media_library + - core.entity_view_mode.media.slideshow + - core.entity_view_mode.media.thumbnail + module: + - bibcite_footnotes + - blazy + - editor + - entity_embed + - ds + - linkit + - media + - toc_filter + - video_embed_wysiwyg +_core: + default_config_hash: i0SzprgUrVbLJjIxVBrOoB59baT-p-x2dtgY2z2KZiw +name: 'Rich Text with References' +format: rich_text_references +weight: -11 +filters: + filter_align: + id: filter_align + provider: filter + status: true + weight: -49 + settings: { } + filter_caption: + id: filter_caption + provider: filter + status: true + weight: -48 + settings: { } + filter_htmlcorrector: + id: filter_htmlcorrector + provider: filter + status: true + weight: -46 + settings: { } + editor_file_reference: + id: editor_file_reference + provider: editor + status: true + weight: -45 + settings: { } + entity_embed: + id: entity_embed + provider: entity_embed + status: true + weight: -47 + settings: { } + filter_html: + id: filter_html + provider: filter + status: false + weight: -41 + settings: + allowed_html: '



    1.    
      ' + filter_html_help: true + filter_html_nofollow: false + filter_autop: + id: filter_autop + provider: filter + status: false + weight: -39 + settings: { } + filter_html_escape: + id: filter_html_escape + provider: filter + status: false + weight: -40 + settings: { } + filter_html_image_secure: + id: filter_html_image_secure + provider: filter + status: false + weight: -38 + settings: { } + filter_url: + id: filter_url + provider: filter + status: true + weight: -44 + settings: + filter_url_length: 72 + filter_footnotes: + id: filter_footnotes + provider: footnotes + status: false + weight: -42 + settings: + footnotes_collapse: '0' + toc_filter: + id: toc_filter + provider: toc_filter + status: true + weight: -43 + settings: + type: full + auto: '' + block: '1' + filter_reference_footnotes: + id: filter_reference_footnotes + provider: bibcite_footnotes + status: true + weight: -50 + settings: + footnotes_collapse: '0' + footnotes_ibid: '0' + notes_section_label: Notes + reference_dont_show_backlink_text: '0' + works_cited_sort_by: weight + blazy_filter: + id: blazy_filter + provider: blazy + status: false + weight: -36 + settings: + filter_tags: + img: img + iframe: iframe + media_switch: '' + use_data_uri: '0' + media_embed: + id: media_embed + provider: media + status: true + weight: -35 + settings: + default_view_mode: embedded + allowed_media_types: { } + allowed_view_modes: + default: default + embedded: embedded + full: full + hero: hero + media_library: media_library + slideshow: slideshow + thumbnail: thumbnail + video_embed_wysiwyg: + id: video_embed_wysiwyg + provider: video_embed_wysiwyg + status: false + weight: -37 + settings: { } + linkit: + id: linkit + provider: linkit + status: true + weight: -42 + settings: + title: false +¯ diff --git a/modules/custom/journal_references/images/reference_embed_icon.png b/modules/custom/journal_references/images/reference_embed_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d5124df3d34d7cd83031051aa0d312af42347a25 GIT binary patch literal 6204 zcmZX01yoeu_WuwAGNiNu3P?9YNX^h)L(ix*L-!yIihwjo$52WrUD6{eEz&&-NP~!k zbPMtuzwiCudu#pgTIcR_&)I$M`RpAFGti_2-39>w07`8wHDf$=#Sgn1B>49`UyTa@ z094|lstVIqRb_|ydO5ndBLM)d*o;h47(L>4uXTVSRnhaC$ztDMN@yjjVklmNhiIb2 zD2T%25C~Im%CeZy*L}1Mk22VKi0K&^dm;jr85tfk5b@wzND^&NYj$dOtdGsEH@Bu1 ze_tFwHM=GW_08^CFYPo26dl$BITk$Q%YHJG1T!lEh>AjmU^aCPXEmLje*j;$k9RN7 zq-+VBCF7>mA??@J+{4;^c0>T+8`jZ&yV5s7vMHqTXn&b4nHf>Cfo?@Uxfhse)o_oMx+ksJz z8rVuoF*zwwa>hRJem|rDDk@bNOF0bb<-J^ z3WRc)92UBn=jJT)I$8zUj0vG+B_R4f^<%t2m>I;5c*Brw;Ms7!nAF^33?i(>sbyxU z7QyHc5wmqTL3q`3OqXS6(04%bYE7+%357wWb#pq&Mzh?M8AOy92BYlfdIFz|sm-BY zcj#UwZXi&tbqEv+$s2t>bWFp&6P>oS%s+D2)w6m&0FfI2p^gy)IJD_)=u?uA$k5#Mm&4xbhT4ST{q`&@;355CcR-dL zN+SOV^6WxL`KS`rlF$l}vAP+nR=VyR91CFGB@8{v^pP_IXuU>R*4UB*WhGk5tEp;3 ziMdKgz%YW_N=(cIC>u)FQ1U(EHuf74&z)Y4KI}-E*y$4u6CnoVn_8l#h5Zl4DWOXL3K-?a|OB0%WQ|@&XGe>ibJZ;1$_ShHz zBAlMRM~izRrtu!6Pv7B2U}R9|l9(g~k$r?u$C*u+xVs*YBc-EY3BAb+mrg%>PrE4b z)vUX40dq39(57B+ozXPcHrO57%=|FHP1!r1F(>ZwR!gfi3Fc2NB<;`Ynvr_&xXo z_%XQK<=}D?<8WiT2}u`;4fYMcjp~Wx35%lq!6jrPQUNIg4g^Od-#chH-_Q^LVPHQg zJyGGzFcx>_49^h?nqJTICe5=a(AqK z#3XNBPSkb*6PR%5IrN)L(Rx80s@$g3rv0b+(gGM2R;p6bWe{l|sTs$t{;Vf5Zjhdu z&&o7N%G$rJJLu#x?7Vk<(IPD4C_^RPT!77d(yj+# zE=4Ql@8;(k?^fYT;#@P~KKAjgINl9 z1Rp+RG$j{((ZuM%=p{@kL?=WIUub%b0Kz@$HybZJJ?w>RJsa;dj5o$M@MCW^W;9VY z&$~XIp>kVy#D3k0pJ#gN_S^mU>WLR?JgYI=CR?897$Uj0z_l~x&HHLG)E5=fNKQoEW

      EM(keo3^G|GUcck==$|Q0)kWwUezINVT-{u4s|$l?RK=nlg90yQW?!{t zUZt*f%?#ht_15FlL1TVq!PCza`o&!=CgAlbU!McP8hLE`Z|NT1V$L-aSD34Q1)ngu zn*UYuoy_1k-frEs$4+GqLZi$}EPIFNs@W&mPr<#w;IK_0J~tophs{E+o);1CyYeHt zWesGJviX_nLh^Nwp2&IyE`qKY9-1o*9uHh0xgEKmBG(0)%(g5j-}+lVbEa(M3D#eK zkkAz9ra2Y(w$jq@LH_$cSjrNXIO(8i=9W5$p{$qXLZ9J+qSSZY@8k!h_hsEHrsHRZ z=I7db>;~I}6+tpU3vzw(7v$|8NUzq5hM7@r#TU)oo?DBatydjXb5sk7^75|&zA|bv ztuZESgQmaK=hl6&IgN(so<8Dl7OI)n{U$gkZ@OYV(QJrXOnkPelcwvH*^(iZA(-LC zf8ChhaQ&GelPG~n%b9o0rLG>S+Vhl`ZKW|?~&zFvzum+_US*y7S(V|_*H9^ zg@h@K@vNnjiG{^m)Am*ZPa5fXwpfVoRax(Nv&Ngxs`^JIUG_^^d($thSA$zobGztu zvRS$W-X;Ug{mC5i2L%`g;nnK?YE_SM52Df_!^h3?jra4Vp_V9(UwSi$mWJ8Ul##Vp zbgxDsisPNT=*JuzU0UlCBczr_me}`9{-@SQAJFHiQ^hrRrt%Im*+lbO>_XOXX0w&m ztzTP(pP4@!Zbw{wo%5Ps^d0{3VD|BctzSgsBqQ_QZ9dB-y~DcLEbJ36(uF(k=z`aG zY_^xiEJxJ1+tnDAsi+ z@Lcoj-9?SVJmY*uMU!Xdr*oI*+2U{OwnQ0QnVJUc-w>G30G$f1yP7zZI@oIHM=tIy>a=Y=^SWL> zT`lCZA%N}507neu6=u2fwSh^=MY8(divR-g*{RC{-xyq=}|+X?0sFl{am~} z+5hUbwex!H2jS%WYv@1Ezx+g^UH)sy6ZP+~@Bxbc-4PWR5flB7ZoH_%-&Hx73mWMT zS99?|dZO?)pyFcE3jgr`e>?xR_&<_}|4Pcr{IB5uZ2VhLLG-Wx{}a!@lJ(CjK3h3<^P@eP4FPwXuP-^v_+giBA= z*e@ueDYpf6UtiBRJ&s469Aigk9y+ydqfWejEk5{tIpEV(sKkU8J zCs}7wB!z(kDUuYKOe+?XdlFM04%Q-L{-pm@ZAST45i!L|3FP&5L8It%#gIQ^U%xV5 zT^zqiOiJRHluYNmcaNWoOYP~Zd2@lbnx(aMT0=ua$y>0Ll=|@Su%EB*L5G2!9z_NQ zV{Buy6fTLmU$vk2v3*GS*~L*TH26~M*RNkkM;j&!RFiHGAF>>uo|6AK|K3lx`SWK% zSs9-)q&OC@5clPa`rg|4;kr&k$|b7_EEG33rgZ=Qefpa>mG44>Y^dCj$Vd(Qa#NyA=Lm!Ba4#yaGXzx!K!?*VosdRdHL68zdwq>P#@0 zfJtLRJ})ljSGrn%M0YOQJu#!yxk0P!0=yej@*j!ptT5NlEPg7G<`vQ~x zV|~56sw%#6M`)vhlfY)%8r0M<+(JhrmDI+<;9B^bGgsxTE5+iiRZ3|ouc<@-$_nRwP3Nt| zaM@BR0-$P^m9oR|&`?&x)7`v@zW1521By?gA}l8HKHUdZjpi$wXlut7`J`ejz0Z*$Y{vNQ<4|y1KfLxGXI#JM~|L-6DOcPP?0Krqr3Wz&WUu3=1|V>gld1 zD@&FveuE_Kc22IM(xI-!WM-DXdzTdtn=kx`u5(q}*D#{AlfJzrZ`TE`j|Y(<9q3?U z?jCTBC+g43IoEm1FV}>Nh}kX`#~nRz?TK|!$64%!RenUEk=n3G?%x5s3y?T1l@=vGAc(3w@|c-J92iOP zeP>4mEA98>iO%x!^4zy%EcX6(A8m1M6#-c{=;Qjyi8LD>Dmx9 z8cluU1ZOJ&@}~+644l`c`%MI&{+aZcQ(RfOxU>}Y^iSiq%#y0JyL-{q)fK5oPfw4L zt!<&>2c((Bv+C+u%)dCwY8y)b}LHLcYTKsX1T1r-QWBqk*Wl~r+%v) zOoNz`C)`O@XGy#6IT4Y>sHiADF|p)I)(A}vjfi?3(8bx=7!F6TuBOI! z(?aM_le}zd%0fU`xVW-X5D|&Lb?GT79D=7NHXa@cIk~w~%65+{B9Hg?mDkqR@HL{V zA~k+%Yl~k|(Hd;+5yb<8;T3A(|3ADVyY-ZNT;EHJi(7^QGH+<@aWM~A?j0W&M??_I z$;tWh@_fhNkjqOw^z_nvO&A{izkK~_Y-N>K=|1d|qg)7FTwH9dtK(qaTv-VlE6>Ve z4l@EvNbt+ZWPK>a+YIC7e~z1-)$Q-^$BmCGlarIzzsGf{^q|>KPfjAReOFfybxlnZ zclWBX(XlZYV%`<#M^J3uVk&E;g)bs1X4cl$B^{}**p!WCqGCo`30j*bEOrtPUAn39 zO=yfmF$r=Sly0syq|ts8&UFz{4|ZL&NhIV>wiQc8+HXWn+D<1?4` z;Pqgr(-k8e6AlK^hQ}m1bUd)Ka@0<(dj%OZhUMnw;-;s|KJZ>~?X%b*NCt$oC~``> z>xt>vZS|gnggE*8-Lmg_?xg37h~*nkv(2V*b#v22&u3G{?jM-KOTy}Jr!q5sy=!4^ zj<@fgNfzZ&(2T{F7Z!FNO}(NgKx242!NBx+c5!rQDZm zK^V+Gnky=DSbIC9A6Tg{C>Y^S0^-FkuZf$j>j`8yv$seG}tZFcccma0`!aaRv}^F&S@T7_7sSq1QjWn4C|7 zy|YUOV{U3%G(Ao8i6ghaU%LjZH*HWW8QvB9^8I@`)m|>gclc&vxsUOK1+BfWkGHo{ z%opO0E<*6h@b|D3dyFG2BO{}0pFiN$7}$qq3XfL05C~+2OMOaaB~rSKQpa}L_UFz{ z2@Yr4RKYdqLUMd?pn@;rsnK_j!y@k37-36FH0mX4zLT@`s2l8AaG6W z``Q{eHxJK2vwGcScXxR01;=p!5b9l7Q9*HD874(rJ2EoDhwn7FZ{6Oa8W{T;C(t|a z>GD#6?amz#HOU`=&gWNWXJ}g`e1pKG{q#?9Z`eW5G#y#8Zn7P^(vXRq2q9SG2&xy=N*cf;EI?b`K&?i_ChY$J D^_g?| literal 0 HcmV?d00001 diff --git a/modules/custom/journal_references/journal_references.info.yml b/modules/custom/journal_references/journal_references.info.yml new file mode 100644 index 0000000..6c342fb --- /dev/null +++ b/modules/custom/journal_references/journal_references.info.yml @@ -0,0 +1,18 @@ +name: 'Journal References' +type: module +description: 'Settings for inline citations in article content' +core_version_requirement: '^8.0 || ^9 || ^10' +package: 'Journal' +dependencies: + - journal_types + - embed + - bibcite + - bibcite_bibtex + - bibcite_ris + - bibcite_import + - bibcite_endnote + - bibcite_marc + - bibcite_entity + - bibcite_footnotes + - ckeditor_blockquote_attribution + - toc_filter diff --git a/modules/custom/journal_references/journal_references.module b/modules/custom/journal_references/journal_references.module new file mode 100644 index 0000000..85d3bb8 --- /dev/null +++ b/modules/custom/journal_references/journal_references.module @@ -0,0 +1,29 @@ +grantPermissions($role_type, [ + 'use text format rich_text_references', + 'create bibcite_reference', + 'create bibcite_contributor', + 'create bibcite_keyword', + 'delete own bibcite_keyword', + 'edit own bibcite_keyword', + 'delete own bibcite_reference', + 'edit own bibcite_reference', + 'view bibcite_reference', + 'view bibcite_keyword', + 'view bibcite_contributor', + ]); + } + } +} diff --git a/modules/custom/journal_references/journal_references.services.yml b/modules/custom/journal_references/journal_references.services.yml new file mode 100644 index 0000000..ac21ea1 --- /dev/null +++ b/modules/custom/journal_references/journal_references.services.yml @@ -0,0 +1,5 @@ +services: + journal_references.route_subscriber: + class: Drupal\journal_references\Routing\RouteSubscriber + tags: + - { name: event_subscriber } diff --git a/modules/custom/journal_references/src/CSL/MLA_ToC.xml b/modules/custom/journal_references/src/CSL/MLA_ToC.xml new file mode 100644 index 0000000..5d335c7 --- /dev/null +++ b/modules/custom/journal_references/src/CSL/MLA_ToC.xml @@ -0,0 +1,456 @@ + + diff --git a/modules/custom/journal_references/src/Routing/RouteSubscriber.php b/modules/custom/journal_references/src/Routing/RouteSubscriber.php new file mode 100644 index 0000000..36e1149 --- /dev/null +++ b/modules/custom/journal_references/src/Routing/RouteSubscriber.php @@ -0,0 +1,25 @@ +get($routename)) { + $route->setRequirement('_permission', 'create bibcite_reference'); + } + + + } + } +} \ No newline at end of file diff --git a/modules/custom/journal_site/config/install/system.menu.author-tasks.yml b/modules/custom/journal_site/config/install/system.menu.author-tasks.yml new file mode 100644 index 0000000..0ead4fc --- /dev/null +++ b/modules/custom/journal_site/config/install/system.menu.author-tasks.yml @@ -0,0 +1,7 @@ +langcode: en +status: true +dependencies: { } +id: author-tasks +label: 'Author tasks' +description: 'Tasks for article authors' +locked: false diff --git a/modules/custom/journal_site/config/install/views.view.manage_citations.yml b/modules/custom/journal_site/config/install/views.view.manage_citations.yml new file mode 100644 index 0000000..5d7ffa5 --- /dev/null +++ b/modules/custom/journal_site/config/install/views.view.manage_citations.yml @@ -0,0 +1,465 @@ +langcode: en +status: true +dependencies: + config: + - system.menu.author-tasks + module: + - bibcite_entity +id: manage_citations +label: 'Manage Citations' +module: views +description: 'List of citations created by the current user.' +tag: '' +base_table: bibcite_reference +base_field: id +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: none + options: { } + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 100 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + title: title + info: + title: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + default: '-1' + empty_table: false + row: + type: 'entity:bibcite_reference' + options: + relationship: none + view_mode: default + fields: + bibcite_reference_bulk_form: + id: bibcite_reference_bulk_form + table: bibcite_reference + field: bibcite_reference_bulk_form + relationship: none + group_type: group + admin_label: '' + label: 'Bulk update' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + action_title: Action + include_exclude: exclude + selected_actions: { } + entity_type: bibcite_reference + plugin_id: bulk_form + bibcite_year: + id: bibcite_year + table: bibcite_reference + field: bibcite_year + relationship: none + group_type: group + admin_label: '' + label: 'Year of Publication' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: bibcite_reference + entity_field: bibcite_year + plugin_id: field + title: + id: title + table: bibcite_reference + field: title + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: null + entity_field: title + plugin_id: field + links: + id: links + table: bibcite_reference + field: links + relationship: none + group_type: group + admin_label: '' + label: Links + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + override_default: 0 + links: + overrides: + pubmed: + enabled: '1' + weight: '-10' + doi: + enabled: '1' + weight: '-10' + google_scholar: + enabled: '1' + weight: '-10' + entity_type: bibcite_reference + plugin_id: bibcite_links + operations: + id: operations + table: bibcite_reference + field: operations + relationship: none + group_type: group + admin_label: '' + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: true + entity_type: bibcite_reference + plugin_id: entity_operations + filters: { } + sorts: { } + title: 'Manage Citations' + header: { } + footer: { } + empty: { } + relationships: { } + arguments: + uid: + id: uid + table: bibcite_reference + field: uid + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: current_user + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + entity_type: bibcite_reference + entity_field: uid + plugin_id: numeric + display_extenders: { } + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + tags: { } + page_1: + display_plugin: page + id: page_1 + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: manage-citations + menu: + type: normal + title: 'Manage Citations' + menu_name: author-tasks + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + tags: { } diff --git a/modules/custom/journal_site/journal_site.info.yml b/modules/custom/journal_site/journal_site.info.yml new file mode 100644 index 0000000..0790ae2 --- /dev/null +++ b/modules/custom/journal_site/journal_site.info.yml @@ -0,0 +1,13 @@ +name: 'Journal Site' +type: module +description: 'Site-wide configurations for the journal profile' +core_version_requirement: '^8.0 || ^9 || ^10' +package: 'Journal' +dependencies: + - journal_references + - journal_types + - bibcite_entity + - bibcite_import + - toc_filter + + diff --git a/modules/custom/journal_site/journal_site.links.menu.yml b/modules/custom/journal_site/journal_site.links.menu.yml new file mode 100644 index 0000000..d46cb69 --- /dev/null +++ b/modules/custom/journal_site/journal_site.links.menu.yml @@ -0,0 +1,27 @@ +journal_site.import: + title: 'Import citations' + description: 'Import a list of citations by uploading them.' + menu_name: author-tasks + route_name: bibcite_import.import +journal_site.submit_new_article: + title: 'Submit a new article' + description: 'Submit a new scholarly article for review.' + menu_name: author-tasks + route_name: node.add + route_parameters: + node_type: journal_article +journal_site.populate: + title: 'Paste citations' + description: 'Import a citation via Copy & Paste.' + menu_name: author-tasks + route_name: bibcite_import.populate +journal_site.create_citation: + title: 'Add a new citaiton' + description: 'Create a citaiton directly.' + menu_name: author-tasks + route_name: entity.bibcite_reference.add_page +journal_site.add_contributor: + title: 'Add contributor' + description: 'Add authors and other contributors to include in your article heading.' + menu_name: author-tasks + route_name: entity.bibcite_contributor.add_form \ No newline at end of file diff --git a/modules/custom/journal_types/config/install/comment.type.editorial_comments.yml b/modules/custom/journal_types/config/install/comment.type.editorial_comments.yml new file mode 100644 index 0000000..91d839b --- /dev/null +++ b/modules/custom/journal_types/config/install/comment.type.editorial_comments.yml @@ -0,0 +1,7 @@ +langcode: en +status: true +dependencies: { } +id: editorial_comments +label: 'Editorial Comments' +target_entity_type_id: node +description: 'Used for conversations between reviewers, editors and submitters. Not visible to anonymous users.' diff --git a/modules/custom/journal_types/config/install/core.entity_form_display.comment.editorial_comments.default.yml b/modules/custom/journal_types/config/install/core.entity_form_display.comment.editorial_comments.default.yml new file mode 100644 index 0000000..c833641 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_form_display.comment.editorial_comments.default.yml @@ -0,0 +1,33 @@ +langcode: en +status: true +dependencies: + config: + - comment.type.editorial_comments + - field.field.comment.editorial_comments.comment_body + module: + - text +id: comment.editorial_comments.default +targetEntityType: comment +bundle: editorial_comments +mode: default +content: + author: + weight: -2 + region: content + comment_body: + type: text_textarea + weight: 11 + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + region: content + subject: + type: string_textfield + weight: 10 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: { } diff --git a/modules/custom/journal_types/config/install/core.entity_form_display.node.issue.default.yml b/modules/custom/journal_types/config/install/core.entity_form_display.node.issue.default.yml new file mode 100644 index 0000000..0567479 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_form_display.node.issue.default.yml @@ -0,0 +1,160 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.issue.body + - field.field.node.issue.field_issue_cover + - field.field.node.issue.field_issue_number + - field.field.node.issue.field_issue_open + - field.field.node.issue.field_issue_publication_date + - field.field.node.issue.field_issue_volume + - field.field.node.issue.field_part_of + - image.style.thumbnail + - node.type.issue + module: + - datetime + - entity_hierarchy + - field_group + - image + - text +third_party_settings: + field_group: + group_issue_info: + children: + - group_basic_info + - group_publication_state + parent_name: '' + weight: 1 + format_type: tabs + format_settings: + id: journal-info-tabs + classes: '' + direction: vertical + label: 'Issue Info' + group_basic_info: + children: + - group_identification + - body + - field_issue_cover + parent_name: group_issue_info + weight: 20 + format_type: tab + format_settings: + id: journal-issue-basic-info-tab + classes: '' + formatter: open + description: 'Public-facing data about this issue.' + required_fields: true + label: 'Basic Info' + group_publication_state: + children: + - field_issue_open + - field_issue_publication_date + - status + parent_name: group_issue_info + weight: 21 + format_type: tab + format_settings: + id: journal-issue-publicaton-state-tab + classes: '' + formatter: closed + description: 'Publication and technical metadata.' + required_fields: true + label: 'Publication State' + group_identification: + children: + - field_part_of + - field_issue_number + - field_issue_volume + parent_name: group_basic_info + weight: 2 + format_type: fieldset + format_settings: + id: journal-issu-identification-form-fieldset + classes: '' + description: '' + required_fields: true + label: Identification +_core: + default_config_hash: 1TD70uMKjooPJ5b7-zbLdB3_PsTw1i37SDRp5AcUdN8 +id: node.issue.default +targetEntityType: node +bundle: issue +mode: default +content: + body: + type: text_textarea_with_summary + weight: 3 + region: content + settings: + rows: 9 + summary_rows: 3 + placeholder: '' + third_party_settings: { } + field_issue_cover: + type: image_image + weight: 4 + settings: + preview_image_style: thumbnail + progress_indicator: throbber + region: content + third_party_settings: { } + field_issue_number: + type: number + weight: 4 + region: content + settings: + placeholder: '' + third_party_settings: { } + field_issue_open: + type: boolean_checkbox + weight: 4 + region: content + settings: + display_label: true + third_party_settings: { } + field_issue_publication_date: + weight: 5 + settings: { } + third_party_settings: { } + type: datetime_default + region: content + field_issue_volume: + weight: 5 + settings: + placeholder: '' + third_party_settings: { } + type: number + region: content + field_part_of: + weight: 3 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + hide_weight: false + third_party_settings: { } + type: entity_reference_hierarchy_autocomplete + region: content + status: + type: boolean_checkbox + settings: + display_label: true + weight: 6 + region: content + third_party_settings: { } + title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + created: true + moderation_state: true + path: true + promote: true + sticky: true + uid: true diff --git a/modules/custom/journal_types/config/install/core.entity_form_display.node.journal.default.yml b/modules/custom/journal_types/config/install/core.entity_form_display.node.journal.default.yml new file mode 100644 index 0000000..1a79a28 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_form_display.node.journal.default.yml @@ -0,0 +1,292 @@ +langcode: en +status: true +dependencies: + config: + - entity_browser.browser.image_browser + - field.field.node.journal.field_journal_abbrev + - field.field.node.journal.field_journal_about_this + - field.field.node.journal.field_journal_author_guidelines + - field.field.node.journal.field_journal_description + - field.field.node.journal.field_journal_eissn + - field.field.node.journal.field_journal_for_authors + - field.field.node.journal.field_journal_for_librarins + - field.field.node.journal.field_journal_for_readers + - field.field.node.journal.field_journal_initials + - field.field.node.journal.field_journal_issn_print + - field.field.node.journal.field_journal_logo + - field.field.node.journal.field_journal_mailing_address + - field.field.node.journal.field_journal_main_image + - field.field.node.journal.field_journal_principal_contact + - field.field.node.journal.field_journal_publisher + - field.field.node.journal.field_journal_technical_support_ + - node.type.journal + module: + - address + - entity_browser + - field_group + - path + - text +third_party_settings: + field_group: + group_journal_info: + children: + - group_journal_basic_info + - group_journal_extended_info + - group_journal_contact_info + - group_journal_website_info + - group_journal_submission_info + parent_name: '' + weight: 20 + format_type: tabs + format_settings: + id: journal-info-tab + classes: '' + direction: vertical + label: 'Journal Info' + group_journal_basic_info: + children: + - title + - field_journal_description + - field_journal_initials + - field_journal_publisher + - field_journal_abbrev + - field_journal_eissn + - field_journal_issn_print + - path + parent_name: group_journal_info + weight: 3 + format_type: tab + format_settings: + id: journal-basic-info-tab + classes: '' + formatter: open + description: '' + required_fields: true + label: 'Journal Basic Info' + group_journal_submission_info: + children: + - field_journal_author_guidelines + parent_name: group_journal_info + weight: 8 + format_type: tab + format_settings: + label: 'Submission Info' + formatter: closed + description: '' + required_fields: true + id: journal-submission-info-form-tab + classes: '' + label: 'Submission Info' + group_journal_extended_info: + children: + - field_journal_about_this + - field_journal_logo + - field_journal_main_image + parent_name: group_journal_info + weight: 4 + format_type: tab + format_settings: + id: journal-extended-info-form-tab + classes: '' + formatter: closed + description: '' + required_fields: true + label: 'Extended Info' + group_journal_contact_info: + children: + - field_journal_mailing_address + - field_journal_principal_contact + - field_journal_technical_support_ + parent_name: group_journal_info + weight: 5 + format_type: tab + format_settings: + id: journal-contact-form-tab + classes: '' + formatter: closed + description: '' + required_fields: true + label: Contact + group_journal_website_info: + children: + - field_journal_for_readers + - field_journal_for_authors + - field_journal_for_librarins + parent_name: group_journal_info + weight: 7 + format_type: tab + format_settings: + id: journal-webiste-info-form-tab + classes: '' + formatter: closed + description: 'Brief descriptions of the journal for librarians and prospective authors and readers. These are made available in the site''s sidebar when the Information block has been added.' + required_fields: true + label: 'Website Info' +_core: + default_config_hash: fQ1EHDlv5pb_PGRfzhK1pj40Jgazt90oyg8Y95Moi3s +id: node.journal.default +targetEntityType: node +bundle: journal +mode: default +content: + field_journal_abbrev: + weight: 4 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + type: string_textfield + region: content + field_journal_about_this: + weight: 42 + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + type: text_textarea + region: content + field_journal_author_guidelines: + weight: 43 + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + type: text_textarea + region: content + field_journal_description: + weight: 1 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + type: text_textfield + region: content + field_journal_eissn: + weight: 5 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + type: string_textfield + region: content + field_journal_for_authors: + weight: 39 + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + type: text_textarea + region: content + field_journal_for_librarins: + weight: 40 + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + type: text_textarea + region: content + field_journal_for_readers: + weight: 38 + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + type: text_textarea + region: content + field_journal_initials: + weight: 2 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + type: string_textfield + region: content + field_journal_issn_print: + weight: 6 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + type: string_textfield + region: content + field_journal_logo: + type: entity_browser_file + weight: 43 + settings: + entity_browser: image_browser + field_widget_edit: true + field_widget_remove: true + view_mode: default + preview_image_style: thumbnail + open: true + selection_mode: selection_append + region: content + third_party_settings: { } + field_journal_mailing_address: + weight: 50 + settings: + default_country: null + third_party_settings: { } + type: address_default + region: content + field_journal_main_image: + type: entity_browser_file + weight: 44 + settings: + entity_browser: image_browser + field_widget_edit: true + field_widget_remove: true + view_mode: default + preview_image_style: thumbnail + open: true + selection_mode: selection_append + region: content + third_party_settings: { } + field_journal_principal_contact: + weight: 51 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete + region: content + field_journal_publisher: + weight: 3 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + type: string_textfield + region: content + field_journal_technical_support_: + weight: 52 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete + region: content + path: + type: path + weight: 7 + region: content + settings: { } + third_party_settings: { } + title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + created: true + moderation_state: true + promote: true + scheduled_publication: true + status: true + sticky: true + uid: true diff --git a/modules/custom/journal_types/config/install/core.entity_form_display.node.journal_article.default.yml b/modules/custom/journal_types/config/install/core.entity_form_display.node.journal_article.default.yml new file mode 100644 index 0000000..bf9db9e --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_form_display.node.journal_article.default.yml @@ -0,0 +1,338 @@ +langcode: en +status: true +dependencies: + config: + - entity_browser.browser.media_browser + - field.field.node.journal_article.body + - field.field.node.journal_article.field_article_dc_rights + - field.field.node.journal_article.field_article_dc_source + - field.field.node.journal_article.field_article_disciplines + - field.field.node.journal_article.field_article_editor_comments + - field.field.node.journal_article.field_article_highlight_image + - field.field.node.journal_article.field_part_of + - field.field.node.journal_article.field_article_peer_reviewed + - field.field.node.journal_article.field_article_section + - field.field.node.journal_article.field_article_subjects + - field.field.node.journal_article.field_article_submission_files + - field.field.node.journal_article.field_article_subtitle + - field.field.node.journal_article.field_article_type + - field.field.node.journal_article.field_authors_and_affiliations + - field.field.node.journal_article.field_cc_license + - field.field.node.journal_article.field_doi + - field.field.node.journal_article.field_editorial_comments + - field.field.node.journal_article.field_featured_article + - field.field.node.journal_article.field_journal_article_abstract + - field.field.node.journal_article.field_journal_article_keywords + - field.field.node.journal_article.field_part_of + - field.field.node.journal_article.field_publication_date_electroni + - field.field.node.journal_article.field_works_cited + - node.type.journal_article + module: + - content_moderation + - datetime + - entity_browser + - entity_hierarchy + - field_group + - file + - inline_entity_form + - paragraphs + - path + - text +third_party_settings: + field_group: + group_submission_metadata: + children: + - field_article_dc_source + - field_article_dc_rights + parent_name: group_technical_metadata + weight: 3 + format_type: fieldset + format_settings: + id: '' + classes: article-submission-metadata-fieldset + description: 'These specifications are based on the Dublin Core metadata set, an international standard used to describe journal content.' + required_fields: true + label: 'Submission Metadata' + group_additional_refinements: + children: + - field_article_subjects + - field_article_disciplines + - field_journal_article_keywords + parent_name: group_technical_metadata + weight: 4 + format_type: fieldset + format_settings: + id: article-submission-additional-refinements-fieldset + classes: '' + description: '' + required_fields: true + label: 'Additional Refinements' + group_article_info: + children: + - group_article_content + - group_article_contributors + - group_technical_metadata + - group_publication_state + parent_name: '' + weight: 0 + format_type: tabs + format_settings: + id: journal-article-info-form-tabs + classes: '' + direction: vertical + label: 'Article Info' + group_article_content: + children: + - title + - field_article_subtitle + - field_journal_article_abstract + - body + - field_works_cited + - field_article_highlight_image + - field_article_submission_files + parent_name: group_article_info + weight: 20 + format_type: tab + format_settings: + id: journal-article-content-form-tab + classes: '' + formatter: open + description: 'Abstract and article main body content' + required_fields: true + label: 'Article Content' + group_publication_state: + children: + - field_part_of + - moderation_state + - field_article_section + - status + - field_publication_date_electroni + - path + - field_article_peer_reviewed + parent_name: group_article_info + weight: 23 + format_type: tab + format_settings: + id: journal-article-publication-state-form + classes: '' + formatter: closed + description: 'Article publication info and state' + required_fields: true + label: 'Publication State' + group_technical_metadata: + children: + - field_article_editor_comments + - group_submission_metadata + - group_additional_refinements + parent_name: group_article_info + weight: 22 + format_type: tab + format_settings: + id: journal-article-technical-metadata-tab-form + classes: '' + formatter: closed + description: 'Additional data to help categorize the article and make it indexable by search engines and aggregators.' + required_fields: true + label: 'Technical Metadata' + group_article_contributors: + children: + - field_authors_and_affiliations + parent_name: group_article_info + weight: 21 + format_type: tab + format_settings: + id: journal-article-contributors-form-tab + classes: '' + formatter: closed + description: 'Add all of the article''s contributors' + required_fields: true + label: 'Article Contributors' +_core: + default_config_hash: vSmxCbu2Kv7RqPlDZT5VaXpVB7Zh6hjQNKNvw7ECU74 +id: node.journal_article.default +targetEntityType: node +bundle: journal_article +mode: default +content: + body: + type: text_textarea_with_summary + weight: 3 + settings: + rows: 9 + summary_rows: 3 + placeholder: '' + third_party_settings: { } + region: content + field_article_dc_rights: + weight: 128 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + type: string_textfield + region: content + field_article_dc_source: + weight: 127 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + type: string_textfield + region: content + field_article_disciplines: + weight: 130 + settings: { } + third_party_settings: { } + type: options_select + region: content + field_article_editor_comments: + weight: 2 + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + type: text_textarea + region: content + field_article_highlight_image: + type: entity_browser_entity_reference + weight: 5 + settings: + entity_browser: media_browser + field_widget_display: rendered_entity + field_widget_edit: true + field_widget_remove: true + selection_mode: selection_append + field_widget_display_settings: + view_mode: thumbnail + open: true + region: content + third_party_settings: { } + field_article_peer_reviewed: + weight: 239 + settings: + display_label: true + third_party_settings: { } + type: boolean_checkbox + region: content + field_article_section: + weight: 235 + settings: { } + third_party_settings: { } + type: options_select + region: content + field_article_subjects: + weight: 129 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete + region: content + field_article_submission_files: + weight: 6 + settings: + progress_indicator: throbber + third_party_settings: { } + type: file_generic + region: content + field_article_subtitle: + weight: 1 + settings: + size: 60 + placeholder: '' + third_party_settings: { } + type: text_textfield + region: content + field_authors_and_affiliations: + type: entity_reference_paragraphs + weight: 0 + region: content + settings: + title: Paragraph + title_plural: Paragraphs + edit_mode: open + add_mode: dropdown + form_display_mode: default + default_paragraph_type: '' + third_party_settings: { } + field_journal_article_abstract: + weight: 2 + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + type: text_textarea + region: content + field_journal_article_keywords: + weight: 131 + settings: { } + third_party_settings: { } + type: options_select + region: content + field_part_of: + weight: 233 + settings: { } + third_party_settings: { } + type: entity_reference_hierarchy_select + region: content + field_publication_date_electroni: + weight: 237 + settings: { } + third_party_settings: { } + type: datetime_default + region: content + field_works_cited: + weight: 4 + settings: + form_mode: default + label_singular: '' + label_plural: '' + collapsible: true + allow_new: true + allow_existing: true + match_operator: CONTAINS + override_labels: false + collapsed: false + allow_duplicate: false + third_party_settings: { } + type: inline_entity_form_complex + region: content + moderation_state: + type: moderation_state_default + weight: 234 + settings: { } + region: content + third_party_settings: { } + path: + type: path + weight: 238 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 236 + region: content + third_party_settings: { } + title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + created: true + field_part_of: true + field_article_type: true + field_cc_license: true + field_doi: true + field_editorial_comments: true + field_featured_article: true + promote: true + sticky: true + uid: true diff --git a/modules/custom/journal_types/config/install/core.entity_form_display.paragraph.author_with_affiliation.default.yml b/modules/custom/journal_types/config/install/core.entity_form_display.paragraph.author_with_affiliation.default.yml new file mode 100644 index 0000000..8d3c103 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_form_display.paragraph.author_with_affiliation.default.yml @@ -0,0 +1,36 @@ +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.author_with_affiliation.field_affiliation_contributor + - field.field.paragraph.author_with_affiliation.field_affiliation_string + - paragraphs.paragraphs_type.author_with_affiliation + module: + - text +id: paragraph.author_with_affiliation.default +targetEntityType: paragraph +bundle: author_with_affiliation +mode: default +content: + field_affiliation_contributor: + type: entity_reference_autocomplete + weight: 0 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + field_affiliation_string: + type: text_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + created: true + moderation_state: true + status: true + uid: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.comment.editorial_comments.default.yml b/modules/custom/journal_types/config/install/core.entity_view_display.comment.editorial_comments.default.yml new file mode 100644 index 0000000..2bb08b1 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.comment.editorial_comments.default.yml @@ -0,0 +1,24 @@ +langcode: en +status: true +dependencies: + config: + - comment.type.editorial_comments + - field.field.comment.editorial_comments.comment_body + module: + - text +id: comment.editorial_comments.default +targetEntityType: comment +bundle: editorial_comments +mode: default +content: + comment_body: + label: hidden + type: text_default + weight: 0 + settings: { } + third_party_settings: { } + region: content + links: + weight: 100 + region: content +hidden: { } diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.issue.default.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.issue.default.yml new file mode 100644 index 0000000..08ddcac --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.issue.default.yml @@ -0,0 +1,79 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.issue.body + - field.field.node.issue.field_issue_cover + - field.field.node.issue.field_issue_number + - field.field.node.issue.field_issue_open + - field.field.node.issue.field_issue_publication_date + - field.field.node.issue.field_issue_volume + - node.type.issue + module: + - datetime + - field_group + - image + - panelizer + - text + - user +third_party_settings: + panelizer: + enable: false + custom: false + allow: false + default: default + field_group: + group_identification: + children: + - field_issue_number + - field_issue_volume + parent_name: '' + weight: 1 + format_type: fieldset + format_settings: + id: journal-issue-identification-fieldset + classes: '' + description: '' + label: Identification +_core: + default_config_hash: hdV6m5TfXarfLCfNrSlLjZVhJ1p3K2raHn2Bbu4dea4 +id: node.issue.default +targetEntityType: node +bundle: issue +mode: default +content: + body: + type: text_default + weight: 2 + region: content + label: above + settings: { } + third_party_settings: { } + field_issue_cover: + type: image + weight: 3 + region: content + label: above + settings: + image_style: '' + image_link: '' + third_party_settings: { } + field_issue_publication_date: + weight: 5 + label: above + settings: + format_type: medium + timezone_override: '' + third_party_settings: { } + type: datetime_default + region: content + links: + weight: 4 + region: content + settings: { } + third_party_settings: { } +hidden: + field_issue_number: true + field_issue_open: true + field_issue_volume: true + langcode: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.issue.full.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.issue.full.yml new file mode 100644 index 0000000..2de47bb --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.issue.full.yml @@ -0,0 +1,233 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.full + - field.field.node.issue.body + - field.field.node.issue.field_issue_cover + - field.field.node.issue.field_issue_number + - field.field.node.issue.field_issue_open + - field.field.node.issue.field_issue_publication_date + - field.field.node.issue.field_issue_volume + - field.field.node.issue.field_part_of + - node.type.issue + module: + - field_group + - image + - panelizer + - text + - user +third_party_settings: + panelizer: + enable: true + custom: false + allow: false + default: issue_with_table_of_contents + displays: + default: + blocks: + 97d29643-c01c-4b39-a270-86a67d29692e: + id: 'entity_field:node:uid' + label: 'Authored by' + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: author + settings: { } + third_party_settings: { } + weight: 0 + region: content + region: content + weight: 0 + context_mapping: + entity: '@panelizer.entity_context:entity' + uuid: 97d29643-c01c-4b39-a270-86a67d29692e + 60012803-b656-4cbc-8e03-6e20bde3b6c1: + id: 'entity_field:node:created' + label: 'Authored on' + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + third_party_settings: { } + weight: 0 + region: content + region: content + weight: 0 + context_mapping: + entity: '@panelizer.entity_context:entity' + uuid: 60012803-b656-4cbc-8e03-6e20bde3b6c1 + bf319e4a-d1ff-47bb-9004-d58ff6693d1e: + id: 'entity_field:node:body' + label: Description + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + region: content + weight: 2 + context_mapping: + entity: '@panelizer.entity_context:entity' + uuid: bf319e4a-d1ff-47bb-9004-d58ff6693d1e + 363878c9-b637-4f6d-a8e3-f852765f7dbd: + id: 'entity_field:node:field_issue_cover' + label: Cover + provider: ctools_block + label_display: '0' + formatter: + label: above + type: image + settings: + image_style: '' + image_link: '' + third_party_settings: { } + weight: 0 + region: content + region: content + weight: 3 + context_mapping: + entity: '@panelizer.entity_context:entity' + uuid: 363878c9-b637-4f6d-a8e3-f852765f7dbd + 3ddf8b48-7952-4622-ba28-150f7f2bb8d9: + id: 'entity_field:node:field_issue_number' + label: Number + provider: ctools_block + label_display: '0' + formatter: + label: above + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + weight: 0 + region: content + region: content + weight: 5 + context_mapping: + entity: '@panelizer.entity_context:entity' + uuid: 3ddf8b48-7952-4622-ba28-150f7f2bb8d9 + 6cd5ba49-3eb6-41c9-99cd-e3df4b7dacb6: + id: 'entity_field:node:field_issue_volume' + label: Volume + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + region: content + weight: 4 + context_mapping: + entity: '@panelizer.entity_context:entity' + uuid: 6cd5ba49-3eb6-41c9-99cd-e3df4b7dacb6 + id: panels_variant + label: Default + uuid: e931344e-e30a-4257-bb04-e05e8f1b15c2 + weight: 0 + layout: layout_onecol + layout_settings: { } + page_title: '[node:title]' + storage_type: panelizer_default + storage_id: 'node:issue:full:default' + builder: ipe + pattern: panelizer + static_context: { } + issue_with_table_of_contents: + blocks: + 4f78e630-efc5-4a24-9613-1a8a1e9b5b0d: + id: 'entity_view:node' + label: 'Entity view (Content)' + provider: ctools + label_display: '0' + view_mode: default + region: first_above + weight: 0 + uuid: 4f78e630-efc5-4a24-9613-1a8a1e9b5b0d + context_mapping: + entity: '@panelizer.entity_context:entity' + acca53ba-c132-4f74-9156-3be7f1f4f95b: + id: 'views_block:issue_table_of_contents-block_1' + label: '' + provider: views + label_display: visible + views_label: '' + items_per_page: none + region: second_above + weight: 0 + uuid: acca53ba-c132-4f74-9156-3be7f1f4f95b + context_mapping: { } + id: panels_variant + uuid: 26324a1f-9767-4ead-8fb2-8aa218e4a7b6 + label: 'Issue with Table of Contents' + weight: 0 + layout: layout_twocol_bricks + layout_settings: { } + page_title: '' + storage_type: panelizer_default + storage_id: 'node:issue:full:issue_with_table_of_contents' + pattern: panelizer + builder: standard + static_context: { } + field_group: + group_identification: + children: + - field_issue_number + - field_issue_volume + parent_name: '' + weight: 1 + format_type: fieldset + format_settings: + id: journal-issue-identification-fieldset + classes: '' + description: '' + label: Identification +_core: + default_config_hash: UdxLRFarJJjUsnmWnFMO9xlciEMWSfqBwNMaZzo95-g +id: node.issue.full +targetEntityType: node +bundle: issue +mode: full +content: + body: + type: text_default + weight: 2 + region: content + label: above + settings: { } + third_party_settings: { } + field_issue_cover: + type: image + weight: 3 + region: content + label: above + settings: + image_style: '' + image_link: '' + third_party_settings: { } + links: + weight: 4 + region: content + settings: { } + third_party_settings: { } +hidden: + field_issue_number: true + field_issue_open: true + field_issue_publication_date: true + field_issue_volume: true + field_part_of: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.issue.teaser.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.issue.teaser.yml new file mode 100644 index 0000000..6952f15 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.issue.teaser.yml @@ -0,0 +1,282 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.issue.body + - field.field.node.issue.field_issue_cover + - field.field.node.issue.field_issue_number + - field.field.node.issue.field_issue_open + - field.field.node.issue.field_issue_publication_date + - field.field.node.issue.field_issue_volume + - field.field.node.issue.field_part_of + - image.style.medium + - node.type.issue + module: + - field_group + - image + - panelizer + - text + - user +third_party_settings: + panelizer: + enable: true + custom: false + allow: false + default: issue_list_item + displays: + default: + blocks: + d7ad4c2f-7f87-4851-9b89-4f919ce6b582: + id: 'entity_field:node:uid' + label: 'Authored by' + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: author + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 0 + uuid: d7ad4c2f-7f87-4851-9b89-4f919ce6b582 + 98f08e63-4db5-4a0e-97a8-bdad3d0d2d97: + id: 'entity_field:node:created' + label: 'Authored on' + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 0 + uuid: 98f08e63-4db5-4a0e-97a8-bdad3d0d2d97 + 55ff05ac-f61f-42d4-bebf-20be143d3cb7: + id: 'entity_field:node:body' + label: Description + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 2 + uuid: 55ff05ac-f61f-42d4-bebf-20be143d3cb7 + 3ad92b3e-cfcd-4de0-862f-d349e1ead1cb: + id: 'entity_field:node:field_issue_cover' + label: Cover + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: image + settings: + image_style: medium + image_link: '' + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 0 + uuid: 3ad92b3e-cfcd-4de0-862f-d349e1ead1cb + b67b0411-3d2f-4a0a-914c-4ed20d332107: + id: 'entity_field:node:field_issue_number' + label: Number + provider: ctools_block + label_display: '0' + formatter: + label: above + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 5 + uuid: b67b0411-3d2f-4a0a-914c-4ed20d332107 + bdc36165-cdb9-42d8-a8a1-a99d91ef62d3: + id: 'entity_field:node:field_issue_volume' + label: Volume + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 4 + uuid: bdc36165-cdb9-42d8-a8a1-a99d91ef62d3 + id: panels_variant + label: Default + uuid: b5d8ea4b-fe2b-425b-97c1-94c9bccacf81 + weight: 0 + layout: layout_onecol + layout_settings: { } + page_title: '[node:title]' + storage_type: '' + storage_id: '' + builder: ipe + pattern: panelizer + issue_list_item: + blocks: + d2bf6150-ffaf-4c75-a276-f6010e257008: + id: 'entity_field:node:field_issue_cover' + label: Cover + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: image + settings: + image_style: medium + image_link: '' + third_party_settings: { } + weight: 0 + region: first_above + weight: 0 + uuid: d2bf6150-ffaf-4c75-a276-f6010e257008 + context_mapping: + entity: '@panelizer.entity_context:entity' + 33c302e4-b3df-4bae-b8e2-d475272a68f7: + id: 'entity_field:node:title' + label: Title + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: string + settings: + link_to_entity: true + third_party_settings: { } + weight: 0 + region: second_above + weight: -2 + uuid: 33c302e4-b3df-4bae-b8e2-d475272a68f7 + context_mapping: + entity: '@panelizer.entity_context:entity' + 9ce3a48e-94ee-44b7-a3f3-6e3cd43738ff: + id: 'entity_field:node:field_issue_publication_date' + label: 'Publication Date' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: datetime_default + settings: + timezone_override: '' + format_type: html_date + third_party_settings: { } + weight: 0 + region: first_above + weight: 0 + uuid: 9ce3a48e-94ee-44b7-a3f3-6e3cd43738ff + context_mapping: + entity: '@panelizer.entity_context:entity' + 4d730f1d-0daf-4ec9-9af8-b2abcbd048a6: + id: 'entity_field:node:title' + label: Title + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: citation_field_formatter + settings: + style: modern_language_association_8th_edition + omit_title: 1 + third_party_settings: { } + weight: 0 + region: second_above + weight: 0 + uuid: 4d730f1d-0daf-4ec9-9af8-b2abcbd048a6 + context_mapping: + entity: '@panelizer.entity_context:entity' + id: panels_variant + uuid: f2088078-2166-403a-8502-4837cd0919e4 + label: 'Issue list item' + weight: 0 + layout: layout_twocol_bricks + layout_settings: { } + page_title: '' + storage_type: panelizer_default + storage_id: 'node:issue:teaser:issue_list_item' + pattern: panelizer + builder: standard + static_context: { } + field_group: + group_identification: + children: + - field_issue_number + - field_issue_volume + parent_name: '' + weight: 1 + format_type: fieldset + format_settings: + id: journal-issue-identification-fieldset + classes: '' + description: '' + label: Identification +_core: + default_config_hash: hsH_y_oOJOIDTEWOlzop58-s3O-0rVA0j30HccYPiis +id: node.issue.teaser +targetEntityType: node +bundle: issue +mode: teaser +content: + body: + type: text_default + weight: 2 + region: content + label: above + settings: { } + third_party_settings: { } + field_issue_cover: + type: image + weight: 0 + region: content + label: hidden + settings: + image_style: medium + image_link: '' + third_party_settings: { } + links: + weight: 3 + region: content + settings: { } + third_party_settings: { } +hidden: + field_issue_number: true + field_issue_open: true + field_issue_publication_date: true + field_issue_volume: true + field_part_of: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.journal.default.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal.default.yml new file mode 100644 index 0000000..b67419d --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal.default.yml @@ -0,0 +1,575 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.journal.field_journal_abbrev + - field.field.node.journal.field_journal_about_this + - field.field.node.journal.field_journal_author_guidelines + - field.field.node.journal.field_journal_description + - field.field.node.journal.field_journal_eissn + - field.field.node.journal.field_journal_for_authors + - field.field.node.journal.field_journal_for_librarins + - field.field.node.journal.field_journal_for_readers + - field.field.node.journal.field_journal_initials + - field.field.node.journal.field_journal_issn_print + - field.field.node.journal.field_journal_logo + - field.field.node.journal.field_journal_mailing_address + - field.field.node.journal.field_journal_main_image + - field.field.node.journal.field_journal_principal_contact + - field.field.node.journal.field_journal_publisher + - field.field.node.journal.field_journal_technical_support_ + - node.type.journal + module: + - address + - field_group + - image + - panelizer + - text + - user +third_party_settings: + panelizer: + enable: false + custom: false + allow: false + default: journal_default_display + displays: + default: + blocks: + 0dff327d-c815-4cb4-aab7-a32642769b8c: + id: 'entity_field:node:uid' + label: 'Authored by' + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: author + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 0 + uuid: 0dff327d-c815-4cb4-aab7-a32642769b8c + dba7a1c5-8646-4273-893e-73875bdea335: + id: 'entity_field:node:created' + label: 'Authored on' + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 0 + uuid: dba7a1c5-8646-4273-893e-73875bdea335 + abff0d77-b79e-474d-8531-9d278237848c: + id: 'entity_field:node:field_journal_abbrev' + label: 'Journal Abbreviated Name' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 24 + uuid: abff0d77-b79e-474d-8531-9d278237848c + 680abf92-9ddb-41b9-9272-7ac9915b0661: + id: 'entity_field:node:field_journal_about_this' + label: 'About this Journal' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 25 + uuid: 680abf92-9ddb-41b9-9272-7ac9915b0661 + 30c3739f-a2d9-46b5-a940-cff7df995dac: + id: 'entity_field:node:field_journal_author_guidelines' + label: 'Author Guidelines' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 2 + uuid: 30c3739f-a2d9-46b5-a940-cff7df995dac + 54a774c3-0cd1-43d4-b9f8-abbf984ffcbb: + id: 'entity_field:node:field_journal_eissn' + label: 'ISSN (Electronic)' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 27 + uuid: 54a774c3-0cd1-43d4-b9f8-abbf984ffcbb + 232cdc13-05eb-4191-bd30-031314aa7351: + id: 'entity_field:node:field_journal_for_authors' + label: 'Information For Authors' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 1 + uuid: 232cdc13-05eb-4191-bd30-031314aa7351 + 8e098c42-8295-412e-9473-d1fae14cb475: + id: 'entity_field:node:field_journal_for_librarins' + label: 'Information For Librarians' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 30 + uuid: 8e098c42-8295-412e-9473-d1fae14cb475 + 268d64a4-9305-46b0-ac9b-fd7999c96407: + id: 'entity_field:node:field_journal_for_readers' + label: 'Information For Readers' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 12 + uuid: 268d64a4-9305-46b0-ac9b-fd7999c96407 + abffe9c9-9eba-445e-a396-37a48fdfc5ae: + id: 'entity_field:node:field_journal_issn_print' + label: 'ISSN (Print)' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 28 + uuid: abffe9c9-9eba-445e-a396-37a48fdfc5ae + ecbbf9fc-d969-45a4-ad10-70adebf961be: + id: 'entity_field:node:field_journal_logo' + label: 'Journal Logo' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: image + settings: + image_style: thumbnail + image_link: '' + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 0 + uuid: ecbbf9fc-d969-45a4-ad10-70adebf961be + 8dcb5a67-383e-489a-948f-0c78580be1d3: + id: 'entity_field:node:field_journal_mailing_address' + label: 'Journal Mailing Address' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: address_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 34 + uuid: 8dcb5a67-383e-489a-948f-0c78580be1d3 + d27c0bf9-35f6-435c-8d4c-faa5791a0429: + id: 'entity_field:node:field_journal_main_image' + label: 'Journal Main Image' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: image + settings: + image_style: '' + image_link: '' + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 29 + uuid: d27c0bf9-35f6-435c-8d4c-faa5791a0429 + 8fb2479e-5758-4954-8575-090c7c805bfe: + id: 'entity_field:node:field_journal_principal_contact' + label: 'Journal Principal Contact' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: entity_reference_label + settings: + link: true + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 35 + uuid: 8fb2479e-5758-4954-8575-090c7c805bfe + 4cc0139b-20e9-46e4-beff-105fcf655dc4: + id: 'entity_field:node:field_journal_publisher' + label: 'Journal Publisher' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 26 + uuid: 4cc0139b-20e9-46e4-beff-105fcf655dc4 + 207ae181-b5c8-412f-8892-5a717d873b03: + id: 'entity_field:node:field_journal_technical_support_' + label: 'Journal Technical Support Contact' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: entity_reference_label + settings: + link: true + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 36 + uuid: 207ae181-b5c8-412f-8892-5a717d873b03 + id: panels_variant + label: Default + uuid: 099f5961-d3a6-4c4a-9de4-7e9983ec2def + weight: 0 + layout: layout_onecol + layout_settings: { } + page_title: '[node:title]' + storage_type: '' + storage_id: '' + builder: ipe + pattern: panelizer + journal_default_display: + blocks: + 02602901-b5da-4f68-8aad-786421e86014: + id: 'entity_view:node' + label: 'Entity view (Content)' + provider: ctools + label_display: visible + view_mode: teaser + region: top + weight: 0 + uuid: 02602901-b5da-4f68-8aad-786421e86014 + context_mapping: + entity: '@panelizer.entity_context:entity' + 97f2d8df-c2ef-4d5d-8133-16a703c8dbf1: + id: 'views_block:journal_issue_list-journal_issue_list' + label: '' + provider: views + label_display: visible + views_label: '' + items_per_page: none + region: bottom + weight: 0 + uuid: 97f2d8df-c2ef-4d5d-8133-16a703c8dbf1 + context_mapping: { } + id: panels_variant + uuid: 7b133c42-b593-4ed7-b467-86aef168c418 + label: 'Journal Default Display' + weight: 0 + layout: layout_twocol + layout_settings: { } + page_title: '' + storage_type: panelizer_default + storage_id: 'node:journal:default:journal_default_display' + pattern: panelizer + builder: standard + static_context: { } + field_group: + group_journal_display: + children: + - field_journal_logo + - group_journal_home + - group_journal_for_readers + - group_journal_for_authors + - group_journal_for_librarians + - group_contact + parent_name: '' + weight: 1 + format_type: tabs + format_settings: + label: Information + direction: vertical + id: journal-information-tabs + classes: '' + label: Information + group_contact: + children: + - field_journal_mailing_address + - field_journal_principal_contact + - field_journal_technical_support_ + parent_name: group_journal_display + weight: 5 + format_type: tab + format_settings: + id: journal-display-contact-tab + classes: '' + formatter: closed + description: 'Contact info for this journal' + label: Contact + group_journal_home: + children: + - field_journal_abbrev + - field_journal_about_this + - field_journal_publisher + - field_journal_eissn + - field_journal_issn_print + - field_journal_main_image + parent_name: group_journal_display + weight: 1 + format_type: tab + format_settings: + id: journal-home-tab + classes: '' + formatter: closed + description: '' + label: Home + group_journal_for_readers: + children: + - field_journal_for_readers + parent_name: group_journal_display + weight: 2 + format_type: tab + format_settings: + id: journal-for-readers-tab + classes: '' + formatter: closed + description: '' + label: 'For Readers' + group_journal_for_authors: + children: + - field_journal_for_authors + - field_journal_author_guidelines + parent_name: group_journal_display + weight: 3 + format_type: tab + format_settings: + id: journal-for-authors-tab + classes: '' + formatter: closed + description: '' + label: 'For Authors' + group_journal_for_librarians: + children: + - field_journal_for_librarins + parent_name: group_journal_display + weight: 4 + format_type: tab + format_settings: + id: journal-for-librarians-tab + classes: '' + formatter: closed + description: '' + label: 'For Librarians' +_core: + default_config_hash: arYZmgJskfdWf-RLCJYmuSgq5NWt1pcgtcSzweVV0DU +id: node.journal.default +targetEntityType: node +bundle: journal +mode: default +content: + field_journal_abbrev: + weight: 24 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_journal_about_this: + weight: 25 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_author_guidelines: + weight: 2 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_eissn: + weight: 27 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_journal_for_authors: + weight: 1 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_for_librarins: + weight: 30 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_for_readers: + weight: 12 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_issn_print: + weight: 28 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_journal_logo: + weight: 0 + label: above + settings: + image_style: thumbnail + image_link: '' + third_party_settings: { } + type: image + region: content + field_journal_mailing_address: + weight: 34 + label: above + settings: { } + third_party_settings: { } + type: address_default + region: content + field_journal_main_image: + weight: 29 + label: above + settings: + image_style: '' + image_link: '' + third_party_settings: { } + type: image + region: content + field_journal_principal_contact: + weight: 35 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_journal_publisher: + weight: 26 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_journal_technical_support_: + weight: 36 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content +hidden: + field_journal_description: true + field_journal_initials: true + links: true + scheduled_publication: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.journal.full.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal.full.yml new file mode 100644 index 0000000..b5ee131 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal.full.yml @@ -0,0 +1,587 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.full + - field.field.node.journal.field_journal_abbrev + - field.field.node.journal.field_journal_about_this + - field.field.node.journal.field_journal_author_guidelines + - field.field.node.journal.field_journal_description + - field.field.node.journal.field_journal_eissn + - field.field.node.journal.field_journal_for_authors + - field.field.node.journal.field_journal_for_librarins + - field.field.node.journal.field_journal_for_readers + - field.field.node.journal.field_journal_initials + - field.field.node.journal.field_journal_issn_print + - field.field.node.journal.field_journal_logo + - field.field.node.journal.field_journal_mailing_address + - field.field.node.journal.field_journal_main_image + - field.field.node.journal.field_journal_principal_contact + - field.field.node.journal.field_journal_publisher + - field.field.node.journal.field_journal_technical_support_ + - node.type.journal + module: + - address + - field_group + - image + - panelizer + - text + - user +third_party_settings: + panelizer: + enable: true + custom: false + allow: false + default: journal_view_with_issue_list + displays: + default: + blocks: + 0dff327d-c815-4cb4-aab7-a32642769b8c: + id: 'entity_field:node:uid' + label: 'Authored by' + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: author + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 0 + uuid: 0dff327d-c815-4cb4-aab7-a32642769b8c + dba7a1c5-8646-4273-893e-73875bdea335: + id: 'entity_field:node:created' + label: 'Authored on' + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 0 + uuid: dba7a1c5-8646-4273-893e-73875bdea335 + abff0d77-b79e-474d-8531-9d278237848c: + id: 'entity_field:node:field_journal_abbrev' + label: 'Journal Abbreviated Name' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 24 + uuid: abff0d77-b79e-474d-8531-9d278237848c + 680abf92-9ddb-41b9-9272-7ac9915b0661: + id: 'entity_field:node:field_journal_about_this' + label: 'About this Journal' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 25 + uuid: 680abf92-9ddb-41b9-9272-7ac9915b0661 + 30c3739f-a2d9-46b5-a940-cff7df995dac: + id: 'entity_field:node:field_journal_author_guidelines' + label: 'Author Guidelines' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 2 + uuid: 30c3739f-a2d9-46b5-a940-cff7df995dac + 54a774c3-0cd1-43d4-b9f8-abbf984ffcbb: + id: 'entity_field:node:field_journal_eissn' + label: 'ISSN (Electronic)' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 27 + uuid: 54a774c3-0cd1-43d4-b9f8-abbf984ffcbb + 232cdc13-05eb-4191-bd30-031314aa7351: + id: 'entity_field:node:field_journal_for_authors' + label: 'Information For Authors' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 1 + uuid: 232cdc13-05eb-4191-bd30-031314aa7351 + 8e098c42-8295-412e-9473-d1fae14cb475: + id: 'entity_field:node:field_journal_for_librarins' + label: 'Information For Librarians' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 30 + uuid: 8e098c42-8295-412e-9473-d1fae14cb475 + 268d64a4-9305-46b0-ac9b-fd7999c96407: + id: 'entity_field:node:field_journal_for_readers' + label: 'Information For Readers' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 12 + uuid: 268d64a4-9305-46b0-ac9b-fd7999c96407 + abffe9c9-9eba-445e-a396-37a48fdfc5ae: + id: 'entity_field:node:field_journal_issn_print' + label: 'ISSN (Print)' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 28 + uuid: abffe9c9-9eba-445e-a396-37a48fdfc5ae + ecbbf9fc-d969-45a4-ad10-70adebf961be: + id: 'entity_field:node:field_journal_logo' + label: 'Journal Logo' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: image + settings: + image_style: thumbnail + image_link: '' + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 0 + uuid: ecbbf9fc-d969-45a4-ad10-70adebf961be + 8dcb5a67-383e-489a-948f-0c78580be1d3: + id: 'entity_field:node:field_journal_mailing_address' + label: 'Journal Mailing Address' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: address_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 34 + uuid: 8dcb5a67-383e-489a-948f-0c78580be1d3 + d27c0bf9-35f6-435c-8d4c-faa5791a0429: + id: 'entity_field:node:field_journal_main_image' + label: 'Journal Main Image' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: image + settings: + image_style: '' + image_link: '' + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 29 + uuid: d27c0bf9-35f6-435c-8d4c-faa5791a0429 + 8fb2479e-5758-4954-8575-090c7c805bfe: + id: 'entity_field:node:field_journal_principal_contact' + label: 'Journal Principal Contact' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: entity_reference_label + settings: + link: true + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 35 + uuid: 8fb2479e-5758-4954-8575-090c7c805bfe + 4cc0139b-20e9-46e4-beff-105fcf655dc4: + id: 'entity_field:node:field_journal_publisher' + label: 'Journal Publisher' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: string + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 26 + uuid: 4cc0139b-20e9-46e4-beff-105fcf655dc4 + 207ae181-b5c8-412f-8892-5a717d873b03: + id: 'entity_field:node:field_journal_technical_support_' + label: 'Journal Technical Support Contact' + provider: ctools_block + label_display: '0' + formatter: + label: above + type: entity_reference_label + settings: + link: true + third_party_settings: { } + weight: 0 + region: content + context_mapping: + entity: '@panelizer.entity_context:entity' + region: content + weight: 36 + uuid: 207ae181-b5c8-412f-8892-5a717d873b03 + id: panels_variant + label: Default + uuid: 099f5961-d3a6-4c4a-9de4-7e9983ec2def + weight: 0 + layout: layout_onecol + layout_settings: { } + page_title: '[node:title]' + storage_type: panelizer_default + storage_id: 'node:journal:full:default' + builder: ipe + pattern: panelizer + journal_view_with_issue_list: + blocks: + f685a9ce-6414-4264-ba73-622e2871a7ad: + id: 'entity_view:node' + label: 'Entity view (Content)' + provider: ctools + label_display: '0' + view_mode: default + region: top + weight: -10 + uuid: f685a9ce-6414-4264-ba73-622e2871a7ad + context_mapping: + entity: '@panelizer.entity_context:entity' + 3e6ea56e-79ca-4053-a15b-3d391af5a8d7: + id: 'views_block:journal_issue_list-journal_issue_list' + label: '' + provider: views + label_display: visible + views_label: '' + items_per_page: none + region: bottom + weight: -1 + uuid: 3e6ea56e-79ca-4053-a15b-3d391af5a8d7 + context_mapping: { } + b6e6971a-283e-4065-b761-d25184c0bfda: + id: 'views_block:journal_recent_articles-block_1' + label: '' + provider: views + label_display: visible + views_label: '' + items_per_page: '20' + region: bottom + weight: 0 + uuid: b6e6971a-283e-4065-b761-d25184c0bfda + context_mapping: { } + id: panels_variant + uuid: d83ac352-2f2b-4dd5-b5ec-fc0b1e936a68 + label: 'Journal View with Issue List' + weight: 0 + layout: layout_twocol + layout_settings: { } + page_title: '' + storage_type: panelizer_default + storage_id: 'node:journal:full:journal_view_with_issue_list' + pattern: panelizer + builder: standard + static_context: { } + field_group: + group_journal_display: + children: + - field_journal_logo + - group_journal_home + - group_journal_for_readers + - group_journal_for_authors + - group_journal_for_librarians + - group_contact + parent_name: '' + weight: 1 + format_type: tabs + format_settings: + label: Information + direction: vertical + id: journal-information-tabs + classes: '' + label: Information + group_contact: + children: + - field_journal_mailing_address + - field_journal_principal_contact + - field_journal_technical_support_ + parent_name: group_journal_display + weight: 5 + format_type: tab + format_settings: + id: journal-display-contact-tab + classes: '' + formatter: closed + description: 'Contact info for this journal' + label: Contact + group_journal_home: + children: + - field_journal_abbrev + - field_journal_about_this + - field_journal_publisher + - field_journal_eissn + - field_journal_issn_print + - field_journal_main_image + parent_name: group_journal_display + weight: 1 + format_type: tab + format_settings: + id: journal-home-tab + classes: '' + formatter: closed + description: '' + label: Home + group_journal_for_readers: + children: + - field_journal_for_readers + parent_name: group_journal_display + weight: 2 + format_type: tab + format_settings: + id: journal-for-readers-tab + classes: '' + formatter: closed + description: '' + label: 'For Readers' + group_journal_for_authors: + children: + - field_journal_for_authors + - field_journal_author_guidelines + parent_name: group_journal_display + weight: 3 + format_type: tab + format_settings: + id: journal-for-authors-tab + classes: '' + formatter: closed + description: '' + label: 'For Authors' + group_journal_for_librarians: + children: + - field_journal_for_librarins + parent_name: group_journal_display + weight: 4 + format_type: tab + format_settings: + id: journal-for-librarians-tab + classes: '' + formatter: closed + description: '' + label: 'For Librarians' +_core: + default_config_hash: yUhhBTNLMcvJwxXgtyBXkER86vEH1igSeSN5Dqv7zQY +id: node.journal.full +targetEntityType: node +bundle: journal +mode: full +content: + field_journal_abbrev: + weight: 24 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_journal_about_this: + weight: 25 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_author_guidelines: + weight: 2 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_eissn: + weight: 27 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_journal_for_authors: + weight: 1 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_for_librarins: + weight: 30 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_for_readers: + weight: 12 + label: above + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_issn_print: + weight: 28 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_journal_logo: + weight: 0 + label: above + settings: + image_style: thumbnail + image_link: '' + third_party_settings: { } + type: image + region: content + field_journal_mailing_address: + weight: 34 + label: above + settings: { } + third_party_settings: { } + type: address_default + region: content + field_journal_main_image: + weight: 29 + label: above + settings: + image_style: '' + image_link: '' + third_party_settings: { } + type: image + region: content + field_journal_principal_contact: + weight: 35 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_journal_publisher: + weight: 26 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_journal_technical_support_: + weight: 36 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content +hidden: + field_journal_description: true + field_journal_initials: true + links: true + scheduled_publication: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.journal.teaser.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal.teaser.yml new file mode 100644 index 0000000..564957d --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal.teaser.yml @@ -0,0 +1,54 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.journal.field_journal_abbrev + - field.field.node.journal.field_journal_about_this + - field.field.node.journal.field_journal_author_guidelines + - field.field.node.journal.field_journal_description + - field.field.node.journal.field_journal_eissn + - field.field.node.journal.field_journal_for_authors + - field.field.node.journal.field_journal_for_librarins + - field.field.node.journal.field_journal_for_readers + - field.field.node.journal.field_journal_initials + - field.field.node.journal.field_journal_issn_print + - field.field.node.journal.field_journal_logo + - field.field.node.journal.field_journal_mailing_address + - field.field.node.journal.field_journal_main_image + - field.field.node.journal.field_journal_principal_contact + - field.field.node.journal.field_journal_publisher + - field.field.node.journal.field_journal_technical_support_ + - node.type.journal + module: + - user +_core: + default_config_hash: tym0E9V_huI30V2g0R29YUl9ujNEQrx1h_7kXMwuuAw +id: node.journal.teaser +targetEntityType: node +bundle: journal +mode: teaser +content: + links: + weight: 100 + region: content + settings: { } + third_party_settings: { } +hidden: + field_journal_abbrev: true + field_journal_about_this: true + field_journal_author_guidelines: true + field_journal_description: true + field_journal_eissn: true + field_journal_for_authors: true + field_journal_for_librarins: true + field_journal_for_readers: true + field_journal_initials: true + field_journal_issn_print: true + field_journal_logo: true + field_journal_mailing_address: true + field_journal_main_image: true + field_journal_principal_contact: true + field_journal_publisher: true + field_journal_technical_support_: true + scheduled_publication: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.default.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.default.yml new file mode 100644 index 0000000..091a2a5 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.default.yml @@ -0,0 +1,218 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.journal_article.body + - field.field.node.journal_article.field_article_dc_rights + - field.field.node.journal_article.field_article_dc_source + - field.field.node.journal_article.field_article_disciplines + - field.field.node.journal_article.field_article_editor_comments + - field.field.node.journal_article.field_article_highlight_image + - field.field.node.journal_article.field_article_peer_reviewed + - field.field.node.journal_article.field_article_section + - field.field.node.journal_article.field_article_subjects + - field.field.node.journal_article.field_article_submission_files + - field.field.node.journal_article.field_article_subtitle + - field.field.node.journal_article.field_article_type + - field.field.node.journal_article.field_authors_and_affiliations + - field.field.node.journal_article.field_cc_license + - field.field.node.journal_article.field_doi + - field.field.node.journal_article.field_editorial_comments + - field.field.node.journal_article.field_featured_article + - field.field.node.journal_article.field_journal_article_abstract + - field.field.node.journal_article.field_journal_article_keywords + - field.field.node.journal_article.field_publication_date_electroni + - field.field.node.journal_article.field_works_cited + - node.type.journal_article + module: + - entity_hierarchy + - entity_reference_revisions + - field_group + - file + - link + - panelizer + - text + - user +third_party_settings: + panelizer: + enable: false + custom: false + allow: false + default: default + field_group: + group_article_info: + children: + - field_article_disciplines + - field_article_subjects + - field_article_dc_rights + - field_article_dc_source + - field_journal_article_keywords + - content_moderation_control + parent_name: group_article + weight: 15 + format_type: accordion_item + format_settings: + formatter: closed + description: '' + classes: '' + id: '' + label: 'Article Info' + group_article_text: + children: + - field_journal_article_abstract + - body + parent_name: group_article + weight: 14 + format_type: accordion_item + format_settings: + label: '' + formatter: open + id: '' + classes: '' + label: '' + group_article: + children: + - group_article_text + - group_article_info + parent_name: '' + weight: 6 + format_type: accordion + format_settings: + effect: none + classes: '' + id: '' + label: Article +_core: + default_config_hash: oW-GIKpMMEIjNPxD8t6GTqQmPKrvpHE36UWZwBk7b2w +id: node.journal_article.default +targetEntityType: node +bundle: journal_article +mode: default +content: + body: + label: hidden + type: text_default + weight: 10 + settings: { } + third_party_settings: { } + region: content + content_moderation_control: + weight: 18 + region: content + settings: { } + third_party_settings: { } + field_article_dc_rights: + weight: 13 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_article_dc_source: + weight: 14 + label: above + settings: + link_to_entity: false + third_party_settings: { } + type: string + region: content + field_article_disciplines: + weight: 11 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_article_peer_reviewed: + weight: 2 + label: inline + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + type: boolean + region: content + field_article_section: + weight: 1 + label: inline + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_article_subjects: + weight: 12 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_article_submission_files: + weight: 9 + label: above + settings: + use_description_as_link_text: true + third_party_settings: { } + type: file_default + region: content + field_article_subtitle: + weight: 0 + label: visually_hidden + settings: { } + third_party_settings: { } + type: text_default + region: content + field_authors_and_affiliations: + type: entity_reference_revisions_entity_view + weight: 5 + region: content + label: above + settings: + view_mode: default + link: '' + third_party_settings: { } + field_doi: + type: link + weight: 4 + region: content + label: inline + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + field_journal_article_abstract: + weight: 9 + label: hidden + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_article_keywords: + weight: 16 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + links: + weight: 8 + region: content + settings: { } + third_party_settings: { } +hidden: + field_article_editor_comments: true + field_article_highlight_image: true + field_article_type: true + field_cc_license: true + field_editorial_comments: true + field_featured_article: true + field_publication_date_electroni: true + field_works_cited: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.full.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.full.yml new file mode 100644 index 0000000..8a6227c --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.full.yml @@ -0,0 +1,224 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.full + - field.field.node.journal_article.body + - field.field.node.journal_article.field_article_dc_rights + - field.field.node.journal_article.field_article_dc_source + - field.field.node.journal_article.field_article_disciplines + - field.field.node.journal_article.field_article_editor_comments + - field.field.node.journal_article.field_article_peer_reviewed + - field.field.node.journal_article.field_article_section + - field.field.node.journal_article.field_article_subjects + - field.field.node.journal_article.field_article_submission_files + - field.field.node.journal_article.field_article_subtitle + - field.field.node.journal_article.field_article_type + - field.field.node.journal_article.field_authors_and_affiliations + - field.field.node.journal_article.field_cc_license + - field.field.node.journal_article.field_doi + - field.field.node.journal_article.field_editorial_comments + - field.field.node.journal_article.field_featured_article + - field.field.node.journal_article.field_journal_article_abstract + - field.field.node.journal_article.field_journal_article_keywords + - field.field.node.journal_article.field_publication_date_electroni + - field.field.node.journal_article.field_works_cited + - node.type.journal_article + module: + - datetime + - entity_hierarchy + - entity_reference_revisions + - field_group + - file + - link + - options + - panelizer + - text + - user +third_party_settings: + panelizer: + enable: false + custom: false + allow: false + default: default + field_group: + group_article_info: + children: + - field_article_disciplines + - field_article_subjects + - field_cc_license + - content_moderation_control + parent_name: group_article + weight: 15 + format_type: accordion_item + format_settings: + formatter: closed + description: '' + classes: '' + id: '' + label: 'Article Info' + group_article_text: + children: + - field_journal_article_abstract + - field_journal_article_keywords + - body + parent_name: group_article + weight: 14 + format_type: accordion_item + format_settings: + label: '' + formatter: open + id: '' + classes: '' + label: '' + group_article: + children: + - group_article_text + - group_article_info + parent_name: '' + weight: 4 + format_type: accordion + format_settings: + effect: none + classes: '' + id: '' + label: Article +_core: + default_config_hash: cJOOMw2Z_jAS6zpKIGu8MUd6ntdmksZLFSHeGabyaPc +id: node.journal_article.full +targetEntityType: node +bundle: journal_article +mode: full +content: + body: + label: hidden + type: text_default + weight: 3 + settings: { } + third_party_settings: { } + region: content + content_moderation_control: + weight: 12 + region: content + settings: { } + third_party_settings: { } + field_article_disciplines: + weight: 6 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_article_peer_reviewed: + weight: 7 + label: inline + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + type: boolean + region: content + field_article_section: + weight: 0 + label: inline + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_article_subjects: + weight: 7 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_article_submission_files: + weight: 9 + label: above + settings: + use_description_as_link_text: true + third_party_settings: { } + type: file_default + region: content + field_article_subtitle: + weight: 1 + label: hidden + settings: { } + third_party_settings: { } + type: text_default + region: content + field_article_type: + weight: 6 + label: inline + settings: { } + third_party_settings: { } + type: list_default + region: content + field_authors_and_affiliations: + type: entity_reference_revisions_entity_view + weight: 2 + region: content + label: hidden + settings: + view_mode: default + link: '' + third_party_settings: { } + field_cc_license: + weight: 10 + label: hidden + settings: { } + third_party_settings: { } + type: text_default + region: content + field_doi: + type: link + weight: 3 + region: content + label: inline + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + field_journal_article_abstract: + weight: 1 + label: hidden + settings: { } + third_party_settings: { } + type: text_default + region: content + field_journal_article_keywords: + type: entity_reference_label + weight: 2 + region: content + label: hidden + settings: + link: true + third_party_settings: { } + field_publication_date_electroni: + weight: 5 + label: inline + settings: + format_type: medium + timezone_override: '' + third_party_settings: { } + type: datetime_default + region: content + links: + weight: 8 + region: content + settings: { } + third_party_settings: { } +hidden: + field_article_dc_rights: true + field_article_dc_source: true + field_article_editor_comments: true + field_editorial_comments: true + field_featured_article: true + field_works_cited: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.teaser.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.teaser.yml new file mode 100644 index 0000000..cd9b2f9 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.teaser.yml @@ -0,0 +1,77 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.journal_article.body + - field.field.node.journal_article.field_article_dc_rights + - field.field.node.journal_article.field_article_dc_source + - field.field.node.journal_article.field_article_disciplines + - field.field.node.journal_article.field_article_editor_comments + - field.field.node.journal_article.field_article_highlight_image + - field.field.node.journal_article.field_article_peer_reviewed + - field.field.node.journal_article.field_article_section + - field.field.node.journal_article.field_article_subjects + - field.field.node.journal_article.field_article_submission_files + - field.field.node.journal_article.field_article_subtitle + - field.field.node.journal_article.field_article_type + - field.field.node.journal_article.field_authors_and_affiliations + - field.field.node.journal_article.field_cc_license + - field.field.node.journal_article.field_doi + - field.field.node.journal_article.field_editorial_comments + - field.field.node.journal_article.field_featured_article + - field.field.node.journal_article.field_journal_article_abstract + - field.field.node.journal_article.field_journal_article_keywords + - field.field.node.journal_article.field_publication_date_electroni + - field.field.node.journal_article.field_works_cited + - node.type.journal_article + module: + - text + - user +_core: + default_config_hash: H9y1kfOfS5mLH3kDmge34EEvLHKjxg-c-Uq6bPMYinY +id: node.journal_article.teaser +targetEntityType: node +bundle: journal_article +mode: teaser +content: + body: + label: hidden + type: text_summary_or_trimmed + weight: 101 + settings: + trim_length: 600 + third_party_settings: { } + region: content + content_moderation_control: + weight: -20 + region: content + settings: { } + third_party_settings: { } + links: + weight: 100 + region: content + settings: { } + third_party_settings: { } +hidden: + field_article_dc_rights: true + field_article_dc_source: true + field_article_disciplines: true + field_article_editor_comments: true + field_article_highlight_image: true + field_article_peer_reviewed: true + field_article_section: true + field_article_subjects: true + field_article_submission_files: true + field_article_subtitle: true + field_article_type: true + field_authors_and_affiliations: true + field_cc_license: true + field_doi: true + field_editorial_comments: true + field_featured_article: true + field_journal_article_abstract: true + field_journal_article_keywords: true + field_publication_date_electroni: true + field_works_cited: true + scheduled_publication: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.toc_item.yml b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.toc_item.yml new file mode 100644 index 0000000..0820a99 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.node.journal_article.toc_item.yml @@ -0,0 +1,156 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.toc_item + - field.field.node.journal_article.body + - field.field.node.journal_article.field_article_dc_rights + - field.field.node.journal_article.field_article_dc_source + - field.field.node.journal_article.field_article_disciplines + - field.field.node.journal_article.field_article_editor_comments + - field.field.node.journal_article.field_article_highlight_image + - field.field.node.journal_article.field_part_of + - field.field.node.journal_article.field_article_peer_reviewed + - field.field.node.journal_article.field_article_section + - field.field.node.journal_article.field_article_subjects + - field.field.node.journal_article.field_article_submission_files + - field.field.node.journal_article.field_article_subtitle + - field.field.node.journal_article.field_article_type + - field.field.node.journal_article.field_authors_and_affiliations + - field.field.node.journal_article.field_editorial_comments + - field.field.node.journal_article.field_journal_article_abstract + - field.field.node.journal_article.field_journal_article_keywords + - field.field.node.journal_article.field_publication_date_electroni + - node.type.journal_article + module: + - journal_types + - media + - panelizer + - text + - user +third_party_settings: + panelizer: + enable: true + custom: false + allow: false + default: default + displays: + default: + blocks: + 56782582-f55e-4632-aa5e-8ff725f03fe4: + id: 'entity_field:node:field_article_highlight_image' + label: 'Highlight Image' + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: media_thumbnail + settings: + image_style: thumbnail + image_link: content + third_party_settings: { } + weight: 0 + region: content + region: second + weight: 0 + context_mapping: + entity: '@panelizer.entity_context:entity' + uuid: 56782582-f55e-4632-aa5e-8ff725f03fe4 + 573b4820-044d-4d83-99f8-ce9a1126a081: + id: 'entity_field:node:field_article_subtitle' + label: Subtitle + provider: ctools_block + label_display: '0' + formatter: + label: visually_hidden + type: text_default + settings: { } + third_party_settings: { } + weight: 0 + region: content + region: first + weight: 2 + context_mapping: + entity: '@panelizer.entity_context:entity' + uuid: 573b4820-044d-4d83-99f8-ce9a1126a081 + dd71755d-e5a6-49f7-9c7d-0d76e7bd6aa3: + id: 'entity_field:node:field_journal_article_abstract' + label: Abstract + provider: ctools_block + label_display: '0' + formatter: + label: hidden + type: citation_field_formatter + settings: + style: modern_language_association_8th_edition + omit_title: 1 + third_party_settings: { } + weight: 0 + region: content + region: first + weight: 4 + context_mapping: + entity: '@panelizer.entity_context:entity' + uuid: dd71755d-e5a6-49f7-9c7d-0d76e7bd6aa3 + id: panels_variant + label: Default + uuid: a26fd2a7-d12c-43bd-a3e5-2e972d067083 + weight: 0 + layout: layout_twocol + layout_settings: { } + page_title: '[node:title]' + storage_type: panelizer_default + storage_id: 'node:journal_article:toc_item:default' + builder: ipe + pattern: panelizer + static_context: { } +_core: + default_config_hash: WGsgAfOj0YlUOfmFp58ZBX2Per_QmxYcTmc96_AR8vI +id: node.journal_article.toc_item +targetEntityType: node +bundle: journal_article +mode: toc_item +content: + field_article_highlight_image: + type: media_thumbnail + weight: 0 + region: content + label: hidden + settings: + image_style: '' + image_link: '' + third_party_settings: { } + field_article_subtitle: + type: text_default + weight: 2 + region: content + label: visually_hidden + settings: { } + third_party_settings: { } + field_journal_article_abstract: + type: citation_field_formatter + weight: 4 + region: content + label: hidden + settings: + style: modern_language_association_8th_edition + omit_title: '1' + third_party_settings: { } +hidden: + body: true + content_moderation_control: true + field_article_dc_rights: true + field_article_dc_source: true + field_article_disciplines: true + field_article_editor_comments: true + field_part_of: true + field_article_peer_reviewed: true + field_article_section: true + field_article_subjects: true + field_article_submission_files: true + field_article_type: true + field_authors_and_affiliations: true + field_editorial_comments: true + field_journal_article_keywords: true + field_publication_date_electroni: true + links: true diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.paragraph.author_with_affiliation.default.yml b/modules/custom/journal_types/config/install/core.entity_view_display.paragraph.author_with_affiliation.default.yml new file mode 100644 index 0000000..0853ff7 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.paragraph.author_with_affiliation.default.yml @@ -0,0 +1,41 @@ +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.author_with_affiliation.field_affiliation_contributor + - field.field.paragraph.author_with_affiliation.field_affiliation_string + - paragraphs.paragraphs_type.author_with_affiliation + module: + - name + - text +_core: + default_config_hash: h9LaqBk9aB8ygJmzUQsIjXUzDtj3251-4NlYxlkXC7o +id: paragraph.author_with_affiliation.default +targetEntityType: paragraph +bundle: author_with_affiliation +mode: default +content: + field_affiliation_contributor: + weight: 0 + label: visually_hidden + settings: + format: default + markup: true + output: default + multiple: inline_list + multiple_delimiter: ', ' + multiple_and: text + multiple_delimiter_precedes_last: never + multiple_el_al_min: '10' + multiple_el_al_first: '1' + third_party_settings: { } + type: name_default + region: content + field_affiliation_string: + weight: 1 + label: visually_hidden + settings: { } + third_party_settings: { } + type: text_default + region: content +hidden: { } diff --git a/modules/custom/journal_types/config/install/core.entity_view_display.paragraph.author_with_affiliation.preview.yml b/modules/custom/journal_types/config/install/core.entity_view_display.paragraph.author_with_affiliation.preview.yml new file mode 100644 index 0000000..d3d992c --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_display.paragraph.author_with_affiliation.preview.yml @@ -0,0 +1,42 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.paragraph.preview + - field.field.paragraph.author_with_affiliation.field_affiliation_contributor + - field.field.paragraph.author_with_affiliation.field_affiliation_string + - paragraphs.paragraphs_type.author_with_affiliation + module: + - name + - text +_core: + default_config_hash: bpiHE-r1dPttxHdRETwPG9y4iCyw1GwdzrupElgJasE +id: paragraph.author_with_affiliation.preview +targetEntityType: paragraph +bundle: author_with_affiliation +mode: preview +content: + field_affiliation_contributor: + type: name_default + weight: 0 + region: content + label: above + settings: + format: default + markup: true + output: default + multiple: inline_list + multiple_delimiter: ', ' + multiple_and: text + multiple_delimiter_precedes_last: never + multiple_el_al_min: '3' + multiple_el_al_first: '1' + third_party_settings: { } + field_affiliation_string: + weight: 1 + label: visually_hidden + settings: { } + third_party_settings: { } + type: text_default + region: content +hidden: { } diff --git a/modules/custom/journal_types/config/install/core.entity_view_mode.node.toc_item.yml b/modules/custom/journal_types/config/install/core.entity_view_mode.node.toc_item.yml new file mode 100644 index 0000000..6ba01f7 --- /dev/null +++ b/modules/custom/journal_types/config/install/core.entity_view_mode.node.toc_item.yml @@ -0,0 +1,15 @@ +langcode: en +status: true +dependencies: + module: + - lightning_core + - node +third_party_settings: + lightning_core: + description: 'List item for display in a table of contents.' +_core: + default_config_hash: sn_YJ4NAoimYJOfgY9Kb8ExLddX8643a4avjI-WC1fc +id: node.toc_item +label: 'ToC Item' +targetEntityType: node +cache: true diff --git a/modules/custom/journal_types/config/install/field.field.comment.editorial_comments.comment_body.yml b/modules/custom/journal_types/config/install/field.field.comment.editorial_comments.comment_body.yml new file mode 100644 index 0000000..0823a40 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.comment.editorial_comments.comment_body.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + config: + - comment.type.editorial_comments + - field.storage.comment.comment_body + module: + - allowed_formats + - text +third_party_settings: + allowed_formats: + links_only: links_only + rich_text_references: '0' + rich_text: '0' + plain_text: '0' +_core: + default_config_hash: rVU0_kDPTzmCPboD1M7c3bZ2J2L8Ag_io1N0nmehhXM +id: comment.editorial_comments.comment_body +field_name: comment_body +entity_type: comment +bundle: editorial_comments +label: Comment +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.issue.body.yml b/modules/custom/journal_types/config/install/field.field.node.issue.body.yml new file mode 100644 index 0000000..8057e35 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.issue.body.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.body + - node.type.issue + module: + - text +id: node.issue.body +field_name: body +entity_type: node +bundle: issue +label: Description +description: 'Information about the specific issue.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + display_summary: false +field_type: text_with_summary diff --git a/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_cover.yml b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_cover.yml new file mode 100644 index 0000000..8215be8 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_cover.yml @@ -0,0 +1,37 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_issue_cover + - node.type.issue + module: + - image +id: node.issue.field_issue_cover +field_name: field_issue_cover +entity_type: node +bundle: issue +label: Cover +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + file_directory: '[date:custom:Y]-[date:custom:m]' + file_extensions: 'png gif jpg jpeg' + max_filesize: '' + max_resolution: '' + min_resolution: '' + alt_field: true + alt_field_required: false + title_field: false + title_field_required: false + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null + handler: 'default:file' + handler_settings: { } +field_type: image diff --git a/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_number.yml b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_number.yml new file mode 100644 index 0000000..f9488ea --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_number.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_issue_number + - node.type.issue + module: + - require_on_publish +third_party_settings: + require_on_publish: + require_on_publish: false +_core: + default_config_hash: YZupW8Hde9iQTi_bP-MQPLXsQfYrIyuW2_Oe3T0Hjvs +id: node.issue.field_issue_number +field_name: field_issue_number +entity_type: node +bundle: issue +label: Number +description: 'Journal number. Must be an integer.' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_open.yml b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_open.yml new file mode 100644 index 0000000..e20a2b9 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_open.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_issue_open + - node.type.issue +id: node.issue.field_issue_open +field_name: field_issue_open +entity_type: node +bundle: issue +label: Open +description: 'An Open issue can have new articles added to it.' +required: false +translatable: false +default_value: + - + value: 1 +default_value_callback: '' +settings: + on_label: Open + off_label: Closed +field_type: boolean diff --git a/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_publication_date.yml b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_publication_date.yml new file mode 100644 index 0000000..ae59360 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_publication_date.yml @@ -0,0 +1,27 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_issue_publication_date + - node.type.issue + module: + - datetime + - require_on_publish +third_party_settings: + require_on_publish: + require_on_publish: true +id: node.issue.field_issue_publication_date +field_name: field_issue_publication_date +entity_type: node +bundle: issue +label: 'Publication Date' +description: 'Publicly-visible issue date' +required: false +translatable: false +default_value: + - + default_date_type: now + default_date: now +default_value_callback: '' +settings: { } +field_type: datetime diff --git a/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_volume.yml b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_volume.yml new file mode 100644 index 0000000..099b827 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.issue.field_issue_volume.yml @@ -0,0 +1,27 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_issue_volume + - node.type.issue + module: + - require_on_publish +third_party_settings: + require_on_publish: + require_on_publish: false +id: node.issue.field_issue_volume +field_name: field_issue_volume +entity_type: node +bundle: issue +label: Volume +description: 'Designate a volume taht this issue is part of. Used in citations.' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + min: 1 + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/modules/custom/journal_types/config/install/field.field.node.issue.field_part_of.yml b/modules/custom/journal_types/config/install/field.field.node.issue.field_part_of.yml new file mode 100644 index 0000000..858d576 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.issue.field_part_of.yml @@ -0,0 +1,36 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_part_of + - node.type.issue + - node.type.journal + module: + - entity_hierarchy + - require_on_publish +third_party_settings: + require_on_publish: + require_on_publish: true +id: node.issue.field_part_of +field_name: field_part_of +entity_type: node +bundle: issue +label: Journal +description: 'Defines the hierarchical structure of the content between journals, Issues and articles' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: + target_bundles: + journal: journal + sort: + field: _none + auto_create: false + auto_create_bundle: '' + weight_min: 0 + weight_max: 50 + weight_label: Order +field_type: entity_reference_hierarchy diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_abbrev.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_abbrev.yml new file mode 100644 index 0000000..ce17ef6 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_abbrev.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_abbrev + - node.type.journal +id: node.journal.field_journal_abbrev +field_name: field_journal_abbrev +entity_type: node +bundle: journal +label: 'Journal Abbreviated Name' +description: 'Short journal name for use in citations' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_about_this.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_about_this.yml new file mode 100644 index 0000000..90d2c07 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_about_this.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_about_this + - node.type.journal + module: + - text +id: node.journal.field_journal_about_this +field_name: field_journal_about_this +entity_type: node +bundle: journal +label: 'About this Journal' +description: 'Includes information of interest to readers and submitters, such as open access policies, disclosures, and relevant technical information.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_author_guidelines.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_author_guidelines.yml new file mode 100644 index 0000000..ec9921c --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_author_guidelines.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_author_guidelines + - node.type.journal + module: + - text +id: node.journal.field_journal_author_guidelines +field_name: field_journal_author_guidelines +entity_type: node +bundle: journal +label: 'Author Guidelines' +description: 'Recommended guidelines include bibliographic and formatting standards alongside examples of common citation formats to be used in submissions.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_description.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_description.yml new file mode 100644 index 0000000..c424c11 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_description.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_description + - node.type.journal + module: + - text +id: node.journal.field_journal_description +field_name: field_journal_description +entity_type: node +bundle: journal +label: 'Journal Description' +description: 'A brief description of the journal that will appear in lists of journals' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_eissn.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_eissn.yml new file mode 100644 index 0000000..0260da7 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_eissn.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_eissn + - node.type.journal +id: node.journal.field_journal_eissn +field_name: field_journal_eissn +entity_type: node +bundle: journal +label: 'ISSN (Electronic)' +description: 'ISSN for the electronic version of the journal' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_authors.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_authors.yml new file mode 100644 index 0000000..276c5a0 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_authors.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_for_authors + - node.type.journal + module: + - text +id: node.journal.field_journal_for_authors +field_name: field_journal_for_authors +entity_type: node +bundle: journal +label: 'Information For Authors' +description: '' +required: false +translatable: false +default_value: + - + value: "

      Interested in submitting to this journal? We recommend that you review the About the Journal page for the journal's section policies, as well as the Author Guidelines. Authors need to register with the journal prior to submitting or, if already registered, can simply log in and begin the five-step process.

      \r\n" + format: rich_text +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_librarins.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_librarins.yml new file mode 100644 index 0000000..3fc185b --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_librarins.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_for_librarins + - node.type.journal + module: + - text +id: node.journal.field_journal_for_librarins +field_name: field_journal_for_librarins +entity_type: node +bundle: journal +label: 'Information For Librarians' +description: '' +required: false +translatable: false +default_value: + - + value: "

      We encourage research librarians to list this journal among their library's electronic journal holdings. As well, it may be worth noting that this journal's open source publishing system is suitable for libraries to host for their faculty members to use with journals they are involved in editing (see Open Journal Systems).

      \r\n" + format: rich_text +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_readers.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_readers.yml new file mode 100644 index 0000000..9ed036e --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_for_readers.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_for_readers + - node.type.journal + module: + - text +id: node.journal.field_journal_for_readers +field_name: field_journal_for_readers +entity_type: node +bundle: journal +label: 'Information For Readers' +description: '' +required: false +translatable: false +default_value: + - + value: "

      We encourage readers to sign up for the publishing notification service for this journal. Use the Register link at the top of the home page for the journal. This registration will result in the reader receiving the Table of Contents by email for each new issue of the journal. This list also allows the journal to claim a certain level of support or readership. See the journal's Privacy Statement, which assures readers that their name and email address will not be used for other purposes.

      \r\n" + format: rich_text +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_initials.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_initials.yml new file mode 100644 index 0000000..4e955df --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_initials.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_initials + - node.type.journal +id: node.journal.field_journal_initials +field_name: field_journal_initials +entity_type: node +bundle: journal +label: 'Journal Initials' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_issn_print.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_issn_print.yml new file mode 100644 index 0000000..360e524 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_issn_print.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_issn_print + - node.type.journal +id: node.journal.field_journal_issn_print +field_name: field_journal_issn_print +entity_type: node +bundle: journal +label: 'ISSN (Print)' +description: 'ISSN for the print version of the journal.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_logo.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_logo.yml new file mode 100644 index 0000000..fd1f97d --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_logo.yml @@ -0,0 +1,37 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_logo + - node.type.journal + module: + - image +id: node.journal.field_journal_logo +field_name: field_journal_logo +entity_type: node +bundle: journal +label: 'Journal Logo' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + file_directory: '[date:custom:Y]-[date:custom:m]' + file_extensions: 'png gif jpg jpeg' + max_filesize: '' + max_resolution: '' + min_resolution: '' + alt_field: true + alt_field_required: false + title_field: false + title_field_required: false + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null + handler: 'default:file' + handler_settings: { } +field_type: image diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_mailing_address.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_mailing_address.yml new file mode 100644 index 0000000..c569e35 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_mailing_address.yml @@ -0,0 +1,37 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_mailing_address + - node.type.journal + module: + - address +_core: + default_config_hash: DUPONlGcKF9rm1tpcPERN0VuMb0_sb1RxmNBqyx6ISQ +id: node.journal.field_journal_mailing_address +field_name: field_journal_mailing_address +entity_type: node +bundle: journal +label: 'Journal Mailing Address' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + available_countries: { } + fields: + administrativeArea: administrativeArea + locality: locality + dependentLocality: dependentLocality + postalCode: postalCode + sortingCode: sortingCode + addressLine1: addressLine1 + addressLine2: addressLine2 + organization: organization + givenName: givenName + additionalName: additionalName + familyName: familyName + langcode_override: '' + field_overrides: { } +field_type: address diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_main_image.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_main_image.yml new file mode 100644 index 0000000..c316cbb --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_main_image.yml @@ -0,0 +1,37 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_main_image + - node.type.journal + module: + - image +id: node.journal.field_journal_main_image +field_name: field_journal_main_image +entity_type: node +bundle: journal +label: 'Journal Main Image' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + file_directory: '[date:custom:Y]-[date:custom:m]' + file_extensions: 'png gif jpg jpeg' + max_filesize: '' + max_resolution: '' + min_resolution: '' + alt_field: true + alt_field_required: false + title_field: false + title_field_required: false + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null + handler: 'default:file' + handler_settings: { } +field_type: image diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_principal_contact.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_principal_contact.yml new file mode 100644 index 0000000..b4b50c5 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_principal_contact.yml @@ -0,0 +1,32 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_principal_contact + - node.type.journal +id: node.journal.field_journal_principal_contact +field_name: field_journal_principal_contact +entity_type: node +bundle: journal +label: 'Journal Principal Contact' +description: 'User representing the journal publicly, such as an editor-in-chief' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:user' + handler_settings: + include_anonymous: true + filter: + type: role + role: + administrator: administrator + journal_editor: journal_editor + issue_editor: '0' + target_bundles: null + sort: + field: name + direction: ASC + auto_create: false +field_type: entity_reference diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_publisher.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_publisher.yml new file mode 100644 index 0000000..5c2afeb --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_publisher.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_publisher + - node.type.journal +id: node.journal.field_journal_publisher +field_name: field_journal_publisher +entity_type: node +bundle: journal +label: 'Journal Publisher' +description: 'Journal publisher''s name' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_technical_support_.yml b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_technical_support_.yml new file mode 100644 index 0000000..2cedfdf --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal.field_journal_technical_support_.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_technical_support_ + - node.type.journal +id: node.journal.field_journal_technical_support_ +field_name: field_journal_technical_support_ +entity_type: node +bundle: journal +label: 'Journal Technical Support Contact' +description: 'A user to whom technical inquiries will be directed' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:user' + handler_settings: + include_anonymous: false + filter: + type: _none + target_bundles: null + sort: + field: name + direction: ASC + auto_create: true +field_type: entity_reference diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.body.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.body.yml new file mode 100644 index 0000000..08533ff --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.body.yml @@ -0,0 +1,33 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.body + - node.type.journal_article + module: + - allowed_formats + - require_on_publish + - text +third_party_settings: + allowed_formats: + rich_text_references: rich_text_references + links_only: '0' + rich_text: '0' + plain_text: '0' + require_on_publish: + require_on_publish: false +_core: + default_config_hash: rzlFs8iu6RY1ugNs7AWdSdHDpNwnj90hcz4DMK0hEkc +id: node.journal_article.body +field_name: body +entity_type: node +bundle: journal_article +label: 'Article Text' +description: 'Article main body. You can create a table of contents by styling sections titles with the "Heading 2", "Heading 3", etc. Then insert the string "[TOC]" where the table of contents should be located.' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + display_summary: false +field_type: text_with_summary diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_dc_rights.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_dc_rights.yml new file mode 100644 index 0000000..d49d3a4 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_dc_rights.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_dc_rights + - node.type.journal_article +id: node.journal_article.field_article_dc_rights +field_name: field_article_dc_rights +entity_type: node +bundle: journal_article +label: Rights +description: "If you wish, you may enter a brief statement about the access rights held in or over this submission.\r\n \r\n" +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_dc_source.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_dc_source.yml new file mode 100644 index 0000000..a919ec2 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_dc_source.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_dc_source + - node.type.journal_article +id: node.journal_article.field_article_dc_source +field_name: field_article_dc_source +entity_type: node +bundle: journal_article +label: Source +description: 'Is this submission derived from another resource? If so, you may enter a URL or description of that resource.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_disciplines.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_disciplines.yml new file mode 100644 index 0000000..2191312 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_disciplines.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_disciplines + - node.type.journal_article + - taxonomy.vocabulary.disciplines +id: node.journal_article.field_article_disciplines +field_name: field_article_disciplines +entity_type: node +bundle: journal_article +label: Discipline(s) +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + disciplines: disciplines + sort: + field: name + direction: asc + auto_create: true + auto_create_bundle: '' +field_type: entity_reference diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_editor_comments.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_editor_comments.yml new file mode 100644 index 0000000..6fb7d1d --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_editor_comments.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_editor_comments + - node.type.journal_article + module: + - allowed_formats + - text +third_party_settings: + allowed_formats: + links_only: links_only + rich_text_references: '0' + rich_text: '0' + plain_text: '0' +_core: + default_config_hash: 6JNJZFHF-P8xWrv9vDPsBcyk_5ePdbwUdESzlmivdXE +id: node.journal_article.field_article_editor_comments +field_name: field_article_editor_comments +entity_type: node +bundle: journal_article +label: 'Comments for the Editor' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_highlight_image.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_highlight_image.yml new file mode 100644 index 0000000..6428764 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_highlight_image.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_highlight_image + - media.type.image + - node.type.journal_article +id: node.journal_article.field_article_highlight_image +field_name: field_article_highlight_image +entity_type: node +bundle: journal_article +label: 'Highlight Image' +description: 'Select an image to represent the article in places like table of contents lists as a thumbnail.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:media' + handler_settings: + target_bundles: + image: image + sort: + field: created + direction: DESC + auto_create: true + auto_create_bundle: '' +field_type: entity_reference diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_peer_reviewed.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_peer_reviewed.yml new file mode 100644 index 0000000..42980ef --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_peer_reviewed.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_peer_reviewed + - node.type.journal_article +id: node.journal_article.field_article_peer_reviewed +field_name: field_article_peer_reviewed +entity_type: node +bundle: journal_article +label: 'Peer reviewed' +description: 'This article has undergone peer review' +required: false +translatable: false +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'Yes' + off_label: 'No' +field_type: boolean diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_section.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_section.yml new file mode 100644 index 0000000..27234fa --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_section.yml @@ -0,0 +1,30 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_section + - node.type.journal_article + - taxonomy.vocabulary.article_section +_core: + default_config_hash: 0sIUcRFw83kW86YilCJ0wn5Zm5HcN5CcDKrYqDQYsGk +id: node.journal_article.field_article_section +field_name: field_article_section +entity_type: node +bundle: journal_article +label: Section +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + article_section: article_section + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: article_section +field_type: entity_reference diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_subjects.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_subjects.yml new file mode 100644 index 0000000..7bfe39c --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_subjects.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_subjects + - node.type.journal_article + - taxonomy.vocabulary.subjects +id: node.journal_article.field_article_subjects +field_name: field_article_subjects +entity_type: node +bundle: journal_article +label: Subjects +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + subjects: subjects + sort: + field: name + direction: asc + auto_create: true + auto_create_bundle: '' +field_type: entity_reference diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_submission_files.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_submission_files.yml new file mode 100644 index 0000000..d93a1c8 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_submission_files.yml @@ -0,0 +1,32 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_submission_files + - node.type.journal_article + module: + - file + - require_on_publish +third_party_settings: + require_on_publish: + require_on_publish: false +_core: + default_config_hash: mvPTDZbb_3ppaz2QhbZgmelZp70zKtwiJNUDMnawYPs +id: node.journal_article.field_article_submission_files +field_name: field_article_submission_files +entity_type: node +bundle: journal_article +label: 'Submission Files' +description: 'Files submitted by the user as part of the submission. This can include drafts as well as media files and supporting documents.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + file_directory: 'submissions/[current-user:account-name]/[date:custom:Y]-[date:custom:m]' + file_extensions: 'txt jpg jpeg png gif wav mov mp3 mp4 pdf doc xml xls docx xlsx' + max_filesize: '100 MB' + description_field: true + handler: 'default:file' + handler_settings: { } +field_type: file diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_subtitle.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_subtitle.yml new file mode 100644 index 0000000..5071ada --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_subtitle.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_subtitle + - node.type.journal_article + module: + - allowed_formats + - text +third_party_settings: + allowed_formats: + plain_text: plain_text + rich_text_references: '0' + links_only: '0' + rich_text: '0' +_core: + default_config_hash: B9gw6gWn7xEAEJNodFjonXnsut88oA3Al74ewtlhiag +id: node.journal_article.field_article_subtitle +field_name: field_article_subtitle +entity_type: node +bundle: journal_article +label: Subtitle +description: 'The optional subtitle will appear after a colon (:), following the main title.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: text diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_type.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_type.yml new file mode 100644 index 0000000..e85d96e --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_article_type.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_article_type + - node.type.journal_article + module: + - options +id: node.journal_article.field_article_type +field_name: field_article_type +entity_type: node +bundle: journal_article +label: Type +description: 'The type of work.' +required: false +translatable: false +default_value: + - + value: 'Journal Article' +default_value_callback: '' +settings: { } +field_type: list_string diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_authors_and_affiliations.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_authors_and_affiliations.yml new file mode 100644 index 0000000..1a72a5f --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_authors_and_affiliations.yml @@ -0,0 +1,30 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_authors_and_affiliations + - node.type.journal_article + - paragraphs.paragraphs_type.author_with_affiliation + module: + - entity_reference_revisions +id: node.journal_article.field_authors_and_affiliations +field_name: field_authors_and_affiliations +entity_type: node +bundle: journal_article +label: 'Authors and affiliations' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:paragraph' + handler_settings: + negate: 0 + target_bundles: + author_with_affiliation: author_with_affiliation + target_bundles_drag_drop: + author_with_affiliation: + enabled: true + weight: 2 +field_type: entity_reference_revisions diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_cc_license.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_cc_license.yml new file mode 100644 index 0000000..b6c4d4e --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_cc_license.yml @@ -0,0 +1,31 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cc_license + - node.type.journal_article + module: + - allowed_formats + - text +third_party_settings: + allowed_formats: + html: html + rich_text_references: '0' + links_only: '0' + rich_text: '0' + plain_text: '0' +id: node.journal_article.field_cc_license +field_name: field_cc_license +entity_type: node +bundle: journal_article +label: 'CC License' +description: 'this is the Creative Commons License and icon applied to all article content published in the journal. A default value is applied given the requirements of the journal.' +required: false +translatable: false +default_value: + - + value: "

      <a rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"><img alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by/4.0/80x15.png\" /></a><br />This work is licensed under a <a rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\">Creative Commons Attribution 4.0 International License</a>.

      \r\n" + format: html +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_doi.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_doi.yml new file mode 100644 index 0000000..591d67f --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_doi.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_doi + - node.type.journal_article + module: + - link +id: node.journal_article.field_doi +field_name: field_doi +entity_type: node +bundle: journal_article +label: DOI +description: 'Persistent identifier for this article.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + link_type: 16 + title: 0 +field_type: link diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_editorial_comments.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_editorial_comments.yml new file mode 100644 index 0000000..eafe268 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_editorial_comments.yml @@ -0,0 +1,32 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_editorial_comments + - node.type.journal_article + module: + - comment +id: node.journal_article.field_editorial_comments +field_name: field_editorial_comments +entity_type: node +bundle: journal_article +label: 'Editorial Comments' +description: 'Conversations between reviewers, submitter and editors. Not visible to anonymous users.' +required: false +translatable: false +default_value: + - + status: 2 + cid: 0 + last_comment_timestamp: 0 + last_comment_name: null + last_comment_uid: 0 + comment_count: 0 +default_value_callback: '' +settings: + default_mode: 1 + per_page: 50 + anonymous: 0 + form_location: true + preview: 1 +field_type: comment diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_featured_article.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_featured_article.yml new file mode 100644 index 0000000..d09db38 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_featured_article.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_featured_article + - node.type.journal_article +id: node.journal_article.field_featured_article +field_name: field_featured_article +entity_type: node +bundle: journal_article +label: 'Featured Article' +description: 'Add this article to the landing pages slideshow' +required: false +translatable: false +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'Yes' + off_label: 'No' +field_type: boolean diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_journal_article_abstract.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_journal_article_abstract.yml new file mode 100644 index 0000000..17cddc4 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_journal_article_abstract.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_article_abstract + - node.type.journal_article + module: + - allowed_formats + - text +third_party_settings: + allowed_formats: + rich_text_references: rich_text_references + links_only: '0' + rich_text: '0' + plain_text: '0' +_core: + default_config_hash: M5Alg8YCqQbYAzJuw4cJ1YZLigodhvMPQ2qJ72XzdQc +id: node.journal_article.field_journal_article_abstract +field_name: field_journal_article_abstract +entity_type: node +bundle: journal_article +label: Abstract +description: 'Short abstract displayed in lists of articles' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: text_long diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_journal_article_keywords.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_journal_article_keywords.yml new file mode 100644 index 0000000..97efe3d --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_journal_article_keywords.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_journal_article_keywords + - node.type.journal_article + - taxonomy.vocabulary.article_keywords +id: node.journal_article.field_journal_article_keywords +field_name: field_journal_article_keywords +entity_type: node +bundle: journal_article +label: 'Article Keywords' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + article_keywords: article_keywords + sort: + field: name + direction: asc + auto_create: true + auto_create_bundle: '' +field_type: entity_reference diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_part_of.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_part_of.yml new file mode 100644 index 0000000..ca69a91 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_part_of.yml @@ -0,0 +1,38 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_part_of + - node.type.issue + - node.type.journal_article + module: + - entity_hierarchy + - require_on_publish +third_party_settings: + require_on_publish: + require_on_publish: true +_core: + default_config_hash: u_g4CaH5ocSxvQ0ll6uaCGKVqTeXWt1zj8ai5ukHj4E +id: node.journal_article.field_part_of +field_name: field_part_of +entity_type: node +bundle: journal_article +label: Issue +description: 'The issue to which this article belongs' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: + target_bundles: + issue: issue + sort: + field: _none + auto_create: 0 + auto_create_bundle: '' + weight_min: 0 + weight_max: 1024 + weight_label: order +field_type: entity_reference_hierarchy diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_publication_date_electroni.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_publication_date_electroni.yml new file mode 100644 index 0000000..adf04ab --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_publication_date_electroni.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_publication_date_electroni + - node.type.journal_article + module: + - datetime +id: node.journal_article.field_publication_date_electroni +field_name: field_publication_date_electroni +entity_type: node +bundle: journal_article +label: 'Published on' +description: 'Official electronic publication date of the article. This can be overridden by editors.' +required: false +translatable: false +default_value: + - + default_date_type: now + default_date: now +default_value_callback: '' +settings: { } +field_type: datetime diff --git a/modules/custom/journal_types/config/install/field.field.node.journal_article.field_works_cited.yml b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_works_cited.yml new file mode 100644 index 0000000..50ccedb --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.node.journal_article.field_works_cited.yml @@ -0,0 +1,72 @@ +langcode: en +status: true +dependencies: + config: + - bibcite_entity.bibcite_reference_type.artwork + - bibcite_entity.bibcite_reference_type.audiovisual + - bibcite_entity.bibcite_reference_type.book + - bibcite_entity.bibcite_reference_type.book_chapter + - bibcite_entity.bibcite_reference_type.broadcast + - bibcite_entity.bibcite_reference_type.case + - bibcite_entity.bibcite_reference_type.classical + - bibcite_entity.bibcite_reference_type.conference_paper + - bibcite_entity.bibcite_reference_type.conference_proceedings + - bibcite_entity.bibcite_reference_type.film + - bibcite_entity.bibcite_reference_type.government_report + - bibcite_entity.bibcite_reference_type.journal + - bibcite_entity.bibcite_reference_type.journal_article + - bibcite_entity.bibcite_reference_type.legal_ruling + - bibcite_entity.bibcite_reference_type.magazine_article + - bibcite_entity.bibcite_reference_type.manuscript + - bibcite_entity.bibcite_reference_type.map + - bibcite_entity.bibcite_reference_type.newspaper_article + - bibcite_entity.bibcite_reference_type.personal + - bibcite_entity.bibcite_reference_type.presentation + - bibcite_entity.bibcite_reference_type.thesis + - bibcite_entity.bibcite_reference_type.unpublished + - bibcite_entity.bibcite_reference_type.website + - field.storage.node.field_works_cited + - node.type.journal_article +id: node.journal_article.field_works_cited +field_name: field_works_cited +entity_type: node +bundle: journal_article +label: 'Works Cited' +description: 'Other works referenced in the article.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:bibcite_reference' + handler_settings: + target_bundles: + artwork: artwork + audiovisual: audiovisual + book: book + book_chapter: book_chapter + broadcast: broadcast + case: case + classical: classical + conference_paper: conference_paper + conference_proceedings: conference_proceedings + film: film + government_report: government_report + journal: journal + journal_article: journal_article + legal_ruling: legal_ruling + magazine_article: magazine_article + manuscript: manuscript + map: map + newspaper_article: newspaper_article + personal: personal + presentation: presentation + thesis: thesis + unpublished: unpublished + website: website + sort: + field: title + direction: ASC + auto_create: true + auto_create_bundle: artwork +field_type: entity_reference diff --git a/modules/custom/journal_types/config/install/field.field.paragraph.author_with_affiliation.field_affiliation_contributor.yml b/modules/custom/journal_types/config/install/field.field.paragraph.author_with_affiliation.field_affiliation_contributor.yml new file mode 100644 index 0000000..806b0cf --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.paragraph.author_with_affiliation.field_affiliation_contributor.yml @@ -0,0 +1,53 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_affiliation_contributor + - paragraphs.paragraphs_type.author_with_affiliation + module: + - name +id: paragraph.author_with_affiliation.field_affiliation_contributor +field_name: field_affiliation_contributor +entity_type: paragraph +bundle: author_with_affiliation +label: Contributors +description: 'Names of the article''s contributors.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + size: + title: 6 + given: 20 + middle: 20 + family: 20 + generational: 5 + credentials: 35 + title_display: + title: description + given: description + middle: description + family: description + generational: description + credentials: description + field_type: + title: select + given: text + middle: text + family: text + generational: select + credentials: text + inline_css: + title: '' + given: '' + middle: '' + family: '' + generational: '' + credentials: '' + component_css: '' + component_layout: default + show_component_required_marker: false + credentials_inline: false + override_format: default +field_type: name diff --git a/modules/custom/journal_types/config/install/field.field.paragraph.author_with_affiliation.field_affiliation_string.yml b/modules/custom/journal_types/config/install/field.field.paragraph.author_with_affiliation.field_affiliation_string.yml new file mode 100644 index 0000000..7d3e324 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.field.paragraph.author_with_affiliation.field_affiliation_string.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_affiliation_string + - paragraphs.paragraphs_type.author_with_affiliation + module: + - allowed_formats + - text +third_party_settings: + allowed_formats: + links_only: links_only + rich_text_references: '0' + rich_text: '0' + plain_text: '0' +_core: + default_config_hash: rewmrnMIgCET3Fd_8WaxYQTC2OopaFpgTG2KgXrThT8 +id: paragraph.author_with_affiliation.field_affiliation_string +field_name: field_affiliation_string +entity_type: paragraph +bundle: author_with_affiliation +label: Affiliation +description: 'The full affiliation, including department or faculty, institution name and institution address.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: text diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_dc_rights.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_dc_rights.yml new file mode 100644 index 0000000..533e565 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_dc_rights.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_article_dc_rights +field_name: field_article_dc_rights +entity_type: node +type: string +settings: + max_length: 1024 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_dc_source.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_dc_source.yml new file mode 100644 index 0000000..662e6fe --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_dc_source.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_article_dc_source +field_name: field_article_dc_source +entity_type: node +type: string +settings: + max_length: 255 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_disciplines.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_disciplines.yml new file mode 100644 index 0000000..42492ed --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_disciplines.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node + - taxonomy +id: node.field_article_disciplines +field_name: field_article_disciplines +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_editor_comments.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_editor_comments.yml new file mode 100644 index 0000000..07ddca3 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_editor_comments.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node + - text +id: node.field_article_editor_comments +field_name: field_article_editor_comments +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_highlight_image.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_highlight_image.yml new file mode 100644 index 0000000..9593d7a --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_highlight_image.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - media + - node +third_party_settings: + field_permissions: + permission_type: public +id: node.field_article_highlight_image +field_name: field_article_highlight_image +entity_type: node +type: entity_reference +settings: + target_type: media +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_peer_reviewed.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_peer_reviewed.yml new file mode 100644 index 0000000..c7f60b3 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_peer_reviewed.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - node +third_party_settings: + field_permissions: + permission_type: custom +id: node.field_article_peer_reviewed +field_name: field_article_peer_reviewed +entity_type: node +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_section.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_section.yml new file mode 100644 index 0000000..49626b6 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_section.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - node + - taxonomy +third_party_settings: + field_permissions: + permission_type: custom +id: node.field_article_section +field_name: field_article_section +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_subjects.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_subjects.yml new file mode 100644 index 0000000..d817dc1 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_subjects.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node + - taxonomy +id: node.field_article_subjects +field_name: field_article_subjects +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_submission_files.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_submission_files.yml new file mode 100644 index 0000000..39d15e4 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_submission_files.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - file + - node +third_party_settings: + field_permissions: + permission_type: custom +_core: + default_config_hash: zVkY8R3CI_FJ-FxLzfibIRfJPvb0y_jQ5FzmABrPIfo +id: node.field_article_submission_files +field_name: field_article_submission_files +entity_type: node +type: file +settings: + display_field: false + display_default: false + uri_scheme: public + target_type: file +module: file +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_subtitle.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_subtitle.yml new file mode 100644 index 0000000..d15af22 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_subtitle.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node + - text +id: node.field_article_subtitle +field_name: field_article_subtitle +entity_type: node +type: text +settings: + max_length: 1024 +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_article_type.yml b/modules/custom/journal_types/config/install/field.storage.node.field_article_type.yml new file mode 100644 index 0000000..b974a94 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_article_type.yml @@ -0,0 +1,132 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - node + - options +third_party_settings: + field_permissions: + permission_type: public +id: node.field_article_type +field_name: field_article_type +entity_type: node +type: list_string +settings: + allowed_values: + - + value: Artwork + label: Artwork + - + value: Audiovisual + label: Audiovisual + - + value: Bill + label: Bill + - + value: Book + label: Book + - + value: 'Book Chapter' + label: 'Book Chapter' + - + value: Broadcast + label: Broadcast + - + value: Case + label: Case + - + value: Chart + label: Chart + - + value: Classical + label: Classical + - + value: 'Conference Paper' + label: 'Conference Paper' + - + value: 'Conference Proceedings' + label: 'Conference Proceedings' + - + value: Database + label: Database + - + value: Film + label: Film + - + value: 'Government Report' + label: 'Government Report' + - + value: Hearing + label: Hearing + - + value: Journal + label: Journal + - + value: 'Journal Article' + label: 'Journal Article' + - + value: 'Legal Ruling' + label: 'Legal Ruling' + - + value: 'Magazine Article' + label: 'Magazine Article' + - + value: Manuscript + label: Manuscript + - + value: Map + label: Map + - + value: Miscellaneous + label: Miscellaneous + - + value: 'Miscellaneous Section' + label: 'Miscellaneous Section' + - + value: 'Newspaper Article' + label: 'Newspaper Article' + - + value: Patent + label: Patent + - + value: Personal + label: Personal + - + value: Presentation + label: Presentation + - + value: Report + label: Report + - + value: Software + label: Software + - + value: Statute + label: Statute + - + value: Thesis + label: Thesis + - + value: Unpublished + label: Unpublished + - + value: 'Web Article' + label: 'Web Article' + - + value: 'Web project page' + label: 'Web project page' + - + value: 'Web service' + label: 'Web service' + - + value: Website + label: Website + allowed_values_function: '' +module: options +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_authors_and_affiliations.yml b/modules/custom/journal_types/config/install/field.storage.node.field_authors_and_affiliations.yml new file mode 100644 index 0000000..556203b --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_authors_and_affiliations.yml @@ -0,0 +1,24 @@ +langcode: en +status: true +dependencies: + module: + - entity_reference_revisions + - field_permissions + - node + - paragraphs +third_party_settings: + field_permissions: + permission_type: custom +id: node.field_authors_and_affiliations +field_name: field_authors_and_affiliations +entity_type: node +type: entity_reference_revisions +settings: + target_type: paragraph +module: entity_reference_revisions +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_cc_license.yml b/modules/custom/journal_types/config/install/field.storage.node.field_cc_license.yml new file mode 100644 index 0000000..242041d --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_cc_license.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - node + - text +third_party_settings: + field_permissions: + permission_type: public +id: node.field_cc_license +field_name: field_cc_license +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_doi.yml b/modules/custom/journal_types/config/install/field.storage.node.field_doi.yml new file mode 100644 index 0000000..3471aae --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_doi.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - link + - node +third_party_settings: + field_permissions: + permission_type: custom +id: node.field_doi +field_name: field_doi +entity_type: node +type: link +settings: { } +module: link +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_editorial_comments.yml b/modules/custom/journal_types/config/install/field.storage.node.field_editorial_comments.yml new file mode 100644 index 0000000..056476c --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_editorial_comments.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - comment + - node +id: node.field_editorial_comments +field_name: field_editorial_comments +entity_type: node +type: comment +settings: + comment_type: editorial_comments +module: comment +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_featured_article.yml b/modules/custom/journal_types/config/install/field.storage.node.field_featured_article.yml new file mode 100644 index 0000000..9248f80 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_featured_article.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - node +third_party_settings: + field_permissions: + permission_type: custom +id: node.field_featured_article +field_name: field_featured_article +entity_type: node +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_issue_cover.yml b/modules/custom/journal_types/config/install/field.storage.node.field_issue_cover.yml new file mode 100644 index 0000000..39ef2bc --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_issue_cover.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + module: + - file + - image + - node +id: node.field_issue_cover +field_name: field_issue_cover +entity_type: node +type: image +settings: + uri_scheme: public + default_image: + uuid: '' + alt: 'Issue cover' + title: '' + width: null + height: null + target_type: file + display_field: false + display_default: false +module: image +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_issue_number.yml b/modules/custom/journal_types/config/install/field.storage.node.field_issue_number.yml new file mode 100644 index 0000000..4daa407 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_issue_number.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_issue_number +field_name: field_issue_number +entity_type: node +type: integer +settings: + unsigned: false + size: normal +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_issue_open.yml b/modules/custom/journal_types/config/install/field.storage.node.field_issue_open.yml new file mode 100644 index 0000000..dc66ebe --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_issue_open.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_issue_open +field_name: field_issue_open +entity_type: node +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_issue_publication_date.yml b/modules/custom/journal_types/config/install/field.storage.node.field_issue_publication_date.yml new file mode 100644 index 0000000..12d418f --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_issue_publication_date.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + module: + - datetime + - field_permissions + - node +third_party_settings: + field_permissions: + permission_type: public +id: node.field_issue_publication_date +field_name: field_issue_publication_date +entity_type: node +type: datetime +settings: + datetime_type: datetime +module: datetime +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_issue_volume.yml b/modules/custom/journal_types/config/install/field.storage.node.field_issue_volume.yml new file mode 100644 index 0000000..25daaab --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_issue_volume.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - node +third_party_settings: + field_permissions: + permission_type: public +id: node.field_issue_volume +field_name: field_issue_volume +entity_type: node +type: integer +settings: + unsigned: false + size: normal +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_abbrev.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_abbrev.yml new file mode 100644 index 0000000..904ac9c --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_abbrev.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_journal_abbrev +field_name: field_journal_abbrev +entity_type: node +type: string +settings: + max_length: 50 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_about_this.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_about_this.yml new file mode 100644 index 0000000..7fc5ae6 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_about_this.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node + - text +id: node.field_journal_about_this +field_name: field_journal_about_this +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_article_abstract.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_article_abstract.yml new file mode 100644 index 0000000..a717736 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_article_abstract.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node + - text +id: node.field_journal_article_abstract +field_name: field_journal_article_abstract +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_article_keywords.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_article_keywords.yml new file mode 100644 index 0000000..a1cfa37 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_article_keywords.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node + - taxonomy +id: node.field_journal_article_keywords +field_name: field_journal_article_keywords +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_author_guidelines.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_author_guidelines.yml new file mode 100644 index 0000000..c063b74 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_author_guidelines.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node + - text +id: node.field_journal_author_guidelines +field_name: field_journal_author_guidelines +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_description.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_description.yml new file mode 100644 index 0000000..49627d2 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_description.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - node + - text +third_party_settings: + field_permissions: + permission_type: public +id: node.field_journal_description +field_name: field_journal_description +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_eissn.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_eissn.yml new file mode 100644 index 0000000..5178b80 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_eissn.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_journal_eissn +field_name: field_journal_eissn +entity_type: node +type: string +settings: + max_length: 8 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_for_authors.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_for_authors.yml new file mode 100644 index 0000000..c51ad21 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_for_authors.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node + - text +id: node.field_journal_for_authors +field_name: field_journal_for_authors +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_for_librarins.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_for_librarins.yml new file mode 100644 index 0000000..ce0c100 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_for_librarins.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node + - text +id: node.field_journal_for_librarins +field_name: field_journal_for_librarins +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_for_readers.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_for_readers.yml new file mode 100644 index 0000000..ad5e787 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_for_readers.yml @@ -0,0 +1,18 @@ +langcode: en +status: true +dependencies: + module: + - node + - text +id: node.field_journal_for_readers +field_name: field_journal_for_readers +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_initials.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_initials.yml new file mode 100644 index 0000000..a41da70 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_initials.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_journal_initials +field_name: field_journal_initials +entity_type: node +type: string +settings: + max_length: 10 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_issn_print.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_issn_print.yml new file mode 100644 index 0000000..ba0a06b --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_issn_print.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_journal_issn_print +field_name: field_journal_issn_print +entity_type: node +type: string +settings: + max_length: 8 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_logo.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_logo.yml new file mode 100644 index 0000000..d1dd8ac --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_logo.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + module: + - file + - image + - node +id: node.field_journal_logo +field_name: field_journal_logo +entity_type: node +type: image +settings: + uri_scheme: public + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null + target_type: file + display_field: false + display_default: false +module: image +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_mailing_address.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_mailing_address.yml new file mode 100644 index 0000000..ebd8ac6 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_mailing_address.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - address + - node +_core: + default_config_hash: XPWvQ7cLuHg5bNfKDQs0iWts54f-RdqM8D4tWo72gaI +id: node.field_journal_mailing_address +field_name: field_journal_mailing_address +entity_type: node +type: address +settings: { } +module: address +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_main_image.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_main_image.yml new file mode 100644 index 0000000..000dd77 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_main_image.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + module: + - file + - image + - node +id: node.field_journal_main_image +field_name: field_journal_main_image +entity_type: node +type: image +settings: + uri_scheme: public + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null + target_type: file + display_field: false + display_default: false +module: image +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_principal_contact.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_principal_contact.yml new file mode 100644 index 0000000..82cd115 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_principal_contact.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node + - user +id: node.field_journal_principal_contact +field_name: field_journal_principal_contact +entity_type: node +type: entity_reference +settings: + target_type: user +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_publisher.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_publisher.yml new file mode 100644 index 0000000..71a7289 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_publisher.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.field_journal_publisher +field_name: field_journal_publisher +entity_type: node +type: string +settings: + max_length: 255 + is_ascii: false + case_sensitive: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_journal_technical_support_.yml b/modules/custom/journal_types/config/install/field.storage.node.field_journal_technical_support_.yml new file mode 100644 index 0000000..d669cea --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_journal_technical_support_.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + module: + - node + - user +id: node.field_journal_technical_support_ +field_name: field_journal_technical_support_ +entity_type: node +type: entity_reference +settings: + target_type: user +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_part_of.yml b/modules/custom/journal_types/config/install/field.storage.node.field_part_of.yml new file mode 100644 index 0000000..1d578bc --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_part_of.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + module: + - entity_hierarchy + - field_permissions + - node +third_party_settings: + field_permissions: + permission_type: custom +id: node.field_part_of +field_name: field_part_of +entity_type: node +type: entity_reference_hierarchy +settings: + target_type: node +module: entity_hierarchy +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_publication_date_electroni.yml b/modules/custom/journal_types/config/install/field.storage.node.field_publication_date_electroni.yml new file mode 100644 index 0000000..e9a4567 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_publication_date_electroni.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + module: + - datetime + - field_permissions + - node +third_party_settings: + field_permissions: + permission_type: custom +id: node.field_publication_date_electroni +field_name: field_publication_date_electroni +entity_type: node +type: datetime +settings: + datetime_type: datetime +module: datetime +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.node.field_works_cited.yml b/modules/custom/journal_types/config/install/field.storage.node.field_works_cited.yml new file mode 100644 index 0000000..98401b0 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.node.field_works_cited.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + module: + - bibcite_entity + - field_permissions + - node +third_party_settings: + field_permissions: + permission_type: public +id: node.field_works_cited +field_name: field_works_cited +entity_type: node +type: entity_reference +settings: + target_type: bibcite_reference +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.paragraph.field_affiliation_contributor.yml b/modules/custom/journal_types/config/install/field.storage.paragraph.field_affiliation_contributor.yml new file mode 100644 index 0000000..43fd86c --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.paragraph.field_affiliation_contributor.yml @@ -0,0 +1,92 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - name + - paragraphs +third_party_settings: + field_permissions: + permission_type: custom +id: paragraph.field_affiliation_contributor +field_name: field_affiliation_contributor +entity_type: paragraph +type: name +settings: + components: + given: true + middle: true + family: true + generational: true + title: false + credentials: false + minimum_components: + given: true + family: true + title: false + middle: false + generational: false + credentials: false + labels: + title: Title + given: Given + middle: 'Middle name(s)' + family: Family + generational: Generational + credentials: Credentials + max_length: + title: 31 + given: 63 + middle: 127 + family: 63 + generational: 15 + credentials: 255 + autocomplete_source: + title: + title: '0' + given: { } + middle: { } + family: { } + generational: + generational: '0' + credentials: { } + autocomplete_separator: + title: ' ' + given: ' -' + middle: ' -' + family: ' -' + generational: ' ' + credentials: ', ' + allow_family_or_given: true + title_options: + - '-- --' + - Mr. + - Mrs. + - Miss + - Ms. + - Dr. + - Prof. + generational_options: + - '-- --' + - Jr. + - Sr. + - I + - II + - III + - IV + - V + - VI + - VII + - VIII + - IX + - X + sort_options: + title: true + generational: false +module: name +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/field.storage.paragraph.field_affiliation_string.yml b/modules/custom/journal_types/config/install/field.storage.paragraph.field_affiliation_string.yml new file mode 100644 index 0000000..2540369 --- /dev/null +++ b/modules/custom/journal_types/config/install/field.storage.paragraph.field_affiliation_string.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + module: + - field_permissions + - paragraphs + - text +third_party_settings: + field_permissions: + permission_type: custom +id: paragraph.field_affiliation_string +field_name: field_affiliation_string +entity_type: paragraph +type: text +settings: + max_length: 2048 +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/custom/journal_types/config/install/filter.format.links_only.yml b/modules/custom/journal_types/config/install/filter.format.links_only.yml new file mode 100644 index 0000000..4b3b072 --- /dev/null +++ b/modules/custom/journal_types/config/install/filter.format.links_only.yml @@ -0,0 +1,32 @@ +langcode: en +status: true +dependencies: + module: + - footnotes +name: 'Links only' +format: links_only +weight: 0 +filters: + filter_url: + id: filter_url + provider: filter + status: true + weight: 0 + settings: + filter_url_length: 256 + filter_html: + id: filter_html + provider: filter + status: true + weight: -10 + settings: + allowed_html: ' ' + filter_html_help: true + filter_html_nofollow: false + filter_footnotes: + id: filter_footnotes + provider: footnotes + status: false + weight: 0 + settings: + footnotes_collapse: '0' diff --git a/modules/custom/journal_types/config/install/node.type.issue.yml b/modules/custom/journal_types/config/install/node.type.issue.yml new file mode 100644 index 0000000..294836f --- /dev/null +++ b/modules/custom/journal_types/config/install/node.type.issue.yml @@ -0,0 +1,16 @@ +langcode: en +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: { } + parent: '' +name: Issue +type: issue +description: 'Issue containing articles and supplementary content.' +help: '' +new_revision: true +preview_mode: 1 +display_submitted: false diff --git a/modules/custom/journal_types/config/install/node.type.journal.yml b/modules/custom/journal_types/config/install/node.type.journal.yml new file mode 100644 index 0000000..e4c69cb --- /dev/null +++ b/modules/custom/journal_types/config/install/node.type.journal.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' +name: Journal +type: journal +description: 'The top of a journal hierarchy.' +help: '' +new_revision: true +preview_mode: 0 +display_submitted: false diff --git a/modules/custom/journal_types/config/install/node.type.journal_article.yml b/modules/custom/journal_types/config/install/node.type.journal_article.yml new file mode 100644 index 0000000..8d6bb6c --- /dev/null +++ b/modules/custom/journal_types/config/install/node.type.journal_article.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' +name: Article +type: journal_article +description: '' +help: '' +new_revision: true +preview_mode: 1 +display_submitted: false diff --git a/modules/custom/journal_types/config/install/paragraphs.paragraphs_type.author_with_affiliation.yml b/modules/custom/journal_types/config/install/paragraphs.paragraphs_type.author_with_affiliation.yml new file mode 100644 index 0000000..ee0940d --- /dev/null +++ b/modules/custom/journal_types/config/install/paragraphs.paragraphs_type.author_with_affiliation.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +id: author_with_affiliation +label: 'Author with affiliation' +icon_uuid: null +description: 'Contains a reference to a contributor and information about that contributor''s affiliation(s) timely to the article that includes the reference.' +behavior_plugins: { } diff --git a/modules/custom/journal_types/config/install/pathauto.pattern.article.yml b/modules/custom/journal_types/config/install/pathauto.pattern.article.yml new file mode 100644 index 0000000..0c99b3f --- /dev/null +++ b/modules/custom/journal_types/config/install/pathauto.pattern.article.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + module: + - node +id: article +label: Article +type: 'canonical_entities:node' +pattern: '[node:title]' +selection_criteria: + d787c7cd-ba65-4772-af9c-3114069ba148: + id: node_type + bundles: + journal_article: journal_article + negate: false + context_mapping: + node: node + uuid: d787c7cd-ba65-4772-af9c-3114069ba148 +selection_logic: and +weight: -5 +relationships: { } diff --git a/modules/custom/journal_types/config/install/pathauto.pattern.issue.yml b/modules/custom/journal_types/config/install/pathauto.pattern.issue.yml new file mode 100644 index 0000000..70c6bc6 --- /dev/null +++ b/modules/custom/journal_types/config/install/pathauto.pattern.issue.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + module: + - node +id: issue +label: Issue +type: 'canonical_entities:node' +pattern: '[node:field_issue_number]' +selection_criteria: + 02edb00c-6044-443d-a4e3-168ca5a9287c: + id: node_type + bundles: + issue: issue + negate: false + context_mapping: + node: node + uuid: 02edb00c-6044-443d-a4e3-168ca5a9287c +selection_logic: and +weight: -5 +relationships: { } diff --git a/modules/custom/journal_types/config/install/pathauto.pattern.journal.yml b/modules/custom/journal_types/config/install/pathauto.pattern.journal.yml new file mode 100644 index 0000000..80c0bcb --- /dev/null +++ b/modules/custom/journal_types/config/install/pathauto.pattern.journal.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + module: + - node +id: journal +label: Journal +type: 'canonical_entities:node' +pattern: '[node:field_journal_initials]' +selection_criteria: + 57396d6d-a088-40e3-ac13-590070510bd5: + id: node_type + bundles: + journal: journal + negate: false + context_mapping: + node: node + uuid: 57396d6d-a088-40e3-ac13-590070510bd5 +selection_logic: and +weight: -5 +relationships: { } diff --git a/modules/custom/journal_types/config/install/taxonomy.vocabulary.article_keywords.yml b/modules/custom/journal_types/config/install/taxonomy.vocabulary.article_keywords.yml new file mode 100644 index 0000000..ad155c2 --- /dev/null +++ b/modules/custom/journal_types/config/install/taxonomy.vocabulary.article_keywords.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +name: 'Article Keywords' +vid: article_keywords +description: '' +hierarchy: 0 +weight: 0 diff --git a/modules/custom/journal_types/config/install/taxonomy.vocabulary.article_section.yml b/modules/custom/journal_types/config/install/taxonomy.vocabulary.article_section.yml new file mode 100644 index 0000000..44c4a37 --- /dev/null +++ b/modules/custom/journal_types/config/install/taxonomy.vocabulary.article_section.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +name: Section +vid: article_section +description: 'Sections of each issue that articles are grouped by' +hierarchy: 0 +weight: 0 diff --git a/modules/custom/journal_types/config/install/taxonomy.vocabulary.disciplines.yml b/modules/custom/journal_types/config/install/taxonomy.vocabulary.disciplines.yml new file mode 100644 index 0000000..02bd43e --- /dev/null +++ b/modules/custom/journal_types/config/install/taxonomy.vocabulary.disciplines.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +name: Disciplines +vid: disciplines +description: 'Disciplines for article submissions' +hierarchy: 0 +weight: 0 diff --git a/modules/custom/journal_types/config/install/taxonomy.vocabulary.subjects.yml b/modules/custom/journal_types/config/install/taxonomy.vocabulary.subjects.yml new file mode 100644 index 0000000..6ca88a1 --- /dev/null +++ b/modules/custom/journal_types/config/install/taxonomy.vocabulary.subjects.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +name: Subjects +vid: subjects +description: 'Subjects for article submissions.' +hierarchy: 0 +weight: 0 diff --git a/modules/custom/journal_types/config/install/views.view.issue_table_of_contents.yml b/modules/custom/journal_types/config/install/views.view.issue_table_of_contents.yml new file mode 100644 index 0000000..340f039 --- /dev/null +++ b/modules/custom/journal_types/config/install/views.view.issue_table_of_contents.yml @@ -0,0 +1,257 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.toc_item + - node.type.journal_article + module: + - entity_hierarchy + - node + - user +_core: + default_config_hash: Y4OxHX-c0AUGvqDC59WP06hukcfEOpQByw-QudF2dFE +id: issue_table_of_contents +label: 'Issue Table of Contents' +module: views +description: 'List of articles in a given issue, grouped by section.' +tag: '' +base_table: node_field_data +base_field: nid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 100 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: '‹ Previous' + next: 'Next ›' + first: '« First' + last: 'Last »' + quantity: 9 + style: + type: default + row: + type: 'entity:node' + options: + relationship: none + view_mode: toc_item + fields: + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + type: + id: type + table: node_field_data + field: type + value: + journal_article: journal_article + entity_type: node + entity_field: type + plugin_id: bundle + nid: + id: nid + table: node_access + field: nid + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: node_access + sorts: + created: + id: created + table: node_field_data + field: created + order: ASC + entity_type: node + entity_field: created + plugin_id: date + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' + granularity: second + title: 'Issue Table of Contents' + header: { } + footer: { } + empty: { } + relationships: { } + arguments: + is_child: + id: is_child + table: nested_set_field_part_of_node + field: is_child + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + depth: 0 + plugin_id: entity_hierarchy_argument_is_child_of_entity_revision + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + block_1: + display_plugin: block + id: block_1 + display_title: Block + position: 1 + display_options: + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/modules/custom/journal_types/config/install/views.view.journal_issue_list.yml b/modules/custom/journal_types/config/install/views.view.journal_issue_list.yml new file mode 100644 index 0000000..c53193f --- /dev/null +++ b/modules/custom/journal_types/config/install/views.view.journal_issue_list.yml @@ -0,0 +1,222 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - node.type.issue + module: + - entity_hierarchy + - node + - user +_core: + default_config_hash: Dfprr2Saj7i74KqIXDihMDhJx1-tH9ngUMyTBeXuvbE +id: journal_issue_list +label: 'Journal Issue List' +module: views +description: 'List of issues for a journal' +tag: '' +base_table: node_field_data +base_field: nid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 25 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: '‹ Previous' + next: 'Next ›' + first: '« First' + last: 'Last »' + quantity: 9 + style: + type: default + row: + type: 'entity:node' + options: + view_mode: teaser + fields: + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + type: + id: type + table: node_field_data + field: type + value: + issue: issue + entity_type: node + entity_field: type + plugin_id: bundle + sorts: + created: + id: created + table: node_field_data + field: created + order: DESC + entity_type: node + entity_field: created + plugin_id: date + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' + granularity: second + title: Issues + header: { } + footer: { } + empty: { } + relationships: { } + arguments: + is_child: + id: is_child + table: nested_set_field_part_of_node + field: is_child + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + depth: 1 + plugin_id: entity_hierarchy_argument_is_child_of_entity_revision + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + journal_issue_list: + display_plugin: block + id: journal_issue_list + display_title: Block + position: 1 + display_options: + display_extenders: { } + block_description: 'Journal Issue List' + block_category: Journal + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/modules/custom/journal_types/config/install/views.view.media.yml b/modules/custom/journal_types/config/install/views.view.media.yml new file mode 100644 index 0000000..84587b5 --- /dev/null +++ b/modules/custom/journal_types/config/install/views.view.media.yml @@ -0,0 +1,854 @@ +langcode: en +status: true +dependencies: + module: + - image + - media + - user +id: media +label: Media +module: views +description: '' +tag: '' +base_table: media_field_data +base_field: mid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access media overview' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Filter + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 50 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: '‹ Previous' + next: 'Next ›' + first: '« First' + last: 'Last »' + quantity: 9 + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + name: name + bundle: bundle + changed: changed + uid: uid + status: status + thumbnail__target_id: thumbnail__target_id + info: + name: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + bundle: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + changed: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + uid: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + status: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + thumbnail__target_id: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + default: changed + empty_table: true + row: + type: fields + fields: + media_bulk_form: + id: media_bulk_form + table: media + field: media_bulk_form + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + action_title: Action + include_exclude: exclude + selected_actions: { } + entity_type: media + plugin_id: bulk_form + thumbnail__target_id: + id: thumbnail__target_id + table: media_field_data + field: thumbnail__target_id + relationship: none + group_type: group + admin_label: '' + label: Thumbnail + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: image + settings: + image_style: thumbnail + image_link: '' + group_column: '' + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: thumbnail + plugin_id: field + name: + id: name + table: media_field_data + field: name + entity_type: media + entity_field: media + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + label: 'Media name' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + bundle: + id: bundle + table: media_field_data + field: bundle + relationship: none + group_type: group + admin_label: '' + label: Type + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: bundle + plugin_id: field + uid: + id: uid + table: media_field_data + field: uid + relationship: none + group_type: group + admin_label: '' + label: Author + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: uid + plugin_id: field + status: + id: status + table: media_field_data + field: status + relationship: none + group_type: group + admin_label: '' + label: Status + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: custom + format_custom_true: Published + format_custom_false: Unpublished + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: status + plugin_id: field + changed: + id: changed + table: media_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + label: Updated + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: short + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: changed + plugin_id: field + operations: + id: operations + table: media + field: operations + relationship: none + group_type: group + admin_label: '' + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: true + entity_type: media + plugin_id: entity_operations + filters: + name: + id: name + table: media_field_data + field: name + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: name_op + label: 'Media name' + description: '' + use_operator: false + operator: name_op + identifier: name + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: media + entity_field: name + plugin_id: string + bundle: + id: bundle + table: media_field_data + field: bundle + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: bundle_op + label: Type + description: '' + use_operator: false + operator: bundle_op + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: media + entity_field: bundle + plugin_id: bundle + status: + id: status + table: media_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '1' + group: 1 + exposed: true + expose: + operator_id: '' + label: 'True' + description: null + use_operator: false + operator: status_op + identifier: status + required: true + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: true + group_info: + label: 'Published status' + description: '' + identifier: status + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: + title: Published + operator: '=' + value: '1' + 2: + title: Unpublished + operator: '=' + value: '0' + plugin_id: boolean + entity_type: media + entity_field: status + langcode: + id: langcode + table: media_field_data + field: langcode + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: langcode_op + label: Language + description: '' + use_operator: false + operator: langcode_op + identifier: langcode + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: media + entity_field: langcode + plugin_id: language + sorts: + created: + id: created + table: media_field_data + field: created + order: DESC + entity_type: media + entity_field: created + plugin_id: date + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' + granularity: second + title: Media + header: { } + footer: { } + empty: + area_text_custom: + id: area_text_custom + table: views + field: area_text_custom + relationship: none + group_type: group + admin_label: '' + empty: true + tokenize: false + content: 'No content available.' + plugin_id: text_custom + relationships: { } + arguments: { } + display_extenders: { } + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + media_page_list: + display_plugin: page + id: media_page_list + display_title: Media + position: 1 + display_options: + display_extenders: { } + path: admin/content/media + menu: + type: tab + title: Media + description: '' + expanded: false + parent: '' + weight: 0 + context: '0' + menu_name: main + display_description: '' + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } diff --git a/modules/custom/journal_types/journal_types.info.yml b/modules/custom/journal_types/journal_types.info.yml new file mode 100644 index 0000000..564313c --- /dev/null +++ b/modules/custom/journal_types/journal_types.info.yml @@ -0,0 +1,25 @@ +name: 'Journal Types' +type: module +description: 'Content types for scholarly content' +core_version_requirement: '^8.0 || ^9 || ^10' +package: 'Journal' +dependencies: + - address + - allowed_formats + - comment + - entity_hierarchy + - field_group + - field_permissions + - inline_entity_form + - media + - name + - panelizer + - entity_browser + - lightning_media + - lightning_media_image + - journal_references + - paragraphs + - pathauto + - require_on_publish + + diff --git a/modules/custom/journal_types/journal_types.install b/modules/custom/journal_types/journal_types.install new file mode 100644 index 0000000..570311d --- /dev/null +++ b/modules/custom/journal_types/journal_types.install @@ -0,0 +1,66 @@ +getChangeList(); +// We're only interested in field storage updates; discard everything else. + $change_list = array_filter(array_map(function ($changed) { + // Check whether there are any field storage updates to this entity type. + if (array_key_exists('field_storage_definitions', $changed)) { + // Filter the list of field storage updates to contain updates to + // 'lightning_scheduler' fields only. + return array_filter($changed['field_storage_definitions'], function ($key) { + // Check if this is field is provided by 'lightning_scheduler'. + return in_array($key, [ + 'scheduled_transition_date', + 'scheduled_transition_state', + ], TRUE); + }, ARRAY_FILTER_USE_KEY); + } + }, $change_list)); + +// Iterate over each updated entity type for processing. + foreach ($change_list as $entity_type_id => $fields) { + // Fetch the currently-installed field storage definitions for this type. + $current = \Drupal::service('entity.last_installed_schema.repository') + ->getLastInstalledFieldStorageDefinitions($entity_type_id); + // Fetch the new field storage definitions as defined. + $new = \Drupal::service('entity_field.manager') + ->getFieldStorageDefinitions($entity_type_id); + + // Iterate over each field that requires an update for this entity type. + foreach ($fields as $field_name => $op) { + // Fetch the current and new field storage definitions for this field. + $current_field = array_key_exists($field_name, $current) ? $current[$field_name] : NULL; + $new_field = array_key_exists($field_name, $new) ? $new[$field_name] : NULL; + + // Perform the required update for this field storage definition. + switch ($op) { + case EntityDefinitionUpdateManagerInterface::DEFINITION_CREATED: + \Drupal::service('field_storage_definition.listener') + ->onFieldStorageDefinitionCreate($new_field); + break; + + case EntityDefinitionUpdateManagerInterface::DEFINITION_UPDATED: + \Drupal::service('field_storage_definition.listener') + ->onFieldStorageDefinitionUpdate($new_field, $current_field); + break; + + case EntityDefinitionUpdateManagerInterface::DEFINITION_DELETED: + \Drupal::service('field_storage_definition.listener') + ->onFieldStorageDefinitionDelete($current_field); + break; + } + } + } +} + diff --git a/modules/custom/journal_types/journal_types.module b/modules/custom/journal_types/journal_types.module new file mode 100644 index 0000000..625c430 --- /dev/null +++ b/modules/custom/journal_types/journal_types.module @@ -0,0 +1,84 @@ +' . t('About') . '

      '; + $output .= '

      ' . t('Content types for scholarly content') . '

      '; + return $output; + + default: + } +} + +/** + * Implements hook_theme(). + */ +function journal_types_theme() { + return [ + 'journal_types' => [ + 'render element' => 'children', + ], + ]; +} + +/** + * Implementation of hook_pathauto_pattern_alter(). + * + * The URL Scheme for scholarly content is: + * + * Article: /[journal initials]/[volume]/[issue number]/[article title] + * Issue: /[journal initials]/[volume]/[issue number]/[issue title] + * Journal: /[journal initials]/[journal title] + * + * Where all fields are subject to PathAuto's URL cleaner. + * + * @param PathautoPattern $pattern + * @param array $context + */ +function journal_types_pathauto_pattern_alter(PathautoPattern &$pattern, array $context) { + if ($context['module'] == 'node' && ($context['op'] == 'insert' || $context['op'] == 'update')) { + + /** @var \Drupal\node\Entity\Node $node */ + $node = $context['data']['node']; + $citationTools = new CitationTools(); + $citation_metadata = $citationTools->getCitationMetadata($node); + $cleaner = \Drupal::service('pathauto.alias_cleaner'); + $parts = []; + switch ($node->getType()) { + // Non-breaking pass-through is intentional here. + case 'journal_article': + $parts[] = $citation_metadata['bibcite_number'][0]['value']; + case 'issue': + // If this is the volume itself, it will get added via [node:title] + if (!empty($citation_metadata['bibcite_volume'][0]['value'])) { + array_unshift($parts, $citation_metadata['bibcite_volume'][0]['value']); + } + if (!empty($citation_metadata['journal_initials'][0]['value'])) { + array_unshift($parts, $citation_metadata['journal_initials'][0]['value']); + } + } + if (!empty($parts)) { + $slug = ''; + foreach ($parts as $part) { + $slug .= !empty($part) ? $cleaner->cleanString($part) . '/' : ''; + } + + $pattern->setPattern($slug . '/' . $pattern->getPattern()); + } + } +} + diff --git a/modules/custom/journal_types/src/CitationTools.php b/modules/custom/journal_types/src/CitationTools.php new file mode 100644 index 0000000..31bfb2c --- /dev/null +++ b/modules/custom/journal_types/src/CitationTools.php @@ -0,0 +1,111 @@ +getType()) { + case 'journal': + return $this->getCitationMetadataForJournal($entity); + break; + case 'issue': + return $this->getCitationMetadataForIssue($entity); + break; + case 'journal_article': + return $this->getCitationMetadataForArticle($entity); + break; + default: + return FALSE; + } + } + + /** + * Get citation metadata from an Article eneity type. + * @return array The Article metadata. + */ + public function getCitationMetadataForArticle($article_entity) { + $data = []; + $data['bibcite_type_of_work'] = 'Journal article'; + $data['title'] = $article_entity->get('title')->getValue(); + $issue_entity_item = $article_entity->get('field_part_of')->first(); + + $affiliations = $article_entity->get('field_authors_and_affiliations')->referencedEntities(); + $contributors = []; + foreach($affiliations as $affiliation) { + $contributors += $affiliation->get('field_affiliation_contributor')->getValue(); + } + $bibcite_contributors = []; + foreach($contributors as $contributor) { + $data['author'][] = Contributor::create([ + 'first_name' => $contributor['given'], + 'last_name' => $contributor['family'], + 'middle_name' => $contributor['middle'], + + ]); + + } + + + if (!empty($issue_entity_item)) { + $data['issue_entity_id'] = $issue_entity_item->get('target_id')->getValue(); + } + $data['type'] = 'journal_article'; + if (!empty($data['issue_entity_id'])) { + $data['issue_entity'] = $this->entityTypeManager->getStorage('node') + ->load($data['issue_entity_id']); + + $data += $this->getCitationMetadataForIssue($data['issue_entity']); + } + return $data; + } + + /** + * Get citation metadata from a Issue eneity type. + * @return array The Issue metadata. + */ + public function getCitationMetadataForIssue($issue_entity) { + $data = []; + $data['bibcite_number'] = $issue_entity->get('field_issue_number')->getValue(); + $data['bibcite_year'] = $issue_entity->get('field_issue_publication_date')->date->format('Y'); + $data['bibcite_volume'] = $issue_entity->get('field_issue_volume')->getValue(); + + $journal_item = $issue_entity->get('field_part_of')->first(); + if (!empty($journal_item)) { + $data['journal_entity_id'] = $journal_item->get('target_id')->getValue(); + } + if (!empty($data['journal_entity_id'])) { + $data['journal_entity'] = $this->entityTypeManager->getStorage('node') + ->load($data['journal_entity_id']); + $data += $this->getCitationMetadataForJournal($data['journal_entity']); + } + + $data['type'] = 'journal_article'; // bibcite does not have a distinct 'issue' bundle. + return $data; + } + + /** + * Get citation metadata from a Journal eneity type. + * @return array The Journal metadata. + */ + public function getCitationMetadataForJournal($journal_entity) { + $data = []; + $data['bibcite_secondary_title'] = $journal_entity->get('title')->getValue(); + $data['journal_abbrev'] = $journal_entity->get('field_journal_abbrev')->getValue(); + $data['journal_initials'] = $journal_entity->get('field_journal_initials')->getValue(); + $data['type'] = 'journal'; + return $data; + } + + /** + * CitationTools constructor. + * + * @TODO make this a proper dependency injection. + * @param $entity_type_manager + */ + public function __construct($entity_type_manager = FALSE) { + $this->entityTypeManager = $entity_type_manager ? $entity_type_manager : \Drupal::entityTypeManager(); + } +} diff --git a/modules/custom/journal_types/src/Plugin/Field/FieldFormatter/CitationFieldFormatter.php b/modules/custom/journal_types/src/Plugin/Field/FieldFormatter/CitationFieldFormatter.php new file mode 100644 index 0000000..a663c83 --- /dev/null +++ b/modules/custom/journal_types/src/Plugin/Field/FieldFormatter/CitationFieldFormatter.php @@ -0,0 +1,202 @@ + $config->get('default_style'), + 'omit_title' => FALSE, + ] + parent::defaultSettings(); + } + + /** + * {@inheritdoc} + */ + public function settingsForm(array $form, FormStateInterface $form_state) { + $csl_styles = $this->styler->getAvailableStyles(); + $styles_options = array_map(function ($entity) { + /** @var \Drupal\bibcite\Entity\CslStyleInterface $entity */ + return $entity->label(); + }, $csl_styles); + + return [ + // Implement settings form. + 'style' => [ + '#type' => 'select', + '#title' => $this->t('Citation style'), + '#options' => $styles_options, + '#default_value' => $this->getSetting('style'), + ], + 'omit_title' => [ + '#type' => 'checkbox', + '#title' => $this->t('Omit article title'), + '#description' => $this->t('Skip the article title when constructing the citation. Useful if this field appears along side a linked title field.'), + '#default_value' => $this->getSetting('omit_title'), + ], + ] + parent::settingsForm($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function settingsSummary() { + $summary = []; + $csl_styles = $this->styler->getAvailableStyles(); + $current_style = $this->getSetting('style'); + $style_label = 'N/A'; + if (!empty($csl_styles[$current_style])) { + $style_label = $csl_styles[$current_style]->get('label'); + } + + $summary[] = $this->t('Display the article citation using @style style', ['@style' => $style_label]); + + return $summary; + } + + /** + * {@inheritdoc} + */ + public function viewElements(FieldItemListInterface $items, $langcode) { + $elements = []; + + foreach ($items as $delta => $item) { + $elements[$delta] = ['#markup' => $this->viewValue($item)]; + } + + return $elements; + } + + /** + * Generate the output appropriate for one field item. + * + * @param \Drupal\Core\Field\FieldItemInterface $item + * One field item. + * + * @return string + * The textual output generated. + */ + protected function viewValue(FieldItemInterface $item) { + // The text value has no text format assigned to it, so the user input + // should equal the output, including newlines. + //$reference = new Reference(); + + // $r = Reference::create(['type' => 'book', 'author' => $item->getEntity()->get('field_article_contributors')]); + //$r = entity_create('bibcite_reference', ['type' => 'book']); + $field_map = \Drupal::service('entity_field.manager')->getFieldMap(); + $node_field_map = $field_map['node']; + $entity = $item->getEntity(); + $citationTools = new CitationTools($this->entityTypeManager); + $citation_metadata = $citationTools->getCitationMetadata($entity); + + if ($this->getSetting('omit_title')) { + unset($citation_metadata['title']); + } + $r = Reference::create($citation_metadata); + $styler = \Drupal::service('bibcite.citation_styler'); + + $styler->setStyleById($this->getSetting('style')); + + $serializer = \Drupal::service('serializer'); + $data = $serializer->normalize($r, 'csl'); + + $output = $styler->render($data); + return $output; + } + + + /** + * Constructs a FormatterBase object. + * + * @param string $plugin_id + * The plugin_id for the formatter. + * @param mixed $plugin_definition + * The plugin implementation definition. + * @param \Drupal\Core\Field\FieldDefinitionInterface $field_definition + * The definition of the field to which the formatter is associated. + * @param array $settings + * The formatter settings. + * @param string $label + * The formatter label display setting. + * @param string $view_mode + * The view mode. + * @param array $third_party_settings + * Any third party settings. + * @param ConfigFactoryInterface $config_factory + * The configuration management service. + * @param CitationStylerInterface $styler + * Citation styler. + */ + public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings, ConfigFactoryInterface $config_factory, CitationStylerInterface $styler, EntityTypeManagerInterface $entity_type_manager) { + $this->config_factory = $config_factory; + $this->styler = $styler; + $this->entityTypeManager = $entity_type_manager; + parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings); + } + + /** + * @inheritdoc + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static($plugin_id, $plugin_definition, $configuration['field_definition'], $configuration['settings'], $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], + $container->get('config.factory'), + $container->get('bibcite.citation_styler'), + $container->get('entity_type.manager')); + } +} diff --git a/modules/custom/journal_types/templates/journal-types.html.twig b/modules/custom/journal_types/templates/journal-types.html.twig new file mode 100644 index 0000000..91e43c8 --- /dev/null +++ b/modules/custom/journal_types/templates/journal-types.html.twig @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modules/custom/journal_types/templates/node--journal-article--toc-item.html.twig b/modules/custom/journal_types/templates/node--journal-article--toc-item.html.twig new file mode 100644 index 0000000..ec6c271 --- /dev/null +++ b/modules/custom/journal_types/templates/node--journal-article--toc-item.html.twig @@ -0,0 +1,127 @@ +{# +/** + * @file + * Magazine Lite's theme implementation to display a node. + * + * Available variables: + * - node: The node entity with limited access to object properties and methods. + * Only method names starting with "get", "has", or "is" and a few common + * methods such as "id", "label", and "bundle" are available. For example: + * - node.getCreatedTime() will return the node creation timestamp. + * - node.hasField('field_example') returns TRUE if the node bundle includes + * field_example. (This does not indicate the presence of a value in this + * field.) + * - node.isPublished() will return whether the node is published or not. + * Calling other methods, such as node.delete(), will result in an exception. + * See \Drupal\node\Entity\Node for a full list of public properties and + * methods for the node object. + * - label: The title of the node. + * - content: All node items. Use {{ content }} to print them all, + * or print a subset such as {{ content.field_example }}. Use + * {{ content|without('field_example') }} to temporarily suppress the printing + * of a given child element. + * - author_picture: The node author user entity, rendered using the "compact" + * view mode. + * - metadata: Metadata for this node. + * - date: Themed creation date field. + * - author_name: Themed author name field. + * - url: Direct URL of the current node. + * - display_submitted: Whether submission information should be displayed. + * - attributes: HTML attributes for the containing element. + * The attributes.class element may contain one or more of the following + * classes: + * - node: The current template type (also known as a "theming hook"). + * - node--type-[type]: The current node type. For example, if the node is an + * "Article" it would result in "node--type-article". Note that the machine + * name will often be in a short form of the human readable label. + * - node--view-mode-[view_mode]: The View Mode of the node; for example, a + * teaser would result in: "node--view-mode-teaser", and + * full: "node--view-mode-full". + * The following are controlled through the node publishing options. + * - node--promoted: Appears on nodes promoted to the front page. + * - node--sticky: Appears on nodes ordered above other non-sticky nodes in + * teaser listings. + * - node--unpublished: Appears on unpublished nodes visible only to site + * admins. + * - title_attributes: Same as attributes, except applied to the main title + * tag that appears in the template. + * - content_attributes: Same as attributes, except applied to the main + * content tag that appears in the template. + * - author_attributes: Same as attributes, except applied to the author of + * the node tag that appears in the template. + * - title_prefix: Additional output populated by modules, intended to be + * displayed in front of the main title tag that appears in the template. + * - title_suffix: Additional output populated by modules, intended to be + * displayed after the main title tag that appears in the template. + * - view_mode: View mode; for example, "teaser" or "full". + * - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'. + * - page: Flag for the full page state. Will be true if view_mode is 'full'. + * - readmore: Flag for more state. Will be true if the teaser content of the + * node cannot hold the main body content. + * - logged_in: Flag for authenticated user status. Will be true when the + * current user is a logged-in member. + * - is_admin: Flag for admin user status. Will be true when the current user + * is an administrator. + * + * @see template_preprocess_node() + */ +#} +{% + set classes = [ + 'node', + 'node--type-' ~ node.bundle|clean_class, + node.isPromoted() ? 'node--promoted', + node.isSticky() ? 'node--sticky', + not node.isPublished() ? 'node--unpublished', + view_mode ? 'node--view-mode-' ~ view_mode|clean_class, + 'clearfix', + ] +%} +{{ attach_library('classy/node') }} +{{ attach_library('bartik/node') }} + +
      + {% block node_side %} + {% endblock %} + + {% block header_top %} + {% endblock %} +
      + {% block title_area %} + {{ title_prefix }} + {% if not page %} + + {{ label }} + + {% else %} + + {{ label }} + + {% endif %} + {{ title_suffix }} + {% endblock %} + {% block meta_area %} + {% if display_submitted %} +
      + {{ author_picture }} + + {% trans %} + {{ author_name }} on + + {% endtrans %} + + {{ metadata }} +
      + {% endif %} + {% endblock %} +
      + {% block content %} + {{ content }} + {% endblock %} + {% block content_bottom %} + {% endblock %} +
      + +