Hi all,

At the moment, there's really two things on my mind about the current
Dragonfly URL scheme that I think should be changed. One affects only the
mail handler (view?) while the other affects any handler that uses the
concept of pages.

Firstly, when retreiving a conversation from the server, we get the
conversation order/skeleton along with *all* the data. For large
conversations, I think this would be annoying if you were to use the web UI
and have to wait a while for all the conversations to load. A slightly
better idea in my opinion would to return the results of the CONVERSATION
command (that is, all the messages associated with that conversation), and
display each message as it loads. This would /appear/ faster to the user,
and also give us flexibility if an application only wants a particular
bunch of conversations (eg, the user might have an option where the only
want to display the latest message and hide everything else; in that case,
we'd only ever load the final message in the array, instead of all of
them).

The second relates to the way pages are handled. At the moment, each
resource can be appended with /page1, /page2, etc. The number items that
display on each page are stored as a value in the Dragonfly preferences
document. A better approach would be to have SQL-like limit values in the
URL. For example:

/mail/INBOX/conversations/60/30, which would list 30 conversations with an
offset of 60
/mail/INBOX/conversations/0/30 would list the first 30 conversations
/mail/INBOX/conversations or /mail/INBOX/conversations/0 would list the
first xx conversations (where xx is the default number we allow in a page -
we could make this 20 or 30? We'd probably hardcode this.)

This means that we don't have to rely on setting the preferences file each
time we change the number of items we want to fetch in a page, which makes
performing limits much more sane (again, we might not always want to fetch
a page's worth of items; and makes the code in DF a bit better when
limiting results from store). We could do a simple array slice to limit the
values to something the user has requested; better than looking up with the
preferences document all the time.

I'd also like to discuss how we authentication with Dragonfly, but I'll do
that in another email later (mainly in regards to how we'll implement it
with Avocado and if we need to make changes).

Comments?

Cheers,
Alex Hixon


_______________________________________________
Bongo-devel mailing list
[email protected]
https://mail.gna.org/listinfo/bongo-devel

Reply via email to