ok, my opinion (I already told vivia) :
- NO PLUGIN, it should all go in the core
- do not fetch at connect, you should fetch the xml ONLY when the user clicks 
(in the meantime, showing a please 
wait message like WLM) 
- HSB means has blog, yes, but it seems it also means "blog is updated", so ALL 
contacts' xml should be checked 
(now, ::MSNCCARD:: can only check for users with HSB), and those with HSB need 
the star in the CL to show their 
blog is updated..
- BPR can be of 2 forms  :
BPR HSB 1 (during connect, for last login name)
or 
BPR [EMAIL PROTECTED] HSB 1 (if updated while logged in)

so we must first test this then make sure BPR is handling correctly for both 
cases in the protocol, then make 
sure when we receive new user info with second BPR form, we update CL and add 
the star next to the user in the 
CL (and delete the cached version of the ccard xml IF it was already fetched by 
user request).

apart from that, good job so far... going back to playing dead, good night!

KKRT



On Thu, Jan 11, 2007 at 09:26:46PM +0200, Vivia Nikolaidou wrote:
> 
> Hi,
> 
> I implemented a few procs for this, you can find those in my commit logs. 
> We might want to add support for tooltips, modified date, styles (pixmaps 
> + colors) etc, but that should be easy by copy-pasting and small code 
> modifications. Now, what's left to be done: (at least, that's the way I 
> see it - Youness? your comments?)
> 
> -> Use Karel's contactcards plugin
> (http://karel.demeyer.googlepages.com/ccard.zip - it's a piece of art, 
> really :D). 
> 
> -> On connect, we fetch the contact card info: set has_space
> [::abook::getVolatileData $contact HSB], if has_space then getContactCard 
> and setVolatileData $contact ccard [xml2list $ccard]. Part of this code is 
> in proc InitCCard, a list called users_with_space, should the rest of the 
> code go there?... (This CANNOT be done when we open a ccard because we 
> need to know when someone has updated the MSN space before opening the 
> contact card!)
> 
> -> Use the procs I created to fetch contact card info and display it on
> the ccard when it's opened. Should be a piece of cake for someone who 
> actually knows how to place stuff on the GUI, but personally I suck at 
> this and I'm afraid I'm going to destroy this plugin!
> 
> [At this point, we can claim that we have some (primitive but usable) MSN 
> Spaces support]
> 
> -> Find some pretty way to display something like a star for "has updated 
> MSN space" (using getUnreadFor, I guess)
> 
> -> IIRC from what I read on msnpiki, we receive some xml crap when someone 
> updates his/her msn space while we are connected, so we need to re-fetch 
> contact card and re-store it on abook.
> 
> Waiting for your comments (and code contributions :D)
> 
> Vivia
> 
> On Fri, 8 Sep 2006, Youness Alaoui wrote:
> 
> > Hello all...
> > I just love SOAP requests!!! the most annoying thing is the authentication, 
> > but now that it's all done, it should be fairly easy to add 
> > new stuff... like msn spaces.. it's been so long awaited but it's finally 
> > here!!!
> > well.. not completly.. the protocol part is done, we still need the GUI 
> > part + a little XML parsing magic... as I said in my commit log, 
> > I'll send a msg here to explain the XML and how to use the Xml parsing 
> > functions... well, it's simple.. in the attached mail, I've put 
> > an XML file returned by ::MSNCCARD::getContactCard $email ... I hope that 
> > user won't mind... I cropped some of the info... anyways, I ask 
> > for 2 elements, and he has two elements, one is the 'myspace', the second 
> > is his album... he also might have had a blog... anyways, each 
> > element has some some info about it.. first, it's type as an attributes, 
> > then as entries : title, url and totalNewItems ... it can also 
> > have subelements... each subelement has as attributes a type and a 
> > lastUpdated field... it also has a description, title, tooltip, and url 
> > tags.. depending on the type of subElement (in the attached example, it's a 
> > Photo from an Album element) we can have a thumbnailUrl, 
> > webReadyUrl and albumName entries... 
> > To access all those informations using the Xml APIs I wrote, it's easy... 
> > you have only 3 APIs :
> > GetXmlNode
> > GetXmlEntry
> > GetXmlAttributes
> > 
> > ok.. they all take as argument an xml list... so when you have your xml as 
> > string, do a :
> > set list [xml2list $xml]
> > then call the APIs.. first one, GetXmlNode takes an xml list and a node 
> > path and returns a list representing that node.. example :
> > set x [GetXmlNode [xml2list {<node1> <node2> <node3> hello </node3> 
> > </node2> </node1}] "node1:node2:node3"]
> > puts "[list2xml $x]"
> > would print something like : "<node3>hello</node3>"
> > 
> > now, as you saw, the 'node path' is a ':' separated list of tag names... 
> > the same syntax as sxml... simple! :)
> > Now let's see... assuming you have <node1> <node2 /> <node2 /> <node2> I 
> > want this one </node2> </node1>
> > you can get that 3rd one by calling :
> > GetXmlNode $xml "node1:node2" 2 
> > (first index starts at 0)
> > now, the same for GetXmlEntry, only it returns the content's of a node, so 
> > on the previous xml, a [GetXmlEntry $xml "node1:node2" 2] would 
> > return "I want this one", you can also specify which element you want by 
> > adding the index number (optional) in the end...
> > the same principle applies for GetXmlAttribute... 
> > 
> > Now for the attached Xml, you can use some simple combinations of 
> > GetXmlNode/Entry/Attribute to get everything you want... you should be 
> > able to get anything using the getXmlEntry API, but the GetXmlNode might 
> > become handy if you need a specific element.. example, you have 
> > many subElements, in both <element> and you don't know which index it 
> > starts for the album.. so you can do a GetXmlNode to get the 
> > "element" tag, then do a GetXmlAttribute to get the type of the element, 
> > once you get the album, you do a GetXmlNode to get each 
> > subelement of the node, then you work with it with GetXmlEntry ... 
> > Here's an example so you can understand it better :
> > : set xml [::MSNCCARD::getContactCard [EMAIL PROTECTED]
> > : set list [xml2list $xml]
> > : GetXmlAttribute [GetXmlNode $list 
> > "soap:Envelope:soap:Body:GetXmlFeedResponse:GetXmlFeedResult:contactCard:elements:element"
> >  0] ":element" type
> > SpaceTitle
> > : GetXmlAttribute [GetXmlNode $list 
> > "soap:Envelope:soap:Body:GetXmlFeedResponse:GetXmlFeedResult:contactCard:elements:element"
> >  1] ":element" type
> > Album
> > : GetXmlEntry $list 
> > "soap:Envelope:soap:Body:GetXmlFeedResponse:GetXmlFeedResult:contactCard:elements:element:title"
> > Mathieu's space
> > : GetXmlEntry $list 
> > "soap:Envelope:soap:Body:GetXmlFeedResponse:GetXmlFeedResult:contactCard:elements:element:url"
> > http://tchatcho84.spaces.live.com/?owner=1
> > 
> > etc.... it's a combination of GetXMlNode, GetXmlEntry and 
> > GetXmlAttribute... your job to parse that now... you see why I didn't want 
> > to 
> > parse it.. then I'd put it in an array and it would be complicated.. while 
> > I think all the data in there is related to the GUI and it 
> > should be parsed at the same time as the GUI is being built... 
> > 
> > Have fun!!! and good luck!!! 
> > now.. what should I code next... ^o)
> > KaKaRoTo
> > 
> > -------------------------------------------------------------------------
> > Using Tomcat but need to do more? Need to support web services, security?
> > Get stuff done quickly with pre-integrated technology to make your job 
> > easier
> > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> > _______________________________________________
> > Amsn-devel mailing list
> > Amsn-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/amsn-devel
> > 
> 
> 
> ---
> 
> "Where is the life that we have lost in living?
>  Where is the wisdom that we have lost in knowledge?
>  Where is the knowledge that we have lost in information?"
> 
> OEO;
> 
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Amsn-devel mailing list
> Amsn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/amsn-devel

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Amsn-devel mailing list
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel

Reply via email to