/irc-logs / freenode / #microformats / 2015-11-25 / end

Options:

Previous day, Next day

  1. # Session Start: Wed Nov 25 00:00:00 2015
  2. # Session Ident: #microformats
  3. # [00:12] * Joins: gordonb (~gordonb@67-131-47-154.dia.static.qwest.net)
  4. # [00:33] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
  5. # [00:37] * Joins: KartikPrabhu (~kartik@2602:306:3859:10e0:d568:6012:da58:fdea)
  6. # [00:37] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 240 seconds)
  7. # [00:49] * Joins: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59)
  8. # [01:09] <Calli> !tell Tantek Is http://glennjones.net/tools/microformats/ a recommended tool to test with?
  9. # [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
  10. # [01:09] <Loqi> Ok, I'll tell him that when I see him next
  11. # [01:10] <@tantek> indeed!
  12. # [01:10] <@tantek> Glennjones's mf2 parser is among the most compliant with the spec
  13. # [01:10] <Calli> Great. Many others are broken or offline.
  14. # [01:11] <Calli> https://pin13.net/mf2/ - Does not exclude new properties from compat items so can't test more advanced examples
  15. # [01:11] <Calli> http://mf2.vendaria.net - Does not seem to support compat so can't test at all
  16. # [01:11] <Calli> https://unrelenting.technology/mf2/ - - Does not seem to support compat so can't test at all
  17. # [01:12] <Calli> http://any23-vm.apache.org/ - dead link
  18. # [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>
  19. # [01:12] <@tantek> Calli - yikes - which ones are broken or offline?
  20. # [01:12] <Calli> Glennjones says: { "items": [{ "type": ["h-card"], "properties": { "adr": [{ "value": "MF1MF2", "type": ["h-adr"], "properties": { "locality": ["MF2"], "name": ["MF1MF2"] } }] } }], "rels": {}, "rel-urls": {} }
  21. # [01:12] <@tantek> oh I see
  22. # [01:13] <@tantek> aaronpk: re: pin13 - does that need to be updated to a newer version of phpmf2?
  23. # [01:13] <aaronpk> let me check, i thought i had it up to date...
  24. # [01:13] <@tantek> hmm who is vendaria.net?
  25. # [01:14] <aaronpk> nope it's got the latest
  26. # [01:14] <Calli> vendaria is andyleap (Go)
  27. # [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>
  28. # [01:15] <Calli> It picks up both locality and p-locality
  29. # [01:15] <aaronpk> is that this issue? https://github.com/indieweb/php-mf2/issues/45
  30. # [01:18] <Calli> Hard to tell with size of markup in that issue and title leaves room for interpretation. Maybe?
  31. # [01:19] <aaronpk> that is a rather large chunk of markup.
  32. # [01:20] <aaronpk> I *think* it's the same thing? could you add that small example to the issue? that would be helpful
  33. # [01:20] <Calli> I can. Will need to do later (have to signup for Github first).
  34. # [01:22] <@tantek> aaronpk - looks realted but not the same - that issue looks like it is about having both *root* class names
  35. # [01:22] <aaronpk> oh, hmm. well, new issue i guess!
  36. # [01:22] <@tantek> whereas Calli's example looks like it is bout having both *property* class names
  37. # [01:22] <@tantek> I *think* (that's upon quick reading of the issue and example)
  38. # [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>
  39. # [01:26] <Calli> In that test, we expect only an MF1 property to appear in the output
  40. # [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>
  41. # [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.
  42. # [01:27] <@kevinmarks> might be worth adding those to https://github.com/microformats/tests
  43. # [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>
  44. # [01:28] <@tantek> kevinmarks - pretty sure that glennjones already has tests in there for those test cases
  45. # [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
  46. # [01:31] <@tantek> Calli - in the case of the presence of both roots, the mf2 roots take predence
  47. # [01:31] <Calli> BTW my rejiggered implementation matches the glennjones result: MF2 context turns off the MF1 compat so you only get locality = MF2
  48. # [01:31] <Calli> I don't know if that's right though - so that'smy question
  49. # [01:32] <@tantek> ah right - that's the detail of what to do with mf2 roots as properties of classic microformats properties!
  50. # [01:32] <@tantek> that is more subtle yes - you are correct to point that out separately
  51. # [01:34] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
  52. # [01:38] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 240 seconds)
  53. # [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).
  54. # [01:46] <@tantek> agreed that trying to honor both inside any object would be more complex
  55. # [01:46] <@tantek> and likely cause unexpected results
  56. # [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
  57. # [01:48] <@tantek> looking at http://microformats.org/wiki/microformats2-parsing-issues
  58. # [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
  59. # [01:49] <Calli> There is "any h- root class name overrides and stops backcompat root"
  60. # [01:49] <@tantek> yes, on that object
  61. # [01:49] <Calli> But it's not clear that it applies when the backcompat is implied by a property rather than explicit
  62. # [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
  63. # [01:50] <@tantek> that makes it a more interesting example
  64. # [01:51] <@tantek> ok I'm pretty sure you've found a case that existing issues have not covered
  65. # [01:51] * Quits: TallTed (~Thud@c-98-216-254-6.hsd1.ma.comcast.net)
  66. # [01:51] <@tantek> well done!
  67. # [01:52] <@tantek> mf2 root directly on a backcompat property element
  68. # [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
  69. # [01:52] <@tantek> and thus consideration of different treatment
  70. # [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
  71. # [01:56] <@tantek> that seems reasonable to me and I'd like to document that as a proposed resolution to this issue
  72. # [01:56] <@tantek> kylewm, aaronpk, tommorris, FYI ^^^
  73. # [01:58] * Quits: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59) (Ping timeout: 246 seconds)
  74. # [02:01] * Quits: gordonb (~gordonb@67-131-47-154.dia.static.qwest.net) (Quit: gordonb)
  75. # [02:10] * Joins: gordonb (~gordonb@67-131-47-154.dia.static.qwest.net)
  76. # [02:11] * Quits: gordonb (~gordonb@67-131-47-154.dia.static.qwest.net) (Client Quit)
  77. # [02:20] * Quits: gRegorLove (~me@c-73-140-189-21.hsd1.wa.comcast.net) (Quit: ChatZilla 0.9.92 [Firefox 42.0/20151029151421])
  78. # [02:23] <@tantek> kylewm: this example in particular: http://logs.glob.uno/?c=freenode%23microformats&s=today#c84632
  79. # [02:24] <@tantek> I'll capture it on the wiki
  80. # [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
  81. # [02:31] * Joins: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59)
  82. # [02:32] <kylewm> I'm not quite understanding why it is not the same issue
  83. # [02:33] <kylewm> adr gets replace with "p-adr h-adr" but the value is parsed as mf2 object without backcompat
  84. # [02:34] <kylewm> oh i guess the difference is that it isn't just an unmoored child, it has a mf2 property
  85. # [02:34] <kylewm> s/mf2 property/mf1 property
  86. # [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
  87. # [02:34] <@tantek> exactly!
  88. # [02:34] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
  89. # [02:34] <@tantek> it does not end up in the children collection
  90. # [02:36] <kylewm> cool
  91. # [02:36] <kylewm> Calli++
  92. # [02:36] <Loqi> Calli has 1 karma
  93. # [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)
  94. # [02:38] <Loqi> Calli has 2 karma
  95. # [02:39] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 252 seconds)
  96. # [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
  97. # [02:39] <Loqi> Ok, I'll tell them that when I see them next
  98. # [02:48] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Ping timeout: 255 seconds)
  99. # [02:48] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
  100. # [02:48] * ChanServ sets mode: +o tantek
  101. # [02:53] <Calli> I'm happy with the conclusion. thanks all.
  102. # [02:55] <@tantek> Calli - please confirm when you've implemented it that way and we can note that in the issue as well
  103. # [02:55] <@tantek> and thanks for raising the issue!
  104. # [03:00] * Quits: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59) (Ping timeout: 246 seconds)
  105. # [03:03] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Ping timeout: 252 seconds)
  106. # [03:05] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
  107. # [03:05] * ChanServ sets mode: +o tantek
  108. # [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)
  109. # [03:14] * Joins: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59)
  110. # [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>
  111. # [03:16] <Calli> Never mind.
  112. # [03:16] <Calli> Oh I mean this is interesting
  113. # [03:17] <Calli> Glenn says: "items": [{ "type": ["h-card"], "properties": { "adr": [{ "value": "MF1MF2", "type": ["h-adr", "h-custom"], "properties": { "locality": ["MF2"], "name": ["MF1MF2"] } }] } }]
  114. # [03:17] <Calli> Note that type is h-adr here according to glenn (but not me)
  115. # [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
  116. # [03:20] <@tantek> wow good catch
  117. # [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?
  118. # [03:22] <@tantek> yes that seems consistent, and most predictable
  119. # [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
  120. # [03:28] * Quits: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59) (Ping timeout: 246 seconds)
  121. # [03:32] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Ping timeout: 264 seconds)
  122. # [03:34] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
  123. # [03:34] * ChanServ sets mode: +o tantek
  124. # [03:35] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
  125. # [03:40] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 272 seconds)
  126. # [03:48] <@tantek> that is an odd bit of partial REST verbism
  127. # [03:48] <@tantek> oops that was meant for #indiewebcamp
  128. # [04:04] * Quits: hober (~ted@unaffiliated/hober) (Read error: Connection reset by peer)
  129. # [04:04] * Joins: hober (~ted@unaffiliated/hober)
  130. # [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)
  131. # [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)
  132. # [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)
  133. # [04:17] * Joins: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251)
  134. # [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)
  135. # [04:20] <aaronpk> Haha what
  136. # [04:28] <@tantek> hahah awesome!
  137. # [04:28] <@tantek> newtron++
  138. # [04:28] <Loqi> newtron has 1 karma
  139. # [04:30] * Quits: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251) (Ping timeout: 246 seconds)
  140. # [04:36] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
  141. # [04:40] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Ping timeout: 244 seconds)
  142. # [05:05] * Joins: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251)
  143. # [05:25] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
  144. # [05:53] <Loqi> [@mborn319] @newtron Hasn't HTML5 microdata pretty much supplanted microformats? (http://twtr.io/16RJJUPkNCG)
  145. # [05:58] <Loqi> [@Web4Panama] xtending #HTML5 — #Microformats http://html5doctor.com/microformats/ #WebDev #SEO #Search #SEM (http://twtr.io/16RJpEoidaj)
  146. # [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)
  147. # [06:13] <Loqi> [@graydonald57] RT Web4Panama xtending #HTML5 — #Microformats http://html5doctor.com/microformats/ #WebDev #SEO #Search #SEM (http://twtr.io/16RL9B96xmf)
  148. # [06:17] * Quits: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251) (Quit: Page closed)
  149. # [06:18] * Joins: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251)
  150. # [06:55] <Calli> Taken from real-world data and condensed: <div class="vcard"><a href="url-value" class="url n">name-value</a></div>
  151. # [07:40] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Quit: tantek)
  152. # [07:43] * Joins: eschnou (~eschnou@154.142-65-87.adsl-dyn.isp.belgacom.be)
  153. # [07:46] * Quits: Calli (ae18a1fb@gateway/web/freenode/ip.174.24.161.251) (Ping timeout: 246 seconds)
  154. # [07:46] * Quits: eschnou (~eschnou@154.142-65-87.adsl-dyn.isp.belgacom.be) (Remote host closed the connection)
  155. # [08:04] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Remote host closed the connection)
  156. # [09:01] * Joins: eschnou (~eschnou@2a02:a03f:8c1:500:227:10ff:fe64:feb4)
  157. # [09:03] * Joins: nitot (~nitot@210.209.24.109.rev.sfr.net)
  158. # [09:34] * Quits: eschnou (~eschnou@2a02:a03f:8c1:500:227:10ff:fe64:feb4) (Ping timeout: 252 seconds)
  159. # [09:39] * Quits: nitot (~nitot@210.209.24.109.rev.sfr.net) (Remote host closed the connection)
  160. # [09:44] * Joins: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117)
  161. # [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)
  162. # [10:03] * Quits: hober (~ted@unaffiliated/hober) (Read error: Connection reset by peer)
  163. # [10:04] * Joins: hober (~ted@unaffiliated/hober)
  164. # [11:14] * Joins: nitot (~nitot@212-198-232-69.rev.numericable.fr)
  165. # [11:32] * Quits: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117) (Ping timeout: 252 seconds)
  166. # [11:33] * Joins: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117)
  167. # [11:47] * Quits: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117) (Remote host closed the connection)
  168. # [11:50] * Joins: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117)
  169. # [12:03] * Quits: KartikPrabhu (~kartik@2602:306:3859:10e0:d568:6012:da58:fdea) (Ping timeout: 246 seconds)
  170. # [12:31] * Quits: nitot (~nitot@212-198-232-69.rev.numericable.fr) (Remote host closed the connection)
  171. # [12:51] * Quits: Erkan_Yilmaz (~Erkan_Yil@wikimedia/Erkan-Yilmaz) (Ping timeout: 264 seconds)
  172. # [12:58] * Joins: Erkan_Yilmaz (~Erkan_Yil@wikimedia/Erkan-Yilmaz)
  173. # [13:46] * Joins: andicascadesf (~andicasca@104-244-27-188.PUBLIC.monkeybrains.net)
  174. # [13:58] * Joins: KartikPrabhu (~kartik@2602:306:3859:10e0:e9fd:d75a:644d:c28a)
  175. # [14:02] * Quits: andicascadesf (~andicasca@104-244-27-188.PUBLIC.monkeybrains.net) (Quit: andicascadesf)
  176. # [14:12] * Joins: nitot (~nitot@89-92-156-73.hfc.dyn.abo.bbox.fr)
  177. # [14:23] * Joins: elf-pavlik (~elf-pavli@lorea/elf)
  178. # [14:48] * Quits: KartikPrabhu (~kartik@2602:306:3859:10e0:e9fd:d75a:644d:c28a) (Ping timeout: 272 seconds)
  179. # [15:05] * Joins: TallTed (~Thud@c-98-216-254-6.hsd1.ma.comcast.net)
  180. # [16:03] * Quits: hober (~ted@unaffiliated/hober) (Read error: Connection reset by peer)
  181. # [16:04] * Joins: hober (~ted@unaffiliated/hober)
  182. # [17:19] * Quits: elf-pavlik (~elf-pavli@lorea/elf) (Quit: Leaving)
  183. # [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)
  184. # [17:56] * Quits: eschnou (~eschnou@2a02:a03f:8c1:500:f24d:a2ff:fe83:4117) (Ping timeout: 252 seconds)
  185. # [17:58] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
  186. # [17:58] * ChanServ sets mode: +o tantek
  187. # [18:03] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Client Quit)
  188. # [18:05] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
  189. # [18:05] * ChanServ sets mode: +o tantek
  190. # [18:15] * Joins: andicascadesf (~andicasca@104-244-27-188.PUBLIC.monkeybrains.net)
  191. # [18:15] * Parts: andicascadesf (~andicasca@104-244-27-188.PUBLIC.monkeybrains.net)
  192. # [18:40] * Joins: gRegorLove (~me@c-73-140-189-21.hsd1.wa.comcast.net)
  193. # [18:40] * Joins: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59)
  194. # [18:56] <Calli> Going to write a summary of MF2 compat parsing concepts based on yesterdays discussion:
  195. # [18:56] <Calli> Defns: "Compatibility Map" contains all possible mappings from MF1 classes to MF2 classes. It doesn't change.
  196. # [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.
  197. # [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.
  198. # [18:57] <Calli> "MF1 type classes" are: vcard, hentry, hrecipe, hresume, vevent, hreview, hproduct, hreview-aggregate, hgeo, hadr
  199. # [18:57] <Calli> Every HTML element in the source document _defines_ a Compatibility Context:
  200. # [18:57] <Calli> If the HTML element contains an MF2 type class (prefix h-), it defines an empty Compatibility Context
  201. # [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.
  202. # [18:57] <Calli> Otherwise it defines a Compatibility Context that is the same as its parent Compatibility Context.
  203. # [18:57] <Calli> The Compatibility Context is _used_ when examining child elements:
  204. # [18:57] <Calli> The active properties on an element are defined this way:
  205. # [18:57] <Calli> If the Compatibility Context is empty, the properties of the element are the MF2 property classes on that element
  206. # [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)
  207. # [18:58] <Calli> The active types on an element are defined this way:
  208. # [18:58] <Calli> If the HTML element contains any MF2 type classes (prefix h-), the active types are exactly those types
  209. # [18:58] <Calli> Otherwise the active types are a union of:
  210. # [18:58] <Calli> 1. MF1 type classes on the element mapped to MF2 type classes through the Compatibility Class Map
  211. # [18:58] <Calli> 2. MF1 property classes on the element mapped to MF2 type classes through the Compatibility Context
  212. # [18:58] <Calli> ...
  213. # [18:59] <Calli> I think that gives results that match the intentions of the spec and covers the cases discussed yesterday
  214. # [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
  215. # [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
  216. # [19:12] <@tantek> I'm not sure more terminology would help the parsing spec be more understandable
  217. # [19:12] <@tantek> I'd prefer to keep the parsing spec very direct in terms of what to do with what inputs
  218. # [19:12] <@tantek> rather than introduce more abstractions
  219. # [19:12] <@tantek> which tends to *increase* the cognitive load necessary to understand and implement
  220. # [19:12] <Calli> That's OK - I'm not intending my description to be part of the spec; only the compatibility mapping data
  221. # [19:13] <@tantek> That being said, I do think you make good points about better documentation about backcompat parsing details
  222. # [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
  223. # [19:13] <Calli> But need those and the property mappings for the parser to work
  224. # [19:22] <@tantek> Calli could you review this? (just added) http://microformats.org/wiki/microformats2-parsing#note_backward_compatibility_details
  225. # [19:23] <Calli> taking a look
  226. # [19:24] <Calli> I believe that to be both correct and helpful
  227. # [19:25] <Calli> To see why mapping matters, can compare this: <div class="hreview"><div class="reviewer"></div></div>
  228. # [19:25] <Calli> on glennjones and pin13
  229. # [19:26] <@tantek> ah - are you referring to needing an explicit list of backcompat roots for example?
  230. # [19:27] <Calli> pin13 mapping creates 2 props for reviewer (reviewer and author) glennjones only has reviewer
  231. # [19:27] <@tantek> thanks for the review!
  232. # [19:27] <Calli> Yes, explicit list of backcompat roots and explicit list of properties within those roots and how they should be mapped
  233. # [19:30] <Calli> something like https://github.com/tommorris/mf2py/blob/master/mf2py/backcompat.py but without the code
  234. # [19:31] <Calli> and whatever the concensus is on what the actual data should be
  235. # [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
  236. # [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
  237. # [19:39] <@tantek> agreed - it can be made simpler / easier for implementers
  238. # [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
  239. # [19:39] <@tantek> thanks for pointing this out - really helps to have a fresh pair of eyes look at it
  240. # [19:40] <@tantek> I'm thinking a summary list to start with, and then maybe links to data files of existing parser implementations
  241. # [19:42] * Quits: rhiaro__ (~quassel@188.226.186.12) (Remote host closed the connection)
  242. # [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
  243. # [19:46] <Calli> But they're less explicit than the mf2py one
  244. # [19:50] <@kevinmarks> I found the mf2py mapping very clarifying too, I agree we should capture that in a language independent way
  245. # [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
  246. # [19:53] * Joins: eschnou (~eschnou@154.142-65-87.adsl-dyn.isp.belgacom.be)
  247. # [19:54] <Calli> There's another one if you search --> $classicPropertyMap <-- in https://github.com/indieweb/php-mf2/blob/master/Mf2/Parser.php
  248. # [19:54] <@tantek> this is excellent - this way we can hopefully submit pull requests to fix all these to be consistent
  249. # [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)
  250. # [20:04] <Calli> BTW the https://github.com/G5/microformats2 is no longer maintained according to their GitHub
  251. # [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
  252. # [20:09] <@tantek> That's a good point
  253. # [20:09] <@tantek> microformatshiv is very active, and mf2py and phpmf2 after that
  254. # [20:09] <@tantek> I think the others are more in a "development" phase
  255. # [20:09] <@tantek> whereas the first three are all used in production on various sites
  256. # [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
  257. # [20:21] <@tantek> that's a good reclustering
  258. # [21:18] * Quits: Calli (32f5823b@gateway/web/freenode/ip.50.245.130.59) (Ping timeout: 246 seconds)
  259. # [21:47] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Quit: tantek)
  260. # [21:48] * Joins: tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com)
  261. # [21:48] * ChanServ sets mode: +o tantek
  262. # [22:55] * Quits: @tantek (~tantek@70-36-197-53.dsl.dynamic.fusionbroadband.com) (Quit: tantek)
  263. # [23:07] * Quits: TallTed (~Thud@c-98-216-254-6.hsd1.ma.comcast.net)
  264. # [23:13] * Quits: eschnou (~eschnou@154.142-65-87.adsl-dyn.isp.belgacom.be) (Ping timeout: 260 seconds)
  265. # [23:35] * Joins: tantek (~tantek@guest-nat.p2p.sfo1.mozilla.com)
  266. # [23:35] * ChanServ sets mode: +o tantek
  267. # 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