Workflow And Internationalization

A Partnership Story

workflow screenshot 1

Our client discovered Apostrophe as part of their search for a Node.js-based CMS that provided a user-friendly interface and eliminated the hassles of moving back and forth between programming languages and environments for front- and back-end development.

 

As Node developers, Apostrophe offered everything they wanted... but as a Fortune 500 firm, it was still missing a few things they needed. Localization and workflow features were needed to take it beyond pilot projects and create a platform for larger projects, including their primary website.

 

They discovered the Apostrophe Enterprise Support program via apostrophecms.org. Through the enterprise program, firms like theirs are able to directly support and guide the development of new open-source features of Apostrophe, as well as tapping into the expertise of the Apostrophe core team for proprietary development.

 

Almost immediately, the Apostrophe core team was able to begin implementing new features requested by the client, including performance enhancements, more robust database connections and improved support for delivering assets via Amazon S3 and CloudFront.

 

Emboldened by these early successes, our client agreed to commit to a larger project. Rather than building internationalization and workflow as separate features, the Apostrophe team would create a new module that integrates the two goals from the start.

 

From the start of the summer of 2017, the Apostrophe team held weekly iteration meetings with their counterparts on the client side, taking advantage of the Zoom teleconferencing platform. We worked together to find a time of day that minimized the difference in time zones and developed a habit of checking for incoming tickets before our regular business hours. By summer's end, the new apostrophe-workflow module had been published to the open-source npm repository.

 

Because workflow is integrated from the start, the new module goes well beyond other localization solutions. Authors working in one language can commit their changes to make them live for that particular culture, then export only the changed parts of the page as “draft” content to be reviewed, translated and localized for other cultures. Editors can easily see exactly what portion of the page was modified. And access to commit changes to the live site can be restricted through Apostrophe's permissions features, while preserving the ease of editing “on the page” in draft mode.

Continuing Together

 

While the workflow project is wrapping up and will soon be in production on several of the client’s websites, they continue to take advantage of their Service Level Agreement with us to drive the development of new open source features for Apostrophe. Other new features released as open source this summer with the support of this client include:

 

  • “Single sign-on” through gitlab, Twitter, Google and nearly any service supported by the Passport family of Node.js modules

  • “Focal point” editor support for better responsive mobile images

  • Better notifications for editors

  • Improved filtering when managing “pieces”, such as blog posts or products

  • Improved support for session storage in Redis and other backends

  • Use of Redis for caching

passport screenshot

Conclusion

 

Our client’s experience is a model of how Apostrophe Enterprise Support can meet the needs of any company needing more from their CMS. Fast access and a strong rapport with the Apostrophe core  team has allowed our client to quickly obtain the changes they needed and play a major part in deciding what features would be developed next. Open source eliminates vendor lock-in, as well as the related risks of a purely in-house solution. The Node.js platform maximizes both developer productivity and website performance. And our client's support for open-source development has helped ensure a robust future for their CMS of choice as a growing community continues to build on, improve and benefit from the work.