Our project aimed to improve the post-acceptance publishing workflow in Episciences for Logical Methods in Computer Science (LMCS). The existing Episciences pipeline did not match the way LMCS actually handles accepted papers: authors were expected to upload final versions themselves, while LMCS prefers to receive the final version and arXiv paper password first, after which editors handle the final upload. This mismatch caused confusion, unnecessary emails, and papers being reset in the task queue.
We implemented an alternative, toggleable LMCS workflow inside Episciences. Journal administrators can enable the workflow through a setting, without affecting journals that still use the original pipeline. In the new workflow, authors submit their final version and arXiv paper password, editors perform layout edits, authors approve or reject the layout changes, and editors can then complete the publication process.
The solution reduces manual coordination, makes the workflow clearer for authors and editors, and helps editorial managers keep better track of papers in progress. It also integrates more of LMCS’ existing external process directly into Episciences, making the platform better suited to their day-to-day editorial work.
Somewhere between a paper, a password, and a state transition, we found a workflow.
Our main client was Tobias Kappé, a researcher at Leiden University and Associate Managing Editor for Logical Methods in Computer Science. LMCS uses the Episciences platform to manage its publishing process. Since our changes were made to the Episciences codebase, the Centre pour la Communication Scientifique Directe (CCSD), the organization behind Episciences, was also a secondary client, although we mainly communicated through LMCS.
Communication with the client was useful and helped clarify the requirements throughout the project. Meetings with the client gave us a better understanding of how LMCS actually works in practice, especially where the existing Episciences workflow caused friction. Raoul acted as the main email contact with the client, while the team used the feedback from these discussions to refine the pipeline, states, transitions, and expected behaviour.
The client asked for new states; we just made sure they actually transitioned.
Our team consisted of Guus de Groot, Hamzeh Akkad, Jelle Prosperi, Kim Trinh, Raoul Rutgers, and Willem Scholten. Raoul was the Scrum master and main client contact, while Willem acted as product owner. Work was divided across implementation, testing, documentation, workflow design, state transitions, email templates, and integration with the existing Episciences codebase.
We collaborated using sprint planning, retrospectives, GitHub issues, pull requests, and internal task division. Some members focused on understanding and extending the existing codebase, while others worked on the new pipeline states, transition logic, upload handling, email templates, tests, and documentation.
One of the main challenges was working inside a large existing PHP codebase with its own conventions and legacy issues. We also had to implement a new workflow without breaking the existing Episciences workflow used by other journals. Another challenge was communication and planning: later in the project, we realized that some tasks should have been broken down earlier and more clearly.
As a team, we are most proud of implementing the core LMCS pipeline in a way that coexists with the original Episciences workflow. The project required both technical understanding and careful integration, and the final result addresses a real workflow problem for the client.
Merge conflicts were temporary; workflow states were forever.
Languages:
Important frameworks and libraries:
Tooling:
CI/CD:
Deployment: