HomeJournal › Issues & Articles

Issues & Articles

Issue archive, current issue, articles-in-press, and article detail (with download buttons and citation tools) — front-controller index.php (root, mainm/, mainn/) dispatching into ArticleManager::articleList() / ::articleInfo() (class/article.class.php), rendered by the per-journal themes/*/front/pages/article_list.php (Current Issue, Issue Archive, Articles in Press) and article_info.php (Article Detail Page) templates.

Page Status E2E Enhanced Legacy Ref Route Roles
Current Issue Full Yes filters index.php?_action=current /?_action=current Public
Issue Archive (Single Issue View) Full pagination index.php?_action=article&vol={v}&issue={n} /issue_{vol}_{issue}.html Public
Articles in Press Full Yes filters index.php?_action=press&issue=-1 /?_action=press&issue=-1 Public
Article Detail Page Full related-articles index.php?_action=articleInfo&article={code} /article_{code}.html Public (PDF full-text download may require sign-in if journal setting login_for_fulltext is enabled)
Recommend Article by Email Pending ju.email.php /ju.email?... Public
Articles (stub) New /en/<tenant>/articles Public

Features

FeatureStatusE2EDescription
Reader can view the current issue's table of contents Full Yes The latest published issue's articles are shown directly at /current-issue instead of via the legacy redirect to the issue permalink.
Reader can open any archived issue's table of contents via its volume/issue permalink Full Reached by permalink or from the Browse > By Issue tree; shows the same article-list view as Current Issue with volume/issue labels.
Volume-only URL redirects the reader to the latest issue in that volume Pending Legacy /volume_{vol}.html (vol without issue, apps/legacy/js/index.php:309-314) resolves the last issue of the volume and redirects to its permalink; no apps/web counterpart.
Reader can filter current-issue articles by subject and article-type facets New Desktop sidebar plus mobile bottom drawers; selected facets persist in the query string.
Reader can page through long issue TOCs New Issue and current-issue listings paginate at 10 per page with a capped page-number window.
Reader can zoom the issue cover image in a lightbox New The issue cover thumbnail opens a full-size dialog.
Reader can browse articles in press and filter by Accepted / Corrected Proof stage Full Yes Legacy exposed the two stages only as raw &ac query variants; the port surfaces them as a faceted filter with counts.
Journal's in-press explanatory note is shown on the Articles in Press page Full The journal-configured note appears as an About card above the listing.
In-press listing visibility can be restricted to configured signed-in roles Pending Legacy in_press_for_users setting (class/article.class.php:158-180) hides the press list unless the signed-in contact holds one of the configured journal roles; no counterpart evidence in the ported page or getInPressArticles.
Per-article extra note flag on in-press rows (show_ar_note_press / ar_more_cnt) Pending Legacy attaches ar_more_cnt article-setting notes to in-press rows when show_ar_note_press is enabled (class/article.class.php:182-201); no apps/web counterpart.
Reader can view full article details (title, authors, abstract, issue metadata, DOI) Full The numeric-article-code detail page mirroring legacy ?_action=articleInfo&article={code}.
Reader can download the article's PDF full text Full Download button on the article detail page; size labelling is an enhancement over legacy.
PDF full-text download requires sign-in when the journal's login_for_fulltext setting is enabled Pending Legacy gates the full-text link on login_for_fulltext (apps/legacy/js/index.php, apps/legacy/js/mainn/index.php); the inventory tooltip flags that this gating is not obviously enforced on the ported detail page.
Reader can download an article's supplementary files Full Each supplementary file renders as a download link in the detail sidebar, matching legacy article_info.php's file list.
Reader can export an article's XML metadata Full Article-scoped XML export link on the detail page.
Reader can export a whole issue's XML metadata from the TOC heading Pending Legacy builds an issue-scoped ?_action=xml&issue={n} link into the article-list title (class/article.class.php:151); no counterpart on the ported issue/current-issue pages.
Reader can download the full-issue PDF from the issue TOC when the journal enables it Pending Legacy issue_full_pdf setting renders a jufile?issue_pdf= link on issue listings (class/article.class.php:211-221); no apps/web counterpart.
Reader sees a per-issue subject overview summary above the TOC when enabled Pending Legacy issue_sb_ovrv setting adds a subject summary block to issue listings (class/article.class.php:152-157); no apps/web counterpart.
Reader can cite the article via a citation dialog Full Structured cite dialog replacing legacy's inline citation block / ArticleCitation actions.
Reader can share an article to social platforms or copy its link Full A single share dialog replaces legacy's row of per-platform icons.
Reader sees who cited the article (cited-by list) Full Matches the legacy citations block on article_info.php.
Reader sees related-article recommendations on the detail page New A recommendation rail with a has-more indicator.
Article pages carry rich SEO and social metadata New Improves indexing and link previews for article pages.
Reader can print the article view Pending Legacy share_print action (printDiv in themes/theme1/front/pages/article_info.php:552); no print action in the ported detail page or ArticleShareDialog.
Reader can recommend an article to a colleague by email Pending Legacy ju.email.php modal (sender/receiver fields, CSRF token, image CAPTCHA, EmailManager::recommendArticleMail(), sender prefill for signed-in users); the ported share dialog covers sharing intent but does not send an email to a named recipient.
Reader can read and submit moderated comments on an article Pending Legacy save_comment POST branch of the articleInfo dispatch (index.php:330-335) with ArticleComments showActiveComments/editArticleComment and a journal comment_note (class/article.class.php:2343-2364); no apps/web counterpart.
Reader can read the article's full text inline as JATS/HTML when the journal enables it Pending Legacy showFulltextJats + jatsFulltext render inline full text with jats.js/jats.min.css (index.php:343-346, article_info.php:311-320); no JATS/full-text rendering found in the ported ArticleContent/ArticleDetail components.
Tenant-level /articles landing page New Reserves the URL; real listings live under current-issue / issues / subjects / authors / keyword-index.
Recommend Article by Email added 2026-07-02 (route-file checklist gap).
A same-origin GET+POST screen (ju.email.php), not a fragment of index.php's own dispatch — opened as a modal from the Article Detail Page's "Recommend" action, it is independently addressable and renders its own form (sender/receiver email, CSRF token, image CAPTCHA). Given its own row since — unlike the XML-export/PDF-download links noted below — it is a full page with a themed panel body, not an inline download link.
Current Issue vs. Issue Archive:
both rows render the identical underlying article-list view (ArticleManager::articleList() plus the theme's article_list object template) — the only difference is which issue code is loaded and how the page is reached: Current Issue auto-resolves the latest published issue (see spec/journal/latest-issue-calculation.md, "Canonical Latest Issue") and redirects to its permalink, while Issue Archive is reached via a direct permalink or via the Browse > By Issue tree (sibling journal/browse.html module, which owns the volume/issue index but not the article-list screen it links to). Kept as two rows because the legacy menu and specs (browse-current-issue.md, browse-by-issue.md) both treat them as distinct entry points/features.
Dispatch-dir gap (verified by tracing):
the shared default menu (class/journal.menu.class.php::setDefaultMenu()) and the theme templates (e.g. themes/theme1/front/objects/archive_index.php) universally link to ?_action=current and ?_action=press. However, only the root apps/legacy/js/index.php front controller has explicit case 'current': / case 'press': branches in its dispatch switch — mainm/index.php and mainn/index.php (the other two per-journal front-controller variants named in this segment's dispatch) only branch on _action=article/articleInfo in their own control flow, so those two would fall through to the default search-form branch for these links. Legacy Ref above points at the root controller as the verified reference implementation.
XML metadata export (?_action=xml&article=...) renders as a link on the Article Detail Page. A second, issue-scoped form (?_action=xml&issue=...) is built directly into the article-list title by ArticleManager::articleList() (class/article.class.php, line 151) and is rendered next to the issue heading on the Current Issue / Issue Archive screens (echoed via $articleList->title in the shared theme templates, e.g. themes/theme1/front/pages/article_list.php). The full-issue PDF download is a link rendered inside the Issue rows. Both are download links, per this module's scope note "(incl. download buttons, citation)" — not separate rows, since neither renders an HTML screen of its own.
New pages (stage 2):
the tenant-level /articles page is an un-implemented stub (renders only the tenant title, no listing). Placed under issues-articles for claim-exactly-once accounting; per this module's note it should not gain a substantive row without user consent — flag for Phase C to wire or remove.