Exactly how do Circles work internally on the addressbook side?

Hi all.

If anyone isn’t aware, I’m currently working on getting WLM 2009 coded into Escargot, and a feature I’m focusing on right now is the Circle/Group feature. Right now, the server can create and manage Circles when CreateCircle is called and the client can display the Circles and send the necessary ADL and PUT commands for it to go online (right now this is after an AB query to the individual AB is called when a user relogs in, but I plan to make it work in realtime right after you create a circle soon). What I’m having issues with, however, is displaying the members inside the Circle. Apparently, it uses the addressbook system (on a different addressbook ID, which is the circle GUID), and I have to schematize the data in a certain way. So far, I’ve only gotten to the “Me” entry in that addressbook, which is supposed to represent the Circle’s relay account ([circle-id]@live.com), but that doesn’t solve my problem. I tried adding the Circle owner user as an entry and apply various amounts of contact types to it (“Regular”, “Live”, and “Circle”, at the moment), and I even tried adding the circle relay account as a “Circle” and “Regular” entry, but to no avail.

I have @Cuki87 in contact, who made more progress with Circles than I did, especially with displaying Circle members in the contact list. But he’s been offline an awful lot, and I never asked him about how he achieved this specific scenario before. So right now, I’m at a dead end with Circles. If anyone else has any extensive knowledge of how Messenger handled Microsoft’s addressbook system, specifically with Circles, then I’d appreciate it being shared. I’m really looking forward to getting somewhere with Circles, considering that when I do get the members to display, messaging and other Circle features (Group websites, group discussions, shared photos, and so on) will be another challenge, and WLM 2009 has already been delayed enough. I doubt I’ll get much help, but it’s worth a try. :slight_smile:


Ask the Microsoft community Discord LMAO


Since I’ve already figured out how members are stored in Circle addressbooks, I guess this can be considered a closed case. However, I’m leaving this thread open in case a developer who’s documented the SOAP functions used for Circles has more documentation on Circle addressbooks, in case my interpretation isn’t that accurate (highly doubt it but who knows?). :stuck_out_tongue: