<div>Hi Chris,<br></div><div><br></div><div>Thanks for your clarifications.</div><div><br></div><div><br></div><div>You are absolutely right about the fact that it is madness to launch a query which would load 7000 items. I was just trying the limits of the system. Furthermore, I am coming from a Java world where we use a relational db every day; there I&#39;m used to filter out of millions of entries some objects you need, and this relational database is actually very fast at that. The point you make about linking the TODO&#39;s to a specific user is off course the way you would do it in an object database using a rich domain. The idea about moving TODO&#39;s from one collection to another collection (the history) is also sound. Instead of changing the status field on a TODO (and filter on that status), just move it to the history. Like this, you never end up with a collection of many thousands of items. Just need to think more OO when modeling the domain. And don&#39;t care how it gets persisted :-).</div>
<div><br></div><div>The &#39;toy&#39; projects I&#39;ve created with Magma don&#39;t have a rich domain. But on my job we&#39;re investigating Smalltalk/Seaside &amp; we&#39;ve decided that we will use Magma as a database. We are building a kind-off bigger POC. (<a href="http://www.squeaksource.com/SunnysidePlanning2">http://www.squeaksource.com/SunnysidePlanning2</a>).<br>
</div><div><br></div><div><br></div><div>| Hmm, I pretty sure it can&#39;t know which of the 6065 elements matching a<br></div><div>| complex query expression the lowest of a particular key..  Sorry.</div><div><br></div><div>
If I understand you correctly on this, it means that even if the sorting for instance says: 200/2999, that if I read the first 20 items, these might still change afterwards, so I should warn the user that these are preliminary results. Or offcourse use #sortedBy:.<br>
</div><div><br></div><div><br></div><div>Kind Regards,<br></div><div><br></div><div>Bart</div>