Log file opened at: 2004-03-02 17:07:04 [17:15:44:] i would suggest reporting progress since last meeting, even without frenchmen and brains... [17:15:54:] ive completed my action item re libcroco [17:16:08:] no progress on schema, tp and busy and all that [17:16:39:] http://lists.w3.org/Archives/Public/public-qa-dev/2004Feb/0002.html [17:16:40:] i will try to get to something next week... [17:16:45:] (for the AIs) [17:17:05:] yod: AIs? [17:17:13:] Action Items [17:17:14:] action items [17:17:50:] sorry, I'm just out of a W3C QA WG IG f2f after all, can't blame me for thinking in acronyms [17:18:03:] aaargh [17:18:13:] there goes the brain again [17:18:30:] my two action items are done : [17:18:47:] => integrate error messages : went through the archives, it's all in CVS now [17:19:04:] => checklink : good progress, still discussing with Ville what the next next steps will be [17:19:23:] Ville's Action Item is done [17:19:54:] (sent me the changelog for checklink just after the meeting) [17:20:20:] niq, could you summarize our discussion with dodji? [17:20:25:] * niq tries to remember ... [17:20:58:] bjoern was overwhelming dodji with long list of wishes [17:21:32:] bah... [17:21:44:] * niq thinks we need to prioritise [17:21:58:] * Robust parsing - should be capable of recovering - or trying to recover - [17:21:58:] after fatal error. [17:22:11:] * Messages should identify where they come from (file/line/col). [17:22:22:] * Robust recovery from lesser errors [17:22:23:] e.g. if a value field is malformed, remaining rules in the ruleset [17:22:23:] should still be parsed. [17:22:45:] (these are top-prio IMO) [17:23:19:] what was Dodji's views on what we'd do with croco? [17:23:29:] bjoern was asking for expansion .. e.g. border - > { border-top, border-left, etc } [17:23:38:] re robustness, libcroco does what css2 requires, according to dodji [17:23:40:] shorthand extension [17:24:19:] the discussion was more about that this could be done if the information is available through css schema [17:24:29:] I see [17:24:30:] that's nothing that libcroco is supposed to do [17:24:32:] dodji would like us(?) to work towards xml+css+wysiwyg widget for gnome, if I understood him right ... [17:24:53:] kidding... [17:25:32:] recovering from fatal error is low priority to me [17:25:49:] * niq would like to generate an O-O repr [17:25:53:] however, it seems that we could extend libcroco to fit our needs quite easily [17:26:03:] *** Dodji (~Dodji@longchamp-4-81-56-16-184.fbx.proxad.net) has joined the channel [17:26:05:] hi [17:26:10:] sorry, I am late [17:26:10:] aha, great [17:26:21:] glad you made it [17:26:24:] hiya [17:26:34:] we are summarizing our discussion yesterday [17:26:51:] hi Dodji, glad you could join [17:28:24:] okay [17:28:30:] * niq hacks together ultraquick outline libcroco wishlist and apologises fro not doing so earlier [17:28:50:] * Dodji apologises for being late [17:29:06:] dayjob is sometimes so demanding :-\ [17:29:19:] no problem, Dodji, really... [17:30:07:] basically, what i want is a new css validator, and to write one i need a css parser. that's where libcroco comes in [17:30:38:] bjoern_h: exactly [17:30:43:] oh BTW: http://style-sheets.com/validator.asp [17:31:13:] that one never worked for me... [17:31:46:] a { color: stupid } [17:31:54:] result: [17:31:56:] I just got aware of this one last week [17:31:58:] "Congratulations! this document validates against W3C's CSS Level 2!" [17:32:18:] so perhaps it's just syntax? [17:33:01:] no idea [17:33:12:] it's pretending to be clever, didn't have time to check it thoroughly... but we may not want to take too much time discussing this other validator [17:33:38:] agreed [17:33:41:] (sorry for starting this digression) [17:33:47:] np [17:34:10:] * niq has done **** all in last few weeks :-( [17:34:41:] okay [17:34:41:] the wishlist for libcroco is probably quite short, reporting line/col numbers and adding "good" error messages [17:34:43:] libcroco may not be fully compliants with your needs today, but I agree to spend time on it to improve it for your needs [17:34:46:] that should be doable [17:34:52:] one should be aware that I do this only during my nights and week ends though. So it will take a little longer than if I was working on it full time. [17:35:14:] well, i do all this in my spare time too... [17:35:26:] so i am used to things taking long time... [17:35:44:] not a problem, i'd say [17:36:02:] dodji, we all have that problem. It means things go slowly sometimes [17:36:03:] okay. I just wanting to make sure we are on the same track [17:36:09:] we are [17:36:25:] that's how things for for most of our projects [17:36:35:] (the point is probably, if we dont do it, no one does...) [17:36:38:] Regarding error messages: As we've found the hard way with Markup Validator and OpenSP, you don't really want to have to rely on the message strings from a library. [17:37:07:] How far does libcroco go in parsing rule values? [17:37:54:] (error messages): Depending on context you may want wildly different messages, and kinds of messages (and including i18n). [17:38:05:] I found it seemed able to parse things like rgb(1,2,3), but variants on that caused different kinds of problem [17:38:26:] niq: It tries to stick to the css2 grammar productions [17:38:40:] * xover is very badly lagged -> apologies... [17:39:05:] if it does SAC, it probably does all we want. [17:39:26:] niq: properties values are expressions [17:39:31:] I think if I introduced a syntax error into something like that it would miss the whole ruleset from there [17:39:56:] that's a fatal error... [17:40:13:] like rgb(1, 2, 3) (with spaces) [17:40:37:] that'd be a bug... [17:40:55:] * niq would like it to recover better - at worst look for next } and then try to resume [17:41:08:] a too obvious one, so, you probably messed up something else... [17:41:24:] * niq might have misremembered and fed it something worse than that [17:41:25:] css3-syntax might introduce rules how to do that [17:41:38:] (which is a bad idea, imho...) [17:41:49:] *** Yves_ (~ylafon@tarantula.inria.fr) has joined the channel [17:41:53:] * Yves_ waves [17:41:55:] anyway, that's something with less priority imho [17:41:58:] bjoern_h: yes, that's a fatal error. [17:42:04:] hi yves! [17:42:26:] hi bjoern, I restarted the validator this morning with your changes [17:42:30:] (css one) [17:42:36:] Great! [17:43:18:] I also discovered a bug in the markup validator that way, it doesn't check that a base element may not be after a link element [17:43:31:] niq: how should a compliant parser behave in that case ? [17:43:45:] ask hixie... [17:43:48:] niq: I mean in this case of fatal error ? [17:44:11:] I'd like to see a "continue parsing" option - like Xerces with XML [17:44:26:] the problem is how to implement that [17:44:33:] its like writing a tag soup parser [17:44:49:] hmmh, I personnaly don't like that too much [17:44:53:] and starting now to work on it if rules are defined in css3-syntax is waste of resources [17:45:06:] * bjoern_h agrees with dodji [17:45:23:] this kind of things made the web be what it is today [17:45:47:] it's useful for a validator though [17:45:58:] but i think this is low priority [17:46:27:] yves, dodji is the author of libcroco, a css processing toolkit in C [17:46:30:] low priority and hard to code [17:46:51:] bjoern: yep, olivier told me, thanks for the update [17:46:52:] Hi Yves_ [17:46:58:] hi dodji [17:47:52:] my question is, where do we go from here? [17:49:11:] this is marginal, but if you want collaborative work on a wishlist for a start, there's the new wiki [17:49:23:] aha! [17:49:32:] ah, okay [17:49:34:] * bjoern_h hates all web fora... but ok... [17:49:34:] and I do think a good wishlist edited by the group could be a good first start [17:49:42:] http://esw.w3.org/topic/CssValidator [17:49:51:] for example [17:49:58:] yes [17:51:18:] * niq just posted to list [17:51:22:] http://lists.w3.org/Archives/Public/public-qa-dev/2004Mar/0003.html [17:51:42:] thanks niq [17:52:12:] sorry, meant to send a better-thought-through list [17:52:36:] niq: it's a good start [17:52:38:] my experience with sac so far is that it is good enough for a css validator, it just needs to get the core syntax right [17:52:54:] and since libcroco implements sac, we are halfway there [17:53:09:] yep [17:53:31:] I'd like to build O-O framework, but that gets much more complex [17:53:49:] *** Farkas has quit IRC (Read error: 104 (Connection reset by peer)) [17:53:57:] I think I should subscribe to that list then ;p [17:54:05:] i would like dodji to make location (line/col) information available quite soon [17:54:17:] action yod, add dodji to list [17:54:29:] your email dodji? [17:54:36:] Dodji, what's your mail address? [17:54:51:] *** Yves_ has quit IRC ("Leaving") [17:55:00:] line/col and file - remember we have @import, and we have from *ML [17:55:09:] bjoern_h: dodji@gnome.org [17:55:18:] (Yves too tired, leaving us) [17:55:20:] gnome++ [17:55:37:] @import should be handled by the implementation, not the sac parser [17:55:46:] - nice xml lib, and now nice css lib [17:56:15:] ok, Dodji now subscribed to public-qa-dev [17:56:30:] bjoern_h: okay, for the line/col information made available. I'll start working on it then [17:56:37:] yod: thank you very much [17:56:40:] thanks [17:57:03:] great, the next thing would then be syntax error report [17:57:12:] niq: some of your requests on the wishlist are more or less fullfilled already, I think [17:57:13:] how would we work on that? [17:57:19:] niq: the fragment parsing, for example [17:57:32:] (in the cvs) [17:57:33:] excellent [17:57:38:] (SAC is pretty complete for most tasks) [17:57:42:] one can parse css statements [17:57:54:] list of declarations etc [17:58:03:] are there interfaces for parse_selector(...) etc? [17:58:48:] CSS::SAC has a parse_simple_selector() but i think thats non-standard [17:58:53:] yes, you can parse a selector from a buffer [17:59:03:] cr_selector_parse_from_buf() is the name [17:59:11:] it returns a CRSelector [17:59:21:] cool [18:00:17:] really, the weakest part is the error recovering/reporting thing [18:00:32:] yes, how can we improve that? [18:00:47:] (or, how can we help you to improve it :-) [18:01:22:] today, an error is made of two things: [18:01:37:] an error message (that sucks) and an error code [18:02:01:] when the parser encounters an error, an error is pushed on an error stack [18:02:18:] and also, the error is reported at the sac level [18:02:29:] *** karlcow (~Karl@ANice-205-2-2-98.w81-50.abo.wanadoo.fr) has joined the channel [18:02:30:] can it read error messages as a runtime-thing? [18:02:53:] or can it be made to do that reasonably easily? [18:03:44:] what would be nice, I think, would be to have a structured CRParsingError datastructure [18:04:17:] SAC has a CSSParseException which contains line/column/URI/message string [18:04:18:] the fields of that datastructure would be things like error code, line/col info, and other things [18:04:27:] { line, col, errno, errmsg }, or more than that? [18:04:27:] bjoern_h: hehe [18:05:08:] niq: I don't even think that errmsg is a needed. Maybe the translation error code/ error message should be done by the layer above . [18:05:16:] niq, in sac, you would also get the context of the error, due to priour reported events [18:05:23:] a layer that would be aware of i18n etc [18:05:26:] * xover adds "byte offset and char offset, from beginning of line and from beginning of file/buffer" to wanted attributes... [18:05:30:] yes, i want error codes, not strings [18:05:36:] xover: yeah, why not [18:05:41:] ok, fairy nuff [18:05:48:] * bjoern_h would add "original text" too [18:06:02:] * xover sees snowballing happening‰ÛÏåÊ:-) [18:06:26:] okay, we all seem to agree on the mecanism then [18:06:37:] what about the stack of error thing ? [18:06:40:] can we rely on original text if something isn't well-formed [18:06:47:] today, the parser is a simple recursive descent parser [18:06:57:] oops, soryr [18:07:09:] niq: yes ? modulo the encoding [18:07:32:] the encoding is exactly what I thought might be a problem. [18:07:45:] Did you say it works in utf8 internally? [18:07:51:] yes [18:07:58:] ok, that helps [18:08:10:] probably [18:08:16:] so we don't have the original text really [18:08:27:] we have it encoded in utf8 [18:08:31:] but we can decode it back [18:08:35:] we do, original *text* != original byte[] [18:08:45:] bjoern_h: okay then [18:08:52:] but near enough, and if we're producing a report as utf-8 we can embed it [18:09:19:] Question: Does libcroco have Perl bindings? [18:09:25:] bah... [18:09:33:] libcroco doesn't have any bindings yet [18:09:34:] i knew that question would arise... [18:09:40:] use SWIG, xover [18:09:41:] hehe [18:09:48:] * xover may be interested in working on that at some point then‰ÛÏ [18:09:49:] I wrote it in C to easy this kind of things though [18:10:00:] s/easy/ease [18:10:17:] bjoern_h: SWIG is a stopgap, not a solution‰ÛÏ [18:10:24:] * bjoern_h knows... [18:10:49:] ACTION: xover to write PerlXS for libcroco... [18:10:52:] okay, kidding [18:10:55:] xover: is your OpenSp-Perl stuff reasonably complete/stable these days? [18:11:07:] niq, no [18:11:11:] :-) [18:11:16:] bjoern_h: hehe [18:11:24:] :-) [18:11:34:] sbp, you going to do the same for python? :-) [18:11:42:] what is OpenSp ? [18:11:55:] SGML parser [18:11:56:] SGML parser used for validator [18:11:59:] There are Python bindings for libsp. [18:12:04:] okay [18:12:05:] so, since we agree what we want wrt to error report, what needs to be done to make it happen? [18:12:19:] I think I heard about it before ... [18:12:34:] bjoern_h: i'll just put my hands in emacs :p [18:12:46:] bjoern_h: and let you guys now about the progress [18:12:53:] Dodji: http://openjade.sf.net/ (just for reference) [18:12:55:] dodji++ [18:12:57:] sounds excellent [18:12:57:] * bjoern_h smiles [18:13:08:] yeah. anything we could do to help? [18:13:32:] Where do we have the Pizza delivered to? :-) [18:13:39:] for now, nothing. I'll let you know when it's time for testing ;) [18:13:44:] (without in-depth knowledge of libcroco internals) [18:13:54:] Wow! [18:14:00:] xover, ouch; /me not well enough for that [18:14:08:] ok, that problem seems solved [18:14:27:] * yod can have a pizza delivered here in Cannes, you'd have to fly in :) [18:14:29:] Dodji: Is libcroco included in GNOME 2.4/2.6 release? [18:14:32:] frankly, this kind of work is important for me. libcroco has to be a good basic block in my software stack [18:14:38:] thanks very much dodji, your help is greatly appreciated [18:14:52:] xover: not yet, because I don't want to ensure abi/api stability now [18:15:07:] xover: but it is used by librsvg which is shipped in the platform ... [18:15:08:] Any target for inclusion, or is it "when ready"? [18:15:22:] Ah, right. [18:15:35:] xover: when it's ready :p but my GNOME mates are pushing hard for me to come up with something api/abi stable [18:15:45:] quickly [18:15:58:] * xover recalls some issues with OOo and libcroco via librsvg with Fedora Core 2... [18:16:16:] yeah, should be fixed now :p [18:16:21:] * bjoern_h would like to switch topic to "testing" now... [18:16:25:] times running out [18:16:29:] and i am tired [18:16:59:] and i need to go -> town and wash my towels, etc. [18:17:04:] and go shopping... [18:17:11:] and i am hungry... [18:17:15:] so, testing? [18:17:21:] fine [18:17:38:] you've assembled some cases ... [18:17:40:] yod? [18:17:42:] yes [18:17:56:] where are we wrt to testing? [18:18:23:] i would like to have something real soon know to make progress with markup validator [18:18:24:] not very far, though I'm multiplying contacts of people wanting to develop test management systems and test harness [18:18:39:] s/know/now [18:18:46:] and today, in my meeting, we had extensive presentations and discussions on the topic [18:19:25:] You mean W3/officialcom want it? [18:19:27:] one thing that the experts were saying is that test cases are pretty useless if the collection is not managed, versioned, etc [18:19:30:] i want something that i can run from command line before a cvs commit to make sure i did not mess it up [18:19:45:] so we're looking at : [18:20:06:] * a simple mechanism to contribute (and describe) test cases [18:20:28:] * a simple way to merge these in and manage the collection [18:20:33:] ( http://www.w3.org/mid/B99F8771-5B6A-11D8-998D-000393A63FC8@w3.org yod on testing ) [18:20:44:] * one or several systems to run the tests [18:20:58:] (covering all or part of the use cases) [18:21:24:] we have this human resources problem... [18:21:39:] HR problem for...? [18:21:45:] indeed [18:21:53:] everything? [18:21:59:] right [18:22:00:] right [18:23:01:] * niq has hihg-priority (i.e. paying) pressures for the first time for far too long ... [18:23:07:] the good news then is that I am trying to shift my effort to work a lot more on testing [18:23:31:] so HR may be partly solved if I manage to push this far enough [18:23:40:] and gather W3C people to help [18:24:03:] (QA and WCAG want to work on this, I expect them to help if we/I lead such an effort) [18:24:37:] WCAG? Aha! [18:24:52:] given what I have learned today, I have a clearer idea of how to manage such a thing [18:25:20:] (sorry, could I ask something ?) [18:25:29:] sure [18:25:31:] niq: yes, not exactly the same constraints as us in their test needs, but close enough that they may want to work with us [18:25:43:] * yod notes: my network will be cut within 10 minutes... :( [18:25:47:] wouldn't it be good is some of you could subscribe to the libcroco list ? [18:25:50:] the admin just told me [18:25:56:] yod: are the SWAD-e(?) folks involved ? [18:26:03:] * bjoern_h subscribed to libcroco [18:26:08:] okay, great [18:26:30:] niq : I could talk a couple of them into getting involved [18:26:52:] chaals maybe? [18:26:54:] the risk then might be to have too many people and spend more time discussing than doing actual work, but it's an idea [18:27:01:] yes, I was thinking of chaals [18:27:11:] yeah. Hmmm [18:28:07:] dodji, in fact, since you announced libcroco on www-style... [18:28:36:] oh, okay [18:28:53:] re testing, i guess i wont work on the code as long as there is no test suite [18:29:00:] I think the immediate next step in this would be to discuss the topic on the wiki [18:29:14:] unless someone is allergic to it [18:29:21:] WikiDiscuss-- [18:29:24:] * bjoern_h is [18:29:30:] I *might* draft some ideas, along the lines of the cataloguemanager thing [18:29:32:] hmmkay [18:29:37:] mailing-list it is then [18:29:47:] fine with me [18:30:03:] * bjoern_h would prefer NNTP but... :-) [18:30:04:] I plan on editing/refining my thoughts sometime this week [18:30:24:] * yod hasn't been on usenet for aeons [18:30:32:] wiki: willing to try [18:30:44:] i am not very concerned about design issues, i just want it work [18:31:10:] bjoern_h : understood, but I do worry about the design issues [18:31:23:] a little, at least [18:31:27:] BTW, did we ever discuss cataloguemanager in this forum? [18:31:36:] niq: I don't think we did [18:32:02:] hmmm [18:32:10:] but now plan on giving it a look at least [18:32:15:] ISTR someone didn't like it [Log file closed at: 2004-03-02 18:36:32