top of page
Stronger Identity,
Happier Customers.

Ready to modernize your identity infrastructure?

Let's secure your growth together.

Better PingAM Source Code Management with FACT

  • Writer: Prakhar Ananya
    Prakhar Ananya
  • 1 day ago
  • 2 min read

Updated: 15 hours ago

ree

Customer Overview

A leading gaming institution in the SEA region, leveraging the Midships Ping AIS Accelerator, sought to modernize the management of their JavaScript-based PingAM scripts, which are integral to their customer journeys. Their objective was to enhance maintainability, strengthen quality controls, and implement a more efficient code review process. This included storing source code in a readable, developer-friendly format to reduce the risk of defects reaching late-stage testing. However, progress was hindered by the complexity of the File-Based Configuration (FBC) folder hierarchy and the storage of JavaScript code in minified form, limiting visibility and slowing defect detection.


Challenges with Using PingAM File Based Config

  • Unmanageable diffs from small Dev changesEven minor configuration modifications in the Development environment generated large, complex diffs.This caused unnecessary noise in code reviews, making it harder for reviewers to identify meaningful changes and increasing review time and effort.

  • Difficulty in maintaining quality gates post go-liveAfter go-live, the customer wanted all changes to pass through proper quality checks before deployment.Without a streamlined process, there was a risk that unreviewed or untested changes could slip into higher environments, potentially causing instability or longer release cycles.

  • Need for early issue detection in Development phaseThere was no efficient mechanism to catch configuration or code issues early during development.This lack of proactive validation increased the likelihood of defects progressing to later stages, making them more costly and time-consuming to fix.

  • Inability to perform static code analysis on JS codeJavaScript code was embedded in a minified format inside a JSON file, preventing static analysis tools from being applied.This limited the ability to detect security vulnerabilities, code smells, or maintainability issues in the JS components.


Midships Ping Accelerator FACT Upgrade: A Game Changer

To overcome these limitations, the customer adopted the Midships Ping Accelerator FACT Upgrade, which provided immediate benefits:

  • Implemented configuration noise filtering and smaller development batchesEnhanced the FACT utility to automatically discard non-functional changes such as JSON key shuffling or empty-line additions, and restructured work into smaller subtasks. This reduced pull request size, streamlined reviews, and kept focus on meaningful code changes.

  • Introduced integrated JavaScript source code extraction for rigorous reviewsEmbedded a shell script into FACT exports to extract JavaScript from minified JSON-embedded files into a separate folder within the same pull request, enabling thorough and consistent review before merging.

  • Enabled local deployment of the Midships Ping AIS Accelerator for faster feedbackProvided the ability to run the Ping AIS Accelerator locally, removing reliance on CI/CD pipelines and shared environments, thus allowing developers to identify and resolve issues earlier in the development cycle.

  • Facilitated static code analysis and best-practice adoptionLeveraged the extracted JavaScript source to enable IDE-based static code analysis, local refactoring, and immediate review comment resolution without the need for redeployment or repeated FACT exports.


Outcome

The customer streamlined their development workflow by generating smaller, more targeted pull requests with clear, reviewable JavaScript source code changes. This improved repository maintainability and reusability, ensured alignment with JavaScript best practices, and enabled a left-shift in their DevOps lifecycle, reducing delivery risks and accelerating time-to-market.

Comments


bottom of page