Home › Journal Admin › Editorial Board
Editorial Board
Admin CRUD for the journal's public editorial-board member listing — list, add, edit, delete, and drag-to-reorder members with role labels. Legacy entry: manager.php?_action=edb (class/edb.class.php EDBManager, view/edb.view.php); delete and reorder are row-level actions on the List screen, not separate pages — EDBManager::deleteEDB is a plain GET/redirect back through manager.php itself (manager?_action=edb&delete=0&edb_code=...), while EDBManager::reOrderEDB is the one routed via request/manager.ajax.php.
| Page | Status | E2E | Enhanced | Legacy Ref | Route | Roles |
|---|---|---|---|---|---|---|
| Editorial Board List | Full | Yes | live-search | manager.php?_action=edb | /manager?_action=edb | Journal Admin (role 6, manager.php) or Management Assistant (role 16, mng_assist.php) — see gating notes |
| Add / Edit Editorial Board Member | Full | Yes | rich-text | manager.php?_action=edb&_ts=... | /manager?_action=edb&_ts=0 | Journal Admin (role 6, manager.php) or Management Assistant (role 16, mng_assist.php) — see gating notes |
Features
| Feature | Status | E2E | Description |
|---|---|---|---|
| Admin can view the journal's editorial board members as an ordered table with role labels (and a section column when the journal has sections) | Full | Yes | List preserves the persisted edb_order (nulls last by code, matching legacy sortByNullColumn ordering) and is reached from the tenant sidebar under User Management. |
| Admin can live-search board members by name, email, role, or section | New | Yes | Serves quick lookup on long boards; drag-reorder is intentionally disabled while a filter is active to avoid saving a partial order. |
| Admin can add a new board member with role, section, bilingual name/specialty/affiliation, contact details and show-on-homepage flag | Full | Yes | Empty required fields (Full Name, Email, Affiliation) block submit; secondary-language fields become required conditionally, mirroring the bilingual legacy form. |
| Admin can edit an existing board member with the form pre-filled from the saved record | Full | — | Replaces legacy ?_action=edb&_ts={edb_code} full-page edit, including the legacy _|_ / _||_ packed name/address sub-fields (h-index, details, citation link, ORCID). |
| Admin can delete a board member with an explicit confirmation step | Full | — | Delete is scoped to the journal and refreshes the list on success. |
| Admin can drag-to-reorder board members and the new order is persisted (drives the public board listing order) | Full | — | Keyboard sensor support makes reorder accessible; reorder is suppressed while search filtering to avoid persisting a subset order. |
| Admin can upload, replace, preview and delete a member avatar photo (jpeg/png/gif) | Full | — | Avatar deletion is deferred to Save in the new UI (legacy applied it instantly via AJAX), and replacing an avatar removes the old file server-side. |
| Admin can flag a member to be shown on the journal homepage | Full | — | Legacy additionally defaulted this to Yes for prominent roles (1,2,3,4,10,11,14,15,18,22,23,25) when the column was NULL — see flags. |
| Admin can record academic metadata per member: h-index, ORCID iD, citation link, and personal homepage URL | Full | — | Legacy auto-prefixed http:// onto schemeless homepage URLs; no equivalent normalization was found in the new service — see flags. |
| Admin can write a rich-text member bio (details), including a secondary-language bio on bilingual journals | Full | — | Legacy TinyMCE included a server file-manager plugin for embedding images; the new RichTextEditor is the app-standard editor. |
| System rejects a duplicate board member with the same email, role and section | Full | — | Matches the legacy saveEDB duplicate check keyed on (email, role[, section]); the legacy allow_edb_emd bypass setting was not found in the new stack — see flags. |
| New/updated board members are automatically linked to an existing journal contact account matching their email | Full | — | Background side-effect invisible in the UI; keeps the public board entry connected to the member's user account. |
| Board member create/update/delete actions are recorded in the contact action-history audit log | Full | — | Audit trail records the acting admin and the member name for each mutation. |
| Management Assistant (role 16) can manage the editorial board through the same list and add/edit screens | Pending | — | Legacy mng_assist.php dispatches to the same EDBManager with actionFile='mng_assist' and works fully (unlike the broken News analog); apps/web gates the page to JOURNAL_ADMIN only — the role-16 path is cataloged under Publishing Workflow › Management Assistant. |
| Show-on-homepage defaults to Yes for prominent legacy roles (e.g. Editor-in-Chief) when the flag was never set | Pending | — | Legacy edit form (apps/legacy/js/class/edb.class.php:151-156) coerces NULL show_in_home to Yes for roles 1,2,3,4,10,11,14,15,18,22,23,25; the new dialog defaults showInHome to false unconditionally. |
Naming collision — different page, same name.
This is the admin CRUD screen for the journal's public board-member listing. The Publishing Workflow segment has an unrelated "Editorial Board" module — the
edbb role's internal portal for giving opinions on manuscripts. See also: Publishing Workflow › Editorial Board.A second, fully working access path exists via Management Assistant (role 16).
mng_assist.php gates on a ju_contact_role row with _role = 16, and its own case "edb": dispatches to the same class/edb.class.php EDBManager — explicitly reassigning $edb->actionFile = "mng_assist" (default is "manager"). view/edb.view.php builds every link and form action off that property, so, unlike the analogous News module (where mng_assist.php's news case does not override NewsManager's fileName, producing a broken-save bug — see Journal Admin › News), both the List and Add/Edit screens here render and post correctly for role-16 users too. This route is already independently cataloged at Publishing Workflow › Management Assistant ("Editorial Board List" / "Add / Edit Editorial Board Member" rows, which carries a reciprocal note pointing back to this page) and is cross-referenced here rather than duplicated as a new row.AJAX reorder and image-delete authorization is broader than the page gate.
request/manager.ajax.php's reOrderEDB and image-delete (st=2) handlers accept any session with _role IN (4, 6, 16), which is broader than manager.php's page gate of role 6 alone.