Reposting from https://github.com/k9mail/k-9/pull/558 , hoping to get
more people interested.

Best regards

----------------8<----------------

Some ramblings...

I've been looking into the keyword->tag mapping functionality and how
things would look like in StoreSchemaDefinition and the fetching code.
Initially, I was considering adding three more tables (imap_keywords,
ui_tags and keyword_tag_map), so that any keyword could be mapped to any
tag, consistently. However, ensuring the mappings were consistent in the
DB would require changing the messages.flags column as well, so I put
that aside.

The next idea would be a single keyword_and_tag table, "(keyword TEXT
UNIQUE, tag TEXT)", later possibly with a 'color' field too. In this
case, I'd add the USER_xxxx keywords in lowercase as they came up during
sync, and eventually the user could edit the mappings in a new activity.

Regardless of the design, messages.flags being a multivalued field makes
it a bit cumbersome to simply extend the query and have the tags
magically appear, so I'd probably have to query keyword_and_tag. So what
am I looking for, something inside EmailProvider?

And, finally, another approach that occurred to me was adding the tags
to LocalMessage directly, probably in
LocalMessage.populateFromGetMessageCursor. In this case, I think I need
to create some kind of "TagStore" similar to LocalStore so I can
discover the tags as the keywords appear.

If anyone can explain the current architecture and/or comment on the
approaches above, I'd be happy to read.

----------------8<----------------

-- 
Igor Almeida

-- 
-- 
You received this message because you are subscribed to the K-9 Mail Users List.
To post to this group, send email to [email protected]
To unsubscribe, email [email protected]
To report an issue with K-9 Mail, visit 
http://code.google.com/p/k9mail/issues/list
For more options, visit this group at http://groups.google.com/group/k-9-mail

--- 
You received this message because you are subscribed to the Google Groups "K-9 
Mail" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to