A research lab's website usually lags the lab. The publications list stops a year ago, the people page still shows last year's students, and the project funded last spring has no page at all, because every change waits for the one person who knows how to edit the site.

Total CMS makes the website a set of forms the researchers fill in themselves: one for a person, one for a project, one for a publication. The pages, lists and links are built from those records, so adding a paper updates the publications page, the author's page and the project's page at once.

People, projects and publications, linked

With Pro, each is a collection with the fields a lab needs: a person has a role, a photo, research interests and links; a project has its funder, dates, partners and summary; a publication has its authors, venue, year, abstract and a link to the paper. Relational fields tie them together, so a researcher's page lists every paper they are named on and a project's page lists its team and its outputs, without anyone maintaining those lists by hand.

Kwame Osei's profile page listing his three publications and his project, with research interests, email and ORCID beside it
A profile page. Nobody typed this publications list: it is every paper that names him as a lab author.

When a student graduates, someone switches their status to Alumni: they move to the alumni list with a line on where they went next, and their papers stay where they were.

Kept current by the people in it

Researchers sign in to the admin with an access group that limits them to the collections they look after, so a student can add a publication without being able to touch the home page. The people collection can be owned, so each researcher edits their own profile and no one else's.

The admin as a researcher sees it: only News, People and Publications in the sidebar, and a publication form with lab authors ticked from a list of lab members
A researcher's view of the admin. Lab authors are ticked from the people collection, so a new paper appears on each of their pages.

Every save keeps the version it replaced, so a bad edit is one restore away.

Bringing in an existing publications list is an import: a CSV or JSON file exported from a spreadsheet or another system becomes records in one step.

News, files and partner pages

The built-in blog schema covers lab news, talks and awards, with an RSS feed for anyone following along. File and depot fields attach posters, slides, reports and small datasets to the record they belong to, with rules for size and file type. Partners and funders can be a collection of their own, with logos and links, so acknowledgements stay consistent on every page that needs them.

Each publication and project gets its own page, with a search title and description made from its own fields, and turning on a collection's sitemap lists every new page as it is added.

Where it stops

  • It isn't a reference manager. There is no BibTeX or DOI lookup. Publications are entered in a form or imported from a CSV or JSON export, so a tool like Zotero still keeps the library.
  • It isn't a data repository. Large datasets belong in a repository that gives them a DOI and keeps them for the long term. The site can describe a dataset and link to it.
  • It doesn't sign people in with the university's accounts. There is no single sign-on; editors have their own passwords or passkeys.
  • Your university may have rules. Some institutions require labs to use the central CMS or domain. Check before you build.

What you need

  • Pro for people, project and publication collections with your own fields, and the relational links between them.
  • Standard covers the blog for news, access groups for editors, and passkeys. File and depot fields on your own collections need nothing more.
  • Any host with PHP 8.2 or later, with no database to set up.