Acalog CSV to Omni Update XML Custom Script

Built an on-demand PHP integration that transforms Acalog academic program data into XML for SDSU's website program finder.

Overview

Developed a custom PHP automation solution for San Diego State University’s Enrollment Services department to transform academic program data from Acalog into XML compatible with the program finder feature on SDSU’s main website.

The Challenge

Enrollment Services maintained academic program information in Acalog, while SDSU’s website required an XML file containing specific fields to populate its program finder.

The department needed an efficient, repeatable way to retrieve the latest program information, extract the required data, and generate the XML file whenever updates were needed.

The Solution

Built a PHP shell script that retrieves academic program data through the Acalog API and transforms it into the XML structure required by the program finder.

Rather than running on a fixed schedule, the script was designed for on-demand execution, allowing Enrollment Services to generate updated XML files whenever academic program information changed.

Technical Implementation

The integration followed a straightforward, repeatable workflow:

  1. On-demand execution: Enrollment Services initiated the PHP script whenever updated program data was needed.
  2. API integration: The script retrieved academic program data from Acalog through its API in CSV format.
  3. Data processing: PHP converted the CSV data into an array for processing.
  4. Field extraction: The script iterated through the records, selecting the fields required by the program finder.
  5. XML generation: The processed data was structured and written to an XML file.
  6. Content update: Enrollment Services used the generated XML file to update the program finder on SDSU’s website.

Outcome

Provided Enrollment Services with a faster, simpler, and repeatable process for preparing academic program data for SDSU’s program finder.

The department reported satisfaction with the script’s execution speed and ease of use.

Originally published in December 2020, the solution remained in use until May 2026, when it was replaced by another system.