I had almost forgotten that it was not so long ago that I’d outlined how I use Hypothesis to own my own highlights and annotations on my website. For the benefit of those in Dr. McVerry’s EDU522 course, I’ve included a link to it here.

For those who would like to see some examples you can find several below:
Specific stand-alone highlight posts
Specific stand-alone annotation posts
Other posts (typically reads) which I’ve highlighted and/or otherwise annotated things

I created the stand-alone posts using customized post kinds using some custom code for the Post Kinds Plugin.

I’ll begin tagging some of these pieces with the tag “backstage” for those in the EDU522 class that wish to follow along with how I’ve built or done certain things. You can subscribe to these future posts by adding /feed/ to the end of the URL for this tag archive.

To some extent my IndieWeb Collection/Research page has a lot of these “backstage” type posts for those who are interested. As part of the IndieWeb community, I’ve been documenting how and what I’ve been doing on my site for a while, hopefully these backstage posts will help other educators follow in my path without need to blaze as much of it anew for themselves.

Backstage posts are in actuality a very IndieWeb thing:

As we discover new ways to do things, we can document the crap out of them. —IndieWeb.org

 

📺 Quote Post-Kind on SemPress #IndieWeb Theme | YouTube

Watched Quote Post-Kind on SemPress Theme by Greg McVerry from YouTube

I might have gone the step further and put the Dewey portion in the Author tab and then put the source of the quote into the name field instead, but the output is still pretty solid, though some of the wrapped metadata that the plugin provides will be slightly off.

Swarm checkins appear as notes

Filed an Issue dshanske/indieweb-post-kinds (GitHub)
indieweb-post-kinds - adds support for responding to and interacting with other sites using the standards developed by the Indieweb Community

