[Kde-pim] Notes in KDE in the future
Brad Hards
bradh at frogmouth.net
Tue Nov 3 05:57:06 GMT 2009
On Monday 02 November 2009 23:28:33 Stephen Kelly wrote:
> KJots currently stores top-level books in an xml format. The entire
> heirarchy below a top level book including its child books is stored in one
> file. The data is pretty much always converted to html, not giving the user
> a chance to make a note plain text only. On the other side, it is not
> currently possible to store images and other media like sounds for example
> in kjots notes.
I'll just throw in a couple of comments about how notes are handled in the
exchange protocol (i.e. will need to be converted to in the openchange
resource). A note is just like an email or appointment - conceptually its a
row in a table on the server, where the columns are different properties (of
distinct types, and possibly multi-valued). The difference is in what
properties are allowed / required for each type of groupware object.
Notes in exchange (and hence outlook) are basically sticky note equivalents.
They have (in addition to the standard things every groupware object has):
1. a suggested background colour (blue, green, pink, yellow or white),
although in some versions of outlook the note category takes precedence over
this property.
2. A size (height / width, in pixels) and a position (x / y, in pixels) for
display.
I haven't yet investigated what outlook will do if they aren't present.
The note is supposed to have a subject (presumably a short summary of the
note). Outlook notes are plain text, but servers can often convert HTML or RTF
representations - probably need to test this.
No attachments (the spec says MUST NOT, so presumably that will cause problems
with some form of outlook or exchange server).
[If you're interested in the spec, a google search for MS-OXONOTE will
probably produce a link to MSDN, where you can view it in HTML or download the
PDF].
I'm reasonably comfortable that I can extend the server object set to support
arbitrary objects, although obviously outlook won't show the interesting
bits.
> As a starting point for allowing such things, I've started to convert kjots
> in the akonadi ports branch to use mime messages as notes. This has several
> advantages especially relating to akonadi, because we already have the
> kmime library for handling mime messages, akonadi has a serializer for
> mime messages, having different messages of different mimetypes is normal
> in mime, eg text/plain, text/html, and multipart/related for text with
> media.
So the concept here is that a backend can provide whatever MIME format it can
handle (which might be just text/plain) and kjots will display it.
> There are also several good storage solutions for mime messages, like
> maildir for example which allows storage of a heirarchy of notes. We
> already have a maildir resource in akonadi, so it was possible to subclass
> that and use it for notes too. All I had to do in the subclass was make it
> use a different mimetype, text/x-vnd.akonadi.note to differentiate from a
> resource holding actual mails. Volker already made it possible to store
> the notes on a kolab folder too.
Exchange / openchange can also do notes in arbitrary folder structures.
> For the above re-use of existing akonadi code I think it would be a good
> idea to use mime structures for notes. For applications, this means dealing
> with KMime::Message::Ptrs, which are boost::shared_ptrs instead of whatever
> notes class was used before. This is not very convenient, so it might be
> possible to make some more convenient API for handling notes which doesn't
> need all the complex stuff in kmime. The applications of course don't care
> if the notes are in maildirs or on kolab if they just retrieve them from
> akonadi.
Do you have an example of what the convenience API would look like?
> One of the nice things about that is that a particular plasma activity
> could show a particular collection of notes, including only notes
> annotated in a particular way by nepomuk. So you could have your
> "organizing the football team" plasma activity show the notes associated
> with the task or project "organizing the football team". Sebastian Trueg
> has mentioned before that simple tags shouldn't be used here, because tags
> are "stupid static strings", and something like tasks can have more
> meaning in nepomuk.
Stupid static strings is probably a fair assessment, but some of us don't have
nepomuk everywhere. So support for using simple static strings (even if they
get converted in awesome nepomuk strings later) is probably important.
I cut a bit of nepomuk stuff here that I don't understand fully, but I do have
a question about what the user sees. Lets say I have two separate desktops
(e.g. work and home), and I can (somehow) access my work groupware server from
both desktops (and perhaps some extra stuff like my private IMAP account, and
the gmail account that gets the not-safe-for-work stuff). However I don't have
a common filestore. If I create some tags on a note at work, what do I get at
home?
Brad
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list