Due to the safety regulations of the Paul Scherrer Institute PSI, this case study provides only a limited insight into certain topics.
Background
The Paul Scherrer Institute (PSI) is the largest research institute for natural and engineering sciences in Switzerland. PSI conducts cutting-edge research in the fields of Matter and Materials, Human and Health, and Energy and Environment. Through basic and applied research, PSI works on sustainable solutions for central questions in society, business and science.
The website is an essential tool in PSI's communication with its stakeholders. In an evaluation process, it was determined that Drupal was best suited to replace the old Content Management System. Subsequently, a public invitation to tender was issued to find a service provider who could carry out the relaunch with Drupal.
MD Systems took part in the tender process, was able to convince PSI with the solution proposal submitted in writing as well as the presentation on site and was ultimately awarded all five lots.
Goals
With the introduction of Drupal as a central and strategic web content management system, the technological development of the Internet is to be taken into account. The solution, which was developed in-house over many years, is to be completely replaced. With a website based on Drupal, more technical stability in the Internet presence is to be guaranteed as well as a good basis for cost-efficient operation and future developments.
Special attention is paid to these topics:
- The contents of the old solution are not only to be migrated to Drupal, but also transformed to structured data at the same time.
- In the future, editors should be able to create structured content using well-managed input processes.
- The different areas on the website with their own menus and separate permissions.
Results
A total of 12 months were planned for the entire project duration. Through the efficient and focused cooperation between the overall project management, PSI and MD-Systems employees, the implementation phase was shortened by three months so that, despite an intensive, additional test phase, the project was completed two months earlier than planned and the GoLive could be brought forward. The GoLive could finally be carried out without technical problems on the Easter weekend of 2019.
The project was a complete success for a number of reasons in addition to the fruitful cooperation already mentioned.
Primer as basis
Since our solution Primer was used as the basis for the PSI project, many requirements could already be covered without development effort.
One of the most important core elements of Primer is the flexible content creation using Paragraphs (content components). This means that when creating content, predefined visual components can be variably assembled by editors.
In a preliminary project, exemplary selected content pages have already been manually created with Primer standard functions. This made it possible to quickly identify missing requirements and to integrate those that were also suitable for other Primer customers as standard functions in Primer or in Drupal modules.
Thanks to the pre-project, a functioning prototype was already in use two weeks after the official start of the project, which PSI managers could use to test content creation and other functionality. This not only saved time and work, but also allowed solution concepts to be demonstrated directly on the prototype, which resulted in a considerable reduction of complexity.
Agile process
The requirements compiled by PSI were transferred to a backlog before the project started. At that time, there were still a large number of epic tasks for which the detailed requirements had not yet been precisely defined and for which only a rough estimate could be made.
Since a lot of functionality is already available in Primer, many of these epic tasks were evaluated in a first step to determine which additional features should be implemented to meet the requirements of the Paul Scherrer Institute. For the tasks still to be completed, the epic task was then iteratively divided into specific user stories & tasks.
In the sprint meetings, the completed tasks of the previous sprint were presented by MD Systems and accepted by the PSI project team. New requirements were identified, for which new tasks were created in the backlog after the meeting. Due to the available reserve, important new requirements could be completed within the agreed budget and time.
An important part of the agile process was also the step-by-step migration, which was implemented parallel to the project.
Step-by-step migration
At the start of the project, a prototype migration was implemented, which not only identified the special cases or missing functionality for the migrated content, but also many requirements for content creation and editing. A separate environment was created for the migration, on which migrations on the improved system could be carried out on a test basis. In addition, this enabled the migrated contents to be checked quantitatively and qualitatively on an ongoing basis.
In each sprint meeting, the current status of the migration was presented with statistics and real-life examples, after which it was decided whether to improve the migration, integrate new functionality for the website or (in a few cases) adapt the source data.
Training & Documentation
Content on psi.ch is created and edited by various editors. For this reason, MD Systems created a detailed, PSI-specific documentation in addition to the existing online documentation for primers, which contained over 60 pages at the end of the project.
In addition, two training courses lasting several hours were conducted.
Challenges
One of the biggest challenges was the management of the various organizational units that control the rights of the editors and the visibility of the content. Some key data and requirements:
- In addition to the content, media, paragraph library items and terms are assigned to the respective organizational units
- When logging in via PSI's central Identity Management, new accounts are created with the necessary metadata and the affiliations to the organizational unit are updated
- Editors can only create and edit content in their organizational units, additionally it can be restricted who is allowed to publish content
- For each organizational unit, you define the languages into which the content can be translated
- Editors can use media and library items
- Each organizational unit has its own menu, which the editors can edit and which is displayed in the front end. The breadcrumb and URL of the content is also based on the organizational unit
To meet all these requirements, several extensions and improvements were necessary (see below at Contributions).
Since the website used to be generated statically, various dynamic JavaScript applications were integrated within the page. Depending on complexity and requirements, these were either adopted with necessary adjustments or newly implemented natively in Drupal.
For these applications and other functions and information presented on the website, various third-party systems or API services are integrated so that data from the internal PSI network can be transferred to the website. An example of this is the telephone book: every day all employees are matched with profiles and, if necessary, created, updated or activated. These profiles can then be supplemented with paragraphs by the employees.
Another major challenge was the implementation of the design. The design was taken over from the existing design of the old website with as much pixel accuracy as possible. Since the old website had grown organically over many years, there were many different elements, spacing, font sizes, etc. These were - where possible - reduced and consolidated on the new website to achieve a clear corporate identity.
Contributions for the Drupal Community
In total, we implemented and used patches for over 10 issues in a module for managing organizational units and published additional integration modules as a basis for all project-specific enhancements. A specific focus for these improvements was performance. The large amount of content, editors and organizational units led to various performance problems, which we were able to improve together with the maintainer during the project.
For the Paragraphs module, various measures were taken to optimize performance during editing. Additional functionalities such as "Add above", "Edit all", etc. were integrated to simplify the creation and editing of content. Furthermore, the drag & drop functionality has been improved.
To improve usability when working with content, the Moderation Sidebar module was added. For this purpose, numerous improvements have been implemented, among other things to ensure that translation processes work well.
At the beginning of the project it was implemented in Drupal Core that only content that users can edit can be translated by them. This feature was committed to Drupal 9.1 in summer 2020.
See also https://www.digital-storytelling.ch/de/hintergrund/contributions for our general contributions to Drupal during primer projects.
Primer benefits
Primer has once again proven to be the optimal basis. Thanks to the wide range of standard functions, it is possible to focus on individual requirements during the project. Due to the high degree of standardization, the platform remains efficiently maintainable despite strong individualization, which significantly optimizes the total cost of ownership.