neue medienordnung plus
That [1] page - news menu item on - contains for me none content, only blank page for default browser languages english and german. Is it desired behavior for [1]?

Browser Firefox 58.0.2 (64-Bit) @Hubzilla Development+ @Hubzilla Support Forum+
Andrew Manning
It's broken for me too. Hubzilla development channel too. I'll look into it.
Andrew Manning
As usual, it was my fault. I had tweaked the bbcode renderer and that had broken it. Should be fixed now. Thanks for reporting the problem.

Sean Tilley
 San Francisco, CA (37.7840227 -122.3973893) 
!Hubzilla Development Good news! My Hubzilla themes repo is getting updated so that themes properly conform to the Hubzilla 3.x series. I have an issue queue of things to work on, and hope to get everything resolved in a short amount of time.

As many of you know, this repo is part of a long-running playground to explore the different layers of the platform, and experiment with various ways to customize the look and feel of one's hub. I have considered it to be very valuable for myself, as I've gotten to peel through many different parts of Hubzilla's display system and figure out how they work together.

The following themes are basically "complete", save for some minor cosmetic work:
  • Suckerberg
  • Clarity
The following are require in-depth adjustment. The good news is that this is an opportunity to not only fix the themes, but write custom widgets and adjust each one to a specific layout:
  • Bookish
  • Nova
  • Occupant
  • Sporadic
  • Stumble
  • Sunbeam
Andrew Manning
What's the latest doco for how to install and enable them? Is this still accurate?

Sean Tilley
 San Francisco, CA (37.7840152 -122.39734259999997) 
!Hubzilla Development

If you're running the dev branch of #Hubzilla, you'll see that a new feature has landed for channels – Articles

This is a really exciting feature to me, as I hope to build We Distribute on top of it.

Here are a few relevant files to understand different pieces of it:Here's a quick test article, as it appears today:

I'd love to explore the theme development side of this, specifically to make Article objects look like an article you'd see on any popular CMS that features them. (Ars Technica, the Verge, Mashable, etc). This may require me to open my first actual pull request for the Hubzilla project, as this is a feature of huge interest to me. The first "useful" thing I can think of might be a thumbnail field, which sets the og:image property of the article when shared.

Eventually, I might dive into either building a page or a plugin that shows all published Article objects on a hub, sorted by published date, complete with title, link, and author information.
Jason Robinson
 from Diaspora
I guess articles don't federate? Or just not yet? Or didn't federate here :P
Sean Tilley
@Jason Robinson ? I guess you missed Mike's comment since he doesn't use Diaspora federation, so I'll post it:

Articles do not federate naturally. They are interactive. So think of it like an old fashioned blog.

Articles can provide summaries. These do not use industry standard methods of providing summaries since Mastodon has turned all of these into 'content warnings'; basically precluding anybody using them for summaries ever again.

Webpages are not interactive. Cards are interactive and actually very similar to articles but differ in the fact that one is called a 'card' and one is called an 'article'; and therefore readers might have different expectations of what they are and what they do. (The simple answer is that one is a 'card' and the other is an 'article'.)

A lot of people seemed concerned and upset that we provided webpages and cards and wikis and interactive posts but did not have a thing called 'articles'. Now we do.

Hope this clears things up.

Incidentally you can also provide summaries in posts and comments, but don't do it. The reason is that these could federate with Mastodon and Diaspora and GNU-Social and the summaries won't work in other networks (because Mastodon has made it impossible or impractical to try and translate to standard 'summary' fields without generating warnings). So we don't translate it at all. Readers on other networks will see a mess. Save summaries for 'articles'. That's what they're there for.

Missing at this point is separate feeds for articles (and cards and perhaps webpages). This would be a useful tool except for the fact that feeds use standard communication formats which provide separate 'summary' fields and Mastodon has pretty much fucked these up for everybody. So that's why we don't have article feeds. We might be able to provide 'summary' feeds and separate 'article' feeds at some point but it would be so much better to just rid the world of Mastodon so we could do this the right way once and be done with it.
Just for the record: I didn't !

Sean Tilley
 San Francisco, CA (37.7485824 -122.4184108) 
@Hubzilla Development+

It's a tough nut to crack, but it's possible to export a #Godot game to HTML5, then embed the resulting game into a #Hubzilla addon. Right now I'm experimenting with loading a platformer game demo into the skeleton add-on as a base. I've got the files spread out and structured into a hierarchy, and I hope to get the player to successfully load with these changes. After that's done, I'll be able to put it into a proper view template, and wrap some native interface elements around it.

