dobrado

From IndieWeb
dobrado logo

dobrado is an open source multi-user content management system that supports many indieweb features.

Goals

dobrado aims to be easy to use without any technical knowledge. Editing pages does not require templates or css files.

dobrado aims to fully support indieweb building blocks and protocols as they develop.

dobrado was created by Malcolm Blaney, and is released under the AGPL.

Why

dobrado was started as an experimental project to build a content management system that didn't use any templates. Similar types of systems were known as "online site editors" or "website builders", but such features are integrated into many systems today.

While ease of editing is still a primary goal, it's use in other projects has seen it mature into a group collaboration tool with its own fine grained permission system.

Features

dobrado is an extensible, modular, multi-user system written in PHP and Javascript.

There are many modules already available for a variety of tasks. They are all installable through the web interface.

It has wiki-like features, users can grant permission for other users (or groups of users) to copy and edit their pages.

Features specific to the indieweb:

  • Users can set their web action handler to the page they choose to write from.
  • Users can choose to send their likes, shares and replies to different feeds from their normal posts.
  • Users are notified about likes, shares and replies via a notification system.
  • Replies are converted into native comments on posts.
  • The Reader module can subscribe to both traditional feeds and html pages marked up with h-feed microformats. WebSub enabled feeds are also supported, with new posts being automatically added to the reader page.
  • When the Reader module is combined with the Writer module, all items in the feed show inline web actions for likes, shares and replies. After the action is performed, the Reader module automatically scrolls you back to where you were reading.

IndieWeb Examples

Malcolm Blaney

Malcolm Blaney uses dobrado on https://unicyclic.com - an example of dobrado set up as both an indieweb reader and publishing site for multiple users. The site also allows anyone to log in via IndieAuth, and to publish via Micropub.

Brainstorming

Microsub

dobrado supports Microsub via a Reader module, which had it's own session based client/server communication method before support for the Microsub API was added. This section lists the current differences and how this affects interaction with the server.

Paging: "GET timeline before" currently returns all posts up to the "before" value. The Microsub spec says that the "limit" value should be used and multiple requests used.

Multi-author feeds: dobrado supports splitting a feed into different channels based on author, so "POST follow" accepts an extra "author" value to handle this.

Features not mentioned in the spec: dobrado doesn't support the full Microsub spec as yet, but it does a few things that aren't mentioned. It can change the unread type per channel, the options are "true", "false" and "count". It can also import opml files to allow subscribing to multiple feeds at once.

Unsupported features: dobrado doesn't support marking individual posts as read, or removing individual posts from a channel. It would be good to have a way to specify which actions are supported so that these requests aren't sent from clients.

See Also


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