ok Karel, I just saw one of your commits :
if {$has_new == "true" } {
+
::abook::setVolatileData $email space_updated 1
+
::Event::fireEvent contactSpaceChange protocol
$email
+ } else {
+#FIXME: #this
line might not be needed
+
::abook::setVolatileData $email space_updated 0
+ }
+
}
this here, the 'else' should have the same event fired because we might call
this function to refresh the blog
info and we need to update the space_updated variable AND contactSpaceChange,
there's no reason for us not to do
it.
What we could do though is :
if { $has_new != [abook::getVolatileData $email space_updated ""] } {
set fireevent 1
} else {
set fireevent 0
}
...
if {$fireevent } { ::event::fireEvent .. .. }
Then I saw this code here :
method handleNOT { command payload } {
#save the spaces notification here
set contact [lindex $command 1]
- status_log "got spaces notification for $contact"
+ status_log "got spaces notification for $contact ($command)"
+ ::abook::setVolatileData $email space_updated 1
+ ::Event::fireEvent contactSpaceChange protocol $contact
}
I know the previous code wasn't very easy but it's wrong, the $contact is SO
not the real contact lol..
actually, to get the contact name, we need to parse the xml received, get the
<BODY> tag, which is itself
another XML (so change all < and > to < and >) then parse that XML to get
the CID then from the CID you
can get the user's email.
I think the best is that, on a notification, we just go and call InitCCard
again (which is why I said earlier we
need to fire the event, don't assume it's always gonna be 0 by default)
KKRT
On Sat, Jan 13, 2007 at 12:59:48PM -0500, Youness Alaoui wrote:
> ok.. NWM, this is speculation :p
> actually, when you access someone's spaces, or when a new item is posted, you
> receive a notification (via the
> NOT command), search for this line :
> protocol.tcl: status_log "got spaces notification for $contact"
> you'll find where it is received.. the <BODY> of the notification is an xml
> similar to the one that we first
> receive to get the last modification date, the resource id and whether there
> is a new item in the spaces or not.
> So I suppose that once you open someone's ccard, when we fetch that
> information from the server, we'll receive a
> NOT notification that tells us that we have no more new item
> (<HasNewItem>false</HasNewItem>) that's when we
> remove the star.
> Actually, on that 'NOT' notification, we should update the
> ::abook::getVolatileData $email space_updated, then
> send the event about the spaces info having changed, and the CL should
> automatically either add or delete the
> star depending on what the notification contained (if someone updated his
> blog we get a notification this way
> too).
> that's about it! :)
>
> KKRT
>
> On Sat, Jan 13, 2007 at 12:34:17PM +0100, NoWhereMan wrote:
> >
> > ----- Original Message -----
> > From: "Karel Demeyer" <[EMAIL PROTECTED]>
> > To: "Mailing list for developers and everyone helping AMSN"
> > <[email protected]>
> > Sent: Saturday, January 13, 2007 11:57 AM
> > Subject: Re: [Amsn-devel] Contact Cards and MSN spaces
> >
> >
> > >I just implemented an Event for a changed space. Now, I was asking
> > > myself ... how do we know when we can unset the star's appearance ?
> > > When do we know the blog is read ? When our user clicks the star ?
> > > Doesn't the protocol let us know when the blog has no unread items or
> > > unseen photos ?
> > >
> > > Karel.
> >
> > in MSN7.5 gleam disappears when you click to see the ccard, so I guess that
> > once you clicked you can set a local variable read($user) to 1;
> > gleams are client-side, so if you set a space to read on a client if you
> > log
> > in from another pc you should still see blinking gleams.
> >
> > about the ccard embedded in CL... I don't know, it would be too
> > "compressed"... how about an in-CL ccard ?
> > http://i18.tinypic.com/2e5mg02.png
> >
> > with a "< back" link to the main cl... I don't know maybe it's even worse
> > than the msn-style ccards :P
> >
> > bye
> >
> >
> > -------------------------------------------------------------------------
> > 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
> > [email protected]
> > 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/amsn-devel