My hope is that this could provide a method for sharing my games on the web, in something that could be featured as a personal gallery. A pipe dream version of that may be some kind of "Game Library" add-on that can load and store related Godot HTML5 games and display them in a gallery of sorts.

As far as HTML5 games are concerned, there are generally a number of limitations. Keyboard input works well with Godot, but right-click interactions seem to be off the table for now. Games also seem to be affected by load times proportionate to the overall file size, although it seems that this can be handled gracefully when it comes to loading individual scenes (game levels or rooms). I'm curious to test this out with my own projects as their size and complexity scales up.

Another interesting aspect is that Godot can be made to interact with libraries and environments outside of itself. In theory, it may be possible to provide some sort of bridge between Hubzilla's own hooks and the game engine. One simple way to demonstrate this might be for the game to welcome a player by their channel name.
Alexandre Hannud Abdo
I participated in a Godot workshop last year, this is an awesome idea... another  obvious thing would be for Hubzilla to keep track of player scores.

Sean Tilley
 San Francisco, CA (37.78400070000001 -122.39733890000001) 
@Hubzilla Development+

Hey Hubzillans,

As most of you know, I have spent a significant amount of times developing themes for Hubzilla. They've largely been a playground for design ideas, and most of them are little more than a skin for redbasic. Overall, this has been a very good starting point for my theme experiments, and I've learned a lot thanks to Mike, Mario, and Andrew. As of late 2017, I've finally gotten to a point where it's possible for me to develop custom theme widgets, after much trial and error.

However, there are many elements of the interface that cannot be easily overridden - such as button arrangement, placement of UI elements in posts, and custom menus and icons for the navbar. While this doesn't bother me by a huge amount, it is somewhat limiting to the kind of designs my theme can take on.

I've been debating the possibility of writing a new theme engine from scratch for Hubzilla, with the purpose of taking my theme development to the next level. I'm aware of the possibility that independent themes may break over time, and will require a higher degree of maintenance to keep pace with future versions of the platform. There will also be design conventions to consider, such as the menus for remote users visiting from another hub. These are things I'd rather not break.

I was wondering whether anyone had tips or pointers based on their experiences in working with redbasic. How often do you have to update the hooks and templates that go into this base theme?
Mike Macgirvin
All of this is possible by over-riding the templates; but as you're no doubt aware, this comes with a maintenance cost. If core templates change or add functionality you are sort of required to watch and stay on top of it or the theme will eventually atrophy. I don't know of any way to work around this.

WordPress doesn't provide a lot of guidance here because there are only 3-4 templates which contain most if not all of the content - and the template interfaces change at glacial speeds.

I started work at one time on a button layout so you could order buttons to your liking (or add/remove them easily). I didn't get very far on it before getting distracted by more significant features, but it's certainly desirable in the editor.

The most contentious bits of the interface turn out to be the editor, the conversation templates (posts/comments) and the navbar template. These are also the most-often modified templates. I have in my (very long) to-do list a layout language for the navbar ('Navajo') to be able to design custom navbars with a descriptive tag-based language like Comanche.

Perhaps the editor and conversation templates could also make use of some form of abstraction layer. I'm not sure how this relates to your concept of a 'theme engine' because I'm not certain what you envision for that and how it would work.

The current system isn't really bad - it's just very poorly documented and there are hundreds of templates (290 to be exact) covering a lot of different functionality, so it's bloody hard to abstract. At some point the end result is HTML/CSS/JS and we want to give theme designers complete control over this output. We do this, but it requires a bit more perseverance and a much larger maintenance commitment than a comparable WordPress theme.

What it may be crying out for is some form of template versioning scheme, so your theme could ask for a stable template version; with a known set of variables which remains constant - even if the core project moves on to something new and incompatible.
Sean Tilley
Hey Mike, thanks for your thoughts on this.

WordPress doesn't provide a lot of guidance here because there are only 3-4 templates which contain most if not all of the content - and the template interfaces change at glacial speeds...

The current system isn't really bad - it's just very poorly documented and there are hundreds of templates (290 to be exact) covering a lot of different functionality, so it's bloody hard to abstract.

Yeah, this was something that I was initially looking at, and seems to be the biggest challenge. In theory, it sounds like it's possible to at least write a handful of custom templates from scratch and significantly alter the layout of elements, as long as the proper hooks are used to build an interface.

