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
