A guide to autoassignment


Autoassignment is a way to sort material automatically into ecco folders depending on its content. It's useful and powerful in all sorts of circumstances - for instance, we want Ecco to recognise that web addresses are special, and put them into the "net location" folder so that they can be double-clicked and then visited at once.

Autoassignment is where most of the hidden magic powers of Eccoext are concealed and it needs clear and careful documentation. There is some in the Eccoext.eco file that comes in eccoext.rar, but it is very well concealed: in version 3.6.2, for example, it is item 76 in the change log. It is, however, written for hard-core geeks. I have copied it here and if you are fluent in regular expressions or pattern matching you can go there straight away. The rest of this page is for people who are not.

The non-geek version


Like everything else that computers can do, autoassignment proceeds by rules. That's not the way we express ourselves in natural language. So to get from what we want ("do something clever and useful") to what the computer can understand is a two or three step process. First decide what you want; then turn it into a set of rules; then translate those rules into eccoext.

Eccoext understands only rules that say If this do that
More particularly, its rules all have the form: if some thing is true about some item in ecco, perform some action.

An example: in natural language you want to move all todo items more than three days overdue to a folder marked urgent


The wish can be rephrased as a rule:
if any to-do item is more than three days old, put it in "Urgent".

Which is then turned into Eccoext

++:+:[Urgent]:[To Do]>(TODAY-3)

That last step is the magic one, and needs unpacking ...

All eccoext rules have the general form:


++:/*flag*/:/*expression*/:/*condition*/