Re: Plugin interface questions



On Thu, 2003-02-27 at 23:50, Jody Goldberg wrote:

      gnumeric/doc/writing-functions.sgml

Ok, thanks, looks a lot like the core Excel stuff
(unsurprisingly :).

b) The python specific aspects of things.
    The web page you site you mention is a good overview.  You
    should note that the function name is _not_ magic.  It is
    specified in the plugin.xml file (or the plugin.xml.in if you
    want things translated).

That's not the way I read the code, python.so has
someconfdir/gnumeric_startup.py
hardcoded, and this file has $HOME/.gnumeric/rc.py hardcoded.
Only python.so is in the XML.

But there seem to be multiple python plugin architecture
only the old one seems documented.

Looks easy to improve things here :).

c) The primary interface for adding functions is actually the C
   interface.  Python is supported as a useful prototyping tool, but
   for serious analytics we assume you'll want to avoid the
   overhead.  [...]

Well for our kind of "serious" we decided about 5 years ago to offload
our computation from function like spreadsheet (at the time
it was the Wingz one under AIX but we migrated to Excel) to a linux
cluster, the cluster has grown from 8 400MHz pentium to a few hundred
modern pentium, and even there it takes minutes, hours or days... 
The only thing we use the spreadsheet for is for RAD and input/output
display, basic sums, etc...

There's only one spreadsheet function and one hundred lines of C to
enable our archicture on a new spreadsheet so no issue there.
The "serious" code is several times the size of gnumeric, it has
its own scripting language, ...

I'll talk more with Ximian on this.

Note that I took python for RAD as a start point but we can use anything
there including Mono which looks promising :).

To summarize: we're talking macros, not functions :).

A more complex solution to allow external notification
would be possible, but I would worry about the implications for the
calculations, silently changing the behaviour of the calculations is
a bit scary.

That's easy, you accept register only when idle recomputation-wise. More
complicated things are more complicated and so less interesting :).

The main changes between 1.0.9 and 1.0.12 related to working around
libxml1 breakage with non-ascii characters.  You may want to update
when you start putting french text into spreadsheets.

Everything is english, as I said it's used worldwide (but it would
be nice that our Tokyo guyes can enter their stuff in Japanese :).


The development series (1.1.x) is fairly stable and will be freezing
in preparation for release shortly.  There are lots of new features,
including clean support for real time data feeds.  There is also one
feature regression, graphs, I'm still working on those and hope to
restore them shortly so that we can release.

We do custom graph modules for advanced stuff but it would
be nice to have an equivalent of Excel standard graphics there.

The last time I compiled GNOME stuff was a few years ago and it was
quite an adventure at the time :). I'm aware that there is
now documentation and scripts, any pointers on up to date
and usable docs/tutorial/scripts? (I'll probably
find out with google but there might be things
to avoid not yet documented on the web :).

Hope that helps

Greatly, thanks!

    Jody
-- 
Laurent Guerby <guerby acm org>




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]