This is an automatically-generated summary of the IndieWebCamp wiki edits from February 13-20, 2015
Created by David.shanske.com on February 15
In order to ensure interoperability between Indieweb WordPress plugins, as much as possible, the same data structures should be used.
Contents |
A taxonomy called 'kind' is currently used for the Post Kinds Plugin. This is meant to indicate the post kind
Current post kinds are all lowercase. List appears below:
Many can be disabled by sites not using them
Considering the following additions:
WordPress allows for for metadata to be attached to various objects.
By default, WordPress includes a metadata table for post types(posts, pages, etc), comments, and users.
WordPress contains a Metadata API that it uses to handle metadata. Metadata can also be created for other object types, but is not part of a default installation.
Proposal by Ryan Barrett: store a post's top-level microformats2 string properties in post metadata with the property names as the keys, prefixed by mf2_
. wordpress-micropub does this now.
For example, this RSVP snippet:
<data class="p-rsvp" value="yes">I'm in!</data>
would be stored in post meta with the key mf2_rsvp
and value yes
.
For mf2 properties with multiple values, just store multiple values for the post meta key. WordPress supports this with e.g. add_post_meta
.
Use code like this to get multiple post meta values in a single database query:
$query = new WP_Query(array('meta_query' => array(array( 'key' => 'meta_key', 'value' => array('mf2_name', 'mf2_content', ...), 'compare' => 'IN'))));
Tantek Çelik minor revision of Ryan Barrett's proposal - same but use "uf2" instead of "mf2" because the "u" looks closer to a µ for "micro":
Store a post's top-level microformats2 string properties in post metadata with the property names as the keys, prefixed by uf2_
. For example, this RSVP snippet:
<data class="p-rsvp" value="yes">I'm in!</data>
would be stored in post meta with the key uf2_rsvp
and value yes
.
For uf2 properties with multiple values, just store multiple values for the post meta key. WordPress supports this with e.g. add_post_meta
.
Use code like this to get multiple post meta values in a single database query:
$query = new WP_Query(array('meta_query' => array(array( 'key' => 'meta_key', 'value' => array('uf2_name', 'uf2_content', ...), 'compare' => 'IN'))));
Per Ryan Barrett's follow-up in IRC:
WordPress currently provides a Geodata data structure.
(float) decimal degrees -90 to 90 (negative values are in the southern hemisphere).
(float) decimal degrees -180 to 180 (negative values are in the western hemisphere).
(int) is the geodata public (1) or private (0)? If value is missing, assume public.
(string) freeform textual description of coordinates. "221B Baker St, Westminster, London NW1 6XE, UK", "Pasadena, CA", "Soho, NYC", "Idaho", etc. Accuracy level and language is arbitrary.
(string) freeform textual name of location
Not part of WordPress standard - proposed by David Shanske for compatibility with microformats
Webmention Plugin adds an additional comment type of 'webmention' to comments.
Semantic Linkbacks stores extra information in the comment metadata.
The Post Kinds Plugin uses the following array of metadata using the key 'response' to store details on what a post is responding to. All fields are optional.
David Shanske's Syndication Links plugin uses a single data field with the key 'syndication_urls' with URLs separated by newlines for syndication URLs to be marked up for syndication. Entry is a textbox with one URL per line. This means there is no requirement that WordPress know about a service to add a link to it.
The plugin formerly stored an array of URLs of various syndication services under the metadata key 'synlinks'. This is now deprecated.
Created by Tantek.com on February 16
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
Specifications are technical documentation of how to support key building blocks for the indieweb, in particular, to achieve various levels and axes of IndieMark feature functionality with formats, protocols, and algorithms for consuming, sending, and receiving.
Contents |
The following specifications are developed here in the IndieWebCamp community.
Widely implemented:
Being implemented / in development:
Per IndieWebCamp principles, the following microformats specifications are (re-)used heavily as essential simple building block extensions to HTML:
There are other specifications that even though various IndieWeb implementations / sites may support, they're not necessary for web independence, and thus omitted here.
To keep things especially simpler for authors and publishers, the indieweb does not depend on any specifications which require the author to duplicate (e.g. DRY violate) their content on additional URLs (e.g. sidefile-antipattern).
Created by Tantek.com on February 16
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
legacy contact is the ability to designate someone else who is given permission to manage your profile / site when you die.
Contents |
Facebook supports specifying a legacy contact since 2015-02-12 for US users.
Related *Camp sessions:
Created by Tantek.com on February 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
ownyourresponses is a project to enable PESOS as a service for likes, replies, reposts, and event RSVPs from silos to your own indieweb site.
Created by Loqi.me on February 18
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
A passive post is a post that is created without the person taking an explicit action to create the post, such as listening to music or watching a movie.
Created by Loqi.me on February 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
Glitch is a now-defunct game created by the founders of Slack.
Created by Tantek.com on February 20
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
Plumbing in the context of the IndieWeb, refers to all the underlying code, backend setup, protocols, formats that is all merely there to support the design and user experience of a site, the actual user visible and interactive parts.
Contents |
One of the key IndieWeb principles is "UX and design is more important than protocols."
Yet programmers love to talk about plumbing, in the same way that construction workers do — it's their area of expertise, hobby, and fun to talk about.
However, when you're building your own site, you realize you just want the most minimal plumbing that is reliable and will do what is necessary for the design and user experience of your site.
Thus any discussion of plumbing should always be framed as a means to an ends of good UX/design.
Discussing plumbing for plumbing's sake tends to be a distraction from actually building and creating a functional site that you want to use day to day.
Just as you would never live in a house with exposed plumbing like this, it's considered bad design if your site makes its plumbing obvious to the user, e.g. long seemingly random numbers in URLs (as opposed to good URL design), use of acronyms and jargon in your site description, and worst of all, when code or cryptic error messages show through and make your site look ugly.
Caption: What happens to most sites' RSS feed(s).
Whenever you build DRY violating duplicate plumbing into a site, e.g. feed files, more often than not, such plumbing ends up getting hastily patched, ignored, neglected, and eventually non-functional, because it's not what people primarily pay attention to, which is the visible site instead.
Created by Gregorlove.com on February 16
Contents |
:
• - – Homebrew Website Club broadcast & peer-to-peer meetup & beforehand:
• optional 17:30-18:30 – quiet writing hour for the venues that explicitly have it.
All times are Pacific Time unless otherwise noted in venues.
TBD
TBD
new! 17:30-18:30 Quiet writing hour before the meetup. Come on by to blog or do other writing quietly.
Homebrew Website Club Meetup: Are you building your own website? Indie reader? Personal publishing web app? Or some other digital magic-cloud proxy? If so, come on by and join a gathering of people with likeminded interests. Bring your friends that want to start a personal web site. Exchange information, swap ideas, talk shop, help work on a project...
See the Homebrew Website Club Newsletter Volume 1 Issue 1 for a description of the first meeting.
San Francisco:
Portland:
Chicago:
Optional RSVP - just show up! You're encouraged to RSVP by any or all of:
Or just show up and say hi! We're a friendly bunch. You may also RSVP after attending.
San Francisco:
Portland:
Chicago:
San Francisco
Portland
Chicago
Blog posts before the meeting:
Homebrew Website Club | |
---|---|
2015 | 03-25 • 03-11 • 02-25 • 02-11 • 02-07-ko • 01-28 • 01-14 |
2014 | 12-17 • 12-03 • 11-19 • 11-05 • 10-22 • 10-08 • 09-24 • 09-10 • 08-27 • 08-13 • 07-30 • 07-16 • 07-02 • 06-18 • 06-04 • 05-21 • 05-07 • 04-23 • 04-09 • 03-26 • 03-19 • 03-12 • 02-26 • 02-12 • 01-29 • 01-15 |
2013 | 12-18 • 12-04 • 11-20 |
Created by Kevinmarks.com on February 14
Contents |
A reader describes a common user experience model of a feed of updates compiled from multiple sources. In order to construct this, there are various components needed. This is an attempt to delimit them and point to existing components where possible.
A Feed is normally a list of entries, ordered by time. Presentation of them often has 2 or 3 levels of detail. For articles this would correspond to name, summary and content. For notes, the name, summary and content may be the same, or expansion may show a photo.
Extracting useful name/summary/content info may make sense as standalone service- silo equivalents are twitter cards and facebook previews. For content already marked with h-entry this is a straightforward process; for legacy or silo content heuristics may be needed to remap existing markup.
Separating out entries and re-ordering them based on time (or other criteria) is also important. Deciding which entries to display is a complex and contested problem in silos, and one that may make sense as a service
It is often useful for the user to know if this is an entry they have already read. Storing this state is necessary for this to be implemented. There are many presentations possible from hiding read, to unbolding or showing a read-up-to cursor, but the underlying data is equivalent.
Being able to like, repost or reply to an entry is a valuable user feature. displaying this state to the user is also useful, and in a distributed system like indieweb potentially complex to rediscover.
Knowing when new entries are available is also useful. This may imply polling or notification. In either case doing this on a persistent endpoint (server) rather than client-side is probably better. This can also be a useful caching point, to reduce the thundering herd problem.
Created by Kevinmarks.com on February 14
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
node-feedparser is a feed parser written in node.js. It supports RSS and Atom feeds, but sadly not h-feed yet.
Created by Gregorlove.com on February 16
Contents |
:
• - – Homebrew Website Club broadcast & peer-to-peer meetup & beforehand:
• optional 17:30-18:30 – quiet writing hour for the venues that explicitly have it.
All times are Pacific Time unless otherwise noted in venues.
TBD
TBD
new! 17:30-18:30 Quiet writing hour before the meetup. Come on by to blog or do other writing quietly.
Homebrew Website Club Meetup: Are you building your own website? Indie reader? Personal publishing web app? Or some other digital magic-cloud proxy? If so, come on by and join a gathering of people with likeminded interests. Bring your friends that want to start a personal web site. Exchange information, swap ideas, talk shop, help work on a project...
See the Homebrew Website Club Newsletter Volume 1 Issue 1 for a description of the first meeting.
San Francisco:
Portland:
Chicago:
Optional RSVP - just show up! You're encouraged to RSVP by any or all of:
Or just show up and say hi! We're a friendly bunch. You may also RSVP after attending.
San Francisco:
Portland:
Chicago:
San Francisco
Portland
Chicago
Blog posts before the meeting:
Homebrew Website Club | |
---|---|
2015 | 03-25 • 03-11 • 02-25 • 02-11 • 02-07-ko • 01-28 • 01-14 |
2014 | 12-17 • 12-03 • 11-19 • 11-05 • 10-22 • 10-08 • 09-24 • 09-10 • 08-27 • 08-13 • 07-30 • 07-16 • 07-02 • 06-18 • 06-04 • 05-21 • 05-07 • 04-23 • 04-09 • 03-26 • 03-19 • 03-12 • 02-26 • 02-12 • 01-29 • 01-15 |
2013 | 12-18 • 12-04 • 11-20 |
Created by Gregorlove.com on February 16
Contents |
:
• - – Homebrew Website Club broadcast & peer-to-peer meetup & beforehand:
• optional 17:30-18:30 – quiet writing hour for the venues that explicitly have it.
All times are Pacific Time unless otherwise noted in venues.
TBD
TBD
new! 17:30-18:30 Quiet writing hour before the meetup. Come on by to blog or do other writing quietly.
Homebrew Website Club Meetup: Are you building your own website? Indie reader? Personal publishing web app? Or some other digital magic-cloud proxy? If so, come on by and join a gathering of people with likeminded interests. Bring your friends that want to start a personal web site. Exchange information, swap ideas, talk shop, help work on a project...
See the Homebrew Website Club Newsletter Volume 1 Issue 1 for a description of the first meeting.
San Francisco:
Portland:
Chicago:
Optional RSVP - just show up! You're encouraged to RSVP by any or all of:
Or just show up and say hi! We're a friendly bunch. You may also RSVP after attending.
San Francisco:
Portland:
Chicago:
San Francisco
Portland
Chicago
Blog posts before the meeting:
Homebrew Website Club | |
---|---|
2015 | 03-25 • 03-11 • 02-25 • 02-11 • 02-07-ko • 01-28 • 01-14 |
2014 | 12-17 • 12-03 • 11-19 • 11-05 • 10-22 • 10-08 • 09-24 • 09-10 • 08-27 • 08-13 • 07-30 • 07-16 • 07-02 • 06-18 • 06-04 • 05-21 • 05-07 • 04-23 • 04-09 • 03-26 • 03-19 • 03-12 • 02-26 • 02-12 • 01-29 • 01-15 |
2013 | 12-18 • 12-04 • 11-20 |
Created by Loqi.me on February 18
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
two more than one
Created by Loqi.me on February 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
ReactJS is a messy combination of JS and HTML to make front end development more fragile, form Facebook github link
Created by Loqi.me on February 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
Taylor Swift is the best infosec voice on Twitter. https://twitter.com/SwiftOnSecurity/
Created by Loqi.me on February 18
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
macports is like /homebrew, a software package installation manager for MacOS, that automatically installs (or updates) dependencies for whatever package you ask it to install or update.
Created by Loqi.me on February 18
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
frequency Kenneth is your benzedrine, uh huh
Created by Loqi.me on February 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
webalyzer is a web analytics tool that parses a server's access logs and generates HTML reports
Created by Kevinmarks.com on February 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
midnight is the arbitrary endpoint of a calendar day. This may not be a human interpretation of when the day ends. Swarm/Foursquare understands that people stay out after midnight. Exercise trackers often do not, so will break a walk that spans midnight into 2 days.
Created by Kevinmarks.com on February 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
$1 is $2
Created by Kylewm.com on February 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
Huffduffer, built by User:Adactio.com is a tool for creating podcasts out of audio files from around the web. It supports several indieweb-friendly technologies that