The Data Transfer Project was launched in 2018 to create an open-source, service-to-service data portability platform so that all individuals across the web could easily move their data between online service providers whenever they want.
https://datatransferproject.dev/
Keyring 2.0 and Keyring Social Importers 2.0
Yesterday I released new versions of both Keyring and the Keyring Social Importers packages, containing a bunch of updates and new additions. If you’re already using them, you should have update notices in wp-admin. If you’re not yet, then download them at the links above, or search for “keyring” in wp-admin under Plugins > Add New.
What’s changed? It’s been a while since the last official release of Keyring, so there’s a bunch to catch up on:
- All Google services have been modified to use a shared base service (cuts down on code duplication significantly).
- Added a Pocket Service (props @roccotripaldi).
- Keyring is now available for use with Composer, via Packagist.
- Lots of bugfixes, including token refreshing should now work properly.
The Social Importers haven’t seen an official release since 2017, so there’s a ton going on there as well:
- Added a Strava importer (props @mdrovdhal) and introduced a bunch of improvements via iteration (props @marekhrabe). Having another service with map-based data makes me want to add some core to make it easier to map things visually.
- Introduced a global option (for all importers) that allows you to set posts to published, draft, private, or pending when importing them. A lot of people were asking for/hacking this in, so I figured I’d just add it to the core package. Being able to import as draft and then selectively publish, or import an entire service to “private” posts is a nice addition.
- Lots of improvements and bugfixes to both Twitter (some props @chrishardie) and Swarm/Foursquare.
- Added a Pocket importer, again props @roccotripaldi. It works similarly to the Instapaper one, so if you’re using Pocket instead, check it out.
If you’d like to keep an eye on things more closely, or even contribute, check out Keyring, and the Keyring Social Importers on GitHub. It’s been really awesome to see some more contributions to both packages coming in, so I’d love to see more of that.
Download Keyring and the Keyring Social Importers plugins for WordPress.
Recent Social Importer Updates
I’ve been trying to make small improvements to the Keyring Social Importers package (and People & Places) that I maintain, and have made a number of them over the last few weeks. Here are some details of recent updates which you may have missed:
- Improved the labels being used for each taxonomy, so that you don’t get random mentions of “tags” in the WordPress UI.
- Improved the
add_place_to_post()
method so that you can add multiple Places to a single Post. - Now exposing both the
people
andplaces
taxonomies via the REST API.
- Added a filter so that you can easily (and globally) disable downloading of full content for Instapaper articles.
- Made it easy to inject custom CSS for a specific importer.
- Added a Nest Camera service and importer. Including recent updates, it will download a snapshot from the specified camera(s) during the hour indicated, auto-tag it using the location of the camera, and also associate it with a Place if People & Places is co-installed.
- The Instagram importer now handles video posts properly, and will download the full video and embed it into your posts. Bundled a reprocessor to fix old posts, which would have previously been handled as image posts.
- Also made the Instagram importer link up People mentioned in captions (not just those who are properly tagged as being in a post).
- Fixed a bug in the Twitter importer which was mangling newlines. Added a reprocessor to fix it in old posts as well.
- Now exposing where a post was imported from in the REST API.
- Added Places support to the TripIt importer, which associates each post with Places for each airport flown through on that trip.
Keyring Social Importers has been updated in the WordPress.org plugin directory (version 1.7, or get it from Github) and you can get the latest version of People & Places from Github (still not an “official” plugin yet).
You can see most of them in action on my site, Dented Reality, which uses them to aggregate most of my online social activity. The People & Places data is not directly exposed yet, but you can see it in the REST API output.
Bootstrap Material
Material Design for Bootstrap is a theme for Bootstrap 3 which let you use the new Google Material Design in your favourite front-end framework.
Keyring v1.5 & Social Importers v1.4
Yesterday, I released version 1.5 of Keyring, and version 1.4 of the Keyring Social Importers bundle for WordPress. This update moves the Social Importers away from using a postmeta value (keyring_service) and introduces a new taxonomy that keeps track of where posts were imported from. It’s optimized towards management within wp-admin, but you can also use it for front-end queries of your posts. The update for Keyring introduces a new service file for Moves, and fixes a bug in the OAuth2 base service.
The new taxonomy for the Importers is called keyring_services on the backend, and is labeled “Imported From” in the admin UI. It will auto-create itself based on all of the importers installed. You’ll see it within wp-admin under the Posts menu, and will be listed on the “All Posts” listing as well:
Clicking the name of a service under the “Imported From” heading will filter the posts list by that service (e.g. Twitter). The main reason that the taxonomy is exposed through the admin UI is so that you can tweak the slugs if you’d like to. I noticed that on my install, I’d already used things like ‘twitter’ and ‘foursquare’ as tags, and so they had claimed the namespace for that slug. WordPress’ shared terms are annoying like that :). So, if you’d like to use the slugs of source services in URLs, you might want to rename them:
- Go to Posts → Tags
- Search for and rename the slug for each of the services (e.g ‘twitter’, ‘foursquare’, ‘flickr’). Name the slugs something like ‘twitter-3’
- Go to Posts → Imported From and rename the slugs for each service to the “clean” version (without a ‘-2’).
- Optionally go back to Posts → Tags and rename those tags again back to the -2 versions.
As part of this change, you’ll want to update any previous posts that you imported to using the new taxonomy. I’ve included a quick and dirty script to do this. It’s called migrate-keyring-postmeta-to-taxonomy.php and can be found in the root of the plugin. To use it, you need to move it to the root of your WordPress install, and then you can just access it through your browser. It’s likely that it’ll run out of memory or time out, but it’s written in a way that you can just run it over and over again until it finishes cleanly. On my server, once it was finished and produced no output, Chrome decided to display a “friendly” error message instead of anything useful. Once that’s done, your existing posts should all be converted over to using the new taxonomy, and there should be no more postmeta entries for keyring_service.
If you’re doing a clean import, I recommend doing it without auto-import enabled, and then once you’ve fully imported everything, enable auto-import and let it run from there.
typeahead.js
Inspired by twitter.com’s autocomplete search functionality, typeahead.js is a fast and fully-featured autocomplete library.
metro-bootstrap
Simple bootstrap from Twitter with Microsoft’s Metro style.
SharedCount: Social URL Analytics
SharedCount: Social URL Analytics
API (and details) on the number of times a URL is shared on Facebook, Twitter, Reddit, LinkedIn, Digg, Delicious, StumbleUpon, Pinterest and Google +1.
Jetpack 2.0, Packed With Magic
Last night, I preemptively tweeted about the upcoming release of Jetpack 2.0:
I can't wait for the very-near release of @jetpack 2.0. It is loaded with awesomeness and magic.
— Beau (@beaulebens) November 7, 2012