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?
mrjive
 45.05 7.6667 
@Hubzilla Development+
I'm translating hmessages.po on transifex in the spare time.
Am I using the correct site/file ?

#justalittledoubt
mrjive
  
maybe @Manuel can help me here?
Manuel
  
Sorry,I didn't read your post! Yes, this file, hmessages.po, it's huge!
mrjive
 45.05 7.6667 
@Hubzilla Chess+ @Hubzilla Development+
I was playing, as I usually do, with useless things here in hubzilla, and I tried to change the app icon of the chess app with the chess icon via font-awesome, but I saw that the icon was introduced in version 5.0.5.
If I got it right, we're using versione 4.7.
Any plan for an update?

Thanks
Mario Vavti
  
Any plan for an update?

Nope. See this thread...

There is some hope though: https://github.com/ForkAwesome/Fork-Awesome
Mike Macgirvin
 High Range, Australia,  
!Hubzilla Development Looking at library/Mobile_Detect I notice the last update was in 2012. Was considering updating it, but wondering if this library still has any value to us. At one time it toggled a 'mobile-friendly' theme but our standard theme is now mobile-friendly. If updated, it probably requires frequent updating and the number of possible mobile devices will eventually exhaust memory.

So this is a vote. Yes to keep it, No to get rid of it (and with it all the 'mobile theme' selection logic). If yes, please describe your specific requirement so we can compare alternative mechanisms which might be more maintainable long term.
Mike Macgirvin
  
After a quick code check - it turns out we do use this detection to enable phone calls from your contact list. I don't think many people are using this currently, but that ability would either be lost - or - we would need to supply 'tel:' links even on the desktop, which would probably fail with 'protocol not supported'. I can easily go either way but I'll throw this out to see if anybody has any other bright ideas.
Alexandre Hannud Abdo
  
I'm fine with tel links on the desktop. In fact, from what I read there are desktop apps that register with browsers to handle 'tel' links, i.e. Facetime, Skype, and perhaps some open-source SIP clients. So in my opinion we should always keep them.
Mario Vavti
  
we would need to supply 'tel:' links even on the desktop, which would probably fail with protocol not supported

We could hide them based on screensize using plain css.

Mario Vavti
  
I have done some work on optimizing our item queries. This has just been checked in to the dev branch. Please look out for some possible performance issues/drawbacks i might have missed in my testings.

@!Hubzilla Development+
Mike Macgirvin
  
Pretty zippy from here.
Mario Vavti
  last edited: Sat, 17 Feb 2018 14:27:28 -0500  
I am pretty satisfied with the outcome of my efforts to optimize the item table and its queries. There is only one left which gives me grief - the expire query. I had it fixed, but another necessary change to the index made it worse again. I'll hopefully come up with something still to improve this one without making the others worse again. The whole undertaking is a bit like dancing on eggshells...
Andrew Manning
  
