Calligra/Proposal for scripting in ODF

From KDE Community Wiki
Revision as of 10:42, 15 November 2011 by Sebsauer (talk | contribs)

This page should provide a suggestion how to implement scripting in ODF.

Proposal

  • So far the only way to get such dynamic functionality in is using macros. But macros suck, they are unflexible and functionality is missing.
  • Since this days we have so many different Javascript-implementations around + they allow to sandbox (unlike python for exampl) + they are light and fast (unlike Java) and are already a de facto standard in HTML it would make sense to get Javascript into ODF as official "scripting-language".
  • The Javascript is loaded from and saved to the ODF document.

Use-cases

  • Allow to register Javascript for on-load or on-save events.
  • Do something if e.g. an image is clicked.
  • Formula variable for calculation.
  • Forms, e.g. input-validation.

API

  • The is to allow live-editing access to the ODF DOM tree from with Javascript. That covers all kind of manipulation-scenarios and provides an (in the ODF specifications) already well documented API and proven API. So, very much what Javascript is able to do with HTML and Stylesheet in the Browser for a Office-suite.
  • Helper-classes written in Javascript could provide a higher level API to deal with the ODF DOM tree.
  • It would maybe make sense to allow access from within Javascript to the Calligra Tables formula logic. So Words and Stage could do complex calculations the OpenFormula way in Javascript.