Fwd: Updated UBER spec doc
mike amundsen <[email protected]> Mon, 10 Mar 2014 18:10:08 -0400
| Newsgroups | gmane.comp.web.services.rest |
|---|---|
| Message-ID | <CAPW_8m4Nu-duU3jsime5oBFXb=Lc+-TrFTLn-QCpk9NCjauG-A@mail.gmail.com> |
--00248c0ef0040dc17a04f447df40 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable *** Forwarding this to the UBER Hypermedia List *** Yeah - I totally see your point. Can you join me on the UBER list to help sort this out? mamund +1.859.757.1449 skype: mca.amundsen http://amundsen.com/blog/ http://twitter.com/mamund https://github.com/mamund http://linkedin.com/in/mamund ---------- Forwarded message ---------- From: Will Hartung <[email protected]> Date: Mon, Mar 10, 2014 at 5:52 PM Subject: Re: [rest-discuss] Updated UBER spec doc To: mike amundsen <[email protected]> Cc: rest-discuss <[email protected]> I know, I know, I like to just bang my drum and hear myself...uh..type, or something...however. Mike, please, now, if you're going to specify something for XML, give it an official namespace identifier, and REQUIRE/MUST it. The beauty of XML is that you can mix and mash it up, and you can't (easily) do that without a namespace. <uber xmlns=3D"urn:uberisuber"> <data> ... </data> </uber> <u:uber xmlns:u=3D"urn:uberisuber"> <u:data>...</u:data> </u:uber> <=FC:uber xmlns:=FC=3D"urn:uberisuber"> <=FC:data>...</=FC:data> </=FC:uber= > (that would be annoying, but it's amusing in context...anyway...just an abbreviation, could be anything) Lots of folks don't namespace their data, and when used internally and privately, that's fine. But as soon as you start sharing it, or using it with other XML techs (XML Sig, SOAP, SAML, etc.) things can get messy, especially for an overarching framework like you're proposing. The framework shouldn't interfere with the data. By getting this settled up front, you won't have to worry about legacy implementations (notably XSL) that rely upon your data not having a namespace breaking if/when you change it to add one. This is why you REQUIRE it, XML code is different if the elements are namespaced or not, un-namespaced and namespaced XML files aren't "the same". So, anyway, my 2 cents. I'll crawl back in to my hole. Regards, Will Hartung On Sat, Mar 8, 2014 at 1:40 PM, mike amundsen <[email protected]> wrote: > > > I updated the spec docs for UBER ("Uniform Basis for Exchanging > Representations") and posted the changes in a branch on github: > https://rawgithub.com/mamund/media-types/spec-fixes/uber-hypermedia.html > > This covers most of the suggestions I've had to date on cleaning up the > spec and making the JSON variant more canonical. > > diff details can be found here: > https://github.com/mamund/media-types/compare/master...spec-fixes > > Thanks for the contributions and looking forward to the feedback. > > Cheers. > > mamund > +1.859.757.1449 > skype: mca.amundsen > http://amundsen.com/blog/ > http://twitter.com/mamund > https://github.com/mamund > http://linkedin.com/in/mamund > > > CONFIDENTIALITY NOTICE: The information contained in this electronic transmission may be confidential. If you are not an intended recipient, be aware that any disclosure, copying, distribution or use of the information contained in this transmission is prohibited and may be unlawful. If you have received this transmission in error, please notify us by email reply and then erase it from your computer system. --00248c0ef0040dc17a04f447df40 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm= l4/strict.dtd"> <html> <head> </head> =20 <body style=3D"background-color: #fff;"> <span style=3D"display:none"> </span> <!--~-|**|PrettyHtmlStartT|**|-~--> <div id=3D"ygrp-mlmsg" style=3D"position:relative;"> <div id=3D"ygrp-msg" style=3D"z-index: 1;"> <!--~-|**|PrettyHtmlEndT|**|-~--> <div id=3D"ygrp-text" > =20=20=20=20=20=20 =20=20=20=20=20=20 <p><div dir=3D"ltr">*** Forwarding this to the UBER Hypermedia List *= **<div><br></div><div>Yeah - I totally see your point. Can you join me on t= he UBER list to help sort this out?<br clear=3D"all"><div><div dir=3D"ltr">= <div><br></div> mamund<div><span><span title=3D"Call with Google Voice"><span title=3D"Call= with Google Voice"><span id=3D"gc-number-20" class=3D"gc-cs-link" title=3D= "Call with Google Voice">+1.859.757.1449</span></span></span></span><br= >skype: mca.amundsen<br> <a href=3D"http://amundsen.com/blog/" target=3D"_blank">http://amundsen.com= /blog/</a><br><a href=3D"http://twitter.com/mamund" target=3D"_blank">http:= //twitter.com/mamund</a><br><a href=3D"https://github.com/mamund" target=3D= "_blank">https://github.com/mamund</a><br> <a href=3D"http://linkedin.com/in/mamund" target=3D"_blank">http://linkedin= .com/in/mamund</a></div></div></div> <br><br><div class=3D"gmail_quote">---------- Forwarded message ----------<= br>From: <b class=3D"gmail_sendername">Will Hartung</b> <span dir=3D"ltr">&= lt;<a href=3D"mailto:[email protected]">[email protected]</a>></span= ><br> Date: Mon, Mar 10, 2014 at 5:52 PM<br>Subject: Re: [rest-discuss] Updated U= BER spec doc<br>To: mike amundsen <<a href=3D"mailto:[email protected]">m= [email protected]</a>><br>Cc: rest-discuss <<a href=3D"mailto:rest-disc= [email protected]">[email protected]</a>><br> <br><br> =20=20=20=20=20=20=20=20 <div> <br><br> <div dir=3D"ltr"><div><div><div><div><div>I know, I know, I like to just ba= ng my drum and hear myself...uh..type, or something...however.<br><br></div= >Mike, please, now, if you're going to specify something for XML, give = it an official namespace identifier, and REQUIRE/MUST it.<br> <br></div>The beauty of XML is that you can mix and mash it up, and you can= 't (easily) do that without a namespace.<br><br></div><uber xmlns=3D= "urn:uberisuber"> <data> ... </data> </uber>= <br> <br></div><u:uber xmlns:u=3D"urn:uberisuber"> <u:data>= ;...</u:data> </u:uber><br><br><=FC:uber xmlns:=FC=3D"u= rn:uberisuber"> <=FC:data>...</=FC:data> </=FC:uber&= gt;<br><br> </div><div>(that would be annoying, but it's amusing in context...anywa= y...just an abbreviation, could be anything)<br></div><div><br></div><div>L= ots of folks don't namespace their data, and when used internally and p= rivately, that's fine.<br> <br></div><div>But as soon as you start sharing it, or using it with other = XML techs (XML Sig, SOAP, SAML, etc.) things can get messy, especiall= y for an overarching framework like you're proposing. The framework sho= uldn't interfere with the data.<br> <br></div><div>By getting this settled up front, you won't have to worr= y about legacy implementations (notably XSL) that rely upon your data not h= aving a namespace breaking if/when you change it to add one. This is why yo= u REQUIRE it, XML code is different if the elements are namespaced or not, = un-namespaced and namespaced XML files aren't "the same".<br> <br></div><div>So, anyway, my 2 cents. I'll crawl back in to my hole.<b= r><br></div><div>Regards,<br><br>Will Hartung<br></div><div><div><div><br><= /div></div></div></div><div><div class=3D"h5"><div class=3D"gmail_extra"><b= r> <br><div class=3D"gmail_quote"> On Sat, Mar 8, 2014 at 1:40 PM, mike amundsen <span dir=3D"ltr"><<a href= =3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>></sp= an> wrote:<br><blockquote class=3D"gmail_quote" style=3D"border-left:1px #c= cc solid;"> <u></u> =20 <div> <span> </span> <div> <div> <div> =20=20=20=20=20=20 =20=20=20=20=20=20 <p></p><div dir=3D"ltr">I updated the spec docs for UBER ("Unifo= rm Basis for Exchanging Representations") and posted the changes in a = branch on github: <a href=3D"https://rawgithub.com/mamund/media-types/= spec-fixes/uber-hypermedia.html" target=3D"_blank">https://rawgithub.com/ma= mund/media-types/spec-fixes/uber-hypermedia.html</a><div> <br></div><div>This covers most of the suggestions I've had to date on = cleaning up the spec and making the JSON variant more canonical.</div><div>= <br></div><div>diff details can be found here: <a href=3D"https://gith= ub.com/mamund/media-types/compare/master...spec-fixes" target=3D"_blank">ht= tps://github.com/mamund/media-types/compare/master...spec-fixes</a></div> <div><br></div><div>Thanks for the contributions and looking forward to the= feedback.</div><div><br></div><div>Cheers.<br clear=3D"all"><div><div dir= =3D"ltr"><div><br></div>mamund<div><span><span title=3D"Call with Google Vo= ice"><span title=3D"Call with Google Voice"><span title=3D"Call with Google= Voice"><a href=3D"tel:%2B1.859.757.1449" value=3D"+18597571449" target=3D"= _blank">+1.859.757.1449</a></span></span></span></span><br> skype: mca.amundsen<br><a href=3D"http://amundsen.com/blog/" target=3D"_bla= nk">http://amundsen.com/blog/</a><br><a href=3D"http://twitter.com/mamund" = target=3D"_blank">http://twitter.com/mamund</a><br><a href=3D"https://githu= b.com/mamund" target=3D"_blank">https://github.com/mamund</a><br> <a href=3D"http://linkedin.com/in/mamund" target=3D"_blank">http://linkedin= .com/in/mamund</a></div></div></div> <br><br></div> </div> <p></p> </div> =20=20=20=20=20 =20=20=20=20 <div style=3D"color:#fff;"></div> </div> =20=20 </div></div></blockquote></div><br></div> <br> </div></div><span><font face=3D"Arial" size=3D"1">CONFIDENTIALITY NOTICE: T= he information contained in this electronic transmission may be confidentia= l. If you are not an intended recipient, be aware that any disclosure, copy= ing, distribution or use of the information contained in this transmission = is prohibited and may be unlawful. If you have received this transmission i= n error, please notify us by email reply and then erase it from your comput= er system.</font></span> <br> <br> <div width=3D"1" style=3D"color:white;"></div> </div><br></div></div> </div></p> </div> =20=20=20=20=20 <!--~-|**|PrettyHtmlStart|**|-~--> <div style=3D"color: #fff; height: 0;">__._,_.___</div> =20=20=20=20=20=20=20=20=20=20 =20=20 =20=20=20=20 <div style=3D"clear:both"> </div> <table cellspacing=3D4px style=3D"margin-top: 20px; margin-bottom: 10px= ;"> <tbody> <tr> <td style=3D"font-size: 12px; font-family: arial; font-weight: bo= ld; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1= px solid #EAEAEA " > <a style=3D"text-decoration: none; color: #2D50FD= " href=3D"https://groups.yahoo.com/group/rest-discuss/post;_ylc=3DX3oDMTJxN= mNtM3ZvBF9TAzk3MzU5NzE0BGdycElkAzQzMTkyNTUEZ3Jwc3BJZAMxNzA1NzAxMDE0BG1zZ0lk= AzE5NjI3BHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTM5NDQ4OTQzMA--?act=3Dreply&messag= eNum=3D19627">Reply via web post</a> </td> <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p= x 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; "= > <a href=3D"mailto:[email protected]?subject=3DRe%3A%20Fwd%3A%20%= 5Brest-discuss%5D%20Updated%20UBER%20spec%20doc" style=3D"text-decoration: = none; color: #2D50FD;"> Reply to sender </a>=20 </td> <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p= x 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; "= > <a href=3D"mailto:[email protected]?subject=3DRe%3A%= 20Fwd%3A%20%5Brest-discuss%5D%20Updated%20UBER%20spec%20doc" style=3D"text-= decoration: none; color: #2D50FD"> Reply to group </a>=20 </td> <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p= x 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; "= > <a href=3D"https://groups.yahoo.com/group/rest-discuss/post;_yl= c=3DX3oDMTJla3Q2Y2l0BF9TAzk3MzU5NzE0BGdycElkAzQzMTkyNTUEZ3Jwc3BJZAMxNzA1NzA= xMDE0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTM5NDQ4OTQzMA--" style=3D"text-decora= tion: none; color: #2D50FD">Start a New Topic</a> </td> <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p= x 5px; color: #2D50FD; background-color: #F2F2F2; border: 1px solid #EAEAEA= ; " > <a href=3D"https://groups.yahoo.com/group/rest-= discuss/message/19624;_ylc=3DX3oDMTM2ZGdtN2k5BF9TAzk3MzU5NzE0BGdycElkAzQzMT= kyNTUEZ3Jwc3BJZAMxNzA1NzAxMDE0BG1zZ0lkAzE5NjI3BHNlYwNmdHIEc2xrA3Z0cGMEc3Rpb= WUDMTM5NDQ4OTQzMAR0cGNJZAMxOTYyNA--" style=3D"text-decoration: none; color:= #2D50FD;">Messages in this topic</a> (3) </td> </tr> </tbody> </table> =20=20=20=20=20=20=20=20 <!------- Start Nav Bar ------> =20 <!-- |**|begin egp html banner|**| --> <div id=3D"ygrp-vital" style=3D"background-color: #f2f2f2; font-family: Ver= dana; font-size: 10px; margin-bottom: 10px; padding: 10px;"> <span id=3D"vithd" style=3D"font-weight: bold; color: #333; text-transf= orm: uppercase; "><a href=3D"https://groups.yahoo.com/group/rest-discuss;_y= lc=3DX3oDMTJlOGhpdXVoBF9TAzk3MzU5NzE0BGdycElkAzQzMTkyNTUEZ3Jwc3BJZAMxNzA1Nz= AxMDE0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTM5NDQ4OTQzMA--" style=3D"text-decor= ation: none;">Visit Your Group</a></span> <ul style=3D"list-style-type: none; margin: 0; padding: 0; display: in= line;"> <li style=3D"border-right: 1px solid #000; font-weight: 700; di= splay: inline; padding: 0 5px; margin-left: 0;"> <span class=3D"cat"><a href=3D"https://groups.yahoo.com/group/rest-di= scuss/members;_ylc=3DX3oDMTJmZ2lxNm1uBF9TAzk3MzU5NzE0BGdycElkAzQzMTkyNTUEZ3= Jwc3BJZAMxNzA1NzAxMDE0BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEzOTQ0ODk0MzA-?o=3D= 6" style=3D"text-decoration: none;">New Members</a></span> <span class=3D"ct" style=3D"color: #ff7900;">3</span> </li> </ul> </div> <div id=3D"ft" style=3D"font-family: Arial; font-size: 11px; margin-top: 5p= x; padding: 0 2px 0 0; clear: both;"> <a href=3D"https://groups.yahoo.com/;_ylc=3DX3oDMTJkYnB2OHJ0BF9TAzk3NDc2N= TkwBGdycElkAzQzMTkyNTUEZ3Jwc3BJZAMxNzA1NzAxMDE0BHNlYwNmdHIEc2xrA2dmcARzdGlt= ZQMxMzk0NDg5NDMw" style=3D"float: left;"><img src=3D"http://l.yimg.com/ru/s= tatic/images/yg/img/email/new_logo/logo-groups-137x15.png" height=3D"15" wi= dth=3D"137" alt=3D"Yahoo! Groups" style=3D"border: 0;"/></a> <div style=3D"color: #747575; float: right;"> • <a href=3D"https://i= nfo.yahoo.com/privacy/us/yahoo/groups/details.html" style=3D"text-decoratio= n: none;">Privacy</a> • <a href=3D"mailto:rest-discuss-unsubscribe@yah= oogroups.com?subject=3DUnsubscribe" style=3D"text-decoration: none;">Unsubs= cribe</a> • <a href=3D"https://info.yahoo.com/legal/us/yahoo/utos/term= s/" style=3D"text-decoration: none;">Terms of Use</a> </div> </div> <!-- |**|end egp html banner|**| --> </div> <!-- ygrp-msg --> =20 <!-- Sponsor --> <!-- |**|begin egp html banner|**| --> <div id=3D"ygrp-sponsor" style=3D"width:160px; float:right; clear:none; m= argin:0 0 25px 0; background: #fff;"> <!-- Start Recommendations --> <div id=3D"ygrp-reco"> </div> <!-- End Recommendations --> </div> <!-- |**|end egp html banner|**| --> <div style=3D"clear:both; color: #FFF; font-size:1px;">.</div> </div> <img src=3D"http://geo.yahoo.com/serv?s=3D97359714/grpId=3D4319255/grpspI= d=3D1705701014/msgId=3D19627/stime=3D1394489430" width=3D"1" height=3D"1"> = <br> <div style=3D"color: #fff; height: 0;">__,_._,___</div> <!--~-|**|PrettyHtmlEnd|**|-~--> </body> <!--~-|**|PrettyHtmlStart|**|-~--> <head> <style type=3D"text/css"> <!-- #ygrp-mkp { border: 1px solid #d8d8d8; font-family: Arial; margin: 10px 0; padding: 0 10px; } #ygrp-mkp hr { border: 1px solid #d8d8d8; } #ygrp-mkp #hd { color: #628c2a; font-size: 85%; font-weight: 700; line-height: 122%; margin: 10px 0; } #ygrp-mkp #ads { margin-bottom: 10px; } #ygrp-mkp .ad { padding: 0 0; } #ygrp-mkp .ad p { margin: 0; } #ygrp-mkp .ad a { color: #0000ff; text-decoration: none; } #ygrp-sponsor #ygrp-lc { font-family: Arial; } #ygrp-sponsor #ygrp-lc #hd { margin: 10px 0px; font-weight: 700; font-size: 78%; line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad { margin-bottom: 10px; padding: 0 0; } #actions { font-family: Verdana; font-size: 11px; padding: 10px 0; } #activity { background-color: #e0ecee; float: left; font-family: Verdana; font-size: 10px; padding: 10px; } #activity span { font-weight: 700; } #activity span:first-child { text-transform: uppercase; } #activity span a { color: #5085b6; text-decoration: none; } #activity span span { color: #ff7900; } #activity span .underline { text-decoration: underline; } .attach { clear: both; display: table; font-family: Arial; font-size: 12px; padding: 10px 0; width: 400px; } .attach div a { text-decoration: none; } .attach img { border: none; padding-right: 5px; } .attach label { display: block; margin-bottom: 5px; } .attach label a { text-decoration: none; } =20=20 blockquote { margin: 0 0 0 4px; } .bold { font-family: Arial; font-size: 13px; font-weight: 700; } .bold a { text-decoration: none; } dd.last p a { font-family: Verdana; font-weight: 700; } dd.last p span { margin-right: 10px; font-family: Verdana; font-weight: 700; } dd.last p span.yshortcuts { margin-right: 0; } div.attach-table div div a { text-decoration: none; } div.attach-table { width: 400px; } div.file-title a, div.file-title a:active, div.file-title a:hover, div.fi= le-title a:visited { text-decoration: none; } div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div= .photo-title a:visited { text-decoration: none; } div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts { font-family: Verdana; font-size: 10px; font-weight: normal; } .green { color: #628c2a; } .MsoNormal { margin: 0 0 0 0; } o { font-size: 0; } #photos div { float: left; width: 72px; } #photos div div { border: 1px solid #666666; height: 62px; overflow: hidden; width: 62px; } #photos div label { color: #666666; font-size: 10px; overflow: hidden; text-align: center; white-space: nowrap; width: 64px; } #reco-category { font-size: 77%; } #reco-desc { font-size: 77%; } .replbq { margin: 4px; } #ygrp-actbar div a:first-child { /* border-right: 0px solid #000;*/ margin-right: 2px; padding-right: 5px; } #ygrp-mlmsg { font-size: 13px; font-family: Arial, helvetica,clean, sans-serif; *font-size: small; *font: x-small; } #ygrp-mlmsg table { font-size: inherit; font: 100%; } #ygrp-mlmsg select, input, textarea { font: 99% Arial, Helvetica, clean, sans-serif; } #ygrp-mlmsg pre, code { font:115% monospace; *font-size:100%; } #ygrp-mlmsg * { line-height: 1.22em; } #ygrp-mlmsg #logo { padding-bottom: 10px; } #ygrp-msg p a { font-family: Verdana; } #ygrp-msg p#attach-count span { color: #1E66AE; font-weight: 700; } #ygrp-reco #reco-head { color: #ff7900; font-weight: 700; } #ygrp-reco { margin-bottom: 20px; padding: 0px; } #ygrp-sponsor #ov li a { font-size: 130%; text-decoration: none; } #ygrp-sponsor #ov li { font-size: 77%; list-style-type: square; padding: 6px 0; }=20 #ygrp-sponsor #ov ul { margin: 0; padding: 0 0 0 8px; } #ygrp-text { font-family: Georgia; } #ygrp-text p { margin: 0 0 1em 0; } #ygrp-text tt { font-size: 120%; } #ygrp-vital ul li:last-child { border-right: none !important;=20 }=20 --> </style> </head> <!--~-|**|PrettyHtmlEnd|**|-~--> </html> <!-- end group email --> --00248c0ef0040dc17a04f447df40--