Transforms and build architecture

Post here questions and problems related to editing and publishing DITA content.
jasone
Posts: 10
Joined: Wed May 17, 2017 8:23 pm

Transforms and build architecture

Post by jasone »

We have about 40 writers. Currently we only use oXygen to create and edit DITA. To build we use a homemade client app that passes the source files to a remote server with DITA-OT, which builds and returns the output. Our custom plugins brand and style everything.

This works ok, but it's become too hard to maintain with our resources and we'd like to migrate to using transforms. Our developer created custom transforms for PDF, CHM, WebHelp, Responsive WebHelp, and Eclipse. But it means writers have to install DITA-OT plugins locally and build locally. With 40 writers on 40 different laptops that seems impossible to support. And our developer left.

We've been experimenting and researching a way to have a centralized build server, but it doesn't look promising. Is this not supported or recommended? What's the best configuration for our enterprise?

Thanks!
Jason
Radu
Posts: 9018
Joined: Fri Jul 09, 2004 5:18 pm

Re: Transforms and build architecture

Post by Radu »

Hi Jason,

Based on your remark:
To build we use a homemade client app that passes the source files to a remote server with DITA-OT, which builds and returns the output.
it seems that you already have a server which does the publishing processing.

What we do internally is that we installed on a server the free Jenkins continuous integration server: https://jenkins-ci.org/
We have a DITA OT on the server (with all our custom plugins installed) and we have a task which gets called either whenever DITA content is committed to our common repository (we use GitHub) or every night and builds all publications by calling the DITA OT.
But you would somehow need some connection between your storage system (are you using a content management system or how are you storing the DITA content) and the Jenkins server so that the server downloads the DITA content directly from your storage and then runs the DITA OT on the content.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
jasone
Posts: 10
Joined: Wed May 17, 2017 8:23 pm

Re: Transforms and build architecture

Post by jasone »

Hi Radu,
That's exactly the type of thing I've been thinking about. We use SVN at the moment, but might migrate to BitBucket or GitHub at some point. One issue I'm wondering about: right now users can specify a few parameters like which ditaval to use or whether to build a PDF in draft mode for example. How would they control that in a Jenkins set up? Maybe they put in a request for an admin to change the transform on that particular build? Also, can you configure Jenkins to pull and auto-build from a remote SVN on commit/time schedule?

Thanks!
Jason
Radu
Posts: 9018
Joined: Fri Jul 09, 2004 5:18 pm

Re: Transforms and build architecture

Post by Radu »

Hi Jason,

You can create a Jenkins job which is triggered automatically when commits are made on an SVN server, you can google for "jenkins trigger build on svn commit".
About publishing with a custom set of parameters, maybe you could create a Jenkins job which is not automatically started, your users would have accounts on Jenkins and they could create new jobs by duplicating the current base job, configure it a little bit and the manually start it.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
jasone
Posts: 10
Joined: Wed May 17, 2017 8:23 pm

Re: Transforms and build architecture

Post by jasone »

Thanks for the suggestions Radu, foarte apreciat!
Radu
Posts: 9018
Joined: Fri Jul 09, 2004 5:18 pm

Re: Transforms and build architecture

Post by Radu »

:)
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Post Reply