I'm not sure how this relates to your concept of a 'theme engine' because I'm not certain what you envision for that and how it would work.

At the moment, I think it would just be a drop-in replacement for redbasic, which other themes could build upon. The new base theme could include the most important templates, along with a series of bespoke core widgets, fallback CSS/PHP/TPL/PDL, and custom JS for things like notifications.

Maybe the approach I'm thinking of is overkill, but I think it might be interesting to try to build alternative frontends for Hubzilla through low-level theme development.
@Sean Tilley

I simply download the zip and copy with ftp few of your themes and I am testing them. Thank you for the good works you have done.

I think maybe in the future we can imagine a tool to install a theme with one click from admin like we can do with wordpress (I know I am dreaming)

At least information where to find it and how to install it would be more visible. I think I have to test each theme for a few days to really use it.

neue medienordnung plus
I moved files/ folder from location/ hub A. But the copies from moved files/ folder stay on the hub B. Is it correct behavior of Hubzilla? Hubzilla version on both hubs A and B is 2.8.1.

@Hubzilla Development+ @Hubzilla Support Forum+ #deletedObjects #movedObjects
Mike Macgirvin
This seems to be dependent on exactly *how* the files were removed. It works correctly using DAV but failed to sync properly if deleted using the web browser interface.

Should be fixed upstream.
Maria Karlsen
 Sweden,  last edited: Sun, 21 Jan 2018 06:43:28 -0500  
I don't really believe this is possible, for a number of reasons, but it's an idea:
@Hubzilla Development+

1a: Main location is down. People who try to visit it get a server error message.
1b: Main location is down. People who try to visit it get automatically redirected to clone #1.

2: Clone #1 has issues. Automatically redirects to clone #2.

3: Clone #2 works without problem. The requested channel/page can be viewed without problems.

Mike Macgirvin
A close variant of this discussion just happened on the W3C community git. You may not be aware but we redirect webfinger; which means it's possible to automatically discover when somebody has moved. I don't think we're using this currently but it presents some interesting possibilities. If you get somebody's business card and it says they're foo@bar and you try and connect and find that bar is dead, you can in theory send the same request to any directory server and if it has a new record for foo it will send you there.  This *could* all be done automatically within hubzilla.

I don't have a perfect solution, but it's possible (using the chanview module inside Hubzilla) to accomplish profile page redirection in a similar fashion. It would take longer to load in the first place because chanview would in this case need to test the page before sending you there. One could also build this kind of ability into magic auth since it's already going to try and connect to that page.

Sean Tilley
 Peoria, Peoria County, Illinois, United States of America (40.772379699999995 -89.6304857) 
@Hubzilla Development+ I'm starting to play with widgets, and want to learn a bit more about how they work.

As an experiment, I would like to selectively display only certain pieces of profile information in a specific order. I looked at some of the widget examples in /include/widgets.php, and many of the widgets return profile_sidebar.

function widget_shortprofile($arr) {
    $a = get_app();
    if(! $a->profile['profile_uid'])

    $block = (((get_config('system', 'block_public')) && (! local_channel()) && (! remote_channel())) ? true : false);

    return profile_sidebar($a->profile, $block, true, true);

I dug around a little more, and found profile_sidebar in channel.php. Earlier on in the file, I discovered this:

It is very difficult to templatise the HTML completely because of all the conditional logic.

This makes sense, but I am curious: is there a simple way to selectively display bits and pieces of profile information in a widget? For example, would I be able to get away with declaring variables in a PHP or PDL template for a new widget?

I'm just curious about what the best practice is here.
Mike Macgirvin
If you are on any page that is one of your personal pages (as opposed to a system page), we've loaded your profile into App::$profile. profile_sidebar() just displays a subset of this already-loaded information. You could easily display a different subset.

If you examine profile_sidebar() you'll see that there is quite a bit of decision making and you might not want to duplicate all of this. Ergo it makes a certain amount of sense to be able to pass arguments to profile_sidebar to control what is displayed rather than try to duplicate the entire function elsewhere.

But if you look at the profile and channel tables in the database, anything therein is available in App::$profile for you to make use of in any way you desire.

Sean Tilley
 Peoria, Peoria County, Illinois, United States of America (40.7724069 -89.6305185) 
@Hubzilla+ @Themes+

In accordance with the rebranding, I've decided to update the my repo. The new Github URL is:

Sorry for the inconvenience, everybody- it had to happen sooner or later. Update your scripts and theme repository URLs!
Mike Macgirvin
No worries - thanks!