posse http://default/ en Implementing IndieWeb on your personal Drupal site, part 1 http://default/2018/implementing-indieweb-your-personal-drupal-site-part-1 <div data-history-node-id="417" class="h-entry node node--type-piece node--view-mode-fulltext ds-1col clearfix"> <div class="clearfix text-formatted field field--name-field-sub-title field--type-text field--label-above"> <div class="field__label">Sub title</div> <div class="field__item"><p>Laying the foundations for POSSE</p> </div> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item">/sites/default/files/styles/large/public/20180610-indieweb.png?itok=bFJfMCXu</div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><em>This is my version of the steps you need to take to make your site part of the indie web community. <a href="http://realize.be/">Swentel</a> helped me getting it all setup on this here Drupal site using his <a href="https://www.drupal.org/project/indieweb">indieweb module</a>. It’s all a bit complicated still, so this is mostly me trying to retroactively understand what’s going on.</em></p> <p>As it says on the site, the <a href="https://indieweb.org/">IndieWeb</a> is a people-focused alternative to the corporate web. Its main tenets:</p> <ol> <li><strong>Ownership</strong> – your content is yours, it should not belong to a corporation.</li> <li><strong>Connection</strong> – starting from your own site you can share your content to all other services.</li> <li><strong>Control</strong> – post what you want, in the format you prefer, using your own URLs that you keep permanent.</li> </ol> <p>While 1 and 3 are essential and relatively easy to achieve (use your own domain and post your content there), it’s number 2 that is the most alluring.</p> <p>Owning your stuff <em>and</em> being able to share it across multiple platforms combines ownershop with reach. This is what “POSSE” is all about: Publish (on your) Own Site, Syndicate Elsewhere. Drupal lead Dries Buytaert has written several <a href="https://dri.es/tag/posse">posts outlining his POSSE plan</a>.</p> <h2>Getting started</h2> <p>This “Connection” part of indieweb publishing is also the most complicated. There are quite a few moving parts to getting it all up and running.</p> <p>For Drupal sites, the setup for the community/sharing/syndication parts of indieweb publishing has gotten much more accessible with the release of the <a href="https://www.drupal.org/project/indieweb">IndieWeb module</a> created by <a href="http://realize.be/">swentel</a>. It doesn’t necessarily reduce the number of things to set up, but it provides a centralized UI for all of them: Webmentions, Microformats, Feeds, Micropub, IndieAuth and Microsub.</p> <p>Before going over the details of configuring the indieweb module itself, we have to take care of some basics first.</p> <h2>Introduce yourself (right on)</h2> <p>To own your content on the web, you have to establish that you are in fact, you. That’s why IndieWeb starts with having your own domain and posting some initial content there. Important part of this initial content is a specific bit of HTML that establishes you as the author and owner of things published on this particular domain:</p> <p><code><a class="h-card" href="http://www.yoroy.com"><img src="/photo.png" alt="This is me" /> Roy Scholten</a> </code></p> <p>The <em>specific</em> part here is that “h-card” class added to the anchor tag. This “h-card” is one of a collection of so-called <a href="http://microformats.org/wiki/microformats2">microformats</a>. With microformats you give more structure and semantics to information presented in HTML. In this case, h-card is the microformat to use for publishing information about people or organisations. We’ll need to add other microformats to (blog) posts you publish on the site, but that’s for later.</p> <h3>To do in Drupal</h3> <p>The indieweb module does not (yet?) handle adding this information to your site. Add your version of the HTML snippet above to a (new or existing) Drupal block. Place that block to be visible on your homepage. The site footer or maybe a sidebar are obvious places you can put it. Mine’s in the footer below.</p> <p>You can check if all is fine with <a href="https://indiewebify.me/validate-h-card/">https://indiewebify.me/validate-h-card/</a>. Enter your domain name there and it will report back with what it found and suggest additional elements you could add to enhance your h-card.</p> <p>Even without posting any other content to your own site, you now have your own space on the indie web and setup your identity in a way that you own and control.</p> <h2>Next: add links to your existing social media accounts</h2> <p>You’ve seen those signup forms that let you create an account by using your existing Google, Facebook or Twitter account details. In this step, you configure your own domain to be your <a href="https://indieweb.org/IndieAuth">IndieAuth</a> identity. This lets you use your own domain to sign in to other sites and services.</p> <p>There are not many sites outside the indieweb circles itself that offer this, I think. It’s still useful to do this though. You’ll likely want to use some of these indieweb services, especially to automatically share (links to) your content on other platforms like Twitter or Facebook.</p> <h3>To do in Drupal</h3> <p>Detailed instructions are <a href="https://indieweb.org/How_to_set_up_web_sign-in_on_your_own_domain">here</a>. In short:</p> <p>Add links to your other profiles and add the <code>rel="me"</code> attribute. Might as well add this to that h-card block you created in the first step. For example:</p> <p><code><a href-"https://www.twitter.com/royscholten" rel="me">@royscholten on Twitter</a> </code></p> <p>If you have a Github account, that’s also a good one to add.</p> <h3>To do on the external sites you link to</h3> <p>Link back to your homepage from your profile page on these services. The indieweb wiki has <a href="https://indieweb.org/How_to_set_up_web_sign-in_on_your_own_domain">direct links to edit your Twitter and Github profile</a>.</p> <p>Then, try logging in to indieweb.org to see if it all works.</p> <h2>So far, so good,</h2> <p>So what? By establishing your identity on your own domain you stake out your own spot on the internet that you control. With this set up, you have created an environment for publishing on your own site and syndicating elsewhere.</p> <p>Next time: configuring the <a href="https://www.drupal.org/project/indieweb">indieweb module</a> to start sending and receiving <a href="https://indieweb.org/Webmention">webmentions</a>, the indieweb catch-all term for comments, likes, reposts and the like.</p> </div> <div class="field field--name-taxonomy-vocabulary-1 field--type-entity-reference field--label-inline"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="http://default/taxonomy/term/153" hreflang="en">indieweb</a></div> <div class="field__item"><a href="http://default/tag/posse" hreflang="en">posse</a></div> <div class="field__item"><a href="http://default/drupal" hreflang="en">drupalplanet</a></div> </div> </div> <span class="hidden"><a href="https://brid.gy/publish/twitter"></a></span> <div class="node__links"> <ul class="links inline"><li class="comment-forbidden"></li></ul> </div> </div> Sun, 10 Jun 2018 21:53:30 +0000 Roy 417 at http://default Tweets starting from here http://default/2018/tweets-starting-here <div data-history-node-id="386" class="h-entry node node--type-piece node--view-mode-fulltext ds-1col clearfix"> <div class="clearfix text-formatted field field--name-field-sub-title field--type-text field--label-above"> <div class="field__label">Sub title</div> <div class="field__item"><p>Tweet-sized notes posted as content on yoroy.com that get pushed to Twitter via RSS and Zapier.</p> </div> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item">/sites/default/files/styles/large/public/20180219-notes-ui.png?itok=4rNLWr49</div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>My <a href="http://default/2018/small-steps-towards-posse">previous post</a> inspired Joeri to some <a href="http://jpoesen.com/articles/self-publication-web-owning-controlling-simplifying-and-sharing-my-content">improvements on his site</a>. Nice!</p> <p>I built another step towards <a href="https://indieweb.org/POSSE">POSSE</a> this weekend: tweet-sized notes posted as content on yoroy.com that get pushed to Twitter via RSS and Zapier. Here’s how:</p> <p>Create a new content type “Note”. This one needs to only have a text area. And here we run into Drupal always requiring a title. We can’t create entities without giving it a title. The title itself is always a text field, so not ideal for writing 280 char bits of text. Two contrib modules to work around this:</p> <ul> <li><a href="https://www.drupal.org/project/auto_entitylabel">Auto entity label</a> to define an automatic pattern for the title of these Notes. I set it to use a simple timestamp.</li> <li><a href="https://www.drupal.org/project/exclude_node_title">Exclude node title</a> to actually hide the title field on the Note creation form and on display.</li> </ul> <p>Next I defined a new text format that does <em>not</em> use CKEditor but allows <a> tags and automatically transforms URLs into links. I set this to be the default text format for the text area on the Note using the Better Formats module (sadly currently only available as an old development release). This step is optional, it helps </a><a href="http://default/2018/experiment-removing-friction">remove user interface clutter</a>. This gives me a content creation form with just a single plain text text area, a “published” checkbox and a Save button.</p> <p>I updated the views that list blog content on this site to also include content of type “Note” and configured a <a href="http://www.yoroy.com/notes/rss.xml">Notes RSS feed</a> as well. I use this feed as an input on <a href="https://www.zapier.com">Zapier</a> where the Notes body is extracted and posted as a tweet.</p> </div> <div class="field field--name-taxonomy-vocabulary-1 field--type-entity-reference field--label-inline"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="http://default/tag/posse" hreflang="en">posse</a></div> <div class="field__item"><a href="http://default/tag/twitter" hreflang="en">twitter</a></div> <div class="field__item"><a href="http://default/tag/drupal" hreflang="en">Drupal</a></div> <div class="field__item"><a href="http://default/taxonomy/term/146" hreflang="en">content modeling</a></div> <div class="field__item"><a href="http://default/drupal" hreflang="en">drupalplanet</a></div> </div> </div> <span class="hidden"><a href="https://brid.gy/publish/twitter"></a></span> <div class="node__links"> <ul class="links inline"><li class="comment-forbidden"></li></ul> </div> </div> Sun, 18 Feb 2018 22:55:07 +0000 Roy 386 at http://default Small steps towards POSSE http://default/2018/small-steps-towards-posse <div data-history-node-id="378" class="h-entry node node--type-piece node--view-mode-fulltext ds-1col clearfix"> <div class="clearfix text-formatted field field--name-field-sub-title field--type-text field--label-above"> <div class="field__label">Sub title</div> <div class="field__item"><p>Adding RSS feeds to grafiek.royscholten</p> </div> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Couple of times now I succumbed (that’s how it feels) and started using some walled garden with its native app and ease of use. Soon after I start to regret it. Not only because of the walled garden factor itself but especially because of the nasty addictive patterns in there: notifications, likes, followers, comments. It’s nice to exchange pleasantries or run into somebody again (Hi Jim!), but it pushes neuro-buttons in an unhealthy way.</p> <p>And so, there’s an abandoned collection of my prints on <a href="http://pixelgrafiek.tumblr.com/archive">Tumblr</a> and I already have second thoughts on the <a href="https://www.instagram.com/royscholtengrafiek/">Instagram</a> account I started a couple of weeks ago. <a href="https://dri.es/my-posse-plan-for-evolving-my-site">At the very least</a> the same stuff should be posted on a domain of my own.</p> <p>All of which is to say that today I added some RSS links to <a href="http://grafiek.royscholten.nl/">grafiek.royscholten.nl</a> should you want to follow from the open source.</p> </div> <div class="field field--name-taxonomy-vocabulary-1 field--type-entity-reference field--label-inline"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="http://default/prints" hreflang="en">printmaking</a></div> <div class="field__item"><a href="http://default/tag/posse" hreflang="en">posse</a></div> </div> </div> <span class="hidden"><a href="https://brid.gy/publish/twitter"></a></span> <div class="node__links"> <ul class="links inline"><li class="comment-forbidden"></li></ul> </div> </div> Fri, 16 Feb 2018 22:17:40 +0000 Roy 378 at http://default grafiek.royscholten.nl http://default/pieces/grafiekroyscholtennl <div data-history-node-id="261" class="h-entry node node--type-piece node--view-mode-fulltext ds-1col clearfix"> <div class="clearfix text-formatted field field--name-field-sub-title field--type-text field--label-above"> <div class="field__label">Sub title</div> <div class="field__item"><p>POSSE is an abbreviation for Publish (on your) Own Site, Syndicate Elsewhere</p> </div> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item">/sites/default/files/styles/large/public/20160826-grafiek%202012.jpg?itok=4uFaL9J7</div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>For now settling on <a href="http://grafiek.royscholten.nl/">grafiek.royscholten.nl</a> as the place where I present my prints. There are 300+ posts on a tumblr I’m moving back into my own domain. Should have done that from the start of course.</p> <p>Keeping the “<a href="http://grafiek.royscholten.nl/pixelgrafiek">pixelgrafiek</a>” moniker around for the digital sketches, drawings and collages.</p> </div> <div class="field field--name-taxonomy-vocabulary-1 field--type-entity-reference field--label-inline"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="http://default/prints" hreflang="en">printmaking</a></div> <div class="field__item"><a href="http://default/tag/posse" hreflang="en">posse</a></div> </div> </div> <span class="hidden"><a href="https://brid.gy/publish/twitter"></a></span> <div class="node__links"> <ul class="links inline"><li class="comment-forbidden"></li></ul> </div> </div> Fri, 26 Aug 2016 20:04:34 +0000 Roy 261 at http://default Node add screen for my POSSE tweet UI http://default/pieces/node-add-screen-my-posse-tweet-ui <div data-history-node-id="146" class="h-entry node node--type-piece node--view-mode-fulltext ds-1col clearfix"> <span class="hidden"><a href="https://brid.gy/publish/twitter"></a></span> <div class="node__links"> <ul class="links inline"><li class="comment-forbidden"></li></ul> </div> </div> Wed, 18 Jun 2014 21:05:37 +0000 Roy 146 at http://default