Barry Warsaw writes:
I don't see any reason why it couldn't be mapped to a REST API; it's just a lack of need, and nobody's written it yet. The question is whether IUserManager is actually the right API for a REST interface - in general I don't think you need a 1-to-1 mapping of internal model or APIs to REST.
My suspicion is that in particular (ie, when addressing a specific set of requirements) you don't need a 1-1 map of internal APIs to REST. But if you want World Domination (and you have expressed that ambition on occasion), you need a system that grows new complex functionality organically. That, I think, means that we want various parts of the system to cooperatively build a single database that is offered to all components.
If you want to say, OK, I'm not really serious about that, that's fine by me: we *need* a killer MLM, and Mailman 2 isn't it (any more). But if you want to try for World Domination, I think the database (ie, the "social network engine") is the one component that's going to make or break that enterprise.
We've just planned ahead and made the relationship between members and the mailing lists based on the fqdn_listname of the mailing list[*].
This should be the List-Id. RFC 2919 essentially says that the mapping of "mailing lists" (whatever *they* "really" are) to List-Ids is 1-1 by definition. I think that in practice this is probably going to work well, in the sense that people who thoughtlessly initialize a new List-Id when they migrate domains probably don't think (much) about the fact that it's a new list, while people who take the care to keep the same List-Id surely do care about the list's identity.
zope.interfaces, just that we have to be able to implement the methods and properties defined in these interfaces using REST calls.
Probably a good start would be:
- IAddress
- IMember
- IRegistrar
- IRoster
- ISubscriptionService
- IUser
- IUserManager
This list kind of worries me -- it's very specific and fragmented. Is there a higher-level way of doing this mapping?
[**] Hey Florian, continuing on a theme, maybe "Vicious". Get it? :)
I see ....