OCS 2.3.2 PHP 8.3 Port

Problem Description

Several mathematics professors were using multiple instances of Open Conference Systems (OCS) to preserve and publish scientific articles, conference papers, and academic materials. These platforms contained valuable historical and scholarly content that needed to remain publicly available for consultation.

However, OCS is an older system originally designed to run on legacy PHP versions, mainly PHP 7.4 or earlier. The new hosting servers no longer support the installation of PHP 7.4, which created a compatibility problem. As a result, the existing OCS instances could not run correctly in the new server environment.

Another option considered was migrating the content from the old OCS system to a newer platform such as Open Journal Systems (OJS). However, this migration was not feasible because the structure, purpose, and data organization of the old OCS installations were different from the current OJS platform. Migrating the content would have required a complex process with a high risk of data loss, broken links, or incomplete preservation of the academic materials.

For this reason, the decision was made to keep the original OCS system and update its codebase so it could run on PHP 8.3.

Solution Implemented

To solve the problem, Codex was used as a development assistant to analyze the legacy OCS code and identify the changes required for PHP 8.3 compatibility. The process involved reviewing deprecated functions, correcting syntax errors, updating incompatible code patterns, and making adjustments in the application logic where necessary.

The main goal was not to redesign the system or migrate the information to a new platform, but to preserve the existing OCS instances and make them functional in a modern server environment. This allowed the professors to continue providing access to their scientific articles and academic conference materials without losing the original structure of the system.

Final Description

The project consisted of porting a legacy Open Conference Systems (OCS) application to make it compatible with PHP 8.3. The system contained several academic conference instances managed by mathematics professors, including scientific articles and conference papers that needed to remain available online.

The main problem was that the new servers no longer allowed the installation of PHP 7.4, which was required by the original OCS software. Since migrating the content to a newer platform such as OJS was not technically viable, the chosen solution was to update the existing OCS codebase.

Using Codex, the application was reviewed and modified to resolve compatibility issues with PHP 8.3. This included updating deprecated functions, fixing errors caused by changes in PHP behavior, and adapting the legacy code so the system could continue operating on modern infrastructure.

As a result, the academic content remained accessible, the original structure of the OCS instances was preserved, and the application was successfully adapted to a current server environment.

You can get a zip on one of the ocs instance at: https://xiii.ciaem-redumate.org/ocs_232_php83_port_aaron_castillo_codex_20260529.zip

Hi @Aaron_Castillo_Alpiz,

Thanks for sharing!

I don’t know if you ran into this option for migrating content from OCS to OJS:

I worry that an OCS installation, even if updated to run on a more modern PHP, will not be secure to run. It’s gone unmaintained for years and does not have a safe path forward.

Thanks,
Alec Smecher
Public Knowledge Project Team

Hi @Aaron_Castillo_Alpiz,

As Alec explains, even if you manage to patch OCS to run on PHP 8.3, that doesn’t necessarily mean it’s a good idea. The software hasn’t been maintained for years, and running it today would likely leave your site highly vulnerable to security issues.

That said, thanks for raising the problem. OCS had completely disappeared from my radar after it was retired, and your post reminded me that some people are still using it and a solution is required.

If you’re looking for a platform to manage and publish conference proceedings, there are several alternatives. Back in 2014, my preferred option was Indico from CERN, although I’m not sure whether there are now better FOSS alternatives available.

If Indico doesn’t fit your needs, another option within the PKP ecosystem is to migrate to OJS (as Alec suggests) and use some plugins to make OJS behave more like OCS.

The TIB team (@Dulip_Withanage) developed a plugin called “Conference Plugin” that transforms OJS into something closer to OCS by adding conference-oriented functionality and (I think) also metadata support.

The Lepidus team (@abadan) also developed a plugin that allows conference proceedings to be deposited in Crossref as conferences rather than as journals.

I haven’t personally tested either of these developments, and I don’t currently manage any OCS installations, so unfortunately I can’t provide much hands-on guidance. However, I’m confident that the community will be able to help you find the most suitable path forward.

Good luck,
m.

Hi Alec,

Thank you very much for your reply and for sharing the migration tool.

I was not aware of that specific option, but I will review it and try using it as a possible path to migrate the old OCS content into OJS.

Just to clarify, we currently use OJS for our active publication workflows. These OCS installations are old instances that contain historical conference materials and scientific articles from mathematics professors. They are no longer used as active conference management systems; they were only enabled in read-only mode to preserve access to the published content.

I completely understand your concern about security. The intention is not to continue using OCS as a production platform, but rather to keep the legacy content available while we evaluate a safer and more sustainable migration path.

Thanks again for the recommendation.

Best regards,
Aaron

Hi M.,

Thank you very much for your detailed response and for the suggestions.

I agree with the concerns raised by Alec and by you. Even if OCS can be patched to run on PHP 8.3, that does not make it a long-term or secure solution. In our case, the OCS instances are not being used for new submissions, editorial workflows, or conference management. They are old installations that were enabled only in read-only mode because they contain historical scientific articles and conference proceedings that some mathematics professors still need to keep publicly available.

We currently use OJS for active publishing, so the goal is not to keep OCS as an active platform, but to preserve and eventually migrate this legacy content in the safest way possible.

I will review the OCS-to-OJS migration tool shared by Alec and also look into the Conference Plugin and the Crossref conference deposit option you mentioned. These alternatives sound very useful, especially if they allow us to keep the content within the PKP ecosystem while moving away from OCS.

Thank you again for pointing me in the right direction.

Best regards,
Aaron