Known
Known is an open source publishing and community platform project. It aims to be a simple, beautiful way to share your story using a variety of media from any device. It adheres to the IndieWeb technologies and principles.
Why
Goals and Model
Known aims to be easy to install, use and customize. It adheres to IndieWeb technologies and principles.
Known is an open source project and a business. Known is transitioning from a private business entity to a business run as an open collective.
Known users are encouraged to donate and support the collective.
The shared hosting business accounts are scheduled to be wound down by summer 2019. Known provided
- A managed SaaS service. Not accepting new users.
- Enterprise licenses.
- Support subscriptions.
- Customizations.
For directions on migrating see Known Documentation.
Features
Bundled Features
Known is being developed with the rule that "indie" content - internal posts, likes, etc - are bundled as included plugins in the main source code repository.
- Posts (articles)
- Status updates (notes)
- Photos (images)
- Events (events)
- Checkins (places)
- Chickens (chickens)
- Chickens were demonstrated at the 2013 camp but have not been made available as a plugin.
Supported webmention annotations include:
Known also has a Webfinger endpoint that plugins can extend.
Plugins and themes
Known has a full plugin architecture, making use of PHP lazy loading and the observer pattern. This makes it very easy to create new content types or behaviors.
If you want to POSSE to external sites, you need to install those plugins separately (although they may also be included in a downloadable distribution of the content).
List of Plugins
Some common plugins for Known can be found in the chart below. More are available at https://github.com/idno and the master list of community plugins can be found at Community Plugins.
IndieWeb Examples
People currently using Known as their primary site:
- Ben Werdmuller - werd.io
- Jesse Vincent - s.ly
- Rick Mendes - rmendes.net
- Andreas Petersell - petersell.com
- Jonathan LaCour - cleverdevil.io
- Jonas Voss - blog.voss.co
- Arne Govaerts - q4.re
People currently using Known as a secondary site or trying it out:
- Kevin Marks - known.kevinmarks.com
- Chris Aldrich - stream.boffosocko.com
- Absolon Kent - absolonkent.net
- Daniel Goldsmith - headcrash.ascraeus.org
- Jeremy Cherfas - stream.jeremycherfas.net
- It's Eric Woodward's Blog
- Camron Bickford Odat.xyz
- Taylor Jadin - stream.jadin.me
- Stephen Pieper - stephenpieper.social
- J. Gregory McVerry - quickthoughts.jgregorymcverry.com
- Johan Bové - social.johanbove.info
People currently using Known as a stream for a community
- Jon Pincus stream.tapestrymaker.net
- Chris Aldrich hosts an open community sandbox version at http://known.boffosocko.com.
Indieweb community members are welcome to create an account and test-drive/explore some of the functionality.
Previous Examples
Sites previously using Known as primary site:
- Tiara Miller - rootedfromnature.com
- Alex Kiss - garradkiss.tk
- Free Kurt - freekurt.com
- Andrew Jacobs - www.funwhilelost.com
- Andrew Marks - andrewmarks.media
- Clint Patterson - clintpatty.com
- Matthew Gregg - amblin.io
- Marcus Povey - mapkyca.com
- Erin Jo Richey
- Elliot Tucker - elliottucker.net - now using Pelican & Bootstrap
- Avery Miller - averymiller.org
- David Wiley - davidwiley.social
- Hugo Roy - ampoliros.net
- Tim Owens - timowens.io (Moved to Ghost, previously on WordPress, and Anchor.) 1
- Evgeny Kuznetsov - evgenykuznetsov.org - moved to Hugo
As of September 25, 2014, there were over 3,000 Known sites, spread between the Known service and self-hosted sites.
How to
Install
See http://docs.withknown.com/en/latest/install/
Hosts with one click installs
Sometimes it's easier to allow a host to install and maintain the codebase for one's CMS. The following hosts are known to have one click install capabilities for Known:
- Reclaim Hosting
- ...
Upgrade
To upgrade, copy the new Known installation files over the existing installation. Known's core files can be safely overwritten. It's always a good idea to perform a backup, both of the files and of the database before upgrading.
Setup Known on nginx
Elliot Tucker has posted a full how-to here https://elliottucker.net/setting-up-known-with-nginx-indieweb.html Note - the source code change is no longer required and you can now also use Known with MySql.
Kyle Mahan tried unsuccessfully to reproduce reported issues with callbacks from Twitter and Facebook. Here is the configuration that worked for me https://gist.github.com/kylewm/7d8cbc9a72984d67c646
Use MongoDB
Note: As of 2017-05-15, the version 0.9.9 release has deprecated support for MongoDB.[1]
Mongo is only used now if it's explicitly specified in the config.ini file, e.g.,
database = 'Mongo'
filesystem = 'local'
uploadpath = '/var/www/data/'
(of course replace /var/www/data with your chosen data directory)
- Note that Ben Werdmüller recommends MySQL over MongoDB these days[2]
Transition from WordPress
This article is a stub. You can help the IndieWeb wiki by expanding it.
David Mead is in the process of transitioning his personal site from WordPress to Known.
As Known works only on a domain or sub-domain at the moment, I had to create blog.davidjohnmead.com and install it to there. I didn't want to blow away my current WP blog until the Known site was running, connected to the silos and able to import my WP content. I also have content on davidmead.withknown.com to pull in as that's where I'd been playing around with Known.
Steps from WordPress
- Created sub-domain on Media Temple of http://blog.davidjohnmead.com
- Created new FTP user
- Downloaded zipped ‘Dunham’ version from http://withknown.com
- Unzipped and put it in sub-domain's HTML folder
- Browsed to domain and saw the start up page
- Needed db info. Went back in to MT and created new MySQL for Known to use
- Entered info but something was wrong (fat fingers or Chrome auto-fill) Had error on page. Back buttoning didn’t take me back to the form. Had to delete the config.ini and start again. Some better handling of this error would be great.
- Ended up editing the config.ini and FTP it up to the server. It works!
- Filled in profile, setting and site configuration
- Has nice step through on how & where to create the APIs to interact with the different social silos. A couple of the steps are a little out of synch, but I think that's more the silo's updating. Nothing you can't muddle through.
- Add rel="me" links from WP page to Known site for IndieAuth
- Go through social media and update the URL in my profiles with blog.davidjohnmead.com so IndieAuth and Brid.gy work.
Issues moving from WordPress
- Encountered various errors on pages for plugin's, posting, and editing entries. Most have these have been fixed by Ben Werdmüller updating GitHub and myself FTPing the files/folders to my server.
- Big issue around having curl errors after posting/editing certain content. See GitHub issue 629, issue 635, and issue 630. Looks like there may be progress but if you are on a shared server (like myself) editing the apache config to get around the basedir issue cannot be done.
Next steps to move from WordPress
- Find a URL shortener for creating permalinks. Used the Hum plugin in WP.
- Set up CRON to back up Known site to Dropbox etc.
Issues moving from hosted Known site
When Known was first released I started using it at [3], posting over 240 pieces there for about 2 months. The export hasn't worked in the settings, so Ben Werdmüller sent me the export. This is an entities.sql file and the folders associated with my posts.
- I copied the folders containing my posts to the 'Uploads' folder on my server. I now have 2 sub-folders there: blog.davidjohnmead & davidmead.withknown.com
- I can import the entities.sql file into my current hosted Known blog (after backing it all up) using phpMyAdmin. No problems there. All the old entries merged with the new, and I could see them in phpMyAdmin, but none of the entries display on blog.davidjohnmead.com.
Looking at the Issue 734 on the Known GitHub, it seems there are a lot more hoops to jump through including changing imported URL's etc. Not as easy as I first thought.
Import from Flickr
To import your Flickr photos, use this Known plugin:
How to use Quill
To setup a Known instance so that you can use Quill to publish to it (this has not been extensively tested by the indieweb users as of now, and it seems that the /micropub endpoint is not fully working) :
- You may have to install the indiepub plugin: https://github.com/idno/indiepub
- And then enable the micropub endpoint.
How to use with Mobile
For ideas on using Known for sharing on mobile see also Posting from mobile devices
How to use the API
See https://www.marcus-povey.co.uk/2015/05/28/using-the-known-api/ for a good API intro.
Idno/Pages/Admin/Users.php is the user administration endpoint, which translates to /admin/users as a URI endpoint.
Troubleshooting
Fix 404 Not Found on /begin
This usually means .htaccess is missing or more often, not allowed, based on the Apache configuration. If you manually visit /index.php/begin instead and see a landing page, it means that htaccess is not being allowed to rewrite URLs.
At least in recent versions of Ubuntu, Apache is configured by default with AllowOverride Off. To allow, create a new <Directory> configuration in /etc/apache2/apache2.conf for your Known install, with AllowOverride All, and restart Apache.
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
- Would a better sysadmin than me review this please! Kylewm.com
Using known without .htaccess
Because of the security and speed implications of allowing .htaccess usage alongside AllowOverride All the software can be installed without either by copying the relevant section to within the Directory stanza of the appropriate httpd configuration file in sites-enabled.
Plugins and Themes Missing
We're not sure what causes this yet, it should "just work". Some things to check:
- Check that your www-data user has read/execute permissions on the IdnoPlugins and Themes directories
- Try adding
path = /path/to/your/known/
in your config.ini - The Apache error log may give some hints, e.g.
/var/log/apache2/error.log
.
Update: This seems to have been fixed in version 0.6.3
The target page does not exist
If you send a webmention to a Known install that runs behind a TLS offloader, e.g. with a curl command like:
curl -i -d "source=http://tantek.com/2015/017/f1&target=https://michielbdejong.com/2015/joining-the-indie-web-my-motivation-cc-by-michiel-de-jong" https://michielbdejong.com/webmention/
and get an HTTP error like: HTTP/1.1 400 Bad Request with contents:
{"error":"target_not_found","error_text":"The target page does not exist."}
A workaround for this is documented in https://github.com/idno/idno/issues/724
Itches
Notifications
New content types
- Generic file uploads
- Self-contained HTML5 widgets (eg, games, or educational tutorials, or ebooks)
- Audio
- Video
- Reviews
Countering spam
Some users of Known have seen a high frequency of spam submitted through the comment forms, and there are few possible ways to address this
Akismet plugin
mapkyca has created an Akismet plugin (https://github.com/mapkyca/KnownAkismet) for Known which will filter out spam on a Known install. It works very well, but has a few downsides:
- There's no UI to admin the plugin in Known, and mark false positives or vice versa
- The plugin can sometimes filter out legit webmentions to your site as well
Disabling public comments plugin
Another method is to disable the system plugin "Public Comments" which is part of the standard installation of Known. This will effectively block spam coming through the form on each entry, while allowing webmentions to come through. The downside is that you limit who can have a conversations with you, unless you have also syndicated your content to other platforms, where it can be pulled in by brid.gy for example.
IndieFriends
Known is designed to be a multi-user system (although Ben and Erin are currently using it as single-user sites). The intention, therefore, is to implement a traditional asymmetrical social networking friends / following model - with an IndieWeb spin.
- Each user will have a following page, with h-cards marked up using XFN links to each followed user's profile.
- When User A starts following User B, an appropriate link is made on the following page. A webmention is sent with the source set to User A's following page, and the target set to User B's profile page.
- User B's system notifies User B, who can react accordingly.
- Ideally, this is then attached to a reader component. See below ...
In a future embodiment, each step in the webmention process could be signed on a per-user basis (I'm interested in HTTP signatures, with keys exchanged / assigned at the point of mention. This would allow content to be made privately available to individual users. Other methods of retrieving private web content should also be considered.
Reader
Because it's not enough to publish: a way to _consume_ IndieWeb content from a Known user's followed sites and users.
Common Webmentions
Bridgy publish will POSSE your content if you include a webmention to a service-specific URL (e.g. `https://brid.gy/publish/facebook`). It would be great to turn these into simple check-box options when you're publishing via Known. (I'm curious what the interface looks like when you've plugged in their paid solution "Convoy")
Criticism
HTTPS support
withknown.com doesn’t support https for browsing, during signup, or on anyone’s subdomain, meaning that authentication credentials and cookies can easily be intercepted on public wifi networks, as well as private content.
- The domain supports https for *.withknown.com domains. The next release of EFF HTTPSEverywhere will automatically redirect.
The hosted service now supports HTTPS by default for all *.withknown.com domains. Custom domains are... complicated... but work is ongoing. Self hosted services are unaffected, and can be HTTPS or not at the owner's discretion.
Articles
Articles written about Known, especially in the press / mainstream media (most recent first):
- 2016-02-09: c't: Daten aus einer Hand – Blog-System und Social-Media-Verteiler Known (German, dead-tree/paywall)
- 2014-09-24: WIRED Italia: Known, la piattaforma che conserva i tuoi post
- 2014-09-17: WIRED: Out in the Open: A Blogging Tool That Lets You Actually Own What You Post on Facebook
- 2014-09-11: GigaOm: IndieWeb advocates launch Known so bloggers can be social and still control their content
Videos
Videos about Known (most recent first)
- 2014-09-17: Matter Demo Day at The Paley Center for Media https://www.youtube.com/watch?v=uz7jJwsaydE
Collective
Known is an open source project and a business. Known is transitioning from a private business entity to a business run as an open collective.
Known users are encouraged to donate and support the collective.
History
Founding
Ben Werdmuller and Erin Jo Richey founded Known, Inc as a seed-funded startup incubated at Matter Ventures. It formally launched on September 11, 2014, and graduated from the Matter program.
Past Meetings
- 2020-05-06
- Etherpad: https://etherpad.indieweb.org/KnownOpenCollective (needs to be archived)
- 2019-08-04
- 2019-06-30 at IndieWeb Summit 2019
Releases
WithKnown was started as a company on May 11, 2014. Known's first beta v0.6 was released in September 10, 2014. Packages can be downloaded from withknown.com.
The official release channel is now on GitHub
Marcus Povey also maintains a site for current releases at [4]
Development
Known was released at withknown.com in September 2014. A paid fully-hosted version and a free self-hosted version was available. Guides are available for self-hosting on Arvixe and Reclaim.
Please note Reclaim Hosting stopped updating Known as of 0.9.2. The version is still available as a one button push in CPanel, but the instance must be manually updated using SFTP.
withknown.com stated that they will help users to move to or from a self-hosted Known site and make sure all data are transferred. Users can also export all their site data.
Documentation is being updated at docs.withknown.com.
- There are known knowns
- There are unknown knowns
See Also
- WithKnown
- projects
- Running Known with Matomo and Caddy #2 (source: https://q4.re/2020/07/running-known-with-matomo-and-caddy-2)
- A Known update
Open Source IndieWeb related projects and tools | |
---|---|
Topics | Why open source? • How to open source a project • Open for contributions • IndieWeb Principles |
PHP | b2evolution • CASSIS • Known • Falcon (portions) • p3k • stapibas • dobrado • Grav • Miniflux-legacy • ProcessWire • Reader Self • Textpattern • tt-rss • Twyne • TYPO3 |
WordPress (PHP) | Indieweb Plugin • Webmention • Semantic Linkbacks • Micropub • IndieAuth • Post Kinds • Syndication Links • WebSub plugins • See Template:WordPress for others. |
Python | Bridgy Fed • BeautifulSoup • Bleach • Bundle • django CMS • IndieWeb Search • IndieWeb Utils • kaku • mf2util • Nefelibata • ninka • Publ • python-indieweb • Red Wind • Requests • ronkyuu • Woodwind |
Ruby | Dark Matter • Feedbin • FrancisCMS • Micropublish • Publify • Ruby on Rails • Sinatra • Singulus • Transformative • webmention.io • Jekyll |
JavaScript | AerosolCMS • CASSIS • Ghost • Camel • IndieKit • Eleventy |
Others | Hugo (Go) • Firefox • NetNewsWire |