last edited: Mon, 09 Apr 2018 17:38:42 -0400  

Posts? Articles? Webpages? Wikis? Hubzilla Publishing Explained.

Those new to Hubzilla can be confused by the various features it offers, particularly when it comes to publishing content. Other software platforms typically focus on a single method, such as "microblogging", but Hubzilla offers several options that you will find useful for different purposes. Seemingly hidden in the channel settings you will find the following:

  • Web Pages - Provide managed web pages on your channel
  • Wiki - Provide a wiki for your channel
  • Cards - Create personal planning cards
  • Articles - Create interactive articles
These are all ways of publishing content in addition to the primary publication method called a Post.

How are they the same?

An important point to note is that all of these methods utilize the same decentralized access control, which is at the core of Hubzilla. That means that for anything you publish, you can either do so publicly, or you may restrict access to only those you specifically allow in the publication's ACL (access control list). The channels (i.e. people, forums, groups) on this list maybe have accounts on your hub or they may be hosted on completely independent servers.

Another way in which all the publication methods are similar is how they synchronize between clones of their channel. One of the key innovations of Hubzilla is the nomadic identity system, which allows channels to have "clones" that are owned by accounts on independent servers. Each of these clones represent the same identity and have the same access to content regardless from which server the channel is requesting data. Data owned by a channel is synchronized between its clones to assist in redundancy and resilience to network failures or censorship. Articles, wikis, cards, web pages, and posts are all synchronized between clones.

How are they different?

Posts are the only publication method that
  • is actively delivered to the hubs of channels who are connected to the publishing channel (and have the appropriate "fine-grained" permissions enabled, of course), and
  • can federate with open communication platforms supported by the federation plugins, including "diaspora", "pubcrawl", "gnusoc", "pubsubhubub".
The other publication methods store content only on the owning channel's hub and must be accessed in the more traditional way using a static URL. Also, unlike Posts, the other publication methods can have their ACLs modified as often as you like. You could compose and revise an article, for example, with the ACL set to allow only yourself access; then when you finish editing the article, you can open up the ACL to include a wider audience.

So which one do you use?

The answer depends on what you are doing. The following are some example use cases that illustrate why you might choose to use one versus another.

MethodExample use case
WikiYou are collaborating with a group of people to generate documentation for your software project. You want to have a collection of independent pages of content, where you can see who made what revisions to each. You want to be able to revert changes easily as you work together to complete the documentation.
ArticleYou are a blogger who likes to share in-depth analysis of current events or provide detailed explanations of technical issues, and you like to receive feedback from your audience of readers. For most articles, you allow comments to enhance the engagement with your content; other articles you choose to disable comments entirely to avoid distractions to other readers.
WebpageYou are creating the "landing page" for your organization on the public web, and you want full control over the appearance, including the HTML, CSS, and JavaScript powering the page. Webpages provide the flexibility you need to create whatever kind of webpage you need.
CardsYour team is planning for an event and you need to detail all the various tasks you need to accomplish to make it happen. You want to have topical conversations via comments from team members as you collaborate to define each task and work through them all. Categorizing them with free-form labels allows you to fluidly organize the tasks into groups that make sense for your goals.

The best way to decide what you should use is to experiment! Try them all and see how they can work for you. As you explore you will begin to find your own creative ways to use this powerful set of tools.