Common scripting/plugin subsystem for Kontact
Synopsis
This project aims to add the plugin/scripting feature to the kontact code base.
Goals
Embed kjsembed part to kontact.
Implement asychronous communication between components via signal/slot
mechanism.
Develope scripts for test cases.
HOWTOs, FAQ, Tutorials.
Project Details
We would like to divide this project to three phases:
- Implement the fundamental scripting subsystem
This goal is achieved by embedding the kjsembed component to implement the Javsscript interpreter. We prefer JavaScript over other script languages for the sake of Javascript's simplicity and popularity. Furthermore, kjsembed isquite handy, we can expect kjsembed has been deployed with kde installation.
After kontact launches all components(aka "plugins" in kontact souce code), the script engine would expose these components to the global space, 3rd party scripts is able to enumerate the loaded components throught this interface.
Several scripts are developed to manipulate the objects for test.
- Implement plugin subsystem
It is natural to glue the components throught built-in signal/slot mechanism. We now assume that the scripter developer know the interface of the components, furhter effort may focus on how to self-document one component like python or Microsoft VBA.
We would like to contact the componnent developers about the "high level" signal, such as TaskCompleted, as well, to facilitate the collaboration of different components.
Test cases are developed to verify that the communication works beyond the C++/JS boundary.
- Developer-friendly feature
We hope we could release a kontact-plugin plug-in for kdevelop if we have enough time. At least, we are going to provide poor man's debugger, some logging/output utilities.
Project Schedule
This project might take two months. We are going to finish the 1st phase on June 25, and complete the phase 2 on July 15.
Motivation
I am a big fan of "Get things done", aka GTD. I use TODO, Appointment to manage my daily life. As far as I know, there is a commercial GTD Outlook Add-In from David Allen Com. (http://www.davidco.com/productDetail.php?id=63&IDoption=20). It would be very nice to implement this feature on Kontact if kontact supports plugin and scripting features.
KPart has played a very import role to show the power of integration, plugin/scripting would demonstrate the beauty of collaboration.
[ Edit ]