I'm pleased to announce the new Hubzilla project webpage structure. Based on discussions recently with @neue medienordnung plus and others, we have restructured the webpage to support language translations. If you are using a modern browser you should see your language when you load http://hubzilla.org/ ... as long as your language is English or German at the moment. If you would like to see the project page translated into your native language, please create a new "block" page element similar to the "hubzilla-project-lang-en" block in the https://github.com/anaqreon/hubzilla-website git repo and replace the English text with your translation. Bonus points if you add the corresponding line to the page layout definition file. Then submit a pull request so we can add it to the official project page.

Technical note: We originally tried using the Comanche page description language conditional logic in the layout definition to select the language based on Hubzilla's automatically detected observer language preference; however, the Comanche logic is to my knowledge insufficient for this task, so we are currently using client-side JavaScript to display the appropriate language content. We might want to extend Comanche to support a "switch" statement.

@Hubzilla Development+
Andrew Manning
Some additional information:

  • This version of the site is v6 and can be browsed at https://github.com/anaqreon/hubzilla-website/tree/v6
  • There appears to be a bug in the dev branch when re-importing existing elements. I will investigate and fix this issue at some point. I do not see this in Hubzilla 2.2 (master branch).
neue medienordnung plus
I pulled at 2017-04-24 a Pull Request #9 · hubzilla-website with images for lang-de-branch. Is my Pull Request suitable for include translated images-de in "hubzilla-project"? I pulled in addition other 4 Requests. Please to allow my Requests 1,2,3,7 and 9 for hubzilla-website-de -content.
Andrew Manning
Your idea for implementing multilingual websites using dedicated channels could work, but I think consuming an entire channel for this purpose is not ideal. I think we can add some more metadata to the website "package" that will enable the import tool to construct language-specific page blocks. Here's an idea: We could add a field in the JSON files associated with each imported element that designate the element's language. It'll take some more thought about how the import tool will use this to render the page to a visitor in their language, but we already have the JavaScript idea you linked to, and if the visitor is an authenticated member then the

    [observer.language=en]Text to display if observer language is English[/observer]

BBcode could be useful too.
neue medienordnung plus
I think we can add some more metadata to the website "package" that will enable the import tool to construct language-specific page blocks.

I'd love to test this workflow with language-specific page blocks construct on https://dev.hubzilla.org/ . Important is, that we provide a userfriendly efficiently workflow for translate-Contributors.
neue medienordnung plus
  last edited: Wed, 26 Apr 2017 10:04:58 -0400  
@Andrew Manning @Hubzilla Development+ @DE Übersetzungen+  Get we the file hubzilla-project_DE.html as result of merge with all this blocks?

I suggest, the data model of Github-branches how master, lang-de etc. identic to make. That eased the collaboration for all contributors.
Andrew Manning
Yes, I want the structure to be the same in the language subfolders too. This is part of the reason I simplified it to two elements (layout and single page).
neue medienordnung plus
I would test this Github-structure on https://dev.hubzilla.org/ with this language-specific page blocks construct .
neue medienordnung plus
  last edited: Wed, 26 Apr 2017 08:48:42 -0400  
@Andrew Manning @Hubzilla Development+ Would we maybe use this model one channel for each website-language ?
Benefit of this "one channel for each website-language"-model is in my assessment, that:
  • all language-specific website-files are neatly arranged and the files can tidy import/export for each language-edition
  • each language-Team is responsible for own language-channel, for example en/de/ru/ ...
  • Links in hubzilla-project-navbar -block must in this data model language-specific changed
  • The wrong layout in websites 1-3 is here not the matter. Here it is about data model for the language-sensitive website.
#languageSensitive #datamodel #hubzillawebsite
Andrew Manning
Oh that may be true but Ich weisse nicht. Do you know how to search the source code? Perfect pristine documentation is always the ideal, but in practice many questions can be rather easily answered by using an IDE like NetBeans to search the Hubzilla code.
neue medienordnung plus
The perfect case would be, when I choice had one Comanche training/ webinar to absolve :).
It's not that hard. I will think about an online course.
#toDo for next weekend, starting on Wednesday.
Andrew Manning
@Mario Vavti The new "nested" menu in the app menu (42d139e) is completely white for me using default settings. It is white text on a white background.

@Hubzilla Development+
Mario Vavti
I am seriously puzzled... I see it only on dev.hubzilla.org
Mario Vavti
  last edited: Tue, 25 Apr 2017 03:46:00 -0400  
A git status in dev.hubzilla.org gives me:

