Options:
Previous day, Next day
- # Session Start: Wed Nov 25 00:00:00 2015
- # Session Ident: #microformats
- # [00:12] * Joins: gordonb (~gordonb@67-131-47-154.dia.static.qwest.net)
- # [00:33] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
- # [00:37] * Joins: KartikPrabhu (~kartik@2602:306:3859:10e0:d568:6012:da58:fdea)
- # [00:37] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 240 seconds)
- # [00:49] * Joins: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59)
- # [01:09] <Calli> !tell Tantek Is http://glennjones.net/tools/microformats/ a recommended tool to test with?
- # [01:09] <Loqi> Calli: tantek left you a message 2 hours, 19 minutes ago: Try constructing some simple span class markup with the tree you gave "vcard" > "adr h-adr" > "p-locality" and using one of the live textarea entry parsers to check! http://microformats.org/wiki/microformats2#Parsers
- # [01:09] <Loqi> Ok, I'll tell him that when I see him next
- # [01:10] <@tantek> indeed!
- # [01:10] <@tantek> Glennjones's mf2 parser is among the most compliant with the spec
- # [01:10] <Calli> Great. Many others are broken or offline.
- # [01:11] <Calli> https://pin13.net/mf2/ - Does not exclude new properties from compat items so can't test more advanced examples
- # [01:11] <Calli> http://mf2.vendaria.net - Does not seem to support compat so can't test at all
- # [01:11] <Calli> https://unrelenting.technology/mf2/ - - Does not seem to support compat so can't test at all
- # [01:12] <Calli> http://any23-vm.apache.org/ - dead link
- # [01:12] <Calli> So given this: <div class="vcard"><div class="adr h-adr"><div class="locality">MF1</div><div class="p-locality">MF2</div></div></div>
- # [01:12] <@tantek> Calli - yikes - which ones are broken or offline?
- # [01:12] <Calli> Glennjones says: { "items": [{ "type": ["h-card"], "properties": { "adr": [{ "value": "MF1MF2", "type": ["h-adr"], "properties": { "locality": ["MF2"], "name": ["MF1MF2"] } }] } }], "rels": {}, "rel-urls": {} }
- # [01:12] <@tantek> oh I see
- # [01:13] <@tantek> aaronpk: re: pin13 - does that need to be updated to a newer version of phpmf2?
- # [01:13] <aaronpk> let me check, i thought i had it up to date...
- # [01:13] <@tantek> hmm who is vendaria.net?
- # [01:14] <aaronpk> nope it's got the latest
- # [01:14] <Calli> vendaria is andyleap (Go)
- # [01:14] <Calli> Try this on pin13: <div class="vcard"><div class="adr"><div class="locality">MF1</div><div class="p-locality">MF2</div></div></div>
- # [01:15] <Calli> It picks up both locality and p-locality
- # [01:15] <aaronpk> is that this issue? https://github.com/indieweb/php-mf2/issues/45
- # [01:18] <Calli> Hard to tell with size of markup in that issue and title leaves room for interpretation. Maybe?
- # [01:19] <aaronpk> that is a rather large chunk of markup.
- # [01:20] <aaronpk> I *think* it's the same thing? could you add that small example to the issue? that would be helpful
- # [01:20] <Calli> I can. Will need to do later (have to signup for Github first).
- # [01:22] <@tantek> aaronpk - looks realted but not the same - that issue looks like it is about having both *root* class names
- # [01:22] <aaronpk> oh, hmm. well, new issue i guess!
- # [01:22] <@tantek> whereas Calli's example looks like it is bout having both *property* class names
- # [01:22] <@tantek> I *think* (that's upon quick reading of the issue and example)
- # [01:25] <Calli> yes. This is a minimal test: <div class="vcard"><div class="given-name">MF1</div><div class="p-given-name">MF2</div></div>
- # [01:26] <Calli> In that test, we expect only an MF1 property to appear in the output
- # [01:26] <Calli> The next more complex example is: <div class="vcard"><div class="adr"><div class="locality">MF1</div><div class="p-locality">MF2</div></div></div>
- # [01:27] <Calli> Where we've got an extra level of nesting. But still I think we expect only the MF1 property to appear in the output.
- # [01:27] <@kevinmarks> might be worth adding those to https://github.com/microformats/tests
- # [01:28] <Calli> And then we get to the example where I'm not sure the spec is clear about what has to happen: <div class="vcard"><div class="adr h-adr"><div class="locality">MF1</div><div class="p-locality">MF2</div></div></div>
- # [01:28] <@tantek> kevinmarks - pretty sure that glennjones already has tests in there for those test cases
- # [01:29] <Calli> In this case the question is whether the "adr h-adr" element has an MF1 compat context, and MF2 context, or both
- # [01:31] <@tantek> Calli - in the case of the presence of both roots, the mf2 roots take predence
- # [01:31] <Calli> BTW my rejiggered implementation matches the glennjones result: MF2 context turns off the MF1 compat so you only get locality = MF2
- # [01:31] <Calli> I don't know if that's right though - so that'smy question
- # [01:32] <@tantek> ah right - that's the detail of what to do with mf2 roots as properties of classic microformats properties!
- # [01:32] <@tantek> that is more subtle yes - you are correct to point that out separately
- # [01:34] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
- # [01:38] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 240 seconds)
- # [01:46] <Calli> So is the feeling that for the "adr h-adr" example that we should only honor the MF2 context. I think it will make my implementation more complex if I need to honor both (while still maintaining the other rules).
- # [01:46] <@tantek> agreed that trying to honor both inside any object would be more complex
- # [01:46] <@tantek> and likely cause unexpected results
- # [01:47] <@tantek> hmm - let's check the microformats2-issues to see if we already captured this or not - thought we had but just to be sure
- # [01:48] <@tantek> looking at http://microformats.org/wiki/microformats2-parsing-issues
- # [01:49] <@tantek> Calli - this looks close to your adr h-adr example: http://microformats.org/wiki/microformats2-parsing-issues#uf2_children_inside_a_classic_microformats_root_class_name
- # [01:49] <Calli> There is "any h- root class name overrides and stops backcompat root"
- # [01:49] <@tantek> yes, on that object
- # [01:49] <Calli> But it's not clear that it applies when the backcompat is implied by a property rather than explicit
- # [01:50] <@tantek> Calli - the problem is that in your example, "adr" is BOTH a property for the parent "vcard" AND its own backcompat root
- # [01:50] <@tantek> that makes it a more interesting example
- # [01:51] <@tantek> ok I'm pretty sure you've found a case that existing issues have not covered
- # [01:51] * Quits: TallTed (~Thud@c-98-216-254-6.hsd1.ma.comcast.net)
- # [01:51] <@tantek> well done!
- # [01:52] <@tantek> mf2 root directly on a backcompat property element
- # [01:52] <@tantek> hey kylewm I believe this to be a *different* issue than the one you originally found http://microformats.org/wiki/microformats2-parsing-issues#uf2_children_inside_a_classic_microformats_root_class_name
- # [01:52] <@tantek> and thus consideration of different treatment
- # [01:55] <@tantek> Calli, if I understand you correctly, you are proposing that in the "adr h-adr" example, the nested object is parsed as an mf2 h-adr, thus only looking at the p-location, and not the "location" class name
- # [01:56] <@tantek> that seems reasonable to me and I'd like to document that as a proposed resolution to this issue
- # [01:56] <@tantek> kylewm, aaronpk, tommorris, FYI ^^^
- # [01:58] * Quits: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59) (Ping timeout: 246 seconds)
- # [02:01] * Quits: gordonb (~gordonb@67-131-47-154.dia.static.qwest.net) (Quit: gordonb)
- # [02:10] * Joins: gordonb (~gordonb@67-131-47-154.dia.static.qwest.net)
- # [02:11] * Quits: gordonb (~gordonb@67-131-47-154.dia.static.qwest.net) (Client Quit)
- # [02:20] * Quits: gRegorLove (~me@c-73-140-189-21.hsd1.wa.comcast.net) (Quit: ChatZilla 0.9.92 [Firefox 42.0/20151029151421])
- # [02:23] <@tantek> kylewm: this example in particular: http://logs.glob.uno/?c=freenode%23microformats&s=today#c84632
- # [02:24] <@tantek> I'll capture it on the wiki
- # [02:30] <@tantek> Calli, kylewm new issue captured along with proposed resolution on the wiki: http://microformats.org/wiki/microformats2-parsing-issues#uf2_children_on_backcompat_properties
- # [02:31] * Joins: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59)
- # [02:32] <kylewm> I'm not quite understanding why it is not the same issue
- # [02:33] <kylewm> adr gets replace with "p-adr h-adr" but the value is parsed as mf2 object without backcompat
- # [02:34] <kylewm> oh i guess the difference is that it isn't just an unmoored child, it has a mf2 property
- # [02:34] <kylewm> s/mf2 property/mf1 property
- # [02:34] <Loqi> kylewm meant to say: oh i guess the difference is that it isn't just an unmoored child, it has a mf1 property
- # [02:34] <@tantek> exactly!
- # [02:34] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
- # [02:34] <@tantek> it does not end up in the children collection
- # [02:36] <kylewm> cool
- # [02:36] <kylewm> Calli++
- # [02:36] <Loqi> Calli has 1 karma
- # [02:38] <@tantek> Calli++ looks like we have a pretty decent consensus with your proposal, Glenn Jones's implementation, and another implementer (kylewm works on the python mf2 parser)
- # [02:38] <Loqi> Calli has 2 karma
- # [02:39] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 252 seconds)
- # [02:39] <@tantek> !tell tommorris, barnabywalters, kevinmarks please see new microformats2 parsing issue and propose resolution - we have a decent consensus, lacking objections I'm going to edit the spec accordingly in the next few days http://microformats.org/wiki/microformats2-parsing-issues#uf2_children_on_backcompat_properties
- # [02:39] <Loqi> Ok, I'll tell them that when I see them next
- # [02:48] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Ping timeout: 255 seconds)
- # [02:48] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
- # [02:48] * ChanServ sets mode: +o tantek
- # [02:53] <Calli> I'm happy with the conclusion. thanks all.
- # [02:55] <@tantek> Calli - please confirm when you've implemented it that way and we can note that in the issue as well
- # [02:55] <@tantek> and thanks for raising the issue!
- # [03:00] * Quits: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59) (Ping timeout: 246 seconds)
- # [03:03] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Ping timeout: 252 seconds)
- # [03:05] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
- # [03:05] * ChanServ sets mode: +o tantek
- # [03:10] <Loqi> [@sideshowbarker] @newtron For rel=preconnect, I think what’s needed is for somebody to move it to either the 1st or 3rd table at http://microformats.org/wiki/existing-rel-values ㏄ @t (http://twtr.io/16R3fNEp8gb)
- # [03:14] * Joins: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59)
- # [03:15] <Calli> New test case: <div class="vcard"><div class="adr h-custom"><div class="locality">MF1</div><div class="p-locality">MF2</div></div></div>
- # [03:16] <Calli> Never mind.
- # [03:16] <Calli> Oh I mean this is interesting
- # [03:17] <Calli> Glenn says: "items": [{ "type": ["h-card"], "properties": { "adr": [{ "value": "MF1MF2", "type": ["h-adr", "h-custom"], "properties": { "locality": ["MF2"], "name": ["MF1MF2"] } }] } }]
- # [03:17] <Calli> Note that type is h-adr here according to glenn (but not me)
- # [03:20] <@tantek> Calli I think you are correct per http://microformats.org/wiki/microformats2-parsing-issues#any_h-_root_class_name_overrides_and_stops_backcompat_root
- # [03:20] <@tantek> wow good catch
- # [03:22] <Calli> I think we're saying that the general principle is that if an element has an h- it will never have a compat type no matter where the element appears right?
- # [03:22] <@tantek> yes that seems consistent, and most predictable
- # [03:27] <@tantek> Thanks Calli - I've added both second example and parsed results as I think you are concluding: http://microformats.org/wiki/microformats2-parsing-issues#uf2_children_on_backcompat_properties
- # [03:28] * Quits: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59) (Ping timeout: 246 seconds)
- # [03:32] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Ping timeout: 264 seconds)
- # [03:34] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
- # [03:34] * ChanServ sets mode: +o tantek
- # [03:35] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
- # [03:40] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 272 seconds)
- # [03:48] <@tantek> that is an odd bit of partial REST verbism
- # [03:48] <@tantek> oops that was meant for #indiewebcamp
- # [04:04] * Quits: hober (~ted@unaffiliated/hober) (Read error: Connection reset by peer)
- # [04:04] * Joins: hober (~ted@unaffiliated/hober)
- # [04:07] <Loqi> [@Web4Panama] Ultimate Guide to #Microformats: Reference and Examples http://sixrevisions.com/web-development/ultimate-guide-to-microformats-reference-and-examples/ #SEO #WebDev (http://twtr.io/16R8nCY2M54)
- # [04:08] <Loqi> [@newtron] @sideshowbarker done! (though i put it in the html5 link type extensions per the instructions) http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions (http://twtr.io/16R8sTt0_cs)
- # [04:11] <Loqi> [@i0ewx76] RT Web4Panama Ultimate Guide to #Microformats: Reference and Examples http://sixrevisions.com/web-development/ultimate-guide-to-microformats-reference-and-examples/ #SEO #WebDev (http://twtr.io/16R98JMJJA8)
- # [04:17] * Joins: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251)
- # [04:18] <Loqi> [@newtron] Updated http://microformats.org/wiki/existing-rel-values to move preconnect from “brainstorming” to “HTML5 link type extensions”. Take that, https://t.co/9qwKDZt3df! (http://twtr.io/16R9pYyNDu8)
- # [04:20] <aaronpk> Haha what
- # [04:28] <@tantek> hahah awesome!
- # [04:28] <@tantek> newtron++
- # [04:28] <Loqi> newtron has 1 karma
- # [04:30] * Quits: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251) (Ping timeout: 246 seconds)
- # [04:36] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
- # [04:40] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 244 seconds)
- # [05:05] * Joins: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251)
- # [05:25] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
- # [05:53] <Loqi> [@mborn319] @newtron Hasn't HTML5 microdata pretty much supplanted microformats? (http://twtr.io/16RJJUPkNCG)
- # [05:58] <Loqi> [@Web4Panama] xtending #HTML5 — #Microformats http://html5doctor.com/microformats/ #WebDev #SEO #Search #SEM (http://twtr.io/16RJpEoidaj)
- # [06:01] <Loqi> [@sideshowbarker] RT @newtron: Updated http://microformats.org/wiki/existing-rel-values to move preconnect from “brainstorming” to “HTML5 link type extensions”. Take that, https://t.… (http://twtr.io/16RK2m6uqaj)
- # [06:13] <Loqi> [@graydonald57] RT Web4Panama xtending #HTML5 — #Microformats http://html5doctor.com/microformats/ #WebDev #SEO #Search #SEM (http://twtr.io/16RL9B96xmf)
- # [06:17] * Quits: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251) (Quit: Page closed)
- # [06:18] * Joins: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251)
- # [06:55] <Calli> Taken from real-world data and condensed: <div class="vcard"><a href="url-value" class="url n">name-value</a></div>
- # [07:40] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Quit: tantek)
- # [07:43] * Joins: eschnou (~eschnou@154.142-65-87.adsl-dyn.isp.belgacom.be)
- # [07:46] * Quits: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251) (Ping timeout: 246 seconds)
- # [07:46] * Quits: eschnou (~eschnou@154.142-65-87.adsl-dyn.isp.belgacom.be) (Remote host closed the connection)
- # [08:04] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Remote host closed the connection)
- # [09:01] * Joins: eschnou (~eschnou@2a02:a03f:8c1:500:227:10ff:fe64:feb4)
- # [09:03] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
- # [09:34] * Quits: eschnou (~eschnou@2a02:a03f:8c1:500:227:10ff:fe64:feb4) (Ping timeout: 252 seconds)
- # [09:39] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Remote host closed the connection)
- # [09:44] * Joins: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117)
- # [09:54] <Loqi> [@jongalloway] @kevinmarks @jden415 @t Awesome. I got into microformats in 2006 (a little late to the party), big fan. http://weblogs.asp.net/jongalloway/441290 (http://twtr.io/16Rf1Nn3UrC)
- # [10:03] * Quits: hober (~ted@unaffiliated/hober) (Read error: Connection reset by peer)
- # [10:04] * Joins: hober (~ted@unaffiliated/hober)
- # [11:14] * Joins: nitot (~nitot@212-198-232-69.rev.numericable.fr)
- # [11:32] * Quits: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117) (Ping timeout: 252 seconds)
- # [11:33] * Joins: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117)
- # [11:47] * Quits: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117) (Remote host closed the connection)
- # [11:50] * Joins: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117)
- # [12:03] * Quits: KartikPrabhu (~kartik@2602:306:3859:10e0:d568:6012:da58:fdea) (Ping timeout: 246 seconds)
- # [12:31] * Quits: nitot (~nitot@212-198-232-69.rev.numericable.fr) (Remote host closed the connection)
- # [12:51] * Quits: Erkan_Yilmaz (~Erkan_Yil@wikimedia/Erkan-Yilmaz) (Ping timeout: 264 seconds)
- # [12:58] * Joins: Erkan_Yilmaz (~Erkan_Yil@wikimedia/Erkan-Yilmaz)
- # [13:46] * Joins: andicascadesf (~andicasca@104-244-27-188.PUBLIC.monkeybrains.net)
- # [13:58] * Joins: KartikPrabhu (~kartik@2602:306:3859:10e0:e9fd:d75a:644d:c28a)
- # [14:02] * Quits: andicascadesf (~andicasca@104-244-27-188.PUBLIC.monkeybrains.net) (Quit: andicascadesf)
- # [14:12] * Joins: nitot (~nitot@89-92-156-73.hfc.dyn.abo.bbox.fr)
- # [14:23] * Joins: elf-pavlik (~elf-pavli@lorea/elf)
- # [14:48] * Quits: KartikPrabhu (~kartik@2602:306:3859:10e0:e9fd:d75a:644d:c28a) (Ping timeout: 272 seconds)
- # [15:05] * Joins: TallTed (~Thud@c-98-216-254-6.hsd1.ma.comcast.net)
- # [16:03] * Quits: hober (~ted@unaffiliated/hober) (Read error: Connection reset by peer)
- # [16:04] * Joins: hober (~ted@unaffiliated/hober)
- # [17:19] * Quits: elf-pavlik (~elf-pavli@lorea/elf) (Quit: Leaving)
- # [17:35] <Loqi> [@helengregory] @hreview Steve Jobs **** An interesting view of this very driven and focused man. Well filmed. Great casting. (http://twtr.io/16SMTYMspVj)
- # [17:56] * Quits: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117) (Ping timeout: 252 seconds)
- # [17:58] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
- # [17:58] * ChanServ sets mode: +o tantek
- # [18:03] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Client Quit)
- # [18:05] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
- # [18:05] * ChanServ sets mode: +o tantek
- # [18:15] * Joins: andicascadesf (~andicasca@104-244-27-188.PUBLIC.monkeybrains.net)
- # [18:15] * Parts: andicascadesf (~andicasca@104-244-27-188.PUBLIC.monkeybrains.net)
- # [18:40] * Joins: gRegorLove (~me@c-73-140-189-21.hsd1.wa.comcast.net)
- # [18:40] * Joins: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59)
- # [18:56] <Calli> Going to write a summary of MF2 compat parsing concepts based on yesterdays discussion:
- # [18:56] <Calli> Defns: "Compatibility Map" contains all possible mappings from MF1 classes to MF2 classes. It doesn't change.
- # [18:56] <Calli> "Compatibility Class Map" maps from MF1 type classes to MF2 type classes. It doesn't change. It's the subset of the Compatibility Map that deals with mapping types.
- # [18:56] <Calli> "Compatibility Context" maps from MF1 property classes to MF2 property and type classes. It can be different for each HTML element. It's the relevant subset of the Compatibility Map.
- # [18:57] <Calli> "MF1 type classes" are: vcard, hentry, hrecipe, hresume, vevent, hreview, hproduct, hreview-aggregate, hgeo, hadr
- # [18:57] <Calli> Every HTML element in the source document _defines_ a Compatibility Context:
- # [18:57] <Calli> If the HTML element contains an MF2 type class (prefix h-), it defines an empty Compatibility Context
- # [18:57] <Calli> Else if the HTML element contains any MF1 type classes, it defines a Compatibility Context that consists of the union of the compatibility mappings for those types.
- # [18:57] <Calli> Otherwise it defines a Compatibility Context that is the same as its parent Compatibility Context.
- # [18:57] <Calli> The Compatibility Context is _used_ when examining child elements:
- # [18:57] <Calli> The active properties on an element are defined this way:
- # [18:57] <Calli> If the Compatibility Context is empty, the properties of the element are the MF2 property classes on that element
- # [18:57] <Calli> Otherwise the properties of that element are obtained by mapping the MF1 property classes through the Compatibility Context to obtain MF2 property classes. (In this case, MF2 property classes on the element itself are ignored)
- # [18:58] <Calli> The active types on an element are defined this way:
- # [18:58] <Calli> If the HTML element contains any MF2 type classes (prefix h-), the active types are exactly those types
- # [18:58] <Calli> Otherwise the active types are a union of:
- # [18:58] <Calli> 1. MF1 type classes on the element mapped to MF2 type classes through the Compatibility Class Map
- # [18:58] <Calli> 2. MF1 property classes on the element mapped to MF2 type classes through the Compatibility Context
- # [18:58] <Calli> ...
- # [18:59] <Calli> I think that gives results that match the intentions of the spec and covers the cases discussed yesterday
- # [19:05] <Calli> The microformats 2 parsing page needs a prominent place for the "Compatibility Map" - it's not possible to produce interoperable MF2 parsers without this map
- # [19:08] <Calli> I borrowed mine from another parser and adjusted it to my programming language (C++) and preferences, but it needs to be part of the spec
- # [19:12] <@tantek> I'm not sure more terminology would help the parsing spec be more understandable
- # [19:12] <@tantek> I'd prefer to keep the parsing spec very direct in terms of what to do with what inputs
- # [19:12] <@tantek> rather than introduce more abstractions
- # [19:12] <@tantek> which tends to *increase* the cognitive load necessary to understand and implement
- # [19:12] <Calli> That's OK - I'm not intending my description to be part of the spec; only the compatibility mapping data
- # [19:13] <@tantek> That being said, I do think you make good points about better documentation about backcompat parsing details
- # [19:13] <Calli> Right now spec says have to do backcompat and if you look closely you can find a link to the root class names that apply
- # [19:13] <Calli> But need those and the property mappings for the parser to work
- # [19:22] <@tantek> Calli could you review this? (just added) http://microformats.org/wiki/microformats2-parsing#note_backward_compatibility_details
- # [19:23] <Calli> taking a look
- # [19:24] <Calli> I believe that to be both correct and helpful
- # [19:25] <Calli> To see why mapping matters, can compare this: <div class="hreview"><div class="reviewer"></div></div>
- # [19:25] <Calli> on glennjones and pin13
- # [19:26] <@tantek> ah - are you referring to needing an explicit list of backcompat roots for example?
- # [19:27] <Calli> pin13 mapping creates 2 props for reviewer (reviewer and author) glennjones only has reviewer
- # [19:27] <@tantek> thanks for the review!
- # [19:27] <Calli> Yes, explicit list of backcompat roots and explicit list of properties within those roots and how they should be mapped
- # [19:30] <Calli> something like https://github.com/tommorris/mf2py/blob/master/mf2py/backcompat.py but without the code
- # [19:31] <Calli> and whatever the concensus is on what the actual data should be
- # [19:32] <@tantek> ok that makes sense. I'm thinking a summary of the backcompat roots would be sufficient for the parsing spec, linked to each of the backcompat properties sections for each root - rather than duplicating
- # [19:38] <Calli> I guess the info can be pieced together from http://microformats.org/wiki/microformats2 but that page has a certain amount of discussion and options and inconsistent use of new vs old types
- # [19:39] <@tantek> agreed - it can be made simpler / easier for implementers
- # [19:39] <Calli> Yes, if you want better consistency across implementations and to make life easier for implementers a simple data file would be better
- # [19:39] <@tantek> thanks for pointing this out - really helps to have a fresh pair of eyes look at it
- # [19:40] <@tantek> I'm thinking a summary list to start with, and then maybe links to data files of existing parser implementations
- # [19:42] * Quits: rhiaro__ (~quassel@188.226.186.12) (Remote host closed the connection)
- # [19:45] <Calli> Glenn's maps can be found by searching for -> modules.maps[' <-- in https://github.com/glennjones/microformat-shiv/blob/master/microformat-shiv.js
- # [19:46] <Calli> But they're less explicit than the mf2py one
- # [19:50] <@kevinmarks> I found the mf2py mapping very clarifying too, I agree we should capture that in a language independent way
- # [19:50] <Loqi> kevinmarks: tantek left you a message 17 hours, 10 minutes ago: please see new microformats2 parsing issue and propose resolution - we have a decent consensus, lacking objections I'm going to edit the spec accordingly in the next few days http://microformats.org/wiki/microformats2-parsing-issues#uf2_children_on_backcompat_properties
- # [19:53] * Joins: eschnou (~eschnou@154.142-65-87.adsl-dyn.isp.belgacom.be)
- # [19:54] <Calli> There's another one if you search --> $classicPropertyMap <-- in https://github.com/indieweb/php-mf2/blob/master/Mf2/Parser.php
- # [19:54] <@tantek> this is excellent - this way we can hopefully submit pull requests to fix all these to be consistent
- # [19:59] <Calli> There aren't that many language-specific extras on the PHP and Python maps so I'd be OK if the spec included a map that actually compiles as code in some language as the core data (rather than language-independent)
- # [20:04] <Calli> BTW the https://github.com/G5/microformats2 is no longer maintained according to their GitHub
- # [20:08] <Calli> The overall hit-rate on working online MF2 parsers and actively maintained repos for parsers on the wiki isn't super high right now - if you have some preferred implementations and/or parsers that you know are being actively worked on, I'd suggested moving them to the top of the list
- # [20:09] <@tantek> That's a good point
- # [20:09] <@tantek> microformatshiv is very active, and mf2py and phpmf2 after that
- # [20:09] <@tantek> I think the others are more in a "development" phase
- # [20:09] <@tantek> whereas the first three are all used in production on various sites
- # [20:15] <Calli> yeah those three seem good. My rec would be to put links to the most reliable sites with textarea input right at the top of the list, followed by active repos by language, followed by others
- # [20:21] <@tantek> that's a good reclustering
- # [21:18] * Quits: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59) (Ping timeout: 246 seconds)
- # [21:47] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Quit: tantek)
- # [21:48] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
- # [21:48] * ChanServ sets mode: +o tantek
- # [22:55] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Quit: tantek)
- # [23:07] * Quits: TallTed (~Thud@c-98-216-254-6.hsd1.ma.comcast.net)
- # [23:13] * Quits: eschnou (~eschnou@154.142-65-87.adsl-dyn.isp.belgacom.be) (Ping timeout: 260 seconds)
- # [23:35] * Joins: tantek (~tantek@guest-nat.p2p.sfo1.mozilla.com)
- # [23:35] * ChanServ sets mode: +o tantek
- # Session Close: Thu Nov 26 00:00:00 2015
Previous day, Next day
Think these logs are useful? Then please donate to show your gratitude (and keep them up, of course). Thanks! — Krijn