Hi, Am 11.04.2013 01:32, schrieb Bastien: > Hi Christopher, > > Christopher Allan Webber <cweb...@dustycloud.org> writes: > >> I wonder if we had a property that was basically sorting on very large >> numbers? When you add something to the agenda and there aren't any >> sorted items, it creates a property with some median-ish very large >> number. As you move things up and down on the agenda it sorts in random >> ranges between the chunks of huge number space per item. This would be >> a goofy but workable solution? > > I don't know -- it's hard to make sure we speak about the same things > when brainstorming like this. Where would you store the property you > are talking to (for example)? Sorry for the non-romantic question :) >
I have got another idea: all we need for sorting (from a technical POV) is a partial order. Why not store exactly that as a property? Assume every TODO entry has an ID (if it has none and it is required to store the order, just create one automatically). Then if an entry on the agenda is reordered, store in a property (e.g. AGENDA_BEFORE), the IDs of the items that should be sorted after the moved item. To keep things minimal, maybe store only those IDs, which are absolutely required to enforce the desired position. But for an easy and effective implementation, it is also feasible to store all IDs of the currently visible items that should sort after the moved item. Maybe the IDs need to be prefixed with a filename or better a file ID so it works on different machines with different directory layout. Otherwise the IDs would need to be globally unique (which is not bad by its own, when items may move between files.) Regards, Daniel Bausch -- Daniel Bausch Wissenschaftlicher Mitarbeiter Technische Universität Darmstadt Fachbereich Informatik Fachgebiet Datenbanken und Verteilte Systeme Hochschulstraße 10 64289 Darmstadt Germany Tel.: +49 6151 16 6706 Fax: +49 6151 16 6229