#dev 2018-05-08

2018-05-08 UTC
#
jgmac1106
I was going to type that but didn’t know if there was a bunch of community overlap. Get some side eye when I call it an “open silo"
#
jgmac1106
[tantek] how many reviews and recipes are in the wild? I am trying to think long term about how I can A: get professors to POSH their online coursework while making it remixable and attribution easier to trak. Microformats seems like it could help
#
KartikPrabhu
http://thecommons.com/ is available is someone wants ;)
#
KartikPrabhu
are professors even interested in doing that?
#
KartikPrabhu
most academics are content with posting PDFs
#
jgmac1106
I also volunteered to to make a quick website for folks in the #openscience community who want to keep a simple github repo that will help onboard folks into using GitHub whil eallowing people to add new resources (I was going to make a blank template page). For now just including h-card in the profile templates but that got me thinking ahead to “what if”
#
jgmac1106
but [tantek] in terms are people publishing and using this stuff. yes by the thousands, and tens of if not hundred of thousands of schools use them everyday
#
jgmac1106
mainly pdfs, but every field as a core of 7-10 people who want to pring in alt.pub and #OpenScience or #GoOpen. The US Department of Ed has an entire office organized around the effort.
#
jgmac1106
but [KartikPrabhu] is right mainly just pdfs with a creative commons license, still if 2-3 people in each field moved their coursework out of the silos and in a remixable simple html format…..that is a lot of people
#
KartikPrabhu
jgmac1106: good luck convincing academics to write HTML
#
[tantek]
[jgmac1106] inventing a microformats won’t convince pdf publishers to switch to html
#
[tantek]
So yeah, if people aren’t already making a habit of publishing HTML then fight that battle first
#
KartikPrabhu
that is a big, nasty battle :P
#
jgmac1106
[kartikPrabhu] rather fail and lose than not trying to switch. also avoiding publishers and alt.pub just for now. Only thinkling about the online courses with the idea A: We all teahc the same classes why reinvent the wheel, B: nobody wants to steal your stuff, stop woprrying, and C: we shoudl get credit for this work and its impossble behind the silo
#
KartikPrabhu
yes, I said good luck not don't try
#
jgmac1106
[tantek] found out last person I helped was somebody I taught in 6th grade in 2006. Said, “I was teaching about fake news and credibility of wesbties then and when facebook stuff went down they wanted help”…So I can play the long game
#
jgmac1106
as a nother data point #ds106, one of the OG teach through rss courses on the web, has 14329 assignments alone in their assignment bank, and that is just one course run a wordpress site
snarfed joined the channel
#
jgmac1106
sorry thats complete artifacts, actual lessons are 1138
#
jgmac1106
except some bad styling (need to fix) my course sites are quite POSH I belive: view-source:http://edu307class.networkedlearningcollaborative.com/module1.html
#
jgmac1106
I had found thesebtu I hate tables and stay away from thigns that suggest tables: http://microformats.org/wiki/hied-course-examples
#
[tantek]
[jgmac1106] I’m open to new ideas too. Like if POSH doesn’t resonate then let’s call it something else etc
#
[tantek]
Especially if it’s an obstacle to understanding
snarfed joined the channel
#
[tantek]
Alternatives ways to say meaningful HTML?
#
jgmac1106
[tantek] no it resonated. I was just reading a lot of documentation today all over microformats wiki so I could have confused things. It was more on the microformats getting started page I think where I read about minimizing styles to ensure microformats2 wiorks
#
[tantek]
(The semweb crowd has kind killed the word “semantic” with all the baggage)
#
[tantek]
We could probably simplify and minimize the microformats docs themselves too to make it more approachable, take less time
mblaney joined the channel
#
KartikPrabhu
I don't think microformats2 is related to styling at all
#
jgmac1106
[KartikPrabhu] there was a guide to saying the order in your markup should always begin with the microformats class and style should always be last
#
jgmac1106
honestly I didn’t know if that was just inline styling (I just assumed that was an ultimate no-no) or additional styles I might add to the class on y personal style sheet
#
jgmac1106
thanks for link [tantek].
snarfed, jgmac11061, tantek, eli_oat, [jgmac1106] and KartikPrabhu joined the channel
[kevinmarks] joined the channel
#
jgmac1106
though [tantek] I would be hard pressed to think of a community, outside of technology, that has more independent bloggers than education circles. When you combine this with a global push around OER, the desire of faclty to push back against publishers and siloed LMS learning maybe education is place to head if increasing uindieweb uptake is a top level goal
#
tantek
interesting, I would like to bring benwerd into this conversation as I feel like he would have some experience(s) here to share
#
tantek
(since he was very focused on education circles throughout much of Known's development)
#
jgmac1106
yeah he is my proof that we can’t sell our way outof the problem
#
jgmac1106
I was thinking about Ben when I wrote the control not disruption post..I mean we can but I sell in edu spaces. It s a ridiculous sales cycle with so many incumbents
#
GWG
tantek: Is benwerd coming this year?
#
tantek
unknown - no puntended
#
jgmac1106
ment we can’t sell out way out of the problem
#
tantek
(apologies that was really bad)
#
jgmac1106
but on any given day I can find 1-2 people that say, “Sure I will try indieweb” Maybe there are activators across other domains (meaning a really actiove Nascar blogger tellign other Nascar bloggers) but I doubt it
#
tantek
what CMS's are they using?
#
jgmac1106
Wordpress, everyone is Wordpress
#
GWG
WordPress++
#
Loqi
wordpress has 1 karma in this channel (-2 overall)
#
jgmac1106
evoltuion goes hosted blogging tool>to self hosted wordpress>??? I haven’t decided what I will do next
renem joined the channel
#
tantek
jgmac1106: have you tried bringing the most eager of them into #indieweb-wordpress?
#
jgmac1106
most just stop at Wordpress, but my eye to coursework has more to do with remixing courses. UI think somewhere Ben and I have a discussion on Medium about why there is no GitHub for Educators
#
jgmac1106
I want to help create a community that uses a tool similar for remixing our content and I knwo the tyranny of the default template. If microfromats were built in and distributed across a few key repos and communities the footprint would grow
#
jgmac1106
I am also thinking about future maching learning. I think most is all hype. These aren’t crazy regression models being run. Half the crap I see people calling machine learning, especially in learning analytics, is a few correlations and a word cloud
#
jgmac1106
I want to make sure not all platforms for learning analytics get siloed away and believe microformats, which parses can counted and sorted, can be played with some simple statistical models
#
tantek
jgmac1106: can you at least get folks to adopt h-entry and h-cite to better remix even just "posts"?
#
tantek
I mean those microformats are well known, and getting that adoption should be even easier
#
jgmac1106
[tantek] yes that is what I am trying to do now
#
jgmac1106
just a few key communities is all we need to focus on
#
tantek
sigh, he even follows me - and lives in Portland! https://twitter.com/Bringo/status/993220842866683904
#
tantek
oops that was meant for chat
#
tantek
alright whose got personal site implementation goals for IWS?
#
GWG
tantek: Personal site implementation goals?
#
GWG
Can you provide an example? What is yours?
#
GWG
And do you mean before or during?
#
tantek
before, like from now until IWS intros
#
tantek
so you can show it
#
tantek
at the start
#
tantek
GWG it's a good focusing question
#
tantek
because for example I have way too many things to implement until then
#
GWG
tantek: I had to stop my personal project
#
tantek
because of GDPR?
#
GWG
I was working on a new POSSE system
#
GWG
tantek: Yes. I am hoping to get that stuff done ASAP. But I'm throwing in a bunch of webmention improvements as I go
#
tantek
good call, try to wrap that up ASAP so you can get back to scratching your own itches
#
GWG
tantek: I don't want anyone to withdraw completely.
#
GWG
So, I started adding privacy policies to everything.
#
GWG
Webmentions has its own settings page instead of mixed into another page.
#
GWG
pfefferle installed a help section this evening I want to look at
snarfed joined the channel
#
GWG
We changed the webmention text for the webmention form to: "To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Learn More)"
#
tantek
does X-Ray support original post discovery on (any?) silo permalinks?
#
tantek
GWG that's a good description
#
GWG
tantek: Credit to chrisaldrich. My first draft wasn't as good.
#
tantek
GWG that's worth capturing in a text design / brainstorming section
#
GWG
pfefferle put in that old Andy Sylvester video in the new help section he created
#
tantek
what is webmention form
#
Loqi
It looks like we don't have a page for "webmention form" yet. Would you like to create it? (Or just say "webmention form is ____", a sentence describing the term)
#
tantek
what is webmention UI
#
Loqi
It looks like we don't have a page for "webmention UI" yet. Would you like to create it? (Or just say "webmention UI is ____", a sentence describing the term)
#
tantek
hmm IDK where we document this stuf
#
tantek
what is webmention brainstorming?
#
tantek
^^^ GWG can you add a new subsection there with that text? that's great to capture!
#
GWG
I will do that.
#
jgmac1106
I want to have atleast 3-4 onboarding think alouds ready and hopefully taken a stab at trying to get the getting started page int he indieweb plug-in to better mnatch the getting started page on the wiki with the goal making them easier to read. Plus editing down @chrisaldrich’s movies into shorter clips of each plug in
#
tantek
GWG, as to your question, I am now creating a "For IWS 2018" subsection in my "Working On" to prioritize things that would be particularly useful to have ready *before* IWS
#
GWG
If you have a new Webmention video after we finish the settings changes, we should probably replace the older video
#
GWG
I should update my itch list.
#
Loqi
I agree
#
tantek.com
edited /XRay (+19) "not here, but over there"
(view diff)
#
tantek
wow if I try a tweet permalink with XRay I get: "All 4 Twitter credentials must be included in the request"
#
jgmac1106
[gwg] I will hold off if you are about to push a big update
#
GWG
Mostly privacy based.
#
jgmac1106
another thing I learned about video is to use a ton fo short clips so remixes are easier after feature releases and updates
#
tantek.com
edited /Falcon (+500) "start IWS 2018 working on subsection with three things, note: implemented MV in-stream RSVP reply-context last week! (2018-05-02)"
(view diff)
#
tantek
GWG, here you go, three things to start with for IWS 2018 - we'll see if I can get them all coded: https://indieweb.org/Falcon#For_IWS_2018
tantek joined the channel
#
tantek.com
edited /Falcon (+173) "/* For IWS 2018 */ more reasons"
(view diff)
globbot, eli_oat, AngeloGladding, tglobe and cweiske joined the channel; mblaney left the channel
#
Zegnat
!tell tantek re https://chat.indieweb.org/dev/2018-05-08/1525744185785000 - XRay does not expose aaronpk's Twitter API tokens to keep the requests down. The same for other silo APIs. You need to provide those in the URL query.
#
Loqi
Ok, I'll tell them that when I see them next
#
Loqi
[tantek] wow if I try a tweet permalink with XRay I get: "All 4 Twitter credentials must be included in the request"
#
Zegnat
I like the idea of listing some itches to finish before IWS! Going to think about that.
KartikPrabhu, tglobe, frank, [pfefferle], [kevinmarks], iasai, swentel, Flor1 and barpthewire joined the channel
#
Zegnat
Ugh, odd bug. nanopub supports mp-slug, it will try its best to get a nice value for it, and then stores it in "slug". But Omnibear (at least mine) seems to be sending in a "slug" property on the h-entry already, which will then overwrite whatever nanopub has created. Thus throwing errors when nanopub tries to save the post.
#
Zegnat
And I am not sure why Omnibear isn’t sending mp-slug
eli_oat joined the channel
#
Zegnat
Huh. I may be on some archaic version. *facepalm* Don’t mind me
[pfefferle] joined the channel
#
Zegnat
Got it to work!
#
Zegnat
nanopub++
#
Loqi
nanopub has 1 karma
#
Zegnat
dgold++
#
Loqi
dgold has 18 karma in this channel (46 overall)
#
Zegnat
nanopub + Selfauth + Mintoken + Omnibear = 100% offline Micropubbing.
#
jgmac1106
Going back to yesterday’s conversation with [tantek], POSH is porn. A short hand description is hard but you know it when you see it. I became a POSH convert (even though I learned the word yesterday) when contributing to both the Mozilla Foundationand the Mozilla Corporation. One half is POSH first and the other half is latest and greatest framework. Yet the sites looked exactly the same and had the same purpose. I found i
#
jgmac1106
was easier to contribute to MoCo because I found the repos “human readable” since then been trying to simplify my life into the smallest amount of html possible. That is the reason I might be searchign for my “Wha’s next” after WordPress
#
jgmac1106
2zegnat do you have the work flow written up?
#
cweiske
what is posh
#
jgmac1106
I have been loving Omnibear. Wish I could get the endpoints working so I could syndicate to Twiitter through Known
#
Zegnat
Mostly so I do not forget, thus slightly specific for “hosted at offline.test”, but should be changable
#
Zegnat
I can’t speak for the Omnibear-Known connection, of course
#
jgmac1106
thx [zegnat] Looking forward to try it locally
#
Zegnat
Let me know if you have any problems. I run Laravel’s valet on my MacBook for local development. Though I am not wondering if I could have written this to work with PHP’s build-in server.
#
jgmac1106
[zegnat] and I am more attracted to the workflow than loyal to any tool. I love the in broswer writing of Omnibear for status updates, replies, bookmarks, etc.
#
Zegnat
I also need to brush up on my bash-foo. This would have been nicer as a single thing I could run :/ But oh well. For now I have stuff working and will be writing a PR for nanopub in a bit
#
jgmac1106
I need to spend time with PHP outside of WordPress, seems quite logical. Only language I am a little efficient in is RoR but that’s mainly just to get build front end assets
#
Zegnat
Theoretically you shouldn’t have to know any PHP to get this going. If I wrote the setup out correctly, that is ;)
#
jgmac1106
no looking at what you wrote its just line by line copy paste into terminal
#
jgmac1106
not sure why I need offline editing but I like to just try things to learn
#
jgmac1106
Personally my goal I think will be to redo my personal website to get it down to a few pages and then figure out a blogging/micropub solution. Unless my 100% all in with WordPress experiment goes well
#
Zegnat
I mean, don’t think too much of this setup. It doesn’t give you a site ;) Just lets you use Micropub tools to write to text files on your computer.
#
Zegnat
It came about mostly so I could test (and possibly demo) my token endpoint implementation
[kevinmarks] joined the channel
#
schmarty
Zegnat++ I have a use case for this exact setup! My note keeping system is a private website and a fully-owned offline-capable micropub setup is an itch of mine.
#
Loqi
zegnat has 61 karma in this channel (211 overall)
[jgmac1106] joined the channel
#
[jgmac1106]
[schmarty] this is what I was thinking, could I make an offline/onling Google Keep replacement
#
[jgmac1106]
won't have any time to play with something that far outside my wheelhouse but I wanted an indieweb private note taking tool
#
Zegnat
nanopub might even be overkill for just notes
#
Zegnat
But hopefully the working combination of Selfauth and Mintoken will mean people have an easier time getting tools to run locally, and thus an easier time creating their own Micropub endpoints
#
[jgmac1106]
@zegnat but what if eventually I would want my notes pulled into my MicroSub reader?
#
Zegnat
I think in the case of Aperture you can actually use Micropub to write straight into it?
#
Zegnat
Either way, you are then looking for some way to get what you write in a Micropub client into your Microsub server. If you are thinking offline and private, you will need some way for the Microsub server to access that, possibly by running your whole Microsub server offline
#
[jgmac1106]
again , this is way out of my wheelhouse and I am just delaying work by dreaming of a future I can't build
#
[jgmac1106]
I do keep meaning to take a stab at throwing up an instance of Apeture, but feel like all life must wait until baseball is over, coach quit at last secodn so I have three teams on my plate
#
Zegnat
The only thing I know about baseball is that you hit the ball with a bat and then run around the bases. But I do know a few things about how the IndieWeb standards interconnect, so if you would like some sort of overview of the pieces I am happy to talk you through that!
#
[jgmac1106]
A follow up post as part of my "why" as I go through the process that [tantek] shared yesterday
#
Loqi
[Greg McVerry] After #OER18 and some initial research I believe the time is ripe for the #GoOpen movement to embrace basic standards and create documentation that encourages learning resources to be the plainest html possible. Small HTML files are the most univ...
#
[jgmac1106]
now quitting slack because I realize just quitting irc was useless
snarfed joined the channel
#
dgold
useless in what context. [jgmac1106]
[jeremycherfas] joined the channel
#
Zegnat
dgold, I am guessing he quit IRC to not be distracted by IndieWeb, but then continued on Slack ;)
jeremycherfas joined the channel
#
dgold
ah, I see
[jeremycherfas], bear and [jgmac1106] joined the channel
#
[jgmac1106]
Yes @zegnat was right
tantek, leg and snarfed joined the channel
#
jeremycherfas
Trying to get a local micropub chain going using Omnibear, selfauth and mintoken; although Omnibear can log in and authorise correctly, when I try to post it returns an error, but I cannot see it actually even try to reach to micropub endpoint. URL remain empty.
#
jeremycherfas
Would be willing to try with shpub, but I don't see how to give shpub an access token.
#
jeremycherfas
Can I use the same access token that was given to Omnibear?
#
Zegnat
Your CMS might think the request came from Omnibear (if it shows such information, which it probably doesn’t)
#
Zegnat
But access tokens are exchangable
#
jeremycherfas
I'll try that. Because there seems to be nothing coming OUT of omnibear.
#
Zegnat
That is … weird
#
jeremycherfas
I thought it might be caching or something, but of course in Incognito, I cannot see Omnibear.
#
Zegnat
Is this still in Chrome? If you right click on the Omnibear icon, you should be able to pick something like “Inspect popup”. Chrome will then open the debug panel and the popup at the same time. If you try to post, it should show it in the debug panel’s networking tab. Including possible errors
#
Zegnat
wishes for proper internet so he could just screenshare these sort of debugging scenarios
#
jeremycherfas
Oh brilliant. Thanks zegnat. I'm getting a 401 from my micropub. Which is at least a start!
#
Zegnat
If you click it and look at the response, are you getting any specific error back from the micropub endpoint? Should be possible in the networking tab.
#
Zegnat
This is how I debugged it on my end too
#
jeremycherfas
It is interesting. The POST seems to contain none of the authorisation stuff. Just h=entry&content=Just%20another%20quick%20aside&mp-slug=
#
jeremycherfas
i wonder whether this is a problem with chrome. i didn't really follow the discussion before.
#
Zegnat
It should be there
#
Zegnat
But you need to look in the headers section
#
Zegnat
It should be sending an Authorization header with “Bearer xxxxxxxxx” in it
#
Zegnat
The token is not send as part of the actual POST body. This is the prefered OAuth way, I believe.
#
jeremycherfas
Oh yes, there it is. So it isn't that.
#
Zegnat
Are you using nanopub? With or without following my setup?
#
jeremycherfas
No, I decided to start with skippy's Micropub. Maybe I should revert to Nanopub.
#
jeremycherfas
I'm going to see what shpub does first.
#
Zegnat
Ah, I do not know about skippy’s implementation. But nanopub uses a pre-IndieAuth-spec version of a token verifier, which fails without (my) changes
#
Zegnat
Turns out: skippy has the same problem
#
jeremycherfas
Which same problem? Failing verifier?
#
Zegnat
Open inc/common.php of skippy’s micropub, go to line 91. It says parse_str($curl_response, $response);
#
Zegnat
change it to $response = json_decode($curl_response, true, 2);
#
Zegnat
Then try again.
#
jeremycherfas
Calling cweiske
#
Zegnat
Both skippy and dgold based their token verifier on pre-IndieAuth-spec code. They are trying to parse the token endpoint response as if it was form encoded. But Mintoken follows the spec and returns its response JSON encoded.
#
Zegnat
So you need to use json_decode() instead of parse_str()
#
Zegnat
Also look at line 83 of inc/common.php when you are there. It does a hard-coded check against https://tokens.indieauth.com/token, so it never even tries to check Mintoken
#
Zegnat
Change that URL to point at your Mintoken endpoint
#
Zegnat
Both Micropub endpoints assume you are always going to be using aaronpk’s hosted token endpoint at the moment... Hopefully this will change now that there is another third-party PHP option available :)
#
jeremycherfas
I made the changes; no change in the error message. Still getting a 401. Let me check the db.
#
Zegnat
Hmm. What is the error message you are getting with it? So we can check at which if() you are failing
#
jeremycherfas
OK, the tokens are all fine. Inserting a different error message is what I plan to do now.
#
jeremycherfas
Error with micropub request. That is entirely possible, as I have not started to adapt Micropub to Grav's folder structure.
#
Zegnat
That shouldn’t matter, the micropub endpoint should be saving the file
maingo joined the channel
#
Zegnat
Even if it isn’t in a Grav-understandable format, it should then save the default Hugo format it was meant to create
#
jeremycherfas
That error message does not appear in any of skippy's files!
#
Zegnat
... any chance of a screenshot of the micropub endpoint response you are seeing in the chrome debug?
#
Zegnat
I have just finished debugging a phone on the other side of the world (Indonesia), I should be able to get a Micropub endpoint in Italy working! :P
#
jeremycherfas
I just grepped for all the versions of that phrase, and it didn't show up anywhere.
#
jeremycherfas
I can do a photo, sure.
#
jeremycherfas
What do you need, the headers and the error messges expanded?
#
jeremycherfas
Sorry, I'm an idiot. I was looking at the user message. The Response is much clearer!
#
jeremycherfas
{"error":"insufficient_scope","error_description":"The request lacks authentication credentials"}
#
Zegnat
There you go, haha
#
Zegnat
No more screenshot necessary
#
jeremycherfas
Which is in common.php 94 & 98
#
Zegnat
I am only seeing it on line 94?
#
jeremycherfas
So the curl response is either empty, or there is no me, or there is no scope
#
jeremycherfas
Yes, I searched for a fragment.
#
Zegnat
You could change it in there to something like quit(401, 'debug', $response);
#
Zegnat
Then do it again and the error_description should contain the entire $response
#
jeremycherfas
It just contains "null" now. I will put $curl_response in there instead.
#
jeremycherfas
And now it is an empty string.
#
jeremycherfas
So I guess that means that the curl_exec in l 87 is not receving anything
#
Zegnat
Possibly.
#
Zegnat
Are you querying the right URL?
#
Zegnat
Dumb question, but important factor, hehe
#
jeremycherfas
I believe so. Request URL is http://localhost:8888/micropub/ which is correct
#
Zegnat
A-ha! The URL there (on line 83) should point at the Mintoken endpoint.php file
#
Zegnat
Oh, or are we talking past eachother, and you are talking about Omnibear?
#
Zegnat
That sounds correct for Omnibear
#
jeremycherfas
I'm talking about Omnibear's Request Header
#
jeremycherfas
Line 83 is $ch = curl_init("http://localhost:8888/auth/endpoint.php");
#
jeremycherfas
Which is also correct.
#
Zegnat
Yeah all of that seems correct.
#
Zegnat
Which makes it double weird that it isn’t getting a response from /auth/endpoint.php
#
jeremycherfas
Aha. If I put http://localhost:8888/auth/endpoint.php into the browser, I get a 401 back.
#
Zegnat
That sounds right. Token endpoint only responds to you if you put a token in the Authorization header
#
jeremycherfas
?bearer="XXXX" ?
#
Zegnat
For $curl_response to be empty, something is wonky between the micropub endpoint and the token endpoint. But if Omnibear was able to create a token, the token endpoint is obviously configured correctly :/
#
Zegnat
He, in retrospect, maybe I should have made it answer to that. But no, Mintoken strictly only accept Authorization headers
#
Zegnat
Like the one skippy is setting on line 85
#
jeremycherfas
I could not get shpub to work from the terminal when I tried. It just seemed to hang with a > at the start of the line.
#
sknebel
how do you run this stuff? might something be blocking the header?
#
jeremycherfas
It is all local, under MAMP
#
sknebel
(although I'd assume there'd be a proper error response, so never mind)
#
jeremycherfas
Would it be worth adding some kind of HTML output to endpoint.php? So we can see whether Micropub ever gets there?
#
Zegnat
Could you do a quit(401, 'debug' curl_getinfo($ch)) in the micropub code, before line 92 (before curl_close)?
#
Zegnat
That should give us the curl information, including what HTTP code it got back
#
@mattmaldre
↩️ @ChrisAldrich I wonder how IndieWeb and Webmention will work with Wordpress’ Gutenberg.
(twitter.com/_/status/993894212121890816)
#
Zegnat
Error responses from the token endpoint are a little unintuitive. The RFC recommended putting them in headers and not in the body, which means the curl in the micropub endpoint wouldn’t pick up on them :(
#
Zegnat
Maybe I should revise that
#
jeremycherfas
Immediately after the json_decode?
#
sknebel
Zegnat: any reason to not put them in both places?
#
Zegnat
sknebel, other than the RFC didn’t seem to talk about that? No, no reason.
#
Zegnat
jeremycherfas, yes
#
Zegnat
As long as it is after curl_exec (line 87) and before curl_close (line 92). Because only between there does $ch hold any information :)
#
Zegnat
sknebel, I am still not sure how to handle certain errors ... https://github.com/Zegnat/php-mintoken/issues?q=is%3Aissue+is%3Aopen+label%3Aspec
#
Zegnat
I might just switch to always returning JSON bodies for errors.
#
jeremycherfas
This might be messy.
#
jeremycherfas
{"error":"debug","error_description":{"url":"http:\/\/localhost:8888\/auth\/endpoint.php","content_type":"text\/html; charset=UTF-8","http_code":401,"header_size":325,"request_size":158,"filetime":-1,"ssl_verify_result":0,"redirect_count":0,"total_time":0.010511,"namelookup_time":0.001248,"connect_time":0.001415,"pretransfer_time":0.001466,"size_upload":0,"size_download":0,"speed_download":0,"speed_upload":0,"download_content_length":0,"upload_
#
jeremycherfas
content_length":-1,"starttransfer_time":0.010454,"redirect_time":0,"redirect_url":"","primary_ip":"::1","certinfo":[],"primary_port":8888,"local_ip":"::1","local_port":60206}}
#
jeremycherfas
It isn't something silly like not having SSL locally?
#
Zegnat
No, you seem to be getting error 401 back from the token endpoint. Which suggests it doesn’t know the token when the micropub endpoint is verifying it.
#
Zegnat
And because of the way I implemented error reporting, you can’t see the actual error returned by the token endpoint. Ugh.
#
jeremycherfas
Would it help if I switch from skippy's micropub to dgold's nanopub?
#
dgold
given that skippy used my auth logic, I'm not sure that's going to help
#
dgold
I'd point out that indieauth can fail if the full site address isn't given, including the terminating /
#
Zegnat
I got nanopub working though, so I am not sure what the problem can be here :S
#
dgold
nor I
#
jeremycherfas
Wait, what? Full site address where micropub resides?
#
jeremycherfas
Nope, got trailing slashes on both micropub endpoint and site.
#
jeremycherfas
In Omnibear.
#
Zegnat
Omnibear shouldn’t be a problem here, as it is the micropub endpoint talking to the token endpoint that is failing
#
Loqi
tantek: Zegnat left you a message 11 hours, 26 minutes ago: re https://chat.indieweb.org/dev/2018-05-08/1525744185785000 - XRay does not expose aaronpk's Twitter API tokens to keep the requests down. The same for other silo APIs. You need to provide those in the URL query.
#
jeremycherfas
I checked the incoming headers and "Bearer XXXX" is there. So that should be going from index.php ln 35 to common.php
#
tantek
good to know
#
Loqi
[Chris Aldrich] Fragmentions for Better Highlighting and Direct References on the Web
#
tantek
Also I'm re-interested in trying out https://github.com/kartikprabhu/fragmentioner on my site
#
Loqi
[kartikprabhu] fragmentioner: UI for generating the fragmention link to some selected text
#
tantek
what is Fragmentioner
#
Loqi
fragmentioner is a Javascript utility by Kartik Prabhu which gives a pop-up link with the fragmention URL to a piece of selected text https://indieweb.org/fragmentioner
#
tantek
is anyone else besides KartikPrabhu using it on their site?
#
tantek
fragmentioner << fragmentions
#
loqi.me
edited /fragmentioner (+35) "tantek added "[[fragmention]]" to "See Also""
(view diff)
#
jeremycherfas
!tell zegnat I checked indieAuth() and it is receiving the token and setting $me correctly
#
Loqi
Ok, I'll tell them that when I see them next
#
Zegnat
Yeah, so it really must be the curl request, coming back blank
#
Zegnat
And I don’t really have a clue why
#
Zegnat
Have you verified the token it is getting with the one in the database file?
#
jeremycherfas
But it works for you! I'm going to take a look at DGold's code.
#
jeremycherfas
Yes. it matches.
#
jeremycherfas
But hang on a minute. There are two codes, because I did not delete the previous one. Does yours check against the first instnce of me, or all until it finds a match?
#
Zegnat
It checks the code that you send to it. If that is in the database, and isn’t revoked, it returns positive.
#
Zegnat
Or at least, it should, ha
#
jeremycherfas
Let me just delete that first entry from the db
#
Zegnat
The DB schema forces token to be unique, and I just retrieve it based on the token: https://github.com/Zegnat/php-mintoken/blob/master/endpoint.php#L65-L71
#
Zegnat
Never actually look at “me” in the db
#
tantek
!tell chrisaldrich the "It" at the end of this paragraph appears to be dangling, missing the rest of the sentence, or a typo? https://boffosocko.com/2018/01/23/fragmentions-for-better-highlighting-and-direct-references-the-web/#URL%20anywhere%20she%20likes
#
Loqi
Ok, I'll tell them that when I see them next
#
Loqi
[Chris Aldrich] Fragmentions for Better Highlighting and Direct References on the Web
#
Zegnat
jeremycherfas, you could do exit(print_r($authorization)) right after the token endpoint checks for it here: https://github.com/Zegnat/php-mintoken/blob/master/endpoint.php#L184
#
Zegnat
And then check the curl_response you are getting in micropub. I wonder if the token is making it to there
#
jeremycherfas
OK. Hang on.
#
Zegnat
Bit of a round-about way. But because the micropub endpoint is the one querying the token endpoint, I am not sure how to better debug that. Sorry
#
jeremycherfas
Not sure where to look for the output of exit statement?
#
Zegnat
Right, you need the quit() line in skippy’s micropub endpoint that was giving the $curl_response to you
[miklb] joined the channel
#
tantek.com
edited /fragmention (+237) "discussion was actually alternatives, add Articles section with chrisaldrich 2018 article to start"
(view diff)
#
jeremycherfas
Yeah, I have that. Quit(401, 'debug', $curl_response);
#
jeremycherfas
And the error is {"error":"insufficient_scope","error_description":"The request lacks authentication credentials"}
#
Zegnat
Huh. It should be quiting before that and show us the $curl_response ...
#
jeremycherfas
Did you maybe mean quit rather than exit in your enpoint.PHP?
#
Zegnat
My endpoint should exit() with that message. So that curl gets that.
#
jeremycherfas
I have exit(print_r($authorization)); on line 185 of your endpoint.php
#
Zegnat
Yes, and then if you instantly quit(401, 'debug', $curl_response); on line ~91 (ish) of common.php in the micropub endpoint, it should give you the whole curl response as error
#
jeremycherfas
OK, I think I need the quit immediately after curl_close on line 94
#
Zegnat
yeah, not after the ifs, or they will quit first
#
jeremycherfas
{"error":"debug","error_description":"1"}
#
jeremycherfas
Does that mean authorization is TRUE?
#
scripter.co
edited /fragmentioner (+65) "/* Indieweb Examples */"
(view diff)
#
Zegnat
That is ... very weird
#
gregorlove.com
created /Gutenberg (+144) "prompted by tantek"
(view diff)
#
Zegnat
$authorization cannot be 1 on line 185
#
Zegnat
That’s just impossible
#
jeremycherfas
That's coming from the GET method.
#
tantek.com
edited /fragmention (+150) "/* Articles */ BoffoSocko.com Now Supports"
(view diff)
#
Zegnat
filter_input() will result in null, false, or a string.
#
Zegnat
1 is literally not an option, as the string must match the defined regex
#
Zegnat
Baffling
#
scripter.co
edited /fragmention (+78) "/* Articles */"
(view diff)
#
Zegnat
Oh, crap
#
jeremycherfas
Well, I'm having a hard time understanding what filter_input() is doing there. So maybe just give it a rest now till tomorrow.
#
Zegnat
Change that exit in the token endpoint to exit(print_r($authorization, true))
#
Zegnat
(e.g. add the second argument true to print_r)
#
Zegnat
Clearly debugging all these separate parts without seeing what is going on is hard, ha
#
jeremycherfas
Description is now an empty string.
#
jeremycherfas
{"error":"debug","error_description":""}
#
jeremycherfas
I think it is amazing that you can do it at all. And I am really thankful.
#
tantek.com
edited /Falcon (+261) "/* Select Text Fragmention UI */ need to not require ##"
(view diff)
#
Zegnat
So the filter_input is probably failing to validate the authorization token
#
jeremycherfas
But it works for you!
#
scripter.co
edited /fragmention (+109) "/* Articles */"
(view diff)
#
Zegnat
Can you make it exit with $_SERVER['HTTP_AUTHORIZATION'] instead of $authorization (inside the print_r)? Wondering if the header makes it through at all...
#
gRegorLove
I think I've had to make PHP ini updates in some environments to add that key to $_SERVER
#
jeremycherfas
Undefined index
#
gRegorLove
Or, .htaccess actually
#
jeremycherfas
Better remove the true.
#
gRegorLove
This is what I've used in .htaccess: `SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0`
#
gRegorLove
Depends on your server and PHP setup of course
#
Zegnat
But that is so weird, because seemingly it is getting through to the Micropub endpoint. So why not to the token endpoint :S
#
jeremycherfas
"<br />↵<b>Notice</b>: Undefined index: HTTP_AUTHORIZATION in <b>/Applications/MAMP/htdocs/auth/endpoint.php</b> on line <b>185</b><br />↵1"
#
tantek.com
edited /Falcon (+251) "/* Working On */ Select text fragmention UI"
(view diff)
#
gRegorLove
Just came in on the end of this, so I'm probably missing more context. :)
#
Zegnat
Make it return the entire $_SERVER and see if the Bearer token is in there anywhere, jeremycherfas? Maybe somehow it is using a different index.
#
tantek
I'm hoping some of this is captured in a bit more structure on the wiki for future reference? I'm having trouble even following the conversation
#
Zegnat
gRegorLove, do you happen to know if getallheaders() makes a difference?
#
snarfed
more on handling missing HTTP_AUTHORIZATION with .htaccess: https://wordpress.org/plugins/micropub/#faq-header
#
snarfed
common problem on shared hosts
#
Zegnat
It looks like skippy is using getallheaders(), and can retrieve the authorization header, but I use HTTP_AUTHORIZATION and I cannot..?
renem joined the channel
#
jeremycherfas
I'm not actually seeing Bearer in there at all
Kyle-K joined the channel
#
gRegorLove
Not sure, Zegnat
#
Zegnat
If you change it to getallheaders() jeremycherfas, instead of $_SERVER, does that contain authorization?
#
gRegorLove
I'm on a shared Dreamhost if you need another test data point (though can't right this moment)
#
tantek.com
edited /fragmention (-44) "/* IndieWeb Examples */ fragmentioner"
(view diff)
#
jeremycherfas
That does contain the bearer token.
#
tantek.com
edited /fragmentioner (+249) "chrisaldrich example"
(view diff)
#
Zegnat
Well. That officially broke all sense to me then
#
jeremycherfas
I hate to say this zegnat, but I have to stop now. I am sorry for monopolising your time this way.
#
jeremycherfas
Can we try again tomorrow?
#
Zegnat
No problem, I think you have actually solved it
#
jeremycherfas
Not me. You!
#
Zegnat
getallheaders() will give you different headers from the $_SERVER var
#
Zegnat
skippy uses the former, I use the latter.
#
Loqi
ok, I added "https://boffosocko.com/2018/01/23/fragmentions-for-better-highlighting-and-direct-references-the-web/" to the "See Also" section of /fragmentioner https://indieweb.org/wiki/index.php?diff=47640&oldid=47639
#
Loqi
[Chris Aldrich] Fragmentions for Better Highlighting and Direct References on the Web
#
Zegnat
So you will need the htaccess fix that was mentioned before, and all should be peachy
#
Zegnat
But wow, that was surprising, and not anywhere in my first thoughts.
#
Zegnat
Thanks for all the pair-programming time jeremycherfas, I learned something new! Have a good evening :)
#
jeremycherfas
I'll read up on what gregorlove and snarfed said, and then see if I can help myself a bit tomorrow afternoon.
#
jeremycherfas
Zegnat++ for help above and beyond.
#
Loqi
zegnat has 62 karma in this channel (212 overall)
#
Loqi
[Zegnat] getallheaders() will give you different headers from the $_SERVER var
#
tantek
what are headers?
#
Loqi
It looks like we don't have a page for "headers" yet. Would you like to create it? (Or just say "headers is ____", a sentence describing the term)
#
Zegnat
What are HTTP headers?
#
Loqi
It looks like we don't have a page for "HTTP headers" yet. Would you like to create it? (Or just say "HTTP headers is ____", a sentence describing the term)
#
Zegnat
I don’t know how to define those...
#
Zegnat
At least not in any approachable and logical way that works in a few sentences
[kevinmarks] joined the channel
#
tantek
[kevinmarks] are you using /fragmentioner ?
tglobe joined the channel
#
sknebel
ugh, it *was* a header passing issue? I should stop to discount them so quickly
#
@rupl
@adactio thank you for allowing updates to your received webmentions! your site allowed me to debug the faulty microformats on my site by resubmitting my mention a couple times.
(twitter.com/_/status/993919535056084993)
#
Zegnat
sknebel, not so much the parsing itself
[jgmac1106] and gRegorLove_ joined the channel
#
Zegnat
skippy’s Micropub implementation is using getallheaders(), which Apache does give Authorization to. The Micropub implementation then send this header along to the token endpoint, but my token endpoint uses $_SERVER['HTTP_AUTHORIZATION'], and Apache does not give it to $_SERVER.
#
Zegnat
Yeey consistency?
#
sknebel
"passing", not "parsing"
#
sknebel
seems like "test the Authentication header actually makes it through" is a good early debug check to note for now
#
Zegnat
Woops, misread. I misread way too often lately, might be time for a font change
treora joined the channel
#
Zegnat
Yep. I just thought that was covered when we made sure the Micropub endpoint was receiving the header correctly :(
[kevinmarks] and snarfed joined the channel
#
Zegnat
!tell jeremycherfas Could you test https://github.com/Zegnat/php-mintoken/tree/the-apache-fix ? That might fix the issue already, without you needed to mess with Apache settings / .htaccess files. And I would love to know if this fix works! :)
#
Loqi
Ok, I'll tell them that when I see them next
snarfed joined the channel
#
Zegnat
snarfed, gRegorLove_, you may be able to get away with not putting in htaccess changes. Pending someone actually testing this with Apache: https://github.com/Zegnat/php-mintoken/commit/41bbee457318b09f98cc6ef1a288f8c1b4f9c59e
#
snarfed
Zegnat: ooh if it works i may ask you to add it to the wp micropub plugin!
#
Zegnat
I don’t have Apache installed anymore, just nginx, so I am hoping jeremy can give it a spin tomorrow and see if it fixes his issue :)
#
Zegnat
Or, if anyone else is able to test, be my guest. I am off to watch the Eurovision Song Contest, round 1, and will be unavailable the rest of the evening. Haha
snarfed joined the channel
#
dgold
aaronpk: what level does use of telegraph becomes abuse?
#
aaronpk
eh what?
#
dgold
I desire to use telegraph to resend mentions _to_ my domain
#
dgold
these were previously sent to herokuapp, whereas I'm finally moving to wm.io
#
dgold
(thanks to schmarty)
#
aaronpk
so you want to send a bunch of webmentions to yourself?
#
aaronpk
it should be able to handle that
#
dgold
um... yes
#
dgold
there are about 300 of them
#
aaronpk
it queues everything up so it might take a while
#
dgold
oh, I presumed it did - I just wondered what sort of delay between each I should put in
#
aaronpk
eh, maybe like a second
grantcodes_, tglobe, snarfed and [jeremycherfas] joined the channel
#
[jeremycherfas]
Will do, tomorrow morning. I’m excited to be getting closer.
#
Loqi
[jeremycherfas]: Zegnat left you a message 1 hour, 13 minutes ago: Could you test https://github.com/Zegnat/php-mintoken/tree/the-apache-fix ? That might fix the issue already, without you needed to mess with Apache settings / .htaccess files. And I would love to know if this fix works! :)
KartikPrabhu, [kimberlyhirsh] and sebsel joined the channel
#
@rupl
↩️ yup that's the one! plus the "test your webmentions" entry. Glad you found my write-up useful even if Matomo wasn't the right fit for you. I do like some of its GA-ish features, especially client-side event tracking to see how my SW is being used.
(twitter.com/_/status/993946687398957057)
KartikPrabhu joined the channel
#
sknebel
What is Matomo?
#
Loqi
It looks like we don't have a page for "Matomo" yet. Would you like to create it? (Or just say "Matomo is ____", a sentence describing the term)
#
loqi.me
created /Matomo (+37) "prompted by sknebel and redirect added by sknebel"
(view diff)
snarfed joined the channel
#
@frankmeeuwsen
↩️ I don't think it's much of an issue as well but it doesn't hurt to look into it. It got me thinking about one thing, can I remove individual webmentions from my blogposts and if so, how?
(twitter.com/_/status/993949124671279104)
#
sknebel
is surprised aaronpk hasn't already registered microsub.rocks
#
sknebel
(or is microsub still a "working title"? a few people have commented on it being a bit confusing when there is already micropub and websub)
swentel joined the channel
#
dgold
indiesub
#
snarfed
(aaaand indieauth)
#
snarfed
naming is hard
[tantek] joined the channel
#
Loqi
ok, I added "https://twitter.com/blaine/status/993462650389573632" to the "See Also" section of /multi-factor_authentication https://indieweb.org/wiki/index.php?diff=47642&oldid=45717
tantek joined the channel
#
@rupl
@adactio thank you for allowing updates to your received webmentions! your site allowed me to debug the faulty microformats on my site by resubmitting my mention a couple times.
(twitter.com/_/status/993919535056084993)
#
tantek
adactio++
#
Loqi
adactio has 2 karma in this channel (46 overall)
#
tantek
Don't call it a pingback
#
tantek.com
edited /fragmention (+928) "brainstorming , user friendly name"
(view diff)
#
tantek
!tell chrisaldrich,[jgmac1106] since you're both familiar with annotations, and with "typical" users, would appreciate your perspective / other thoughts on: https://indieweb.org/fragmention#User_friendly_name
#
Loqi
Ok, I'll tell them that when I see them next
#
tantek.com
edited /fragmention (+19) "/* User friendly name */ linky linky"
(view diff)
gRegorLove, [pfefferle] and [kevinmarks] joined the channel
#
[kevinmarks]
Also, it gets autocorrected to fragmentation
#
[kevinmarks]
Wordlink?
kaushalmodi joined the channel
#
kaushalmodi
phraselink?
#
aaronpk
hyperphrase? 😂
#
sknebel
Phrasegment? (Kidding)
#
snarfed
"jump to"
#
snarfed
naming is hard!
[jgmac1106] joined the channel
#
[jgmac1106]
IndieNote
#
[jgmac1106]
NoteCite or LinkQuote Linked Annotation
#
[jgmac1106]
Annotation would resonate most with users. Will write a public reply on post
#
[jgmac1106]
Marginalia if you want to sound real academic nerdy
#
KartikPrabhu
what is marginalia?
#
Loqi
Marginalia are responses to parts of a post, rather than posts as a whole; they are typically published (on another site) with a fragmention link to the specific part (like a paragraph), notified via Webmention, and displayed on the post adjacent to the referenced part (like sidebar comments next to paragraphs) https://indieweb.org/marginalia
Jeena joined the channel
#
Jeena
I'm looking at the https://indieweb.org/Microsub-spec and I wonder why that API is not a REST API but something home cooked. I'm nod judging, mostly curious.
#
GWG
Hello all
#
GWG
Anything going on?
#
GWG
I need a cc0 silhouette icon for anonymized comments. Anyone?
snarfed joined the channel
#
[pfefferle]
Why not the wordpress default avatar? Or is this from gravatar?
#
GWG
I don't like it
#
GWG
I would rather have a b&w one. Also, right now, we link to third party sites for avatars. I would rather not
#
[pfefferle]
But a facepile with only default avatars does not really make sense
#
GWG
pfefferle, agreed.
#
GWG
But I am assuming that only some will be not present
#
[pfefferle]
I would start with the default and optimize later
#
[pfefferle]
I am rethinking my cache implementation because of GDPR
#
GWG
pfefferle, I figured you would
#
GWG
Rethinking doing it or how to?
#
[pfefferle]
Perhaps with a feature toggle
#
[pfefferle]
I can focus on the avatars
#
GWG
Always. Also cache expiry options
#
[pfefferle]
With the cache we also have no missing images any more
#
[pfefferle]
If you can implement the bridgy thing I will do the avatar stuff
#
GWG
I am planning on it
#
[pfefferle]
But not before tomorrow
#
[pfefferle]
Good night 😉
#
Loqi
goodnight!
#
GWG
As I said, in the morning
#
GWG
Sleep well
eli_oat and [manton] joined the channel
#
[manton]
@Jeena I think the reason is similar to the design of Micropub: to give the most flexibility to different implementations and server architectures. So for example, it could be implemented with a single .php file on a shared server.
#
GWG
Hello manton.
#
GWG
You coming to the Summit?
eli_oat and KartikPrabhu joined the channel
#
[manton]
I hope to be there, but still checking on a couple things... June is sneaking up on me too quickly. 🙂
#
GWG
Ditto. If you come, I still owe you a beverage. If almond milk is more plentiful in Portland
#
GWG
I will return to dev talk
#
[manton]
Oh yeah, thanks!
#
GWG
manton, while you are here, is it possible to have too much data in your jsonfeed?
#
[manton]
Well... There's no specific limit, but I think feeds work the best when there are a fairly limited number of items, like 25-50. Just because it's faster to process them.
#
[manton]
How big are you thinking of, in terms of number of items or file size?
#
jacky
Jeena: it's an early draft - definitely provide feedback!
#
GWG
manton, I added all my mf2
snarfed and [chrisaldrich] joined the channel
#
[chrisaldrich]
caught up on too many days of #dev logs...
#
Loqi
[chrisaldrich]: tantek left you a message 6 hours, 17 minutes ago: the "It" at the end of this paragraph appears to be dangling, missing the rest of the sentence, or a typo? https://boffosocko.com/2018/01/23/fragmentions-for-better-highlighting-and-direct-references-the-web/#URL%20anywhere%20she%20likes
#
Loqi
[chrisaldrich]: tantek left you a message 2 hours, 46 minutes ago: since you're both familiar with annotations, and with "typical" users, would appreciate your perspective / other thoughts on: https://indieweb.org/fragmention#User_friendly_name
#
[chrisaldrich]
tantek, thanks for the IT note, I suspect it was a typo, or the start of a thought that never got finished. None of my earlier "drafts" had something that was written over. Also, great example of fragmention use to point it out! 😉
#
jacky.wtf
edited /fragmention (+142) "/* User friendly name */"
(view diff)
#
aaronpk
Jeena: most "rest" APIs aren't actually REST, and also REST APIs don't lend themselves to a modular architecture such as what you need to work with a static site. Microsub (and Micropub) follow a more RPC style.
#
jacky
yeah and in the long run, RPC >> Rest when it comes to evolution and flexibility
#
jacky
learned that in my early days ;)
#
KartikPrabhu
what is REST?
#
Loqi
Representational State Transfer (REST) is a software design architecture used to communicate state between two systems that has no current IndieWeb adoption, likely due to its fundamental incompatibility with static sites https://indieweb.org/REST
#
KartikPrabhu
what is RPC?
#
Loqi
Representational State Transfer (REST) is a software design architecture used to communicate state between two systems that has no current IndieWeb adoption, likely due to its fundamental incompatibility with static sites https://indieweb.org/RPC
#
KartikPrabhu
loqi is as confused as I am
#
jacky
oh RPC is redirected to REST?