Talk track filtering

Michael Allan mike at zelea.com
Sun Oct 21 22:29:26 EDT 2012


conseo said:
> Ok, but currently I only have the difference key information in my
> data. I would need to add the mailish-username for a and b,
> e.g. aUser and bUser and put them in the db (they are static).

Possibly, or whatever else makes sense.  The info you need might also
be fetched on the fly from the wiki, or maybe even DiffCache (?) for
speed.  I forget how DiffWAP does it, but it's probably worth a look:
http://zelea.com/project/votorola/_/javadoc/votorola/s/wap/DiffWAP.html

> ... It definetly feels wrong to change the difference key to some
> user-input actor of the view to not trigger state changes in the
> stage. I can do this if it is needed.

Best not do it, then.  Let the problems surface (if any) and deal with
them in the light of day.

> NOMINAL_DIFF is static and references an invalid final
> difference. What do you mean with ""latest diff" on server."? Which
> latest diff of mine? The newest message relating to the
> selected/staged user?

I mean in terms of draft revisions (sorry).  If one author edits his
draft, then NOMINAL_DIFF refers to the latest diff *including* that
edit.  It might not be known to the harvester, yet.  It might *never*
be known to the harvester.

> >   * Non-anchoring author of the pair (on stage) is not the
> >     non-anchoring author of the scene diff, i.e. not [sceneName]
> >
> >     This matters because nominals are only used when going outside
> >     of the scene diff.
>
> You should add that definition of "nominal" to
> NominalDifferenceTargeter.isEnabled() doc, I had difficulties to
> understand the concrete meaning of "nominal" targeting in javadocs
> until I read the statement above. All cases should be mentioned
> imho.

Sure, once the dust settles. ;^)  Seriously, none of this is final.
We gotta try it out.  I probably said too much about the problems I
*expect* we'll run into, so that's my fault.

> Wouldn't it be easier to handle all this that when I call
> Stage.i().setDifference(someKey)? I feel a bit lost how this belongs
> in the TalkTrack. I guess what we need is some kind of
> difference-key parser deciding how to react on staging new
> differences, no matter who is staging them, but depending on
> context. It needs to know both mailish-user names, aUser and bUser,
> of the difference to compare them to the stage actors and decide its
> own "selectand".

Let's wait and see if there are problems.  Aside from the filtering
patterns we already agreed to, and common staging conventions (don't
stage unless you provide an un-stager) there are no requirements for
the talk track as yet.  It should all work together (more or less) no
matter how you stage your diffs, or react to diffs staged by others.
It should be robust.

Mike


conseo said:
> Hi,
> 
> > 
> > My side is finally coded.  
> Cool!
> 
> > Some suggestions for your side:
> > 
> > Selectands
> > ----------
> > The diff light is picky about selectands, so you may need to adjust
> > them when staging your diffs from the talk track.  Generally when
> > there's a default actor (pinned anchor), you should stage your diffs
> > with the anchor as selectand, i.e. so the anchor is unchanged when you
> > land on the bridge.  That's how the diff light stages them in drafts.
> > 
> > But it works the other way on the bridge itself.  So if you detect
> > you're on the bridge (look at global voc.pageJClass), then you should
> > probably stage them with the other author as selectand.
> > 
> > If you stage a diff that looks wrong to the diff light (e.g. an older
> > diff that the user clicked on), then the light will style the link
> > white in the link track, as a hint that it's unrelated to the diff
> > currently lit.  (You'll see what I mean.)
> 
> Ok, but currently I only have the difference key information in my data. I 
> would need to add the mailish-username for a and b, e.g. aUser and bUser and 
> put them in the db (they are static). 
> I am wondering though, whether it makes sense to store that computation to 
> adjust the selectand (data) before setting the key in the TalkTrack, instead 
> of putting the code into the Stage and make it ignore the selectand either if 
> there is a default actor (leave it) or if we are on the bridge (set actor to 
> opposite user). It definetly feels wrong to change the difference key to some 
> user-input actor of the view to not trigger state changes in the stage. I can 
> do this if it is needed.
> 
> > 
> > Nominal diffs
> > -------------
> > When you're responding to diffs staged by the light (other side of
> > coin), you may see NOMINAL_DIFF:
> > http://zelea.com/project/votorola/_/javadoc/votorola/s/gwt/stage/link/Nomina
> > lDifferenceTargeter.html#NOMINAL_DIFF
> > 
> > For instance, you'll see it on the bridge when the user selects an
> > author outside of the pair shown in the diff scene (which also happens
> > to put you into pair filtering mode).  NOMINAL_DIFF means "latest
> > diff" on the server.  You need to decide whether to style your own
> > latest diff as selected/staged.  The simplest thing is not to do that.
> NOMINAL_DIFF is static and references an invalid final difference. What do you 
> mean with ""latest diff" on server."? Which latest diff of mine? The newest 
> message relating to the selected/staged user?
> 
> > 
> > If you do, then (for sake of symmetry) you must not stage that same
> > diff if the user clicks on it.  Instead you must stage NOMINAL_DIFF.
> > Specifically you would stage NOMINAL_DIFF when:
> > 
> >   * Nominal targeting is enabled
> >    
> > http://zelea.com/project/votorola/_/javadoc/votorola/s/gwt/stage/link/Nomin
> > alDifferenceTargeter.html#isEnabled()
> > 
> >   * Pair filtering is in effect
> > 
> >   * Non-anchoring author of the pair (on stage) is not the
> >     non-anchoring author of the scene diff, i.e. not:
> >    
> > http://zelea.com/project/votorola/_/javadoc/votorola/s/gwt/stage/vote/Diffe
> > renceLight.html#sceneName()
> > 
> >     This matters because nominals are only used when going outside of
> >     the scene diff.
> You should add that definition of "nominal" to 
> NominalDifferenceTargeter.isEnabled() doc, I had difficulties to understand 
> the concrete meaning of "nominal" targeting in javadocs until I read the 
> statement above. All cases should be mentioned imho.
> 
> > 
> >   * User clicks on your latest, and you think it is latest on server
> What "latest"?
> > 
> > 
> > So there it is...  Let me know how it works out.  I'll doc it later in
> > the code.
> > 
> 
> Wouldn't it be easier to handle all this that when I call 
> Stage.i().setDifference(someKey)? I feel a bit lost how this belongs in the 
> TalkTrack. I guess what we need is some kind of difference-key parser deciding 
> how to react on staging new differences, no matter who is staging them, but 
> depending on context. It needs to know both mailish-user names, aUser and 
> bUser, of the difference to compare them to the stage actors and decide its 
> own "selectand".
> 
> conseo



More information about the Votorola mailing list