Calligra/Proposal for scripting in ODF: Difference between revisions

From KDE Community Wiki
No edit summary
No edit summary
Line 1: Line 1:
This page should provide a suggestion how to implement scripting in ODF.
This page should provide a suggestion how to implement scripting in ODF.


Proposal
===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.
* 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".
* 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.
* The Javascript is loaded from and saved to the ODF document.
* Ideally Calligra, LibreOffice and OpenOffice.org are adopting the same solution with compatible Javascript-APIs.
===Use-cases===


Use-cases
* Allow to register Javascript for on-load or on-save events.
* Allow to register Javascript for on-load or on-save events.
* Do something if e.g. an image is clicked.
* Do something if e.g. an image is clicked.
Line 12: Line 15:
* Forms, e.g. input-validation.
* Forms, e.g. input-validation.


API
===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.
 
* Allow live-editing access (loading and manipulation) 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+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.
* 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.
* 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.

Revision as of 10:49, 15 November 2011

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.
  • Ideally Calligra, LibreOffice and OpenOffice.org are adopting the same solution with compatible Javascript-APIs.

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

  • Allow live-editing access (loading and manipulation) 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+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.