Calligra/Proposal for scripting in ODF: Difference between revisions
< Calligra
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=== | |||
* 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=== | ||
* | |||
* 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.