On branch dev
Your branch is up-to-date with 'origin/dev'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   include/conversation.php

Untracked files:
  (use "git add <file>..." to include in what will be committed)


no changes added to commit (use "git add" and/or "git commit -a")

I think it's related to that...
Andrew Manning
Yes you are correct; I reset to dev branch and that menu section is gone. It is definitely not obvious how those changes are related. Sorry for the false alarm.

я начал переводить домашнюю страничку Hubzilla на русский язык. Набросал короткое руководство для использования Github https://hub.freecommunication.org/page/nmoplus/hubzilla-homepage-change-manual для объединения русских текстов домашней странички от разных авторов. Здесь https://github.com/anaqreon/hubzilla-website/tree/lang-ru/ странички для перевода. Здесь https://hub.freecommunication.org/page/nmoplus/hubzilla-project-ru.html то, что я успел перевести на русский - #faq, #intro и #navbar -секции.

@Hubzilla Announcements+ @Hubzilla Development+ @Hubzilla Support Forum+
Einer von Vielen
neue medienordnung plus
  last edited: Mon, 24 Apr 2017 07:06:46 -0400  
Site https://hubzilla.org/ is unavailable at the moment. Message
Apologies but this site is unavailable at the moment. Please try again later.

@Hubzilla Support Forum+ @Hubzilla Development+
Andrew Manning
I rebooted the server, and it's back online now. I'm not sure what happened there. If it happens again I'll have to investigate.
@Andrew Manning I import here https://dev.hubzilla.org/webpages/flegno merged hubzilla-website/lang/de/hubzilla-website.zip from 23.04.2017 and get the message No webpage elements detected.

@Hubzilla Development+
Andrew Manning
Sorry, that was sloppy of me for not testing the file I created. I made the zip file with the content folders buried under "lang/de" which doesn't work. When I created the zip file correctly, I could import the elements.

However, the page is broken. This is because we will need to include the pieces that are not language-specific.

Really, though, we should step back and re-think the page construction. For simplicity I think we need to consolidate the code into just one or two blocks: one for all the language-independent data (CSS, JavaScript, etc) and one for the content. Or maybe there is something even more fundamental we need to consider. I'll think of ideas.
neue medienordnung plus
Can may be https://www.mozilla.org/ language-sensitive approach help?
neue medienordnung plus
I need examples for that
This is because we will need to include the pieces that are not language-specific.
neue medienordnung plus
  last edited: Sun, 23 Apr 2017 08:41:38 -0400  
Andrew Manning
I think the broken page is related to changes in the dev branch that dev.hubzilla.org is running. @Mario Vavti has been working on updating Bootstrap, and perhaps something broke because of that. I'm still investigating.
Andrew Manning
I refactored the page to simplify things. Now there is only a layout and a single page, containing all the content. The assets must be served from a publicly accessible place. This version is running live on hubzilla.org now.


There is a browser-based problem, which is that if you serve the assets from a remote location, the browser blocks them. On dev.hubzilla.org I'm getting these errors loading the page after importing v5:

Content Security Policy: The page’s settings blocked the loading of a resource at https://project.hubzilla.org/cloud/hubzilla/hubzilla-project-website/vendor/bootstrap/css/bootstrap.min.css (“style-src https://dev.hubzilla.org 'unsafe-inline'”).
Andrew Manning
The more I work with this the more I'm starting to think we should really improve the import system to include assets sooner than later. We should choose a convention for where to store these assets (e.g. https://grid.reticu.li/cloud//webpages/imported_page_name/assets/ ) or provide a user-configurable location and automatically copy the assets into that location. In addition, we will need a markup for the baseurl in the page source code that will be replaced by the import tool to match the hub address (something like {{$baseurl}} to be consistent with the Hubzilla page template system). I will start working on this.
neue medienordnung plus
  last edited: Sun, 23 Apr 2017 02:16:50 -0400  
I enabled here https://demo.hubzilla.org/settings/features "Provide managed web pages on your channel", but I cann't create web pages on demo-hub. Is it a bug or feature?

@Hubzilla Development+ @Hubzilla Support Forum+ #HubzillaDemo #webpages #HubzillaWebpages
neue medienordnung plus
OK, when I directly load the URL https://demo.hubzilla.org/webpages/demo , then can I create web page. But I misse web page menu here:

Thank you, Mario Vavti :).
neue medienordnung plus
What benefits has WebApp in AppsMenu in comparsion with one https://demo.hubzilla.org/webpages/demo -Bookmark in my Browser-Bookmarklist :)?
neue medienordnung plus
  last edited: Sun, 23 Apr 2017 07:26:25 -0400  
