14:41:09 RRSAgent has joined #annotation 14:41:09 logging to http://www.w3.org/2016/07/15-annotation-irc 14:41:16 zakim, start meeting 14:41:16 I don't understand 'start meeting', azaroth 14:41:21 rrsagent, start meeting 14:41:21 I'm logging. I don't understand 'start meeting', azaroth. Try /msg RRSAgent help 14:41:24 ... 14:41:27 trackbot, start meeting 14:41:29 RRSAgent, make logs public 14:41:31 Zakim, this will be 2666 14:41:31 ok, trackbot 14:41:32 Meeting: Web Annotation Working Group Teleconference 14:41:32 Date: 15 July 2016 14:42:20 azaroth has changed the topic to: Agenda: https://lists.w3.org/Archives/Public/public-annotation/2016Jul/0058.html 14:42:24 Agenda: https://lists.w3.org/Archives/Public/public-annotation/2016Jul/0058.html 14:42:28 Chair: Rob_Sanderson 14:42:39 Regrets: Tim_Cole, Ivan_Herman 14:42:47 Present+ Rob_Sanderson 14:58:47 Jacob has joined #annotation 15:01:31 present+ shepazu 15:01:35 present- shepazu 15:01:40 present+ ShaneM 15:01:58 Present+ Jacob_Jett 15:03:00 Present+ Randall_Leeds 15:03:01 present+ Benjamin_Young 15:03:59 tilgovi has joined #annotation 15:04:05 Present+ Randall_Leeds 15:04:26 TimCole has joined #annotation 15:05:06 Scribenick: tilgovi 15:05:45 takeshi has joined #annotation 15:05:57 Janina_ has joined #annotation 15:06:56 PROPOSED RESOLUTION: Minutes of the previous call are approved: 15:06:57 https://www.w3.org/2016/07/08-annotation-minutes.html 15:07:10 PROPOSED RESOLUTION: Minutes of the previous call are approved: https://www.w3.org/2016/07/08-annotation-minutes.html 15:07:41 RESOLUTION: Minutes of the previous call are approved: https://www.w3.org/2016/07/08-annotation-minutes.html 15:07:55 TOPIC: Announcements 15:08:24 PaoloCiccarese has joined #annotation 15:08:34 azaroth: what we had changed from the previous version of protocol, they (who?) are happy 15:08:47 s/they/TAG/ 15:09:32 we were anticipating it might run into August. for it only to be one week delayed is very good. 15:09:53 TOPIC: Issue Review 15:10:05 github: https://github.com/w3c/web-annotation/issues/326 15:10:53 Questions that one? 15:11:08 github: https://github.com/w3c/web-annotation/issues/327 15:11:20 Benjamin, do you want to describe the issue? 15:11:32 bigbluehat: Yeah, I also commented on it. I'm all good with your response. 15:11:46 it makes sense the etag value obviously reaches far beyond MVCC style updating, to cache control and other things 15:12:00 I was looking for clarity on why it didn't match, but I should have just taking in to the mailing list. Happy to close it. 15:12:23 It may be good to call out the use for cache control. 15:12:53 If you just expose a directory of annotations you won't get an etag with most servers. 15:14:39 tilgovi: I think it's fine. I'm also surprised it's a MUST from LDP, but I think it's fine as is. 15:14:40 basically, it's out of our scope (as we depend on LDP), but the clarity would be a Good Thing 15:14:54 github: https://github.com/w3c/web-annotation/issues/329 15:15:04 azaroth: next one is from sarven 15:15:32 notes that the protocol spec says if the annotation contains a canonical link then it might be maintained without change 15:15:43 The "it" is intended to refer to the canonical link and not the annotation 15:15:50 The issue would be to clarify what the "it" refers to 15:15:59 tilgovi: +1 15:16:03 +1 15:16:23 +1 15:16:34 +1 15:17:10 github: https://github.com/w3c/web-annotation/issues/328 15:17:37 azaroth: Benjamin you also had a new issue yesterday, 328, Container Representations section should be more demanding 15:17:43 Would you want to explain that one? 15:17:49 you've gone very quiet 15:17:55 bigbluehat: ^^ 15:19:15 https://rawgit.com/w3c/web-annotation/protocol-qs/protocol/wd/index.html#h-container-representations 15:20:07 bigbluehat: basically, container representations make no actual requirements on the server in response to the prefer headers 15:20:53 azaroth: we could be clearer, but I wouldn't want to repeat all of the information from the model document that describes selections and annotations 15:21:04 s/selections/collections/ 15:21:04 bigbluehat: If you want I can send you a pull request for what I have in mind 15:21:13 Mostly I'm looking for clarification for this section 4.4.2 15:21:40 For a long time I was just handling PreferContainedIRI, which is actually goin gto get you all the IRIs not as a URL 15:22:04 If you're writing a server you really have to pay attention to the Client Preferences more than you might think you have to 15:24:30 azaroth: the other two new issues ... registering the profile with IETF so we have an official media type which I have not done ... the other one to make a table of all the predicates so we can track usage which I have also not done 15:24:39 but both of them need to be done by the end of CR, so we have a little bit of time 15:24:47 what's our CR "deadline" date? 15:24:52 aka "end of CR"? 15:24:53 other open issues, most of which can be closed 15:25:15 My goal is by TPAC 15:25:38 azaroth: we hope for mid-september so then we have a brief extension for issues and feedback to get from end of CR to full technical recommendation 15:25:52 that depends on lot on implementations and being able to demonstrate that we have implemented all of the features 15:26:10 We have aspirational end of CR dates. 15:26:17 It is somewhat in our control but there are other factors as wel. 15:26:24 s/wel./well./ 15:26:38 TOPIC: Testing 15:27:29 azaroth: two things, update on the status of the test suite and a discussion of feature testing vs validation and what our test suite will do 15:28:07 ShaneM: Progress recently... we've gotten the annotation model framework, that allows us to generate and execute tests, integrated into the environment now. That's good news. 15:28:12 That only has to do with model testing, not protocol. 15:28:39 That's progress on the framework for the model. 15:29:00 Regrets+ Ben_De_Meester 15:29:03 bigbluehat: Other than the issues we've been discussing, I've made it to the bottom of the spec for the MUST issues. 15:29:24 I'm dealing with a bug related to the tests I am writing. I was stuck on the prefer headers. 15:29:37 The next thing is abstracting it so that each test runs with its own temporary directory and a client can get its own space. 15:29:49 That gets messy. Works for one off tests and local testing, but not for hosting it. 15:30:08 fjh has joined #annotation 15:30:21 Two parts... one is making it contained per test run and the other is reporting how it all happened 15:30:25 q+ to talk about reporting 15:30:36 Ack ShaneM 15:30:36 ShaneM, you wanted to talk about reporting 15:30:40 And I would love help with doing any of that sort of reporting. 15:30:53 ShaneM: Once we get the basic plumbing in place attaching it to the built in reporting structure should not be a problem. 15:31:02 I didn't actually realize you were writing the tests. 15:31:06 That's fantastic. 15:31:18 If you need help with the temporary files, etc, I can advise on that as well. 15:31:33 awesomeness ^_^ 15:31:40 fjh has joined #annotation 15:32:21 azaroth: My understanding is we have been waiting a little bit until this ended up in WPT, but now any thoughts on when we will be getting back to writing more tests? 15:32:44 TimCole, Jacob, Janina_ ? 15:32:58 zakim, who is here? 15:32:58 Present: Rob_Sanderson, ShaneM, Jacob_Jett, Randall_Leeds, Benjamin_Young 15:33:00 On IRC I see fjh, PaoloCiccarese, Janina_, takeshi, TimCole, tilgovi, Jacob, RRSAgent, Zakim, azaroth, shepazu, dwhly, nickstenn, bigbluehat, ShaneM, rhiaro, csarven, stain, 15:33:00 ... timeless, aaronpk, trackbot 15:33:37 Once resolve validation versus showing feature implementation, will resume putting in schemas 15:33:57 still having some difficulty with making runner work locally 15:34:15 stalls at creation of MANIFEST.json 15:34:21 azaroth: Last weekend I started playing around with the servers and test suite. 15:34:41 with the intention of integrating them into my server implementation 15:34:47 this done by a py script that does a shell 15:34:52 so that I could validate input to see if it's an annotation or random junk 15:35:16 It's not really, at the moment, intended for automated validation. 15:35:55 ShaneM: The w3c test suites are designed to test implementations and demonstrate that all the features in the spec are implemented in two implementations. 15:36:04 If they have other add-on benefits that's great, but not usually a design goal. 15:36:17 Examples of add-on benefits: tests can be run doing continuous integration. 15:36:48 I sent an email yseterday about "Feature Testing Philosophy". We want these tests to be as discrete as possible without being overly onerous on the tester. 15:37:20 If a feature is "body" we need a test for body. If a feature is "bodyValue" we need a test for bodyValue. 15:37:44 fjh has joined #annotation 15:37:56 In some cases it makes sense to combine tests, say for specific properties that are all required, to make this easier on the tester. 15:39:10 azaroth: Is continuous integration sufficiently valuable that we should spend extra time ensuring that the schemas and so on are useful for that? 15:39:23 I don't even have an opinion on that. Mostly I'm not sure how difficult that is to do at the same time. 15:40:12 ShaneM: The add-on benefit is substantial, but we need to get out of CR. 15:40:39 My plan all along is that the tests would be structured identically, every test looks exactly the same, so that someone who wanted to automate the tests in WPT could do so. 15:40:46 Once we have tests in place, we could do that. 15:40:58 We could show how that would be done, and then put it in the wild so anyone can do it with their implementation. 15:41:12 I don't anything prevents us from doing that, but the manual tests are the thing we need first. 15:42:00 ShaneM: Coming back to the complexity discussion. Rob, thank you for raising the issue. I think having an incredibly complex JSON schema that's built out of little schemas that allows you to do validation of any annotation is a great exercise. 15:42:12 There should be a tool out in the world that you can use to check that your annotation is valid. 15:42:27 present+ shepazu 15:42:43 But for testing, I hope that these things are relatively simple. We have finely grained components and then we bundle those together in ways that make sense to exercise a given requirement. 15:43:16 ShaneM: I put together a hasBody.json file, a schema that checks to see if there's a body property and, if so, that it matches the expectations for a body property. 15:43:33 { 15:43:35 "$schema": "http://json-schema.org/draft-04/schema#", 15:43:37 "title": "Has a body property", 15:43:39 "description": "'http://www.w3.org/ns/anno.jsonld must be' an @context value (Section 3.1)", 15:43:41 "assertionType": "must", 15:43:43 "expectedResult": "valid", 15:43:45 "errorMessage": "There is no body property", 15:43:47 "type": "object", 15:43:49 "required": [ "body" ], 15:43:51 "properties": { 15:43:53 "body": { 15:43:55 "oneOf": [ 15:43:57 { "$ref": "stringUri.json" }, 15:43:59 { "type": "object", 15:44:01 "oneOf": [ 15:44:03 { "$ref": "textualBody.json" }, 15:44:05 { "$ref": "specificResource.json" } 15:44:07 ] 15:44:09 } 15:44:11 ] 15:44:13 } 15:44:15 } 15:44:17 } 15:44:40 ShaneM: The important part is that there's a thing that says '"type": "object"', and within that object "body" is required and that that property is "one of" (using "$ref") a "textualBody" or a "specificResource" (using the definitions that are already provided). 15:44:57 keep in mind that value of body can be an array 15:45:05 ShaneM: If two implementations pass that test, then great, we're laughing, that feature is implemented across two annotations. 15:45:19 Maybe that needs to be more complicated because the value of body can be an array. 15:45:57 AJV does a great job of parsing these and evaluating them very quickly (AJV is the library being used for this) 15:46:23 It does a good job of telling you what's wrong if there's a problem with a schema. 15:46:26 See also: https://github.com/w3c/web-annotation-tests/blob/master/annotations/bodyResource.json 15:46:32 ShaneM: Does anyone remember how many features we think there are? 15:46:40 azaroth: It's hard to count. Probably on the order of forty or fifty. 15:46:49 But this then requires that you separately check that each type of body is correct. 15:47:28 There are close to 100 features, grouped into about a dozen sections (outline of the spec) 15:47:40 ShaneM: There are two ways to approach this problem. I'm going to talk about just _a_ way. 15:47:50 stub-n.n.n-name.test 15:47:58 What people have done, is put things like "stub-n.n.n-name.test" in the tree. 15:48:07 Stub means it's not really a test yet, it's a reminder that we need a test. 15:48:11 As we write them, we rename them. 15:48:29 +1 15:49:28 what do you think of the stub concept TimCole 15:49:49 okay with me, we started with a spreadsheet, but stub naming would help organize 15:50:01 ACTION: ShaneM to create stub files... 15:50:01 Created ACTION-34 - Create stub files... [on Shane McCarron - due 2016-07-22]. 15:50:18 TimCole: Can you send Shane the spreadsheet to use, just to make certain that we're singing from the same hymnsheet 15:50:36 yes, it's a google doc. I'll send pointer after today's call. 15:50:40 ShaneM: I'll also modify the test generator so that if a thing is a stub so that the test that's generated is basically an automated test that says "not run" or "not ready" or whatever. 15:50:41 Thanks Tim! 15:50:45 it's still incomplete 15:50:55 We'll have a whole list that can say in a table that each test ran, passed, failed, etc or didn't run. 15:51:18 ShaneM: I know you want to talk about implementation progress, but we need test development and test development progress. 15:51:36 I would really like a time we can tell people that there are enough tests here that they can validate their implementation. 15:51:48 question: if an annotation has correctly implemented one type of body, but in same annotation incorrectly implemented another type of body, how do we report it? 15:52:08 It would probably fail TimCole 15:52:17 thanksa 15:52:32 ShaneM: I'm not going to impose a deadline, but I want someone to tell me when they can get the work done. 15:52:46 In my head, we were populated out by first of August. I don't know now. 15:52:54 TimCole: Do you have an estimate of when the schemas can be finished up? 15:52:57 That was my feeling a month ago. 15:53:19 At least to the point where it's useful to run existing annotations against them, even if the entire set isn't complete? 15:53:20 schemas can be done over the course of the next week, if we're clear about how test scripts are to be structured 15:53:45 at very least the granular schema definitions can be finished next week. 15:53:45 azaroth: This isn't an overly optimistic deadline. 15:53:48 ShaneM: Let's shoot for it. 15:53:51 How wrong can we be? 15:54:34 So we can try to get something set up to have implementations run beginning of august :) 15:55:12 I will get stubs thrown in to the annotation-model tree this weekend. 15:55:57 TimCole: Do you have everything, or are confident you'll get everything, you need to work on the schemas? 15:56:22 bigbluehat: are you there ben? it's me, margaret 15:56:31 blast...lost my mic...somehow... 15:56:38 I've been slowed down a bit by not being able to get runner going, but doesn't interfere with making schemas 15:56:42 low tech linux crap 15:56:44 k. we're close. we just need to generate a temp space per-run 15:56:45 :D 15:56:50 ShaneM: close...Window 10 ;) 15:57:05 TimCole: if you need help getting your environment running - ping me. I can walk you through it. 15:57:26 yes. all testing of the test tester thing would be super :) 15:58:39 azaroth: Hopefully by next week we can walk through how some annotations can be tested. 15:58:42 fjh has joined #annotation 15:59:05 ShaneM: I know there are example annotations in the spec for each data shape. I've been using those to test the tests. My question is "are those adequate"? Is there a way we can pull them out into independent files? 15:59:07 Could someone do that? 15:59:11 azaroth: That is already done, actually. 15:59:19 In the main spec repository. 15:59:45 but we need annotations that are not correct as well - there's space for this, but not yet populated 15:59:57 https://github.com/w3c/web-annotation/tree/gh-pages/model/wd2/examples/correct 16:00:44 ShaneM: that's beautiful. I want to use those to run against the tests. 16:00:54 That's why I like having the .json files separate from the .test files. We can cycle over them more easily. 16:00:56 Thank you. 16:00:59 azaroth: Thank you! 16:01:10 azaroth: Any more topics? 16:01:11 https://docs.google.com/spreadsheets/d/13LRf2-OCJlKplQE5MTV3breguuRhUyhQW8IZ_jQMBjw/edit#gid=595504397 16:01:27 shepazu: I just want to say thank you again to Shane for paving the way for us to be able to test JSON-LD at the W3C. This is very useful. 16:01:29 Topic: Adjourn 16:01:37 azaroth: Thank you everyone for coming. We'll discuss progress next week. 16:01:45 rrsagent generate minutes 16:01:58 RRSAgent, generate minutes 16:01:58 I have made the request to generate http://www.w3.org/2016/07/15-annotation-minutes.html azaroth 16:02:11 thank you. 16:02:15 fjh has joined #annotation 16:02:21 I don't have access to the generated file though :( 16:02:47 Ah, I see. So the "..." prefix on the lines isn't required but it would look much better. I forgot about that. 16:02:56 There for me, too. 16:02:57 Looks fine. 16:03:14 Huh. I get "Sorry, Insufficient Access Privileges" 16:03:26 weird 16:03:43 RRSAgent, help 16:04:15 By the way, I'm planning to release newest versions of some libraries this weekend if anyone wants to help with some JS implementation. 16:04:21 RRSAgent, please make logs world-visible 16:04:34 This one is just a little helper for environments where there's no platform support fo xpath: https://github.com/tilgovi/simple-xpath-position 16:04:40 Yup, that did it :) 16:04:50 This can go back and forth from Range objects to TextPositionSelector data: https://github.com/tilgovi/dom-anchor-text-position 16:05:14 tilgovi: Nice! :) 16:05:17 I have the same for TextQuoteSelector, but I am updating it to more match the API of the text position library (too much OOP for my taste right now). 16:05:34 And thanks for scribing, Randall! 16:05:35 There's no support for unicode right now 16:05:49 Insofar as surrogate pairs and such won't be counted as a single character. 16:06:01 I still have to test how that impacts performance and decide whether to make it optional. 16:06:10 And see how much bloat it adds to pull in the polyfills for that. 16:06:58 Yep, that sort of processing seems really expensive :( 16:07:33 Yeah. That's why I'm thinking opt-in. 16:08:21 All the JS engines in the major browsers still do UCS-2 internally, I think, so there's not even much hope to push them to expose something that wouldn't be slow. 16:08:58 fjh has joined #annotation 16:09:07 I'm off. Cheers. 16:09:19 See ya! :) 16:19:54 fjh has joined #annotation 17:19:13 fjh has joined #annotation 17:59:21 tilgovi has joined #annotation 21:08:13 Zakim has left #annotation 22:06:45 shepazu has joined #annotation