Perhaps I’m missing a setting somewhere, but since I’ve gotten OwnYourSwarm working (using JSON as opposed to the “Simple” setting, the post data arrives as expected, however, Post Kinds is defaulting the post to be a note instead of a checkin as I would expect. (In general, I would think that all posts arriving from OYS would always default to be checkins despite the fact that they may have note-like content as well as photos.)

In the settings on my site, I’ve even got the “Default Kind for New Posts” set to checkin, as I use it often, yet the posts still show up as a note.

Ideas about what may be missing or going wrong?

As a small caveat, I’ll note that this install is running Post Kinds Version 3.0.6, but I suspect that nothing has changed since about June that might fix or affect this issue.

Looks like I’ve finally got IndieAuth and my headers working with OwnYourSwarm properly and have checkin data being PESOSed from Swarm/FourSquare to my website now. Hooray!

I still have a few minor tweaks to get things working properly with Post Kinds to display everything correctly, but I feel like I’m almost there. Next we’ll have to delve back to May sometime when my system between IndieAuth and OwnYourCheckin fell apart.

Still have my fingers half-crossed that I don’t botch anything up…

❤️ My kind of post | Glenn Dixon

Liked My kind of post by Glenn DixonGlenn Dixon (glenn.thedixons.net)
I ran across this article when searching to see if the ‘post kinds’ plugin for WordPress allowed for a way to view posts by kind. And it does! While I was there, this post from Chris Aldrich kinda opened my eyes to the many cool things you can do with this. !

Glad you seem to have gotten it all working Glenn!

Creating a tag cloud directory for the Post Kinds Plugin on WordPress

Yesterday after discovering it on Xavier Roy’s site I was reminded that the Post Kinds Plugin is built on a custom taxonomy and, as a result, has the ability to output its taxonomy in typical WordPress Tag Cloud widget. I had previously been maintaining/displaying a separate category structure for Kinds, which I always thought was a bit much in my category area. While it’s personally nice to have the metadata, I didn’t like how it made the categories so overwhelming and somehow disjointed.

For others who haven’t realized the functionality is hiding in the Post Kinds Plugin, here are some quick instructions for enabling the tag cloud widget:

  1. In the administrative UI, go to Appearance » Widgets in the menu structure.
  2. Drag the “Tag Cloud” widget to one of your available sidebars, footers, headers or available widget areas.
  3. Give the widget a title. I chose “Post Kinds”.
  4. Under the “Taxonomy” heading choose Kinds.
  5. If you want to show tag counts for your kinds, then select the checkbox.
  6. If necessary, select visibility if you want to create conditions for which pages, posts, etc. where the widget will appear.
  7. Finally click save.

You’ll end up with something in your widget area that looks something like this (depending on which Kinds you have enabled and which options you chose):

The tag cloud for the Post Kinds plugin data

If you’re interested in changing or modifying the output or display of your tag cloud, you can do so with the documentation for the Function Reference wp tag cloud in the WordPress Codex.

Reply to Photo Kind not Displaying Information from Response Properties Box

Replied to Photo Kind not Displaying Information from Response Properties Box · Issue #184 · dshanske/indieweb-post-kinds (GitHub)
I am adding in information associated with author and source, however this is not being displayed when published.

@mrkrndvs This is because the photo template doesn’t call these particular details even though they may be provided. I could see an occasional use for including them, particularly to give credit to a photo that was taken by someone else, while in practice most may not use this because they’re posting their own photos.

In the meanwhile, it may not be too tough to cut/paste bits of appropriate code from other templates to get these to display the way you want them when they exist. You can create a custom photo template named kind-photo.php and put it in a folder entitled kind_views in either your theme or (preferably) in your child theme so it isn’t overwritten on plugin update.

I do still wish there were a master template in the set (heavily commented and unused) that used every variation of data that could be displayed (or perhaps even calculated for display) so that non-programmers could attempt to more easily cut/paste templates to get them to do what they wanted.

📑 Gutenberg support · Issue #190 · dshanske/indieweb-post-kinds

Annotated Gutenberg support · Issue #190 · dshanske/indieweb-post-kinds by David Shanske (GitHub)
Post Kinds consists of a few elements
  • A URL parser that takes an input URL and tries to extract it into structured data
  • Enhancements to the Post Editor to add additional structured data to the post object
  • A Taxonomy that takes that structured data and classifies it and dictates behavior
  • A rendering piece that takes the structured data stored in post meta and displays it using templates that can be overridden in the theme by including them in a subdirectory called kind_views

This is a great short description from a WordPress developer perspective of what the Post Kinds Plugin does

📑 Highlight of “Interviewing my digital domains”

Highlighted Chris Aldrich response to “Interviewing my digital domains” by wiobyrne (Digital Breadcrumbs)
Chris Aldrich used Hypothesis to annotate my post on Interviewing my digital domains.

Testing out the ability to more easily highlight content on the web and display it on my website using the Post Kinds Plugin. Typically a highlight wouldn’t include a textual note (like this), otherwise it would be considered marginalia or a general annotation. Perhaps I’ll get around to adding an annotation type shortly as well.

I’ve got an archive list of highlights now as well as a highlight feed.

👓 Icon request: icon-highlighter (icon-marker) · Issue #2095 · FortAwesome/Font-Awesome | GitHub

Read Icon request: icon-highlighter (icon-marker) · Issue #2095 · FortAwesome/Font-Awesome (GitHub)
A representation of a highlighter, similar to the pencil. I would use this in my Whiteboard app. Could also be named "icon-marker"

There is nothing more awesome than looking for a piece of functionality you want in a product and finding that it has literally been built and released within the last day! Font Awesome FTW!

I may have to follow up on my threat to build a particular Post Kind for highlights on my website.

A link to the newly released icon.

highlighter

Some thoughts on highlights and marginalia with examples

Earlier today I created a read post with some highlights and marginalia related to a post by Ian O’Bryne. In addition to posting it and the data for my own purposes, I’m also did it as a manual test of sorts, particularly since it seemed apropos in reply to Ian’s particular post. I thought I’d take a stab at continuing to refine my work at owning and controlling my own highlights, notes, and annotations on the web. I suspect that being able to better support this will also help to bring more self-publishing and its benefits to the halls of academe.

At present I’m relying on a PESOS solution to post on another site and syndicate a copy back to my own site. I’ve used Hypothesis, in large part for their fantastic UI and as well for the data transfer portion (via RSS and even API options), to own the highlights and marginalia I’ve made on the original on Ian’s site. Since he’s syndicated a copy of his original to Medium.com, I suppose I could syndicate copies of my data there as well, but I’m saving myself the additional manual pain for the moment.

Rather than send a dozen+ webmentions to Ian, I’ve bundling everything up in one post. He’ll receive it and it would default to display as a read post though I suspect he may switch it to a reply post for display on his own site. For his own use case, as inferred from his discussion about self-publishing and peer-review within the academy, it might be more useful for him to have received the dozen webmentions. I’m half tempted to have done all the annotations as stand alone posts (much the way they were done within Hypothesis as I read) and use some sort of custom microformats mark up for the highlights and annotations (something along the lines of u-highlight-of and u-annotation-of). At present however, I’ve got some UI concerns about doing so.

One problem is that, on my site, I’d be adding 14 different individual posts, which are all related to one particular piece of external content. Some would be standard replies while others would be highlights and the remainder annotations. Unless there’s some particular reason to do so, compiling them into one post on my site seems to be the most logical thing to do from my perspective and that of my potential readers. I’ll note that I would distinguish annotations as being similar to comments/replies, but semantically they’re meant more for my sake than for the receiving site’s sake. It might be beneficial for the receiving site to accept and display them (preferably in-line) though I could see sites defaulting to considering them vanilla mentions as a fallback.  Perhaps there’s a better way of marking everything up so that my site can bundle the related details into a single post, but still allow the receiving site to log the 14 different reactions and display them appropriately? One needs to not only think about how one’s own site looks, but potentially how others might like to receive the data to display it appropriately on their sites if they’d like as well. As an example, I hope Ian edits out my annotations of his typos if he chooses to display my read post as a comment.

One might take some clues from Hypothesis which has multiple views for their highlights and marginalia. They have a standalone view for each individual highlight/annotation with its own tag structure. They’ve also got views that target highlights/annotation in situ. While looking at an original document, one can easily scroll up and down through the entire page’s highlights and annotations. One piece of functionality I do wish they would make easier is to filter out a view of just my annotations on the particular page (and give it a URL), or provide an easier way to conglomerate just my annotations. To accomplish a bit of this I’ll typically create a custom tag for a particular page so that I can use Hypothesis’ search functionality to display them all on one page with a single URL. Sadly this isn’t perfect because it could be gamed from the outside–something which might be done in a classroom setting using open annotations rather than having a particular group for annotating. I’ll also note in passing that Hypothesis provides RSS and Atom feeds in a variety of ways so that one could quickly utilize services like IFTTT.com or Zapier to save all of their personal highlights and annotations to their website. I suspect I’ll get around to documenting this in the near future for those interested in the specifics.

Another reservation is that there currently isn’t yet a simple or standard way of marking up highlights or marginalia, much less displaying them specifically within the WordPress ecosystem. As I don’t believe Ian’s site is currently as fragmentions friendly as mine, I’m using links on the date/time stamp for each highlight/annotation which uses Hypothesis’ internal functionality to open a copy of the annotated page and automatically scroll down to the fragment as mentioned before. I could potentially see people choosing to either facepile highlights and/or marginalia, wanting to display them in-line within their text, or possibly display them as standalone comments in their comments section. I could also see people wanting to be able to choose between these options based on the particular portions or potentially senders. Some of my own notes are really set up as replies, but the CSS I’m using physically adds the word “Annotation”–I’ll have to remedy this in a future version.

The other benefit of these date/time stamped Hypothesis links is that I can mark them up with the microformat u-syndication class for the future as well. Perhaps someone might implement backfeed of comments until and unless Hypothesis implements webmentions? For fun, some of my annotations on Hypothesis also have links back to my copy as well. In any case, there are links on both copies pointing at each other, so one can switch from one to the other.

I could imagine a world in which it would be nice if I could use a service like Hypothesis as a micropub client and compose my highlights/marginalia there and micropub it to my own site, which then in turn sends webmentions to the marked up site. This could be a potential godsend to researchers/academics using Hypothesis to aggregate their research into their own personal online (potentially open) notebooks. In addition to adding bookmark functionality, I could see some of these be killer features in the Omnibear browser extension, Quill, or similar micropub clients.

I could also see a use-case for adding highlight and annotation kinds to the Post Kinds plugin for accomplishing some of this. In particular it would be nice to have a quick and easy user interface for creating these types of content (especially via bookmarklet), though again this path also relies on doing individual posts instead of a single post or potentially a collection of posts. A side benefit would be in having individual tags for each highlight or marginal note, which is something Hypothesis provides. Of course let’s not forget the quote post kind already exists, though I’ll have to think through the implications of that versus a slightly different semantic version of the two, at least in the ways I would potentially use them. I’ll note that some blogs (Colin Walker and Eddie Hinkle come to mind) have a front page that display today’s posts (or the n-most recent); perhaps I could leverage this to create a collection post of highlights and marginalia (keyed off of the original URL) to make collection posts that fit into my various streams of content. I’m also aware of a series plugin that David Shanske is using which aggregates content like this, though I’m not quite sure this is the right solution for the problem.

Eventually with some additional manual experimentation and though in doing this, I’ll get around to adding some pieces and additional functionality to the site. I’m still also interested in adding in some of the receipt/display functionalities I’ve seen from Kartik Prabhu which are also related to some of this discussion.

Is anyone else contemplating this sort of use case? I’m curious what your thoughts are. What other UI examples exist in the space? How would you like these kinds of reactions to look on your site?

Reply to Serena about Wishes for the Post Kind Plugin

Replied to a post by SerenaSerena (Serena Who?)

@c I was thinking of writing a “wish” blog post, and saw from the indieweb wiki that you’ve done it on your blog using the post kind WP plugin.
Could you walk me through how you did that?

I should probably add, do you manually add the pictures of the items on your wish post, or did the plugin do it for you?

@vishae Wishes are already built into the core version of Post Kinds, so it shouldn’t take much work, but you’ll need to make a few changes. I’ve written before about the generalization of how to do this. You’ll need to dip into the code here to change the show value from false to true. (Hint: on your admin dashboard visit: /wp-admin/plugin-editor.php?file=indieweb-post-kinds%2Fincludes%2Fclass-kind-taxonomy.php&plugin=indieweb-post-kinds%2Findieweb-post-kinds.php). Then save the file. There’s already a reasonable template built into the plugin, so you shouldn’t need to make your own.

The plugin will generally import a “featured image” if one is available on the page you’re bookmarking, but it doesn’t yet have functionality for showing it yet. I often I add one manually myself by cutting and pasting the URL for the photo the plugin returns and put it into the External URL featured image plugin. (Eventually when Post Kinds handles featured images, I should be able to turn the plugin off so it doesn’t duplicate the data.)

Visually indicating post types on blogs and microblogs

It’s been a while since I’ve actively read Om Malik‘s blog, but I noticed that he’s using graphical indicators that add some semantic detail about what each post is. It’s a design element I’ve only seen lately out of the IndieWeb community with plugins like the Post Kinds Plugin for WordPress or done manually with emoji in post titles the way Aaron Davis has done relatively religiously, particularly on his “Collect” site.

Om Malik is using some graphical indicators to give quick additional semantic meaning to what he’s posting.

I highly suspect that he’s using the Post Formats functionality from WordPress core to do some of this using a custom theme. Sadly it’s generally fallen out of fashion and one doesn’t see it very often any more. I suspect that it’s because WordPress didn’t take the functionality to its logical conclusion in the same way that the Post Kinds Plugin does.

The way Aaron Davis uses emoji in his posts helps to provide additional context about what is being written about to indicate what is going on in a link before it’s clicked.

I think some of my first experience with its resurgence was as helpful UI I saw suggested by Tantek Çelik on the Read page of the IndieWeb wiki. I’ve been doing it a lot myself, primarily for posts that I syndicate out to micro.blog, where it’s become a discovery function using so-called tagmoji (see books, for example), or Twitter (reads, bookmarks, watches, listens, likes). In those places, they particularly allow me to add a lot more semantic meaning to short notes/microblog posts than others do.

I do wish that having emoji for read posts was more common in Twitter to indicate that people actually bothered to read those articles they’re sharing to Twitter, the extra context would be incredibly useful. I generally suspect that article links people are sharing have more of a bookmark sentiment based on their click-bait headlines. Perhaps this is why I like Reading.am so much for finding content — it’s material people have actually bothered to read before they shared it out. Twitter adding some additional semantic tidbits like these would make it much more valuable in my mind.

It doesn’t appear that Om has taken this functionality that far himself though (at least on Twitter). Perhaps if WordPress made it easier to syndicate out content to Twitter with this sort of data attached it would help things take off?

Allowing arbitrary HTML in the Summary/Quote field in the Post Kinds Plugin

Now you can have richer reply contexts on your posts in WordPress

Reply contexts

One of my favorite parts of the Post Kinds plugin isn’t just that it provides me the flexibility to add a huge variety of post types to my website or the semantic HTML and microformats it provides to help my site dovetail into the IndieWeb. It’s that it allows me to quickly and easily provide very rich reply contexts to my posts so that I more easily know what I’ve bookmarked, liked, favorited, read, or replied to online. In some sense it helps guard against some of the problem of context collapse found in many social media sites on the internet. As my friend and foodie extraordinaire Jeremy Cherfas has said, “a reply without context is like an egg without salt.”

For a long time I had been wanting a bit more control of how the Post Kinds plugin presented some of the data it allows.1,2 After one inputs a URL, the plugin uses several methods to scrape the related web page and returns a lot of metadata about it including the title, a summary, the site name, tags, a featured image, publication date and time, the author and author’s website among others. The data returned depends on how the page is marked up and is generally based on available microformats or open graph protocol data when they’re provided.

The plugin has a setting to “Embed Sites into your Response” on its settings page, and this is generally okay, but it relies on sites to have some sort of oEmbed set up predefined. For bigger sites like YouTube and WordPress, this is generally alright, but it’s not always the case that any data is provided by the external site. Even in YouTube’s case you’ll only display the video with no other meta-data about it. As a result I leave it turned off.

Let’s take a quick look at what some of these default outputs for the reply context with a short comment underneath them look like.

This is the default  Post Kinds output for an automatically parsed YouTube video with the embed function off. While it’s a good start, it’s not necessarily inspiring or a good reminder of the content you watched. One could manually change or add some of the fields for additional data, but we would still be a bit limited.
This is what Post Kinds outputs for an automatically parsed YouTube video with the embed function turned on. It’s nice to have an embedded copy of the video, but where did it come from? What is it about? Why should we care? Is there any other metadata we can display?

With the embed option turned off the plugin will return a “Summary” of the parsed website page. This too is generally well supported in 90% of websites in my experience. But the data it returns is (smartly) filtered using wp_kses for security so that a malicious page couldn’t inject random html or code into your page. This means that useful functionality is often being stripped out of the “Summary/Quote” field in the reply context. I’d prefer to have the ability to have text with links, video, and audio to appear in-line in these contexts so that there’s a better representation of the actual post I’m reacting to.

The question then, is how can I make this happen?

In older versions of the plugin there was a setting for this feature, but it wasn’t well documented and most people didn’t know what the setting was or what it meant. For simpler UI and support it was ultimately stripped out although the raw code for it was left in. In fact, it’s literally the first short block of code within the plugin’s main code! It looks like this:

if ( ! defined( 'POST_KINDS_KSES' ) ) {
	define( 'POST_KINDS_KSES', false );
}

To enable the ability to manually add arbitrary html, links, audio, video, etc. you can go to your main administrative user interface in WordPress and go to Plugins >> Edit and then choose the Post Kinds option in the drop down selector in the top right hand corner and click select. Search for the code listed above (it should be right at the top, underneath the title and details for the plugin) and change the single word false to true. Next scroll down the page and click the Update File button.

Now you should be able to manually change any of the fields within the Response Properties metabox and they’d display in full HTML as you’d expect them to. (Caveat: because you’ve disabled a small layer of security, you should keep a close eye on what data appears in your “Summary/Quote” field and make sure you’re not allowing your site or your readers to be led astray or hacked. In my case, I’m almost always modifying it by hand, so it’s not a big issue. Your mileage may vary depending on what you’re posting.)

This is what Post Kinds outputs for a parsed YouTube video with the embed function off. We’ve gone in and manually tweaked the author name, URL, and photo and added manual HTML to render a sysnopsis with links and an in-line playable  iframed embed of the video. This is a much richer reply context! It doesn’t get much better than this. Thanks Post Kinds!!

Updates

But wait… What happens when I update the plugin? Won’t the update overwrite the change? Yes, you’re absolutely correct. You’ll have to remember to go back and make this change any time the plugin updates. To prevent this, you could instead modify your wp-config.php file in the root folder of your WordPress install. To do this add the following lines of code to the bottom of this file:

/** Sets up initial variable for the Post Kinds plugin to not filter the Summary/Quote field  */
if ( ! defined( 'POST_KINDS_KSES' ) ) 
	define(' POST_KIND_KSES', true );

Next save the file and upload it to your WordPress install. Now you should be all set.

References

1.
Aldrich C. Post Kinds Plugin for WordPress. BoffoSocko. https://boffosocko.com/2017/08/11/post-kinds-plugin-for-wordpress/. Published August 11, 2017. Accessed June 9, 2018.
2.
Aldrich C. Manually adding a new post kind to the Post Kinds Plugin for WordPress. BoffoSocko. https://boffosocko.com/2018/06/06/manually-adding-a-new-post-kind-to-the-post-kinds-plugin-for-wordpress/. Published June 7, 2018. Accessed June 9, 2018.