Here SERP Preview for Hubzilla Project in "SERP Preview"-Segment see you, how the Hubzilla project-site is representated in Search Engine Result Pages (SERP).


Ttherefore my suggestions for the Hubzilla-homepage are these:
<title>Hubzilla - Build a community of connected websites</title>
<meta name="description" content="Hubzilla is a powerful platform for creating interconnected websites featuring a decentralized identity, communications, and permissions framework built using common webserver technology." />

My suggestion is also for better SERP-ranking in <hx>Header-String</hx>
H2    Hubzilla 2.2 released
H2    Decentralized network of hubs: the grid
H2    Channels and Connections
H2    Nomadic Identity and Cloning
H2    Access control across the web
H2    Got Zot?
H3    Plugins
H3    Web Building Toolkit
H3    Social Networking
H3    Cloud File Storage
H3    Themes
H3    Events
H3    API
H3    Freedom
H2    Download Hubzilla
H2    Developers
H2    Donate to the Hubzilla Project

purposeful many target-group-specific-keywords to use. For example:

  • <h1>Hubzilla - Build a community of connected websites</h1>
  • <h1> </h1> (None h1-Header yet)
  • "Access control and data distribution" instead "Plugins"
  • "Coordinate and share calendar events" instead "Events"
  • "Secure decentralised communications and services with Zot" instead "Zot"
  • "Interconnected services on the grid" instead "API"
  • etc.
@Hubzilla Development+ @Deutschsprachige Nutzer+
neue medienordnung plus
  last edited: Sun, 23 Apr 2017 05:31:25 -0400  
@Andrew Manning and @all

My proposal for Hubzilla-Homepage_DE https://hub.freecommunication.org/page/nmoplus/hubzilla-project.html is Notice: Please ignore you layout of top-navbar. Important is the textcontent.

@Hubzilla Announcements+ @Hubzilla Development+
Can I get images for the https://project.hubzilla.org/page/hubzilla/hubzilla-project web page as .xcf -files for GIMP-Software? For german-version of hubzilla-project-Homepage.
@Hubzilla Development+
Andrew Manning
Good point. We need an "assets" folder with these things. A while back I started to work on how to automatically import assets in addition to the webpage elements, but I didn't get very far with that.
Andrew Manning
Is there any reason we couldn't replicate chat room messages across multiple hubs, similar to how regular posts are distributed? This is essentially what the Matrix protocol does. The replication would be nice in the sense that you would still have access to a chat even when the owner's hub is inaccessible, and we could create chat room widgets without dealing with all the CORS nonsense.

@Hubzilla Development+
Mike Macgirvin
In this context it is about being able to discover and share knowledge of rogue admins, as our network privacy and security is based to a large degree on your admin (or mine) not being an adversary with evil motives.

It is also necessary in explosive growth (if our members ever get excited enough about the project to actually publicise it). In that event the use case is what do do about somebody claiming to be 'realDonaldTrump' or some other celebrity. You need a way to weed out fakes. Mastodon had a huge problem with this in the first few days of explosive growth. People signed up with all kinds of very well known Twitter accounts that were fakes and attracted a lot of followers before they were found out.

It's also necessary for the oft-rumoured "e-commerce" ability. It appears that habeascodice's e-commerce fork is now a reality. As soon as you put buyers and sellers together, a rating system is a must have, not just some random feature that appears awkward on the surface in a social networking context.

I agree that the vast majority of folks here are only interested in the social network bits and don't care. If you take decentralised identity and magic-auth to its logical conclusion, it's a natural for e-commerce. That's why I've put so much effort already into providing some kind of rating ability. It was available in Mistpark in the first release and even though we haven't always exposed the ability, it's been in the code base in one form or another ever since.
Sean Tilley
It's also necessary for the oft-rumoured "e-commerce" ability. It appears that habeascodice's e-commerce fork is now a reality. As soon as you put buyers and sellers together, a rating system is a must have, not just some random feature that appears awkward on the surface in a social networking context.

I almost wrote an entire side-ramble just now to ask more, but decided against it. That's amazing to hear, though!
Carolus Rex
Rating hubs, and admins, makes a lot more sense to me.
I suggest the https://hubzilla.org -homepage implements like https://www.mozilla.org -homepage. Namely visitors of hubzilla.org gets automatically the language-localized Site-Version of https://hubzilla.org in default-language of visitor-browser.

