In this weekly series, Martin describes a question that was raised by a Fonto developer, how it was resolved and why Fonto behaved like that in the first place. After a hiatus of writing, this is my last post. I decided to move on from Fonto, and I’d like to write down my final tips on how to configure Fonto best!
Reload / retry performance for developers: just run it local!
The number one frustration I have seen with a number of partners is the full integration of Fonto in their CMS. Every code change on the Fonto side requires the editor to be rebuilt (fdt editor build
), deployed into the CMS and refreshed in the browser. The editor build takes close to a minute for big editors, and the redeploy is also not always instant.
Furthermore, when these partners would like some support, it’s quite difficult for one of our colleagues in the support team to run their editor: we need to ‘turn off’ some functionality to make the editor run without the CMS, or we have to set it up ourselves!
The easiest way to address this is to supply some example documents in the dev-cms
folder of the editor and keep them up-to-date. This allows you as a developer to run the editor locally with fdt editor run
and experience the near-instant development cycle you deserve. Just make a code edit and refresh your browser! If your editor requires some custom contracts, you can stub them in the dev-cms/configureDevCms.js
file (note this is NodeJS, not TypeScript).
module.exports = (router, config) => { return { routes: [ router .route('/connectors/cms/standard/my-custom-endpoint') .get((req, res) => { res.json({"foo": "bar"}).end(); }); ] }; }; };
TypeScript typings: setting up your editor correctly
Fonto uses TypeScript. Getting the full benefit of TypeScript (like automatic importing from the platform) requires some collaboration from your IDE. We have a blog post dedicated to upgrading to Typescript, and to setting up your linter.
Documentation
Fonto has a big set of documentation, that is not always easy to navigate. Still, it’s the number one resource for most questions. Just ‘googling’ your question on Fonto things is usually the way to go. If you cannot find an answer, reach out to support! But also if you did find your answer, but you think it was too hidden, reach out as well!
Listen to your authors!
Remember who uses your Fonto instance: authors. Fonto tries to be the most author-friendly XML editor, aimed at non-technical authors. Authors may not always express their requests and complaints upfront, so proactive outreach is essential. Try to make your configuration and your CMS’s performance the best possible!
We have recently started a Fonto Research Panel! This will help us get in touch with you and your authors. Please share it to help us get more insight into how we can improve Fonto for our authors!
Farewell?
I joined Fonto when it was still in its infancy. During the last eleven years, I saw and helped Fonto grow from just an editor to a full authoring suite, enabling reviewing, working with multi-versioned documents and even the first steps in publishing! I had the opportunity to interact with numerous partners, perhaps even with you! I am moving on to become a freelance consultant in the XML sphere. It’s a small world so I may see you in the future! In the meantime, check out the Fonto Training series, available here:
- Fonto Training part 1: Setting up a Dita editor
- Fonto Training part 2: Setting up for your schema!
- Fonto Training part 3: Families!
- And finally Fonto Training part 4: Operations!
I hope this explained how Fonto works and why it works like that. During the years we built quite the product, and we are aware some parts work in unexpected ways for those who have not been with it from the start. If you have any points of Fonto you would like some focus on, we are always ready and willing to share! Reach out on Twitter to Martin Middel or file a support issue!
Developer advocate / Evangelist. Has been with Fonto since it all began in 2013. He’s currently designing the next steps in Fonto Developer APIs with the input of our valuable partners.
In his spare time, Martin is an avid home brewer.
Receive updates on new Fonto Why & How blog posts by email