W3C

- DRAFT -

XForms FtF, Amsterdam, Day 1

09 Jun 2008

See also: IRC log

Day 1, Day 2, Day 3, Day 4

Attendees

Present
Nick, Uli, Charlie, John, Erik, Leigh, Steven, Keith(remote), Rafael, Roger, MarkB
Regrets
MarkS
Chair
John
Scribe
Nick

Contents


 

 

<wellsk> Good Morning Everyone -- is there a tetlphone conf set uo yet?

<John_Boyer> Not yet

<wellsk> Ok -- will monitor -- but I am awake and here!

<John_Boyer> OK, thanks keith

<John_Boyer> It's very early...

<wellsk> 3:00 here on EST

<John_Boyer> You should maybe get a few hours more sleep and join us in the afternoon...

<wellsk> It'll be ok... I am an early bird anyways :)

<John_Boyer> Are you able to use skype?

<John_Boyer> Keith

<wellsk> no, but I may be able to use Sametime voice suite -- I have international permissions

<klotz> wellsk?

<wellsk> yes

<klotz> ah thought you might be at home but you are on an ibm network and can' t use skype?

<wellsk> yes -- I do not have skype installed -- but should be able to hook in though the IBM intranet using their sametime tooling with voice suites

<wellsk> I'll give a shot

<John_Boyer> scribe: Nick

<John_Boyer> scribenick: nick

<Steven> scribenicknick: nicknick

John: There is an XForms 1.1 problem in how repeat works