@Hubzilla Development+
neue medienordnung plus
You can use the "toggle all selected" button at the top to select all of them
I selected all elements with "toggle all selected" button.
Andrew Manning
There was a problem with the import tool at some point, but I thought that was fixed by version 2.0.6 which you are running, so that should not be the reason. You'll need to enable debugging log level and watch your log file when you go through the import steps. See if that gives you clues.
Andrew Manning
Actually looking through the git log I see that the import bug was fixed after version 2.0.6 :-/ You'll need to update to 2.2
Andrew Manning

Hubzilla server hardening

I would like community feedback concerning the security of our new hubzilla.org server configuration. I have limited experience "hardening" a server and welcome advice and discussion about best practices for reducing the vulnerability of the server hosting a hub.

The hubzilla.org server is a virtual private server from DigitalOcean, so I have very little idea of the hardware or software environment that runs it, but I will assume DigitalOcean's security is not the weakest link in the chain. Here is some other relevant information:

Operating System

root@hubzilla:~# uname -a
Linux hubzilla 4.4.0-72-generic #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root@hubzilla:~# lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:    16.04
Codename:    xenial


root@hubzilla:~# cat /etc/ssh/sshd_config
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no


root@hubzilla:~# ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22                         ALLOW IN    Anywhere                  
443                        ALLOW IN    Anywhere                  
80                         ALLOW IN    Anywhere                  
22 (v6)                    ALLOW IN    Anywhere (v6)            
443 (v6)                   ALLOW IN    Anywhere (v6)            
80 (v6)                    ALLOW IN    Anywhere (v6)            

Automatic security updates

root@hubzilla:~# cat /etc/apt/apt.conf.d/50unattended-upgrades
// Automatically upgrade packages from these (origin:archive) pairs
Unattended-Upgrade::Allowed-Origins {
//    "${distro_id}:${distro_codename}-updates";
//    "${distro_id}:${distro_codename}-proposed";
//    "${distro_id}:${distro_codename}-backports";

@Hubzilla Development+
Haakon Meland Eriksen (Parlementum)
Your SSH will perhaps enjoy few allowed password attempts, say 1 or 2, and a reduction in who is allowed to connect to it, say your home or work IP (can be ISP firewall, it is less than incoming from Anywhere).
Andrew Manning
@Haakon Meland Eriksen (Parlementum) Do you think the password attempts matter if password authentication is disabled?
Haakon Meland Eriksen (Parlementum)
:facepalm - sorry, SYNTAX ERROR before :coffee . :-D
Andrew Manning
I noticed that previous links to hubzilla.org were often broken, such as the commonly used https://hubzilla.org/hubzilla link to the previous project webpage. I fiddled with Apache rewrite rules enough that I think I've captured all the possibilities and redirected to the new hub. Let me know if you find a broken link or dead redirect.

@Hubzilla Development+
@!Hubzilla Development+ I want to enable the Discover tab on hubuno.nl, but if I do it is empty. I suspect that this is because there are no public streams imported yet. Is there a way to force this (maybe via the command line)?
Ok, nevermind. I enabled it and waited for a few hours. Now it works.
Andrew Manning
See, we taught you self reliance. And you thought it was apathy :-)
I received around 1000+ messages from this channel from some months ago. Some seem to have encoding problems. Someone else saw this behaviour? The receiving channel is still on redmatrix, so if no one else saw this, I think I will ignore it.
giac hellvecio
it happened also for me,
but I know that it was  a clone operation ;)
giac hellvecio
I do not know if there is/was/will be a fix for this cloning thing problem, and I do not even know if it's possible to avoid all those notifications, we've already discussed it in the past.
Letter Bomber
@Andrew Manning
For me there is 2 reasons:
1. There is no script to just convert the whole site db from red->hubz like there is for mysql->pgsql -- the "clone everybody" hack is additionally quite rediculous to me
2. I've tried hubzilla and it feels too cartoony, too restrained, too much hidden functionality. It does not feel right. I think a lot of changes were made that I disagree with too. Redmatrix is just more my style.
@!Hubzilla Development+ @Andrew Manning  I receive a certificate error when visiting https://hubzilla.org (that should be a redirect to project.hubzilla.org, right?). The error is, is that the certificate is only valid for  project.hubzilla.org. So this can be fixed by having a separate Let's Encrypt certificate for hubzilla.org.
Andrew Manning
I noticed this too, but I think it is a browser issue, because when I go to hubzilla.org in private browsing mode or in a different browser I rarely use, it redirects to project.hubzilla.org without problems.
Oh yes, you are right. Maybe it's some sort of caching in Firefox. In Chromium (I barely use) it works. Sorry for the false alarm ;-)