Did we make any changes to the hub setup process with respect to the url rewrite check (not finding anything in the git log yet but maybe I'm not searching well enough)? I'm working in a VM and am not using HTTPS in order to avoid valid certificate problems, but the setup check fails at the URL rewrite step because it is calling an HTTPS URL. When I manually enter the HTTP URL I get the "ok" text.

Url rewrite in .htaccess is not working. Check your server configuration.Test: array ( 'return_code' => 0, 'success' => false, 'header' => '', 'body' => '', 'error' => 'Could not resolve host: hubzilla.dev', 'debug' => array ( 'url' => 'https://hubzilla.dev/setup/testrewrite', 'content_type' => NULL, 'http_code' => 0, 'header_size' => 0, 'request_size' => 0, 'filetime' => -1, 'ssl_verify_result' => 0, 'redirect_count' => 0, 'total_time' => 0.0045019999999999999, 'namelookup_time' => 0.0, 'connect_time' => 0.0, 'pretransfer_time' => 0.0, 'size_upload' => 0.0, 'size_download' => 0.0, 'speed_download' => 0.0, 'speed_upload' => 0.0, 'download_content_length' => -1.0, 'upload_content_length' => -1.0, 'starttransfer_time' => 0.0, 'redirect_time' => 0.0, 'redirect_url' => '', 'primary_ip' => '', 'certinfo' => array ( ), 'primary_port' => 0, 'local_ip' => '', 'local_port' => 0, ), )

!Hubzilla Development
Andrew Manning
  
Thanks for the answer. This must be another consequence of what changed, most likely as a result of my MacOS update. As I discovered earlier, I had to add the domain to the VM hosts file just to contact the webserver. Before the MacOS update, the VM must have been resolving the DNS using the host machine hosts file (the host's hosts file :-)) and now it's not.
cb7f604332cf39
  
You may disable the email check...
Andrew Manning
  
That email check pertains to the sending of a verification email after registration. The check I was describing is before that stage, when you are entering your email address and password into the registration form. Whether verify_email is enabled or not, it won't let you register with an email address for which it cannot resolve the domain.
mrjive
 45.05 7.6667 
@Hubzilla Development+
I would like to introduce small bits in the connection list, since to me as they are now displayed it's a bit confusing.
These are really small details which involve the connection_template.php file and the css in redbasic theme.
Here's what is the result:

Image/photo

If it's ok for you I'd make the pull requests...
mrjive
  
OK I'll try think about it a bit more. Thanks for you patience :)
Mario Vavti
  
Oh... Forgot one thing: also make sure it works well on mobile phones.
mrjive
  
I do get that it's not as easy as it could seem at first sight.
This change is so small that I think it has very little impact in that sense.

To start, could we just add a class to the contact wrapper?
I thought of something like class="contact-entry-wrpapper contact-{{$connection.id}}"
just to simplify the work...
mrjive
 45.05 7.6667 
@Hubzilla Development+
Notifications are not sync'd between clones. Is that correct?
Maybe they should be sync'd too. What do you think?
mrjive
  last edited: Thu, 01 Feb 2018 04:23:12 -0500  
Also, it seems that connection approval is not sync'd, since on my first hub I have for example @kris contact since like a week and on my clone now I see the pending connection.
Mike Macgirvin
  
Connection approval is synced.

Perhaps the clone delivery failed when you had issues with git recently. We only attempt delivery for any given message for 3 days.
mrjive
  last edited: Fri, 02 Feb 2018 01:57:02 -0500  
Ah ok thanks Mike

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: https://deadsuperhero.com/articles/dsh/suggestions-happier-life

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.
mrjive
  
Just for the record: I didn't !

Herbert testet Hubzilla
  
Hi !Hubzilla Development
I wanted to contribute a very small translation fix in German (one character - just to exercise ;-)), and I've already a transifex account.
The string I'm searching is located in both messages.po and hmessages.po. Is messages.po still in use, i.e. the string should be fixed in both files, or is it sufficient to do the changes in hmessages.po only?
Herbert testet Hubzilla
  
Oh, I'm git-aware, that's not the problem. Will see if I can find the translation team leader.
Mike Macgirvin
  
Assuming de (I didn't ask), @phellmes  has submitted many of the most recent de checkins. I'd start there.
phellmes
 
Hi Herbert, I just saw this thread while checking out your channel after you connected.
Yes - I'm doing a pull request with the updated hmessages.po (and the converted and tested hstrings.php) for DE every time a new stable release is in its test phase (branched out from dev). So everything that has changed in there up to then will go live with the final release.

Haakon Meland Eriksen (Parlementum)
  last edited: Mon, 29 Jan 2018 09:45:26 -0500  
@openshift3haakon @openshift3haakon - are you getting this over at Hubzilla on OpenShift 3? Perhaps the @Hubzilla Development+ network is interested in this too? :-)
Mike Macgirvin
  
It's basically the rather long hostname - which is represented twice in the permalink and throws it over when combined with the 64 char hash. As @Mario Vavti suggests, we would probably need to turn off indexes for the plink column; and then we would also need to increase the size to 255 for all Hubzilla sites so that they don't get errors when they import your posts.

A short term workaround would be to shorten the part of the hostname that is under your control.
Haakon Meland Eriksen (Parlementum)
  
I think I can shorten both the namespace and the host part, I will give it a try later - thanks.
Haakon Meland Eriksen (Parlementum)
  last edited: Wed, 31 Jan 2018 01:14:36 -0500  
http://zot.e4ff.pro-eu-west-1.openshiftapps.com is the new route. Edit:  this seems to have lost its config.

I found no easy way to change the route after creation of the original container, and ended up deleting everything and started over. No need to change the plink column with a shorter route name.

Insecure note: HTTP and not HTTPS as Hubzilla's setup does not allow the cert included with OpenShift v3, you will have to supply your own.

M. Dent
 
Howdy all -

So - the major skeleton is there.  Some UI and "administrative" stuff to be done, but I think there is enough done that others can begin to dig and play a bit.

Anyone wanting to take a look can look at the dev repository on github:https://github.com/dentm42/dm42-hubzilla-addons/tree/dev" target="_blank" rel="nofollow noopener" > https://github.com/dentm42/dm42-hubzilla-addons/tree/dev  -  No real docs to speak of other than info for developers - so it certainly isn't ready to plug-and-play by any stretch of the imagination.

Right now there is a manual payments module and a test catalog that will give hints as to how things work.  I believe all the important hooks are implemented and functional.  NOTE: There are no administrative tools (for checking/updating/looking at history of orders, nor for marking "manual payment" orders as actually paid) for either customers or the "shop owner".

Pull requests will be entertained (and welcomed!).

PRELIMINARY docs (list of available hooks) available at:

https://hub.webgoeslocal.net/wiki/hubcart/Documentation/Home

I'm way over the amount of time I had budgeted for this and have some other projects that seriously need attention, but I will attempt to plug away further as I am able.  Of course, if anyone wants to contribute expertise and/or some additional code, I certainly won't object (hint, hint).

Also - if there's any info/tutorial/whatever available anywhere on how to "package" an addon like this (or if someone would like to volunteer to deal with the packaging), that'd be great.  At the very least - info about how to make it easy to install/update custom addons would be appreciated.
Andrew Manning
  
The "cart" addon source code I've browsed so far does not do anything outside the hub on which it is installed (although my examination is not complete so maybe I missed something). It does not sync payment or order data across clones. This addon provides a mechanism for payments to be made for things in a way that is useful to a hub. @M. Dent 's wiki page shows an example where you could write a secondary addon that provides someone more disk space if they have paid for it. The paying part of the process is handled by his plugin, which then passes control to your secondary addon that would actually allocate the additional disk space to the buyer.

The decentralization supported here is simply providing a way for people to pay for things in Hubzilla, where nomadic identity allows remote channels to authenticate to the hub they are doing transactions with. The centralized part of this process would typically be the payment method itself; however the payment gateway system he made is modular and can support many payment methods. You could create a secondary addon to handle payments made with bitcoin for example.

@M. Dent is my answer correct? Am I understanding what this addon does?
Sean Tilley
  
It'd be interesting to develop additional add-ons to implement various methods of payment. For example, maybe one of them could leverage Stripe's API, whereas a different one leverages Coinbase for Bitcoin payments.
M. Dent
  last edited: Wed, 31 Jan 2018 23:04:01 -0500  
@Andrew Manning You have it exactly right - perhaps with one caveat (see below)

@Sean Tilley That's the intent - to be entirely modular and allow people to "hook in" with whatever payment gatway they wish ... Coinbase / Bitshares / Blockchain / Bitpay / Paypal / Stripe --- if it has a PHP SDK, it should be relatively easy to write an addon for it.

The one thing the base module currently does NOT have is a "subscription" system - but again - the basic invoice/payment system exists, so it is possible to "bolt on" a subscription module.

Also, in addition to allowing the hub admin to have a "shop" for hub related "products" (disk space, extra features, etc.)  it is designed so that each user could potentially host their own shop on a given hubzilla instance.   Of course, a "producer" that interacted with the hubzilla system itself (eg, granting extra disk space - [or even granting access to the shopping cart functionality or other plugins]) should be restricted to a specific whitelisted group of accounts in some manner - preferably configurable in the system configuration.  But, the overall architecture would allow other plugins (a interface to a print-on-demand publisher like LULU or TREPSTAR CD/DVD duplication, or LOB postcards, for example) to be configured on a per-user basis on the hub.  Same thing with payment gateways - a properly coded gateway would retrieve it's API keys or whatever it needs from the user configuration rather than the system configuration.

There are other variations, of course, depending on how complex one would like to make the addons.  For example, a hub could itself be the store and allow individual users on the system to set up customized boutiques offering the products sold by the hub.  It could be coded so that the user's shop buys from the hub and determines it's own markup - or it could be sold at a consistent price by all the shops on the hub, but the "boutique owner" get's a % as an "affiliate fee" or something.

Of course, each of these has its pluses and minuses - but the aim for the addon I designed is to be flexible and extensible to make any of these possible by writing code that "hooks" into the addon I wrote so a dev would only need to deal with the ADDED logic and not recreate the basics of ordering and payment.  If you're familiar with WORDPRESS plugins - think of this as the core WOOCOMMERCE plugin that you add additional functionality to depending on your specific goals and aims.

It should even be possible to write an addon that gives paid access to download software/digital goods or perhaps even access a certain wiki or forum for paying customers (for support for example) - all without having each such application recreate the basic wheel of invoice/payment functionality - "just" hook into the catalog/order and fulfillment hooks and you're done.
King Emir#
 Basel,  last edited: Tue, 30 Jan 2018 07:44:10 -0500  
@Hubzilla Development+ What's the reason for allowing only #bbcode text #formatting and not #markdown text formatting in hubzilla? I think there are some reasons. It would be nice to hear them. Since formatting a #list using bbcode is more cumbersome than using markdown. Maybe another solution could also be a symbol in the user interface to transform selected text into a list... Big up to all hubzilla developpers! Great work!
Mario Vavti
  
In dev branch the markdown feature moved to a plugin. If you are using something prior to 3.1 just enable the markdown feature in /settings/features
Mike Macgirvin
  
You can use markdown if you want. For 3.0.x (e.g. 'master') you can enable it in your features. For future releases (e.g. 'dev') we've moved it to a plugin and the admin would need to install it first.

What is the reason for choosing bbcode first? It's tag based and provides better support for multi-media, and we can ensure the code produced is not executable - which is a *critical* security consideration in a decentralised social environment. Preventing code execution with markdown is incredibly complicated, because the spec permits it.

Andrew Manning
  
I'm trying to add an additional screen to the hub installation process where we ask the admin if they would like to install the PHPmailer addon and configure and test it before completing the hub installation process. This will be optional but will stress the importance of a functional email system for the hub.

If anyone is interested in following or contributing to this work, see https://github.com/anaqreon/hubzilla/tree/install-email. I'll be asking for help on this one.

!Hubzilla Development
Mike Macgirvin
  last edited: Sun, 28 Jan 2018 01:19:16 -0500  
Was only half joking. Email config is hard. You'll never finish. Never. We did a passable job at Netscape after spending about 30M and had a team of several hundred full time workers getting paid big bucks and stock options.
Andrew Manning
  
You must not realize just how amazing I am, Mike. It's understandable. Most people don't.

My goal is pretty simple, really. I only want to offer the option to conveniently configure SMTP at installation time using the plugin we already have in the official addons. I'm drawing inspiration from Discourse, where they have a list of recommended email providers and encourage admins to configure email properly before they do anything else. I'm not saying the Hubzilla project should endorse these providers, but for those admins who are installing a hub with hopes of advertising the platform and welcoming newcomers to Hubzilla, it would be helpful if the most critical component of the registration process didn't fail for 50% of registrants.

If you still think it's a waste of time in this context, then I'll defer to your experience because I could easily be naive here. I haven't gotten much further than making another installation screen and adding to the switch statements anyway.
kris
  last edited: Sun, 28 Jan 2018 14:00:22 -0500  
@Andrew Manning  How about already installed hub ? Are you improving the plugin to help configuring ?

Is it possible to check "Verify Email Addresses" only if the server is correctly installed. I mean to create something like Mike said (half joking) if the admin could validate something and then he could put on this option.

Otherwise is it possible to create an account but the admin know that this email is not validated. That means that maybe the email is not valide and maybe the email does not receive notification from the serveur. But it should be block account creation.

If the email is not validate the account should still works.


Why do we really need email validation ? To be sure user receive notification. That is the only reason. We can live without email notification. It is not best but it is kind of comfort. If you go back regularly you have other notification.

Mario Vavti
  
I implemented caching for notifications which persist browser page reloads. This has the advantage that we don't need to wait for notifications to load after we open a new page. The disadvantage is that in some situations the chached results can be outdated (they will be updated only after the notification section is opened).

Not sure if this feature is useful or annoying... What do you think?

!Hubzilla Development
Mario Vavti
  
Cached notifications are displayed, page loads, notifications get refreshed. What do you think?

That is exactly how it works :smile_cat:
mrjive
  
So, I don't see any problems ;)
Mario Vavti
  
Hm... After recent sql query optimisations there might be no need for chaching anymore though :astonished:

kris
  last edited: Wed, 24 Jan 2018 05:57:38 -0500  
@Hubzilla Development+

As I used webpage recently, Can I share remarks.  Ergonomy remarks or non logic. You clic create but the button create is still here. If you clic a second time you can loose your work.  And other remarks.





Image/photo
Mike Macgirvin
  last edited: Thu, 25 Jan 2018 19:32:59 -0500  
Possibly more important is that the bbcode markup buttons are present when a different content type is selected. This may be a regression because I'm reasonably certain this once provided a simple text area with no buttons on different content types  but I don't know exactly how long ago.

Anyway I was going to comment on the need to have the content type selector at the top to decide whether to show the markup buttons prior to content creation; but testing it revealed this also needs looking at.

[Edit: BTW, your created page isn't gone when you click Create again. It is just collapsed so you can look at other parts of the page - most tabs and menus do this. Click it yet again and you're right back where you left off. ]
Mario Vavti
 
Possibly more important is that the bbcode markup buttons are present when a different content type is selected.

This is implemented serverside. If you save a page as html content type you will not see bbcode buttons anymore.
kris
  last edited: Fri, 26 Jan 2018 08:30:11 -0500  
Yes Mike I noticed that too but as I didn't change the content type for real use I forget that. The create button surprise me.


If you are logic.  You click create
...
You feel the form and then click create

and you loose your work. No Sorry ...
I ckeck the second create close the form or hide it. But it did not create the page.
Mario Vavti
  
I wonder if we can setup some automated federation testing somehow :frog:
@Hubzilla Development+
Mario Vavti
  last edited: Tue, 16 Jan 2018 07:59:20 -0500  
Sigh... I counted on you @Manuel :wink:
Haakon Meland Eriksen (Parlementum)
  last edited: Tue, 16 Jan 2018 10:34:40 -0500  
Selenium IDE does not work after Firefox 55, but Katalon wants to be its successor.

Edit: closed source.

Katalon Studio: Best automated testing tool for web, mobile, API

Image/photo



Built on the top of Selenium and Appium, Katalon Studio is a free and powerful automated testing tool for web testing, mobile testing, and API testing.
Andrew Manning
  
If you create a virtual machine with instances of hubs as well as the target federation server types (mastodon, diaspora, GNU social, etc), I would think you could completely control your little virtual federated web between them. Domain names would be assigned by the host as we do in the hubzilla-vagrant repo. You could trigger an action on one server and monitor the response on the other federation nodes easily. VM snapshots would let you reset at will to avoid "hysteresis" confusing your analysis.

kris
  
@Hubzilla Development+

I just notice that my hub didn't accept contact from mastodon contact since my last upgrade to hubzilla 3
I try do unabled the pubcrawl plugin and.... surprise I can.

So I keep it desactivated in order to make open mastodon.
kris
  
Juste an additional information. I can see the mastodon contact but at mastodon, there is nothing.
Mario Vavti
 
Works for me in both directions. Just tested...

M. Dent
  
@Hubzilla Development+

Hey all, just curious what folks are using for tools in development.  I'm looking at switching IDE's (I'm still in the stone ages... I did step up from VIM - but it was more like a half-step to a glorified version of gedit - actually - "Geany" with no addons if you really want to know).

So... looking for thoughts and recommendations - I end up coding in several languages and will be adding one or two (glutton for punishment).  Mostly PHP, but also some Perl, NodeJS, and looking at some stuff in Go that I might need to do...  Oddly, haven't coded anything in C lately... hmm....

Anyway - if you have thoughts or suggestions... I'm looking for them.  Thanks!
Haakon Meland Eriksen (Parlementum)
  
Seems fish is still a thing. :-)

fish://{username[:password]}@{domain}/{path}
Mike Macgirvin
  
Emacs and a browser. Vi if there's nothing better. Ed/ex/edlin if there's nothing better. cat/type > file if there is nothing better (don't laugh, I've had to use this on fibre router firmware recently).
tyler
 
I use vscode in GUI and micro on the console

Haakon Meland Eriksen (Parlementum)
  
@Hubzilla Development+ I use Redmine project management tool, recently with a Portuguese plugin for portfolio management. However, this plugin has two minor issues - https://github.com/marcus-sacramento-redmine/redmine_portfolio_management/issues/34 . Are there Ruby on Rails developers out there amongst you Hubzilla developers - preferably with PostgreSQL skills too?