Steven Pemberton, CWI/W3C
John Boyer, IBM (chair)
Charlie Wiecha, IBM
Uli Lissé, DreamLabs
Leigh Klotz, Xerox (minutes)
Keith Wells, IBM
Nick van den Bleeken, Inventive Designers
Roger Perez, SATEC
Mark Birbeck, x-port.net (remote)
John Boyer: We can say it doesn't work; it's my issue. Or we can say what it means. In the second block of markup, those forms don't exist until the xforms-refresh happens. Maybe you have to call rebuild/recalculate/revalidate/refresh to get the setfocus to work properly. But what's going wrong is that the setfocus has the effect of setting the index to the new row of data, in the understanding that the focus will be set to the new control for with the newly-created node of data. I've basically stuck a setfocus in here to be irritating. So what is the behavior of that setfocus supposed to be? In the past, in my implementation, we've had this view of setfocus as being a deferred behavior: it doesn't set the focus right now, but it records a record of what should get the focus on the next xforms-refresh; that's the way we've implemented it. As a result of that, this markup works in the way you'd expect it. The element indicated by I2 in the new row of data gets the focus, but that's because of the way we've implemented it. In the repeat case, the indicated control doesn't exist yet.
<trigger> <label>Send me to I2</label> <setfocus ev:event="DOMActivate" control="I2"/> </trigger> <repeat id="R" nodeset="a/b/c"> <input id="I1" ...> ...</input> <input id="I2" ...> ...</input> </repeat>
Resolution 2007-06-15.1: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=19
, the setfocus, toggle, and setindex actions will run the actions
indicated by the deferred-update flags (which will clear the
flags).
John Boyer: There is no degradation in
performance in this use case, but this is a rational one.
Action 2007-06-15.1: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=19 , John Boyer to fix the setfocus, toggle, and setindex actions to run the actions indicated by the deferred-update flags (which will clear the flags).
Steven Pemberton: ...
John Boyer: At a minimum he wants a
way to change the evaluation context from what it currently is. The
whole issue of ref setting the evaluation context seems to have
caused nothing but trouble.
Steven Pemberton: So value is in the
context of ref.
Mark Birbeck: I remember whichever way
you do it, there are use cases you can't do. In the end that's why
having both a context and a ref is what we needed. The thing he's
proposing here I'm sure you then have a problem with. I can't
remember it. I think it's the individual items.
Uli Lissé: repeat
John Boyer: It's becoming clearer to
me, if we're willing to let of of a principle to which we have so
far held, fast. We often try to make it possible to write the same
thing two ways and being equivalent. We have the same issue in
XForms binds, but sticking to setvalue: let's assume the setvalue
action could have a child element named value. Right now you have a
value attribute. If you tried to add the context attribute to the
setvalue, it's applied before the ref.
Charlie Wiecha: Why before?
John Boyer: Right now it's before
nodeset of insert and delete, and it overrides, so it happens
first. But if we could envision
<setvalue ref="abc"> <value context="..." value="."/> </setvalue>
Resolution 2007-06-15.2: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Action?id=27 we add the context() function to return the in-scope evaluation context for the element containing the attribute containing the xpath expression.
Action 2007-06-15.2: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Action?id=27 John Boyer to add the context() function to return the in-scope evaluation context for the element containing the attribute containing the xpath expression.
John Boyer: There are 16 editorial issues which we accept. There are 3 others.
Action 2007-06-15.3: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=47 John Boyer to handle 16 editorial issues.
John Boyer: We have a delay
attribute on the dispatch action; the default is 0. Dispatch acts
the way it does now. If the delay is set to some positive value,
then the display is a number of milliseconds. Aaron says that
delay=0 would be the shortest delay, non-zero.
Charlie Wiecha: Yeah.
Steven Pemberton: So we have to say
there's a difference between delay=0 and nothing at all.
Leigh Klotz: It's going to take time
anyway to get through the attribute.
John Boyer: The send message and post
message in Windows API parlance...The event immediately captures
and bubbles before returning control, whereas this would say to
post the message immediately.
Leigh Klotz: Queue it? That would be
asynchronous.
John Boyer: Finish the action you're
on. Move the cursor, do UI.
Keith Wells: Isn't this an
implementation consideration?
John Boyer: He's probably not willing
to wait 1ms.
Leigh Klotz: That's what I asked, but
is this asynchronous?
Nick van den Bleeken: If delay=0 is
synchronous and the rest are asynchronous? If that's not the
same?
John Boyer: So in this case, it's
complete processed before the second insert:
<action <insert <dispatch <insert
<action <insert <dispatch delay=<code>0</code> <insert
Uli Lissé: 0 means 0, no
delay.
John Boyer: If the only way I have to
say asynchronous is delay=1.
Leigh Klotz: Is he asking for an
asking asynchronous attribute?
Charlie Wiecha: Rather than
overloading delay?
John Boyer: That's a more interesting
way of looking at it. Didn't we add an asynchronous attribute to
submission? We probably only need it on dispatch. Is this a future
feature? Or a current feature?
Leigh Klotz: Before we say current or
future we need to say whether we have asynchronous, synchronous, or
both now. We say delay=1000 does the second insert happen
immediately?
John Boyer: Yes, so it's
asynchronous.
Leigh Klotz: So we have the
asynchronous feature already, it's just misspelled.
John Boyer: So what about delay=0?
Does it force asynchronous?
Leigh Klotz: It's an edge case.
John Boyer: How about delay takes a
positive argument and asynchronous is separate; then you would
never have delay=0.
Leigh Klotz: So we add an asynchronous
attribute to take over the case of delay=0.
Steven Pemberton: What's wrong with
the absence of the delay attribute being synchronous?
no delay synchronous
Resolution 2007-06-15.3: http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=47 number 3, delay="" is the default and means synchronous dispatch with no delay; and delay="0" is asynchronous, and delay as a positive integer is a delay as currently specified.
Action 2007-06-15.4: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=47 number 3, John Boyer to change so that delay="" is the default and means synchronous dispatch with no delay; and delay="0" is asynchronous, and delay as a positive integer is a delay as currently specified.
Steven Pemberton: If you look at
his trigger myTrigger, the send does the default submission in the
second model. Then he has an html button that he then listens on;
if that happens, then the handler for that is the send withing the
trigger. Is that send still talking to the same model?
Charlie Wiecha: I see. Is it
statically or dynamically scoped?
John Boyer: Is the second model.
Steven Pemberton: He says it should be
the first model.
Charlie Wiecha: We have no runtime
stack to carry that along.
Steven Pemberton: It's the same as if
the send had the model on it.
John Boyer: Except there is no model,
only submission and we made submission optional.
Mark Birbeck: It's like JavaScript
closures.
John Boyer: It's a function
invocation, not a macro.
Mark Birbeck: We'd have to say an
evaluation context is set by the context.
John Boyer: So no change.
Leigh Klotz: I see; Aaron does not
think that we have dynamic scope?
John Boyer: He wants a change in the
feature.
Resolution 2007-06-15.4: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=47 issue 16 we agree that the in-scope evaluation context is determined statically, by the lexical position of the handler definition, and so the secondModel default submission will be used.
John Boyer: Uniformly when we have
the action create UI we expect it to be fresh and up to date.
http://www.w3.org/TR/xforms11/#action-message
Yes, we say it's created at the time the action occurs.
Leigh Klotz: I'll be cranky and say
that static message and dialog are mostly useless. We should have
dialog that can be styled and displayed inline.
John Boyer: So you vote for xf:dialog
in XForms 1.2?
Leigh Klotz: And not to spend much
time on this feature right now.
Resolution 2007-06-15.5: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=47 issue 19 we decide to mirror message.
Action 2007-06-15.5: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=47 issue 19 John Boyer to specify that the user interface for the prompt action is specified at the same time as message.
John Boyer: Mark says it's too
complicated.
Steven Pemberton: This is not the type
of comment we want from an XForms expert.
Nick van den Bleeken: There were some
cases where of the bullet points were unreachable.
John Boyer: What happened?
Leigh Klotz: I don't remember but I'm
sure it's in the minutes.
John Boyer: It seems like there's a
desire to have more actions that do more pointed things. We have
insert and delete and it sounds like worked to look it up.
Steven Pemberton: Is it true that the
current insert and delete are compatible?
John Boyer: Yes.
Steven Pemberton: That's a good thing.
And we fixed the empty problem?
John Boyer: Yes, and that's not
confusing. But we went beyond that and turned into generic DOM
manipulators and that got confusing.
Steven Pemberton: But we do need to
hand that. It's generic XPath.
John Boyer: The insert operation has
historically operated over a collection of repeated elements; it
had the definition of homogeneous elements. Now we've slipped down
the slope to insert a "node" and any number of nodes, and the
nodeset to specify them can span multiple parents.
Steven Pemberton: So Mark, if I try
and summarize your position, would it be better if we tried to fix
the insert empty problem and then created some new stuff?
Mark Birbeck: That feels right to me.
And I think John said that. We have to define all the different
scenarios (attributes, no attributes, etc.) But then you have to
know that in the reverse direction: I want to insert an attribute,
so what do I set for origin, etc.
John Boyer: Is some of that artificial
or not? Is there more benefit to having actions that do the point
operations? You'll still have to look up how to use those
elements.
Charlie Wiecha: Can we simplify it
later?
Steven Pemberton: Or avoid adding the
spike?
Mark Birbeck: Or avoid deleting stuff
later?
John Boyer: It's easier to do that
though.
Mark Birbeck: Insert was more tied to
repeat.
Leigh Klotz: What about leaving insert
as is but defining a few use cases with easier syntax, as we do
with send and dispatch?
Steven Pemberton: We used to do
that.
John Boyer: No, we had them
separate.
Leigh Klotz: So now there's a
framework we can use.
Charlie Wiecha: A higher-level
abstraction.
Mark Birbeck: Is it too much to tie
insert to repeat and to re-introduce duplicate?
Leigh Klotz: And destroy. Mark, why do
you want to re-introduce duplicate and tie insert to repeat?
Mark Birbeck: Because the nodeset ...
is ...
Leigh Klotz: So would you want to
rename insert to duplicate and have the old insert with the empty
fix back, or do you want to rename split up insert into duplicate
and insert.
Mark Birbeck: We should keep insert
because it does everything.
John Boyer: We decided to keep insert
before because duplicate was just about the same. But since then
it's not just old insert, plus bug fix, plus duplicate. I'd love to
go back to origin of the node and inserting one node and the magic
context attribute to fix the empty nodeset issue.
Leigh Klotz: The original attributes I
proposed for insert were simple but we had the problem with empty
nodes and so it got harder. Adding stuff to insert goes back a long
way.
John Boyer: Really we need to copy
subtree from one place to another, not whole nodesets; we have
loops.
Leigh Klotz: Does insert as described
have implementation problems or is it just hard to
understand?
John Boyer: No implementation
problems.
Mark Birbeck: No implementation
problems. It did take me two days to write something though. That's
when we found the attribute problem with Paul.
Leigh Klotz: So we would keep the
insert swiss-army knife and add a few syntactic sugar
actions.
Mark Birbeck: The thing that worries
me is that with insert and origin and nodeset, you can't recognize
the patterns. You have to look at the context of the expression. If
you had copyNodeFromOneTreeToAnother everybody would know what it
does, but I don't suggest we go that far.
John Boyer: The duplicated node case
context=element
origin='some element' that's
duplicating the node. What else could it be doing?
Mark Birbeck: I was saying that insert
in general it's difficult to know what it's doing. I wasn't saying
that that particular action is difficult to achieve?
Leigh Klotz: Mark, is there a list of
a few things we can write as macros?
John Boyer: I think so, but what are
they.
Mark Birbeck: On Leigh's point,
setting or adding an attribute, could be done with setvalue. Or to
duplicate or copy a node.
John Boyer: You don't need to use the
nodeset attribute on the insert to copy a node. I don't think it's
that complicated. Complicated things are complicated.
Leigh Klotz: Then maybe we just need a
table of examples.
John Boyer: A few more. For sticking
with insert and delete, it's like the sticking with the submission.
When you get the new node you get xforms-insert. If you have new
elements they should issue the same events, not new event types for
that particular DOM mutation.
Nick van den Bleeken: It's hard to
figure out what it does in border cases, though.
John Boyer: In some sense our defaults
are too clever. Here's duplicating a node:
<insert nodeset="some/node" />
Action 2007-06-15.6: In #action-insert "Copying an attribute" example John Boyer to remove references to attribute ordering and add explanations to what the examples are doing (insert attribute, copy attribute if exists, etc.)
Charlie Wiecha: I'm not sure I
agree that this is a problem to address in XForms 1.1 last
call.
Steven Pemberton: It's a last call
comment itself; we shouldn't go out the door with known problem, as
we did with insert and empty in XForms 1.0.
John Boyer: This isn't a technical
problem; you can do everything.
Charlie Wiecha: Maybe we make helpers
in XBL outside the spec.
Leigh Klotz: That might work better
than my tests with XSLT.
John Boyer: OK, I'll try to make a
two-column table, and use the same instance data everywhere, and
then have a documented pattern for how to do things.
Leigh Klotz: What about an example in
the appendix instead if this is going to get bigger?
Steven Pemberton: I want to see it
inline.
John Boyer: It's going to get smaller.
Use just one instance?
Steven Pemberton: I'd say it's making
clear to people how to copy from one place to another. It's got to
be clear why to use context and why to use nodeset.
John Boyer: That doesn't have anything
to do with switching instances; do I want to copy into the context
node or copy relative to a sibling. Nodeset is used when you want
to pick one of the children of a node and insert before or after
that node. And context is used when you want to append or prepend a
child inside a node.
Leigh Klotz: Want to add those two
samples in the text?
John Boyer: I don't want to write the
book.
Leigh Klotz: If you have these
examples in a table those two sentences belong in the introductory
paragraph.
John Boyer: Can everybody live with
the fact that we defer creating new actions until XForms 1.2 and
I'll just do a better job of examples?
Charlie Wiecha: I think this is a
defer.
Action 2007-06-15.7: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=51 John Boyer and Uli Lissé to create new descriptive example tables for insert and delete using one set of instance data. In general, nodeset is used when you want to pick one of the children of a node and insert before or after that node, and context is used when you want to append or prepend a child inside a node.
John Boyer: There are two camps.
Those who say that xf:message is able to contain more markup and
those who don't, based on the Schema.
Leigh Klotz: Based on interpretation
of the Schema. And label has the same content model as
message.
John Boyer: ...
Steven Pemberton: So what's the point
of prompt? You can have triggers as well. You can have labels as
well. So why not just change the content model of label?
John Boyer: And the prompt also sets
up something that message doesn't setup. Whenever someone presses
one it dismisses the prompt.
Steven Pemberton: TO use Leigh's
wording, then it's a crock.
John Boyer: Then using message is a
crock as well because you have to have a button to press.
Leigh Klotz: So why not add trigger to
the content model of message and add a dismiss action?
Steven Pemberton: And why not allow
any control action?
John Boyer: Then you're back to the
the spelling problem.
Leigh Klotz: Then just call it prompt
or dialog.
John Boyer: Nobody wants to write the
text. So what you put it in the model-construct-done before the UI
is setup?
Steven Pemberton: We have that problem
with trigger.
Leigh Klotz: So say it can't go in the
model.
John Boyer: If you have a repeat
within the message or the dialog or whatever we call it, then the
events that are targeted have to do a capture and bubble phase. So
is everyone happy with what we've done with prompt, which is that
it stops their propagation?
Leigh Klotz: Why?
John Boyer: The DOMActivate flows up
and out and re-presses the button.
Charlie Wiecha: We spent a day working
through this; I think it makes sense. It was intended a midway
design point.
John Boyer: Nobody has worked out the
spec for dialog. Nobody cares yet about the cases that break.
Leigh Klotz: So can we do what we did
with repeat and switch and say that we think it's OK to
put in other UI elements but we seek feedback.
John Boyer: Worse things have
happened. That's better than using message. If people are happy
with stop propagation of DOMActivate. But we have to stop
propagation of all events out.
Steven Pemberton: I don't know. We
don't want to stop value-changed.
John Boyer: It still does the capture
phase.
Steven Pemberton: I can say that; we
should. A save button that becomes relevant. You have to listen to
that in some generic place.
John Boyer: Are there no technical
problems introduced by letting it bubble up?
Steven Pemberton: I think only
DOMActivate.
John Boyer: scroll-first and
scroll-last for repeat? out-of-range? I think it should propagate
unless we find a technical problem. With prompt I know it's only
DOMActivate because we only have triggers. At least I believed that
at the time. Now that I'm aware that you get xforms-value-changed
events on a trigger if you reference something I'm not so sure
anymore.
Leigh Klotz: Why is this different
from group?
John Boyer: It goes into action
handlers.
Leigh Klotz: Ah, so Orbeon's
xxf:message is a peer to switch/case and you put it in the
UI.
John Boyer: Then you don't get a
window.
Leigh Klotz: I don't think people want
an OS window. They want the fancy things people do with
scriptaculous and other libraries to let them style exactly how the
UI looks.
Steven Pemberton: Can't we already do
this with group or switch and case?
John Boyer: ...
John Boyer: The other nice thing about
prompt is that it can run during model-construct-done. You can read
the triggers and read outputs.
Uli Lissé: http://sourceforge.net/projects/chiba
and click "download chiba'
Steven Pemberton: So cancel has to
copy the data to restore later.
John Boyer: Using insert.
Leigh Klotz: Yes.
John Boyer: Prompt is nice because you
can use @if.
Steven Pemberton: Thinking of styling,
you've got the main group and the dialog group. All this is doing
is setting the background color.
Uli Lissé: It's
transparency.
John Boyer: You can't press this. Oh
it disappears.
Nick van den Bleeken: You may want
normal relevant behavior though.
Leigh Klotz: You need two classes then
for the group.
Nick van den Bleeken: It's
complicated.
Steven Pemberton: So is the solution
already possible and we just have to codify the pattern? The thing
we've got adds new functionality such as catching triggers.
John Boyer: This is a group that is
instantiated and asks the rest of the groups to be a zombie. It
seems like it's possible to setup now.
Steven Pemberton: So we don't need
prompt.
John Boyer: No, it can be in an action
sequence and let the user interact with the action sequence. See
this example.
Steven Pemberton: You can do this with
group.
John Boyer: group. You can't do it
during model-construct.
Leigh Klotz: I don't have much
sympathy for doing UI operations before UI is setup.
Steven Pemberton: I think writing up
the other thing with group is more important.
John Boyer: This is a perversely
simple action. You can do 3 actions, then have a prompt, then have
more actions.
Leigh Klotz: How?
John Boyer: It's all done in an an
outer trigger; you write the first in the trigger and then display
this (with setvalue and relevance) and then the rest there.
Charlie Wiecha: It seems like we're
removing a solution for a simplified use case, which is the
opposite of what we just did with insert.
John Boyer: The section also gives a
section of a place to put the note for generalized dialogs.
Leigh Klotz: Or the note for asking
implementors to try putting all UI elements in here.
John Boyer: As long as it isn't called
message.
Charlie Wiecha: This does require
implementors to do work.
John Boyer: Steven, can you live with
prompt staying in and a note about using group/relevance.
Steven Pemberton: I'm not very happy;
it's a bit kludgy.
John Boyer: It is limited to
DOMActivate because the content model is trigger.
Leigh Klotz: No.
Charlie Wiecha: It says it stops any
events, not DOMActivate.
Steven Pemberton: I'm definitely
opposed to that because it breaks the save button.
John Boyer: There are no input
controls. The xforms-value-changed event only goes to controls
bound to the data.
Steven Pemberton: So you can change a
value without it being notified to anybody?
John Boyer: Yes, because there's
nobody listening.
Steven Pemberton: That's
grotesque.
Leigh Klotz: If there's no controls
bound to the node there's nobody to receive the value-changed
event.
Steven Pemberton: This is very bad
news.
John Boyer: If the user can't see it,
is it really important that you set a dirty flag?
Steven Pemberton: If you do an insert
the event goes to the instance so you can listen for it. If there's
no generic way to listen for value-changed then there's something
broken. It hadn't occurred to me.
John Boyer: Particularly if you can do
it on an instance-by-instance basis.
Mark Birbeck: That's been broken for a
long time.
Leigh Klotz: I think the problem is
that the UI is inside the action. If it could pass a continuation
outside to the UI and resume that would be good.
Charlie Wiecha: That's why it's so
restricted.
John Boyer: Is it more broken than
useful?
Steven Pemberton: One of the nice
things with XForms is that it's device-independent.
John Boyer: Prompt does that; it reads
the labels and gives you the triggers.
John Boyer: I'd say Steven's
question is what does prompt do that message doesn't, and why isn't
message sufficient. I provided the answer. It isn't the prettiest
feature. We
Leigh Klotz: You can do the example in
the spec with switch or group.
John Boyer: But not message.
Steven Pemberton: So why can't we do
this with what we've got? What's it for?
John Boyer: It's for the simple case
of "are you sure you want to do this?"
Steven Pemberton: That's all; it
doesn't cover the example we saw on the screen.
John Boyer: We decided we already have
that earlier but we might want in the future to make it easier in
the future.
Steven Pemberton: While I appreciate
easier authoring, I'm very reluctant to create a messy
legacy.
John Boyer: There are lots of forms
that need to ask a basic question and take an action.
Steven Pemberton: But it's just one of
the use cases.
Leigh Klotz: I've argued for this use
case before, and Kenneth did for us as well. I suggested opening
the content model conditionally (like we did with repeat and
switch) but I'm not sure we can do that. I don't see prompt as
easily fixed.
Steven Pemberton: ...
John Boyer: ...
Leigh Klotz: ...
John Boyer: ...
Leigh Klotz: We need to capture
writing up the example.
Action 2007-06-15.8: Steven Pemberton to write up example of using group to implement modal dialogs that are stylable by CSS and don't use OS windows.
Steven Pemberton: I also wrote up
the value changed / save button. It argues for the value-changed to
go to the instance as well.
John Boyer: When and where? We have
proposed pretty much everything but instance.
John Boyer: What if we got rid of
the sentence in prompt "More generally, this action stops the
propagation int he bubble phase of any events that reaches the
prompt event" and left only DOMActivate events. Then you can still
do what you're describing.
Steven Pemberton: Sure.
John Boyer: Then the only hack is you
don't hear DOMActivate. We feel we aren't going to go any further
putting UI related things in actions.
Leigh Klotz: Why?
John Boyer: Because we have another
way of doing that.
Leigh Klotz: We have another way of
doing this too. That's the problem, drawing the line. This isn't
enough for me and it's too much for Steven.
Steven Pemberton: It's both too much
and too little.
Leigh Klotz: It doesn't hit my use
case; maybe it hits yours but I don't see that it hits the sweet
spot.
Charlie Wiecha: The problem is that we
threw this in a year ago when XForms 1.1 was about to come out and
we were going to do dialog.
John Boyer: I wanted to get a straw
poll. Is Mark back? I think this is one of those prompt
up/down.
Leigh Klotz: The argument for it is
that although there are other ways of doing this, it is a useful
case and easy to write. The argument against it is that it's got
hacks piled on it and creates a legacy problem.
John Boyer: What are the hacks?
Charlie Wiecha: The propagation of
DOMActivate.
Uli Lissé: What about ...
events ...
John Boyer: Yes, so we'd have to keep
the stopping the bubbling as well.
Steven Pemberton: I feel that if we
start messing around with the event system, the generality gets
lost.
Leigh Klotz: [writes example of
using parallel action/*[@if] and toggle/case to implement state
machine]. Then we can replace this.
Charlie Wiecha: So we can replace
prompt with this section.
John Boyer: It should be a note. If we
are going to yank this feature we really the note soon. Although
I'd like to keep prompt, I'm definitely convinced that there
are...I could live with taking it out, in the interest of
compromise and such.
Mark Birbeck: I've never liked
it.
Nick van den Bleeken: No strong
opinion.
Steven Pemberton: Kill it.
Charlie Wiecha: [Thumbs down]
Keith Wells: [pull it]
Leigh Klotz: I would prefer to see it
fixed, but I agree with Steven that it creates a legacy
problem.
Resolution 2007-06-15.6: We remove the prompt action from XForms 1.1.
Action 2007-06-15.9: Steven Pemberton to write document about using parallel action/*[@if] and toggle/case to implement state machine.
Resolution 2007-06-15.7: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=74 we accept and remove prompt.
Action 2007-06-15.10: John Boyer to remove prompt.
John Boyer: We discussed during lunch doing triage. Keith (and others) will get an account and can add notes about which ones are editorial.
Steven Pemberton: Madrid, September
12th-14th, 2007.
Steven Pemberton: Cambridge, MA Tech
Plenary, week of November 5th, 2007.
Steven Pemberton: Then three-month
intervals? January, April, July.
John Boyer: The end of January is a
conference for me.
John Boyer: Tech Plenary, Paris, week
of October 20-25 (days TBD but may include Saturday).
Steven Pemberton: For Amsterdam,
Queens Day is the Wednesday so we can't have 3-day meetings that
week. The Web conference is April 21-25 in Beijing.
John Boyer: So May?
Steven Pemberton: XTech dates aren't
set yet.
John Boyer: So do we need to know the
exact day in May?
Steven Pemberton: April 5-10 is
CHI.
John Boyer: How cold is Antwerp in
February?
Nick van den Bleeken: It's
freezing.
Charlie Wiecha: How about
California?
John Boyer: That would have two North
America and two Europe.
Leigh Klotz: I can host it. What's
Victoria like?
John Boyer: It would be livable but
California would be nicer.
Charlie Wiecha: Also Raleigh.
Keith Wells: I'll find out.
Action 2007-06-15.11: Keith Wells to investigate hosting a future F2F meeting.
Steven Pemberton: So February in
North America (California or North Carolina), early May in
Amsterdam, and mid-July in and Tech Plenary in October.
Steven Pemberton: So then Victoria in
mid-July (week of July 14th).
John Boyer: July Good time to go. Do
you want it earlier in July?
Charlie Wiecha: It's a little better
to get something done after the 4th of July in the week
after.
Steven Pemberton: We can bridge the
weekend. Thursday-Friday and then Monday-Wednesday. That would be
preferable for all of them since it only costs one weekend instead
of two weekends.
Charlie Wiecha: OK.
John Boyer: So July 10-11 XHTML and
XForms July 14-16.
Steven Pemberton: So that's XHTML May
1st.
Uli Lissé: That's labor
day.
Steven Pemberton: We don't celebrate
that in the Netherlands. So either May 1-2 and 5-7 or May 5-7 and
May 7-9.
Steven Pemberton: So for February, 7-8
and 11-13.
John Boyer: How about the end of
January, to avoid Valentine's day?
Date | Location |
---|---|
January 31-February 1, February 4-6 | Raleigh, NC or Palo Alto, CA (US) |
April 1-2, April 5-7 | Amsterdam (NL) |
July 10-11, 14-16 | Victoria, BC (CA) |
October 20-25 | Tech Plenary Paris (France) |
Mark Birbeck: [irc] XHTML
http://www.google.com/calendar/ical/is1t7cbu00vvd5h1ioft1nl19k%40group.calendar.google.com/public/basic.ics
Mark Birbeck: [irc] Forms WG
http://www.google.com/calendar/ical/42pvpv3126jgbjccip85b7hiuk%40group.calendar.google.com/public/basic.ics
John Boyer: We accept this.
Action 2007-06-15.12: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Actions?id=84 , John Boyer to change referenced sections.
John Boyer: We will move on to the
suggested issue triage. Are there any buckets?
Nick van den Bleeken: All the XPath
ones are simple yes/no.
John Boyer: Do you want to accept
them?
Nick van den Bleeken: Most of them are
from Steven?
Steven Pemberton: I want to discuss
the now() function.
Nick van den Bleeken: The others are
just remarks of Steven.
John Boyer: Anyone feeling lucky on
Submission? Someone want to take the bucket and run
submission.
Leigh Klotz: Let's just go through as
a group and mark them editor and I'll mark this out.
Resolution 2007-06-15.8: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Appendices?id=128 we accept.
Action 2007-06-15.13: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Appendices?id=128 we accept, John Boyer.
Leigh Klotz: CSS isn't
required.
John Boyer: We can say something
stronger.
Steven Pemberton: It's just the
wording I don't like. It should say its default styling. Other
don't. I think it should say that an implementation should
display the validity state of values.
Leigh Klotz: Just like we say for
non-relevant, we should also say that the implementation
requirements should distinguish validity.
Resolution 2007-06-15.9: http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=72 part 1 we accept that the wording for display:inline should be changed and added for all form controls (inline or block)
Action 2007-06-15.14: http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=72 John Boyer to change the wording output so that display:inline should be changed and added for all form controls (inline or block)
Resolution 2007-06-15.10: http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=72 part 2 so that there are implementation requirements for MIPs.
Action 2007-06-15.15: http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=72 Steven Pemberton to change the spec so that there are implementation requirements for MIPs.
Steven Pemberton: If we went back
to the beginning we would have made these expressions XPath. We're
retrofitting that decision. Let's not make that mistake
again.
John Boyer: The mediatype subelement
is a parallel to the mediatype element on upload. The output can
use a parallel syntax to show someone.
Steven Pemberton: That much I
understood.
John Boyer: The it's inconsistent
syntax with the mediatype attribute on upload.
Leigh Klotz: Do we have value on
mediatype?
Steven Pemberton: That's one
step.
Leigh Klotz: Can't we just do
that?
Steven Pemberton: Then I accept with
reluctance.
Steven Pemberton: But @mediatype on
upload is hard-wired.
Leigh Klotz: It would be nice to have
that variable.
John Boyer: I agree. But that's
AVTs.
Resolution 2007-06-15.11: We accept http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=73 with modifications; we add a value attribute to output/mediatype.
Action 2007-06-15.16: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=73 with modifications; Steven Pemberton to write spec text to add a value attribute to output/mediatype.
John Boyer: This is going to take some time.
John Boyer: Skip for now.
John Boyer: All are editorial except #27. It says "explanation"
Action 2007-06-15.17: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=117 John Boyer to handle all except #27 as editorial and compose reply to issue.
Leigh Klotz: I think this is what
Mark Birbeck does in FormsPlayer with the hover icon for showing. I
don't think anybody ever does it.
John Boyer: Can we delete it?
Leigh Klotz: Ask Mark? Did Mikko's
implementation do this?
Charlie Wiecha: Must is a strong word
here.
John Boyer: We think this might be
handy but we don't think it's a must.
Mark Birbeck: Yes, FormsPlayer does
this but it's off in the licensed version. I've never read this
though.
John Boyer: Everybody skips reading
the common implementation requirements. We should remove both
bullet points.
Resolution 2007-06-15.12: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=117 #27 we remove the two referenced bullet points about "explanation."
Action 2007-06-15.18: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=117 #27 John Boyer to remove two bullet points about "explanation" in http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Controls?id=117
John Boyer: We haven't agreed on
this. You should be able to traverse up to the parent element from
which they have been removed. They will have been detached from
their parents but you should be able to go back up to their
parents.
Leigh Klotz: Does the XPath data model
support that?
John Boyer: David Landwehr said that
the DOM supported this. The XPath ancestor axis is fine.
Charlie Wiecha: What's the use case?
It seems a little dangerous.
John Boyer: The whole use case for
knowing the deleted nodes is that for xforms-delete we used to get
the parent elements from which the nodes were deleted rather than
the actual deleted nodes. This got weird because...
Charlie Wiecha: It might be safer to
add that to the event information.
Leigh Klotz: As a parallel
track?
John Boyer: You would have to know
which child went with each parent?
Charlie Wiecha: It seems
implementation-dependent to do the other way.
John Boyer: So you use position.
Resolution 2007-06-15.13: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=18 we accept with modifications; instead of the half-detached behavior we propose a parallel event context value listing parents of deleted nodes, with positional correspondence.
Action 2007-06-15.19: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=18 John Boyer to write text to add we propose context property to xforms-delete listing parents of deleted nodes, with positional correspondence and close issue.
Steven Pemberton: I thought we
discussed this already.
John Boyer: Maybe on the call.
Steven Pemberton: Works for me.
John Boyer: Except for
xforms-value-changed and xforms-invalid.
Leigh Klotz: And with instance
replace?
Uli Lissé: This one takes
time.
John Boyer: Yes.
John Boyer: The spec doesn't say what
to do. I believe it's wrong in the spec for relevant and
irrelevant. Also wrong to send the xforms-value-changed events.
Let's leave this open.
John Boyer: Let's skip.
John Boyer: Skip.
John Boyer: You want 4.4.20 and 4.4.21 to move to 4.5.
Action 2007-06-15.20: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=59 John Boyer to move 4.4.20 and 4.4.21 to move to 4.5.
Steven Pemberton: So does first
time mean first for the output?
John Boyer: Yes. But does it matter?
Maybe the user agent should handle this instead and we just send
the event.
John Boyer: You bind to the data and
get the xforms-output-error event but you won't get any more as
long as the output is bound to that data and the data doesn't
change. If the data or binding changes you get another one.
Steven Pemberton: So first is
wrong.
Nick van den Bleeken: Then it can
happen multiple times.
John Boyer: Get rid of "update the
rendition" and say "data or binding change."
Resolution 2007-06-15.14: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=60 we accept and will re-word.
Action 2007-06-15.21: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=60 John Boyer to provide proposed new wording.
Steven Pemberton: The event lacks a
description.
John Boyer: We describe it in the
model.
Action 2007-06-15.22: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=61 John Boyer to add text based on text in model and close issue.
John Boyer: David disagreed with
this.
Leigh Klotz: No, he disagreed with
readonly=false on calculate.
John Boyer: OK, but we've already done
it.
Resolution 2007-06-15.15: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=95 we agree and have done it.
John Boyer: All except #15 are editorial.
Action 2007-06-15.23: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=115 all except #15 John Boyer to make changes.
Steven Pemberton: We removed src
and added id. We went two directions at once.
John Boyer: src is different in XHTML2
as it happens at a different time.
Steven Pemberton: I think it's too
late to take src off instance and replace it with instance.
John Boyer: Rather than using resource
as a new attribute name why didn't we change the definition of src
to whatever we have for resource right now.
Steven Pemberton: I don't understand
the difference and I suggest a change as well.
John Boyer: You understand src. It
causes a problem if you already have save/reload with a document
format that is saved. The data gets in via src, is added, and saved
in the instance. The data gets lost because src has precedence over
inline content.
Steven Pemberton: So the difference is
order of precedence: src, inline content, resource. I can live with
that. There are uses cases for both.
John Boyer: What is the use
case?
Steven Pemberton: It's the template
for when the resource doesn't exist.
Leigh Klotz: It's the dual of John's
case.
John Boyer: The text doesn't say all
this.
Steven Pemberton: It should.
Mark Birbeck: It should be
asynchronous. We load small instances in src and then kick off
submissions to get the data. Use cases like yours we have to hard
code anyway. If there's a submit error, then go copy the template
in.
John Boyer: It's also broken because
if the src fails and the instance is empty, it's broken anyway.
They have to put in a dummy instance.
Leigh Klotz: Sometimes you don't want
graceful survival of src failure. Steven's case is initial
template.
John Boyer: The feedback from Aaron
and Steven was that they thought src was removed. Steven said it
should be put back, not as something we get back from the host
language.
Mark Birbeck: Are we changing resource
behavior?
John Boyer: No, we're putting back
src.
Leigh Klotz: And in help and
hint?
John Boyer: No.
Nick van den Bleeken: How about an
attribute that says what to do?
John Boyer: We want to put back what
we had not to break content. Or do we assume it's in there from
XHTML.
Steven Pemberton: We should do just
like we've done with id. XHTML is adding id as well.
John Boyer: So get the wording
back.
Resolution 2007-06-15.16: http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=115 We put src back on instance.
Action 2007-06-15.24: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/Events?id=115 John Boyer to put back in src on instance with fallback to inline data.
John Boyer: Does this mean we never perform full structural validation before a submission?
Leigh Klotz: But we don't check
structural validity except before submission.
John Boyer: Right, we check before
submission. I can't find the wording he's talking about. For
question 1 I think he's wrong about the wording.
John Boyer: For question 2, we have
some inconsistencies in the spec about how we view elements.
Leigh Klotz: So this is for mixed
content?
John Boyer: Binding to the first child
text node is broken. It was for shorthand. We should just say it
deals with the content of the element.
Leigh Klotz: The single-node binding
is for /a/b getting you a node instead of a nodeset.
John Boyer: This is different. If you
have
X<!--comment-->TY</b>you just get X. And I think you should get X Y.
John Boyer: I thought XPath string
got rid of the comments. Maybe that's why we're binding to the
first text node.
Nick van den Bleeken: I think there is
a difference between XPath 1.0 and XPath 2.0.
John Boyer: concat(a,b). Does the b
contribute X Y as content?
Nick van den Bleeken: That's quite a
change.
Charlie Wiecha: Reading is ok. Writing
the value is harder because of complex content.
John Boyer: You can't bind the control
to complex content. So with writing a value would lose PI's and
comments.
John Boyer: I would go for modify and
accept and remove the first-text-node rule. Maybe it's trying to
avoid making DOM mutations, just changing a text node that
exists.
Leigh Klotz: No, DOM text nodes are
limited in length and XPath text nodes are not so if you replace a
long one you alter the content.
John Boyer: Ah, and if the content is
empty there is no text node to bind to.
Nick van den Bleeken: XPath is
readonly.
John Boyer: Actually setvalue
shouldn't work on empty elements because there is no text
node.
Leigh Klotz: Then we should add a
nodeset attribute to setvalue.
John Boyer: context
Uli Lissé: This would kill
comments and PI's.
John Boyer: Only by default; if you
bind explicitly to the first text node you can.
Uli Lissé: Only if it
exists.
Leigh Klotz: So you can use a comment
to determine if a value has been changed.
John Boyer: With Schema we are locked into validating the node, not the first text node child. Suppose you have a schema that says Node B must be an integer. The user will S an 1 but the content will be Schema invalid because 1A is not an integer.
John Boyer: So I propose we fix
this.
Charlie Wiecha: It sounds big.
John Boyer: Needs approval.
Resolution 2007-06-15.17: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/MIPs?id=82 we agree to study John Boyer's proposal binding to text instead of first text node but not implement it at this point.
John Boyer: We aren't doing these
even for identical ones.
Steven Pemberton: Defer
Resolution 2007-06-15.18: We defer http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/MIPs?id=99
Steven Pemberton: I thought we had
done it because of this.
John Boyer: This is editorial; it's
just a reference problem.
Resolution 2007-06-15.19: We approve http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/MIPs?id=100
Action 2007-06-15.25: For http://htmlwg.mn.aptest.com/cgi-bin/xforms-issues/MIPs?id=100 John Boyer to fix reference.