jdev - 2019-09-19

  1. Ge0rG

    Now how do I display this DOAP thing properly?

  2. wurstsalat

    Link Mauve ^

  3. Link Mauve

    Ge0rG, what is your wanted rendering thingy?

  4. Link Mauve

    Something like that? https://pulkomandy.github.io/xmpp-doap/samples/movim.xml

  5. Ge0rG

    Link Mauve: yes

  6. Link Mauve

    Something like that? https://linkmauve.fr/extensions/xep-0048.xml

  7. Ge0rG

    Link Mauve: I've forked your xmpp-doap repo and included the style, but it doesn't show the table content

  8. Link Mauve

    Ge0rG, then just use the linked XSLT style sheet, by viewing source.

  9. Link Mauve

    Ge0rG, this was PulkoMandy’s.

  10. Ge0rG

    Link Mauve: I can't do that on a local file :(

  11. Link Mauve

    Maybe it isn’t fully up to date with the latest format?

  12. Link Mauve

    Ge0rG, oh?

  13. Ge0rG

    yeah, local files are a separate security domain

  14. Link Mauve

    Indeed, it isn’t up to date.

  15. Link Mauve

    I can fix that.

  16. Ge0rG

    Link Mauve: can we also get the XEP titles in there?

  17. Ge0rG

    Ideally, I'd also just have `<XEP-0077/>` instead of `<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0077.html" /><xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0077.html" />`

  18. Link Mauve

    Ge0rG, the XEPs don’t have any semantic document thingy we could use to extract the names from.

  19. Link Mauve

    Also <XEP-0077/> isn’t valid RDF.

  20. Ge0rG

    Link Mauve: there used to be an XML file listing all that.

  21. Ge0rG

    Link Mauve: that was a placeholder for whatever the shortest possible syntax is

  22. Ge0rG is a proponent of zero-boilerplate

  23. Ge0rG

    No idea how I ended up with XMPP

  24. Link Mauve

    Ge0rG, syntax doesn’t matter here.

  25. Link Mauve

    Semantic web parsers already exist, and reusing one is much less work than writing a parser from scratch.

  26. Ge0rG closes VIM

  27. Link Mauve

    I had a much shorter syntax at first, but it wouldn’t be compatible with existing DOAP software.

  28. Ge0rG

    So syntax *does* matter? ;)

  29. Ge0rG

    anyway, this is just minor nitpicking.

  30. Link Mauve

    Ge0rG, I mean, shorter syntax doesn’t matter.

  31. Ge0rG

    I want to get this thing going, and that means I need to render it locally

  32. pep.

    Ultimately you can have something generating your doap file :p

  33. Ge0rG

    Link Mauve: what would you need to allow XEP name resolution?

  34. Ge0rG

    pep.: I had some*body* generate it.

  35. pep.

    Ge0rG: good first step

  36. Link Mauve

    Ge0rG, you can use xsltproc from libxslt to generate a HTML file from the CLI.

  37. Link Mauve

    Ge0rG, hmm, a deeper understanding of how XSLT works.

  38. Link Mauve

    Also since there is a Python version nowadays (see https://github.com/xsf/xmpp.org/pull/594) it could be done much easier.

  39. Ge0rG

    Link Mauve: xsltproc shows the same output as chrome. Your style must be b0rken

  40. Ge0rG

    I thought you had the bestest changes, but now...

  41. Link Mauve

    It’s not mine, complain to PulkoMandy.

  42. Ge0rG

    > Resource interpreted as Stylesheet but transferred with MIME type application/xslt+xml: "file:///usr/src/yaxim/xmpp-doap/style.xsl". Is that bad?

  43. Ge0rG

    Maybe my XML is b0rked? https://op-co.de/tmp/yaxim.doap.xml

  44. Ge0rG

    ah, yes it is.

  45. Zash

    > The requested URL /style.xsl was not found on this server.

  46. Ge0rG

    Zash: it's all horrible!

  47. Zash

    XSLT is pretty cool

  48. Ge0rG

    but it was <implements> instead of <xmpp:supports>

  49. Zash


  50. Ge0rG

    Link Mauve: is <xmpp:version> the XEP version, and <xmpp:since> the application version?

  51. Ge0rG

    This is super-confusing.

  52. pep.

    Yeah that's the semantics

  53. pep.


  54. Link Mauve

    Ge0rG, https://github.com/pulkomandy/xmpp-doap/pull/6

  55. Link Mauve

    Ge0rG, yes, version and since have this semantic, as you can see in the OWL schema.

  56. Link Mauve

    Ge0rG, https://linkmauve.fr/ns/xmpp-doap

  57. Daniel

    what do i need to get started with doap? is there a good sample file including style file and everything?

  58. Link Mauve

    Daniel, easiest would be to start from one of the ones linked from here: https://github.com/xsf/xmpp.org/pull/594

  59. Zash

    Link Mauve https://hg.prosody.im/trunk/raw-file/tip/doc/doap.xml

  60. Daniel

    Link Mauve, but that doesn’t do the rendering

  61. pep.

    Board meeting with doap stuff is today right

  62. Link Mauve

    Daniel, rendering would be up to consumer services, such as xmpp.org, JabberFR’s wiki, some random comparison table, etc.

  63. Daniel

    right. i'm just looking for something that makes writing easier

  64. Link Mauve

    Zash, hmm, the format changed to better match DOAP since then.

  65. Daniel

    and verify that i did everything correctly

  66. Link Mauve

    Zash, see https://lab.louiz.org/poezio/poezio/commit/31c605528c0ad8b22d617073fb2e1722b82fabb2

  67. Zash


  68. Link Mauve

    Daniel, clone https://github.com/pulkomandy/xmpp-doap/pull/6, then run `cd samples; xsltproc -o conversations.html ../style.xsl conversations.xml`.

  69. Link Mauve

    That’s the closest we have from a renderer.

  70. Link Mauve

    Zash, when did you do that, and from which example?

  71. Daniel

    Link Mauve, thanks. that probably comes close to what i was looking for

  72. Link Mauve

    If you additionally want RDF validation, https://github.com/xsf/xmpp.org/pull/594 contains a doap.py script which you can use to parse it using a real RDF parser.

  73. Link Mauve


  74. Zash

    Link Mauve some week(s) ago. Dunno what it's based on, could be the translation thing I made for the old xmpp-features thing.

  75. MattJ

    Link Mauve, is there any chance we can get XEP revision into there?

  76. Zash

    Wasn't there already?

  77. MattJ

    XEPs change, sometimes substantially

  78. Link Mauve

    MattJ, it already is there.

  79. MattJ


  80. Link Mauve

    It’s the version property.

  81. Link Mauve

    For instance here: https://pulkomandy.github.io/xmpp-doap/samples/movim.xml

  82. Link Mauve

    The second column.

  83. MattJ

    Oh yeah, it's just the Dino one I looked at didn't have it

  84. Zash

    Link Mauve https://code.zash.se/xmpp-features/file/6198147cec64/doap.lua

  85. Link Mauve

    Zash, right, that was for an older version, which wasn’t really good design wrt RDF.

  86. Zash


  87. Link Mauve

    The main difference is that there is no wrapper Software anymore, instead it’s the Project which implements a SupportedXep.

  88. Link Mauve

    Before the Project softwares a Client, which doesn’t make any sense in either English or RDF.

  89. Zash


  90. Link Mauve

    Do you want a patch or guidelines?

  91. Zash

    Either works.

  92. Link Mauve

    So, remove the <software><Client/></software> wrapper, namespace-aware-sed s/xmpp:supports/doap:implements/ and that should be it.

  93. Link Mauve

    Also add a <category rdf:resource="https://linkmauve.fr/ns/xmpp-doap#category-client"/> category.

  94. Daniel

    Link Mauve, how can i find a list of available categories?

  95. Link Mauve

    Daniel, I have a short list at https://linkmauve.fr/ns/xmpp-doap, some other people have been using the GNOME list.

  96. Link Mauve

    I’m not fully sure how that’s meant to work.

  97. Ge0rG

    Link Mauve, pep.: can we rename <xmpp:version> into <xmpp:xep-revision>?

  98. Ge0rG

    because "since" and "version" are utterly confusing.

  99. Link Mauve

    Ge0rG, that’s pretty redundant though.

  100. Ge0rG

    Link Mauve: not for a human looking at the XML

  101. Link Mauve

    The SupportedXep is version ~something~.

  102. Ge0rG

    Link Mauve: not for a human looking at the XML

  103. Link Mauve

    Ge0rG, a human should be looking at the RDF, not at the XML.

  104. Link Mauve

    That is, at triples rather than at elements and attributes.

  105. Ge0rG

    Link Mauve: right, because "Version" and "Since" in the table header is NOT AMBIGUOUS

  106. Link Mauve

    Ge0rG, you can rename the table header though.

  107. Link Mauve

    It was a simple example PulkoMandy wrote to verify the format.

  108. Ge0rG

    Link Mauve: okay, so let's assume for the moment that it's implemented-xep-version. Now tell me how implemented-xep-since makes any sense.

  109. Link Mauve

    Ge0rG, can you suggest improvements as patches on top of https://linkmauve.fr/ns/xmpp-doap?

  110. Link Mauve

    I’d also like this to be hosted by the XSF eventually.

  111. Link Mauve

    So all files will have to be updated anyway.

  112. Ge0rG

    Link Mauve: as I said, I'd do s/version/xep-revision/. But you seem very much opposed to it, so I don't think a PR will help here.

  113. Link Mauve

    I’m not very much opposed to it, I’m just not sure I see the point.

  114. Ge0rG

    it makes editing and understanding easier.

  115. Link Mauve

    And I’d like to avoid unnecessary breaking changes until it gets moved to xmpp.org.

  116. Ge0rG

    less context you need to keep in RAM

  117. Ge0rG

    feel free to postpone this change to when it moves.

  118. Daniel

    so what's a good file name for that? doap.rdf?

  119. Link Mauve

    That’s a good one yeah.

  120. Link Mauve

    That way web browsers will serve it as application/xrd+xml, which is ideal.

  121. Link Mauve

    application/xml should work too.

  122. Daniel

    Link Mauve, https://raw.githubusercontent.com/siacs/Conversations/master/doap.rdf

  123. Link Mauve

    Daniel, maybe remove the comments affecting poezio.

  124. Link Mauve

    Hum, like Zash you based it on an older example. :/

  125. Daniel

    that's the one you linked me to

  126. Link Mauve

    poezio’s doap file is https://lab.louiz.org/poezio/poezio/blob/master/data/doap.xml

  127. Link Mauve

    So hmm, as I told Zash at 13:57:10, remove the <software><Client/></software> wrapper, change xmpp:supports into doap:implements, and that should be it.

  128. Ge0rG

    So I named it .rdf, and now Chrome tells me to "Save as" the file:// URL

  129. Ge0rG

    Link Mauve: I've done that, and I'm using your update branch and it doesn't render the table

  130. Link Mauve

    Ge0rG, can you show me your DOAP file?

  131. Ge0rG

    ah, I took `doap:` too literally. `<implements>` did the trick

  132. Ge0rG

    Link Mauve: how do we handle Compliance Suites?

  133. Link Mauve

    Good question.

  134. Link Mauve

    Maybe the same way Zash’s XMPP-Features did, by checking for complete status on the relevant XEPs?

  135. Link Mauve

    Or for now we could say complete and mark the profile(s) in the <note/> field.

  136. Ge0rG

    Link Mauve: what about a separate RDF element?

  137. Link Mauve

    Ge0rG, that could work, do you have something in mind?

  138. Ge0rG

    Link Mauve: no, I was just asking

  139. Daniel

    i think it should be figured out automatically

  140. Daniel

    to me that's the point of having machine readable files

  141. Link Mauve

    Daniel, yes, indeed.

  142. Link Mauve

    But which entity would be responsible of that?

  143. Ge0rG

    Daniel: I agree, but it's probably more work to do the automatic figuring-out

  144. Daniel

    Yes but only once

  145. Ge0rG

    What if the developer has a different opinion?

  146. Link Mauve

    Ge0rG, https://code.zash.se/xmpp-features/file/tip/compliance.lua

  147. Link Mauve

    These rules are what XMPP-Features was doing.

  148. Daniel

    Link Mauve, does that look ok now? https://github.com/siacs/Conversations/blob/master/doap.rdf

  149. Link Mauve

    Daniel, yes, the structure looks good. :)

  150. Link Mauve

    Maybe make 0166 partial?

  151. Daniel


  152. Link Mauve

    You say it’s only for file transfer.

  153. Link Mauve

    But anyway it’s your call.

  154. Daniel

    sure but 0166 doesn’t mandate you to support a specfic application, no?

  155. Link Mauve

    Looks great, I’ll add this URL to my xmpp.org PR.

  156. kevin

    how can i get and post requests to xmpp with postman

  157. Ge0rG

    postman is the wrong tool for the job, even though in theory you could do some weird BOSH stuff

  158. kevin


  159. kevin

    i just want to be able to monitor http requests

  160. Zash

    xmpp is not http

  161. kevin

    i know

  162. kevin

    but it uses http though

  163. kevin

    like 5443

  164. Zash

    I don't know what you're talking about now

  165. kevin

    i want to be able to listen to requests on a specific port

  166. kevin

    and i was told postman was the best program to use

  167. MattJ

    It doesn't use HTTP, and what port it uses is not directly related to what protocol it uses

  168. Zash

    You can of course tunnel anything over everything, hence BOSH as Ge0rG mentioned.

  169. MattJ

    You can do XMPP over HTTP, but most XMPP connections are not doing this (unless they are from a web browser)

  170. Zash

    You can do HTTP over XMPP as well.

  171. Ge0rG

    Is there a solution yet for the F5 on Converse when running via WS?

  172. Zash

    Ge0rG: 198 I guess?

  173. Ge0rG

    Zash: we had a discussion about 0198 on anon, which doesn't work

  174. MattJ

    It works fine if the server assigns the same JID to the same user

  175. MattJ

    which can be done through evil means, such as cookies

  176. Ge0rG

    you can have cookies on WS?

  177. Zash


  178. Zash

    The initial handshake is a HTTP request, you can pass whatever headers or parameters there.

  179. Ge0rG

    That's evil indeed, but I'm only slightly surprised.

  180. Ge0rG

    MattJ: do you have such a mechanism in prosody yet?

  181. Ge0rG

    I'm using BOSH now for the webchat because of this.

  182. MattJ

    Ge0rG, not open-source, sadly

  183. Daniel

    I think there is no real downside of keep using bosh for those anon cases

  184. Ge0rG

    Daniel: you are probably right

  185. DONRASH111