<John_Boyer> ACTION: John to Fix descriptions of repeat index update on xforms-insert and xforms-delete for XForms 1.1 [recorded in http://www.w3.org/2008/06/09-forms-minutes.html#action01]

<trackbot> Sorry, amibiguous username (more than one match) - John

<trackbot> Try using a different identifier, such as family name or username (eg. jkugelma, jboyer)

John to fix XForms 1.1 wording for repeat processing to associate repeat index updating with capture phase on containing model, not target instance [recorded in http://www.w3.org/2008/02/05-forms-minutes.html#action01]

Modularization

John: We have work on XForms 1.1, I added the people who have actions on it to the agenda
... There are a couple of reviews too
... We need to decide as a group which specs we want to produce for XForms 1.2
... We have a message module, maybe we can go through it and see how we can produce an instance module

Erik: What does the instance module do for us? Is it a requirement, does it solves problems?

Steven: We will do modularization to ensure better consistency and compatibility
... We could even just do XForms 1.2 as a module on top of XForms 1.1

Charlie: It enables the integration of XForms modules in toolkits like dojo

<Charlie> perhaps using non-xml data, e.g. JSON

<John_Boyer> Nick: Asks Steven about doing a separate module for "implied submission"

<John_Boyer> Nick: Can you change the behavior of an attribute (e.g. whether it is required or optional)

<John_Boyer> Steven: You would modularize the submission attributes, then create a submission element module that consumes them in one way

Steven: You don't have to do them as separate specs

<John_Boyer> Steven: and an implied submission module that consumes them differently

klotz: How do you say which modules an implementation supports

Steven: so XForms 1.2 could be XForms 1.1 and an extra set of modules
... There is a dtd, schema version and outside W3C there is a Relax NG version

Klotz: There is sourceforge project that is an XForms 1.1 relax NG schema

Steven: Ideally we would modularize XForms 1.1 and create some extra modules for XForms 1.2

John: How many specs do we end up?

Steven: That is up to us, one spec or two specs (core spec and the XForms 1.2 addition modules)

Nick: How much work is it

Steven: XForms 1.1 is more or less modularized
... It needs some work, but is partially already in there

Erik: What does it mean

Steven: You specify which elements have extension hooks (elements and attributes)
... What you do you write it in a schema natural way (English) and then generates schema or dtd

Nick: Is there a requirement to generate a dtd or schema?

Steven: No generating a dtd or schema isn't required

<John_Boyer> http://lists.w3.org/Archives/Public/public-forms/2008Apr/0081.html

<John_Boyer> http://code.google.com/p/lib-xh/wiki/MessageModule

John: Where do you put the MIP-events they are dispatched to UI-controls but always dispatched by the model , do you put those in the module-module or the ui-controls-module

Erik: We should fix the MIP-events to make them usable
... We could add new events that are usable in a separate module

John: when you rewire controls we should send an initialization event

Charlie: If you remove the events from the module-module then you still needs something to communicate with the module

Steven: I don't see the problem with events, javascript is also based on events
... DOM events is the base of the javascript events

John: The module should send xforms-model-construct, xforms-model-construct-doene, xforms-ready, xforms-refresh

Klotz: if we have a module that only does the data (no submission, no UI) xforms-model-construct-done signifies when other modules can start working on the module

Steven: You have all these modules and a driver that decides how these modules work together

Klotz: do we define the communication by events or as IDL?

John: I have users that use the the xforms-model-construct-done to toggle switches, ...

Steven: all w3c languages are events based

Klotz: maybe we should do an extra level of abstraction

Charlie: We could define the events as informative, and not doing the work in the default handler

Charie: We define an IDL that dispatches those informative events but does the work itself (not when handling the events)

klotz: it will enable the possibility for extra optimizations

<John_Boyer> http://www.w3.org/TR/2003/REC-xforms-20031014/index-all.html#evt-modelConstructDone

klotz: we should make events informal, and create an IDL and the communication between the modules is done by the IDL

John: The instance module would contain the instance element, the setvalue, insert and delete actions

Steven: There is real value that XForms 1.2 is XForms 1.1 and this extra module

John: where is behavioral change

klotz: that all events are informal

John: we already hacked the xforms-model-construct

Charlie: ...

Klotz: we are missing cancel then (if we aren't doing the processing in the default action)

John: you could cancel submission

klotz: we need to have some events that invoke the IDL method

John: In XForms 1.1 the repeat related stuff is put in the repeat module, the submission stuff to the submission module, the only thing that maybe went wrong that the actions went to an action module

klotz: It isn't wrong, the actions are just an interface on the module

<John_Boyer> break time

<wellsk> brb

<John_Boyer> back

John: Where do we go from here, we will stick with one spec, we need to rewrite it a bit

Steven: I would propose the get all elements and attributes and do a rough division

John: We can set a bit on an event to cancel the event

Nick: I don't like that, we should use XML events to cancel it

John: Why would the events be in the actions module? We have a lot of events that aren't triggered by actions

klotz: what do you need to change if you want to switch to XML events 2.0 (for example bcz. we are modularized they just change the version of XML events they use)

Charlie: it is just plug and play

<Steven> http://www.w3.org/MarkUp/Drafts

<Steven> http://www.w3.org/MarkUp/Drafts

<unl> xml events 2: http://www.w3.org/TR/2007/WD-xml-events-20070216/

http://www.w3.org/TR/2007/WD-xml-events-20070216/

<Steven> http://www.w3.org/MarkUp/Drafts/#xml-events2

John: How would someone catch the version of XPath that is used

Steven: They would be separate version of the module
... They would have a data-type

<ebruchez> MS defines a mapping JSON-XML: http://msdn.microsoft.com/en-us/library/bb924435.aspx

John: explains problem with allowing different expression languages

<wellsk> http://www.w3.org/MarkUp/Forms/wiki/XForms_Future_Features#head-adc596226cd8e557bd136ddd6f04afae92db56ac

<wellsk> (module breakdown listed in 2.0 features

<wellsk> also, wouldn't Mark's Message module posted earlier be a good starting place?

<wellsk> 1.2 modules: http://www.w3.org/MarkUp/Forms/wiki/XForms_Future_Features#head-59b64c2c07c13848069d48f8097ca1b28be16d9e

<Steven> http://www.w3.org/TR/xhtml-modularization/

Steven: is going to project some examples of modularisation

<Steven> http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_xhtmlmodules

<Steven> http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_intrinsiceventsmodule

http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_common_collection

http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_events_collection

Note that the Events collection is only defined when the Intrinsic Events Module is selected. Otherwise, the Events collection is empty.

<klotz> http://www.sagehill.net/docbookxsl/AddProfileAtt.html#AddAttRelaxNG

<John_Boyer> http://www.w3.org/MarkUp/Forms/wiki/XForms_Future_Features

http://www.w3.org/MarkUp/Forms/wiki/XForms_Future_Features#head-59b64c2c07c13848069d48f8097ca1b28be16d9e

Steven: Data Properties module could have the attributes type, constraint, ...

klotz: I would have thought that the module-module would have an IDL method to ask for validity
... So data properties needs to modify the DOM to allow adding properties to nodes
... it could be possible that the user-defined properties can only be added by other modules

Steven: starts writing the modules on the wall

xforms

data

Instance data

type

Meta data

manipulators

logic

submissions

binding

constraint

calculate

relevant

controls

container Form controls

group

repeat

input Form controls

outut Form controls

label

messaging

<John_Boyer> lunch

<ebruchez> FYI XProc uses an xpath-version attribute to specify the version of XPath requested: http://www.w3.org/TR/xproc/#xpath-context

xforms

Model

data

Instance data

type

Meta data

Properties set, get, create

manipulators

IDL for set, get, insert, delete

bind

expression engine

logic

constraint

calculate

relevant

controls

container Form controls

group

repeat

switch

input Form controls

outut Form controls

label

messaging

submission

cross-cutting:

actions

events

IDL

elements + Attrs

expression extension functions

xforms

-Model

--data

---Instance data

----type

---Meta data

----Properties set, get, create

---manipulators

----IDL for set, get, insert, delete

---bind

---expression engine

--logic

---constraint

---calculate

---relevant

-controls

--container Form controls

---group

---repeat

---switch

--input Form controls

--outut Form controls

--

label

messaging

submission

http://www.w3.org/TR/xforms11/#structure-model-instance

http://www.w3.org/TR/xforms11/#structure-abstract

Instance module

http://www.w3.org/TR/xforms11/#structure-model-instance

http://www.w3.org/TR/xforms11/#structure-abstract

<John_Boyer> http://www.w3.org/MarkUp/Forms/wiki/XForms_instance_data_module

discussion about adding setvalue, getvalue, ... to instance, there are problems if you use another expression engine (context, expressions), you also have the problem that readonly needs to be enforced which is in the logic module

john: you need to be able to override the IDL functions

klotz: maybe we need pre/post hooks
... how can we give access to the DOM interface and support read-only
... we can do this by specifying precisely what operations are allowed

<Steven> that is Mark typing

John: value change events are send to UI-controls and send during refresh, not when the instance changes

Charlie: I think we need to focus on refactoring to modules and not discuss the related new features

John: but they may change the modules
... We already have getInstance(), maybe we should shoot it

Charlie: lets modularize first then later fix

Uli: we have an XPath data model not a DOM model

John: we can use XFormsNode and define our operations

Erik: Don't create the 6th XML representation model
... we can use XML Information Set (Infoset)

<klotz> http://www.w3.org/TR/DOM-Level-3-XPath/idl-definitions.html

in java they have http://java.sun.com/javase/6/docs/api/index.html?javax/script/ScriptEngineManager.html

http://java.sun.com/javase/6/docs/api/javax/script/ScriptContext.html

(wrong link)

klotz: explains that leaf nodes in JSON can't an object that holds the value

<markbirbeck> I'm not quite sure what you guys are talking about...but if you are discussing 'access languages' for different data models, I think it might not be the right approach.

<markbirbeck> XPath and XQuery are 'abstract' syntaxes, and the XPath data model is 'abstract' too.

<markbirbeck> So we can still access JSON data with XPath.

<markbirbeck> I could...sorry.

<Steven> :-)

<markbirbeck> The Ubiquity XForms processor uses Google's AjaXSLT library...

<markbirbeck> ...that implements XML an XSLT on browsers that don't have it natively...

<markbirbeck> ...so an XPath query there is effectlively querying against JSON.

<klotz> John asked if we could define IDL to get the references from an expression-lanuage string and have it return an object array; I said that in the JSON implementation, it would be necessary to return tuples of {hash,name}, and Uli said just returning an array of strings simply for the path.

<Charlie> not clear if that (xpath over json) is an attractive option for the current ajax community

<klotz> We've discussed that it's possible to apply Xpath to a JSON data model, and with suitable restrictions (first-node at each level, no mixed content, no attributes) it's possible to apply a JSON expression to an XML data model.

<markbirbeck> Charlie...I agree that there is a question there.

<markbirbeck> But note that lots of libraries now are letting you express CSS with XPath.

<markbirbeck> So we shouldn't assume that XPath is a 'no no'.

<klotz> So we follow YAGNI and decide not to worry about JSON while we are working on modularization today, not having sufficient examples to generalize from.

<klotz> http://c2.com/xp/YouArentGonnaNeedIt.html

charlie: lets make it work with XML first

John: what does getReferences return: NodeList
... what does getDocument() return: DOMDocument

<klotz> I think if you implement the instance module in isolation you need DOM, but if you wrap instance up in the rest of XForms it's your choice as an implementor whether to expose it or not.

http://www.w3.org/TR/DOM-Level-3-XPath/idl-definitions.html

Erik: Is not enough for us, the context needs a position and context-size
... Otherwise position() and last() wouldn't work

John: When repeat adds index() does it becomes available in all modules, or only in some modules

Erik: How do we define in our language which functions are allowed where?

<markbirbeck> I'm not following this idea of "which functions are allowed where".

<markbirbeck> The extension mechanism is via @functions, is it not?

<markbirbeck> So aren't the functions then available to that model?

<markbirbeck> Is there a suggestion that we need more than that?

<Steven> say it out loud Mark

<Charlie> we're in the instance module so we don't have @functions

<Charlie> unless we reintroduce it there...

<markbirbeck> You're trying to define an instance module that is independent of a model?

<markbirbeck> Isn't that pretty much the DOM? (Putting aside data model.)

<ebruchez> String positionAttribute,

<ebruchez> List collectionToBeUpdated,

<ebruchez> NodeInfo insertContextNodeInfo,

<ebruchez> List originObjects,

<ebruchez> int insertionIndex

<markbirbeck> JavaScript supports pretty much everything...including aspects, John. :)

<klotz> Aspect-Oriented Javascript: http://www.devx.com/webdev/Article/31695

<John_Boyer> end of day

Summary of Action Items

[NEW] ACTION: John to Fix descriptions of repeat index update on xforms-insert and xforms-delete for XForms 1.1 [recorded in http://www.w3.org/2008/06/09-forms-minutes.html#action01]
 
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.133 (CVS log)
$Date: 2008/06/18 14:46:59 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.133  of Date: 2008/01/18 18:48:51  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/instance model/instance module/
Succeeded: s/implemantation/implementation/
Succeeded: s/XML/DOM/
Succeeded: s/evenets/events/
Succeeded: s/infomal/informal/
Succeeded: s/w//
Succeeded: s/infoset/XML Information Set (Infoset)/
Found Scribe: Nick
Found ScribeNick: nick

WARNING: Dash separator lines found.  If you intended them to mark
the start of a new topic, you need the -dashTopics option.
For example:
        <Philippe> ---
        <Philippe> Review of Action Items

Present: Nick Uli Charlie John Erik Leigh Steven Keith(remote) Rafael Roger MarkB
Regrets: MarkS
Got date from IRC log name: 09 Jun 2008
Guessing minutes URL: http://www.w3.org/2008/06/09-forms-minutes.html
People with action items: john

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.
[End of scribe.perl diagnostic output]