Le 31 mars 05, à 16:21, Nicolas Roard a écrit :

Le 31 mars 05, à 07:29, Stefan Urbanek a écrit :

- Do we have to serialise objects, make them accessible by shared memory
or by distant objects or by other ways?

For the moment, serialization/NSPasteboard is enough, but perhaps in more
complex cases we would like to have shared memory..
distant objects could be another solution, depending of what we want.

DO serializes objects too. At some point, we will probably need to hack shared memory support to NSPasteboard mechanism because live shared data with a 50 MB image relying on current pasteboard implementation is unrealistic. Advanced components architecture may need DO tweaked with shared memory support too --> https://mail.gna.org/public/etoile-dev/2005-03/msg00024.html

- Do the objects have to be written on the disk to be shared or can they
be shared directly in live application as anonymous objects with known
structure?

they shouldn't need to be written on the disk

For sure.

- Are those mechanisms currently public or not? Which of those
mechanisms can be made public and how? (for example: exporting handled
pasteboard types of an application and documenting contents of the data
in the pasteboard)

For NSPasteboard, there's a list of common pasteboard type; etoile will perhaps
some types to that list.

Yes

- What are advantages AND disadvantages of certain method? -> What are
methods suitable for and what are not?

Well, if we use NSPasteboard, the advantages are that:
- it's easy
- it works
- it's powerful

I don't like so much NSPasteboard API, but it could be worst.
I wouldn't summarize it just by saying "it's easy" and "it's powerful". ;-)

the disadvantages are:
- it will only work for gnustep apps

Not really a problem, we could implement some limited compatibility with other applications.

- it can be inneficient

We need to do some experiments to know how much we can tolerate.

- it only answer the "communication" problem -- not the "embedding live component" problem (although, it answers the "embedding component" problem using NSDataLink)

First step is to support shared components, next step will be live components which is way more complicated.

- Who will define the roles? Are they going to be
etoile-cetralised/standardised or user definable or both?

probably both I think. Although we should define a lot of them for etoile.

Yes both.

- Is there any hierarchy of roles? If yes, it is only one hierarchy or
can be there more? Or can the roles be grouped randomly?

I'm not completely sure; I first thought of a hierarchy, but in fact, it's perhaps
not needed and over complex (we discussed that on irc if I remember).

Hierarchy of roles will be needed when we will support rich data types in order to bind applications to documents. It will be useful too when we will have true components support, but for our first step with composite documents (relying on NSDataLink) I think it's probably too much complexity.

3) scriptability : one virtual object environment

Another aspect is of course easy scriptability of the environment --
ideally we want to provides the illusion of cooperating objects over
applications. Exactly what StepTalk does : Étoilé applications should
have a good StepTalk support.

- How should application advertise its scripting capabilities?
(partially answered)

They should advertise it to StepTalk ?

Yes.
I would like to have an Objective-C language bundle for StepTalk, I would say it's possible ? For people who don't want to learn Smalltalk for example and may be more importantly to be able to reuse Objective-C code time to time.
I need to dig deeper in StepTalk ;-)

Actually, something that could be interesting too would be to have XMLRPC proxies for the objects advertised -- so anything would be scriptable directly
from more or less any programming language.

That's light CORBA support in some way but with XMLRPC ?
That could be really nice.

Databases:
- What standard shared databases shoud be in the environment?
(Addresses, bookmarks, communication (emails, IMs), notes, ...)

In fact, I'm wondering if Addresses/Bookmarks shouldn't really be only one big database conceptually.. "bookmarks" are after all adresses; while with web bookmarks they are just addresses you keep to visit websites, ftp/scp/webdav bookmarks are addresses you can interact with (send information to) -- joining the idea of a network-centric environment.

Not sure it's really a good or needed concept

- Who defines the structure of the standard shared databases?
- How can be the standard structure customised? (userInfo dictionary?)

I don't think the user will really need to store customised structures (ie, he won't do it by hand, he'll use an application). And an application could easily define new formats; An application could say, I want to store this structure in the database.

Yep.

Components:
- What should be the API for components to be shareable between more
apps?

that remains to be defined :-) -- Quentin ?

:-)

That's the most complex part of Étoilé… I would like to release one or two early Étoilé version before working really on component stuff APIs.

I guess it will depends of the problem domain too -- we'll have specialized components in addition to general components.. For example, filtering components working on images or sound..

Also, I must say that using NSDataLink and NSFilter will give us embedded components for free.. *not* "live embedded components" but I think thoses are not all that necessary (even if we should have them).

For application components, I started to list what could be really useful components. I think this list should be used as a flexibility check list when we will start to write API.

Application components list here:
http://www.dromasoftware.com/etoile/mediawiki/index.php? title=Service_components

- Should the applications have environment-provided mechanisms for
loading extensions/plugins/bundles/modules?

probably, for loading components.

That's a really tricky part too (taking in account possible application/component duality), we already talked about this topic in February. iirc Stefan you replied to my last mail in the thread "First step toward document orientation" saying you needed to think more before to be able to give me a real reply. Have you been able to find some time to think about it ?

"First step toward document orientation" reference:
https://mail.gna.org/public/etoile-dev/2005-03/msg00024.html

Quentin.

--
Quentin Mathé
[EMAIL PROTECTED]


Reply via email to