Overview

While many features and capabilities of Hubzilla are familiar to people who have used social networking sites and blogging software, there are also quite a few new concepts and features that most people have not encountered before. Some of the new ideas are related to the decentralized nature of the grid; others are associated with the advanced permissions system that is necessary to protect your data privacy. The purpose of this guide is to help you understand how to create, configure, and use your nomadic identity.

Registration

Not all Hubzilla sites allow open registration. If registration is allowed, you will see a "Register" link immediately below the login prompts on the site home page. Following this link will take you to the site Registration page. On some sites it may redirect you to another site which allow registrations. As all Hubzilla sites are linked, it does not matter where your account resides.

Your Email Address

Please provide a valid email address. Your email address is never published. This address will be used to activate your account, to (optionally) send email notifications for incoming messages or items, and to recover lost passwords.

Password

Enter a password of your choice, and repeat it in the second box to ensure it was typed correctly. As Hubzilla offers a decentralised identity, your account can log you in to many other websites.

Terms Of Service

Click the link to read the site's Terms of Service. Once you've read them, tick the box in the register form to confirm.

Register

Once you have provided the necessary details, click the 'Register' button. Some sites may require administrator approval before the registration is processed, and you will be alerted if this is the case. Please watch your email (including spam folders) for your registration approval.

Create a Channel

Next, you will be presented with the "Add a channel" screen. Normally, your first channel will be one that represents you - so using your own name (or psuedonym) as the channel name is a good idea. The channel name should be thought of as a title, or brief description of your channel. The "choose a short nickname" box is similar to a "username" field. We will use whatever you enter here to create a channel address, which other people will use to connect to you, and you will use to log in to other sites. This looks like an email address, and takes the form nickname@siteyouregisteredat.xyz

When your channel is created you will be taken straight to your settings page where you can define permissions, enable features, etc. All these things are covered in the appropriate section of the helpfiles.

See Also
The Basics about Identities within Hubzilla
Accounts
Profiles
Permissions
Remove Account

Profiles

Hubzilla has unlimited profiles. You may use different profiles to show different "sides of yourself" to different audiences. This is different to having different channels. Different channels allow for completely different sets of information. You may have a channel for yourself, a channel for your sports team, a channel for your website, or whatever else. A profile allows for finely graded "sides" of each channel. For example, your default public profile might say "Hello, I'm Fred, and I like laughing". You may show your close friends a profile that adds "and I also enjoy dwarf tossing".

You always have a profile known as your "default" or "public" profile. This profile is always available to the general public and cannot be hidden (there may be rare exceptions on privately run or disconnected sites). You may, and probably should restrict the information you make available on your public profile.

That said, if you want other friends to be able to find you, it helps to have the following information in your public profile...



In addition, if you'd like to meet people that share some general interests with you, please take a moment and add some "Keywords" to your profile. Such as "music, linux, photography" or whatever. You can add as many keywords as you like.

To create an alternate profile, first go to Settings > Additional Features and enable "Multiple Profiles" there, otherwise you won't have the ability to use more than just your default profile.

Then select "Edit Profiles" from the menu of your Hubzilla site. You may edit an existing profile, change the profile photo, add things to a profile or create a new profile. You may also create a "clone" of an existing profile if you only wish to change a few items but don't wish to enter all the information again. To do that, click on the profile you want to clone and choose "Clone this profile" there.

In the list of your profiles, you can also choose the contacts who can see a specific profile. Just click on "Edit visibility" next to the profile in question (only available for the profiles that are not your default profile) and then click on user images to add them to or remove them from the group of people who can see this profile.

Once a profile has been selected, when the person views your profile, they will see the private profile you have assigned. If they are not authenticated, they will see your public profile.

There is a setting which allows you to publish your profile to a directory and ensure that it can be found by others. You can change this setting on the "Settings" page.

If you do not wish to be found be people unless you give them your channel address, you may leave your profile unpublished.

Keywords and Directory Search

On the directory page, you may search for people with published profiles. Currently, only the name field and the keywords are searched.  You may also include such keywords in your default profile - which may be used to search for common interests with other members. Keywords are used in the channel suggestion tool and although they aren't visible in the directory, they are shown if people visit your profile page.

On your Connnections page and in the directory there is a link to "Suggestions" or "Channel Suggestions", respectively. This will find channels who have matching and/or similar keywords. The more keywords you provide, the more relevant the search results that are returned. These are sorted by relevance.

See Also

Advanced Searching

Channels

What are channels?

Channels are simply collections of content stored in one place. A channel can represent anything. It could represent you, a website, a forum, photo albums, anything. For most people, their first channel with be "Me".

The most important features for a channel that represents "me" are:

In short, a channel that represents yourself is "me, on the internet".

Creating channels



You will be required to create your first channel as part of the sign up process. You can also create additonal channels from the "Select channel" link.

You will be asked to provide a channel name, and a short nick name. For a channel that represents yourself, it is a good idea to use your real name here to ensure your friends can find you, and connect to your channel. The short nickname will be used to generate a "webbie". This is a bit like a username, and will look like an email address, taking the form nickname@domain. You should put a little thought into what you want to use here. Imagine somebody asking for your webbie and having to tell them it is "llamas-are_kewl.123". "llamasarecool" would be a much better choice.

Once you have created your channel, you will be taken to the settings page, where you can configure your channel, and set your default permissions.

Once you have done this, your channel is ready to use. At [observer=1][observer.url][/observer][observer=0]example.com/ channel/username[/observer] you will find your channel "stream". This is where your recent activity will appear, in reverse chronological order. If you post in the box marked "share", the entry will appear at the top of your stream. You will also find links to all the other communication areas for this channel here. The "About" tab contains your "profile", the photos page contain photo albums, and the events page contains events share by both yourself and your contacts.

The grid, permissions and delegation



The "Grid" page contains all recent posts from across Hubzilla network, again in reverse chronologial order. The exact posts that appear here depend largely on your permissions. At their most permissive, you will receive posts from complete strangers. At the other end of the scale, you may see posts from only your friends - or if you're feeling really anti-social, only your own posts.

As mentioned at the start, many other kinds of channel are possible, however, the creation procedure is the same. The difference between channels lies primarily in the permissions assigned. For example, a channel for sharing documents with colleagues at work would probably want more permissive settings for "Can write to my "public" file storage" than a personal account. For more information, see the permissions section.

You can also delegate control of your channels' posts and connections, but not its configurations, to another channel. That is done by editing a connection and assigning it the permission to administer your channel's resources.

Account Permission Roles

Social

Mostly Public

The channel is a typical social networking profile. By default posts and published items are public, but one can over-ride this when creating the item and restrict it. You are listed in the directory. Your online presence and connections are visible to others.

Restricted

By default all posts and published items are sent to your 'Friends' privacy group and not made public. New friends are added to this privacy group. You can over-ride this and create a public post or published item if you desire. You are listed in the directory. Your online presence (for chat) and your connections (friends) are visible to your profile viewers.

Private

By default all posts and published items are sent to your 'Friends' privacy group. New friends are added to this privacy group. You can over-ride this and create a public post or public item if you desire. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden.

Forum

Mostly Public

The channel is a typical forum. By default posts and published items are public. Members may post by @mention+ or wall-to-wall post. Posting photos and other published items is blocked. The channel is visible in the directory. Members are added automatically.

Restricted

By default all posts and published items are sent to the channel's 'Friends' privacy group. New friends are added to this privacy group. Members may post by @mention+ or wall-to-wall post, but posts and replies may also be seen by other receipients of the top-level post who are not members. The channel is visible in the directory. Members must be manually added by the forum owner.

Private

By default all posts and published items are sent to your 'Friends' privacy group. New friends are added to this privacy group. The owner can over-ride this and create a public post or public item if desired. Members cannot. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden. Members must be manually added by the forum owner. Posting by @mention+ is disabled. Posts can only be made via wall-to-wall posts, and sent to members of the 'Friends' privacy group. They are not publicly visible.

Feed

Public

Similiar to Social - Mostly Public, but tailored for RSS feed sources. Items may be freely republished and sourced. Online presence is meaningless, therefore hidden. New connections are automatically approved.

Restricted

Not listed in directory. Online presence is meaningless, therefore hidden. Feed is published only to members of the 'Friends' privacy group. New connections are automatically added to this privacy group. Members must be manually approved by the channel owner.

Special

Celebrity/Soapbox

Listed in directory. Communications are by default public. Online presence is hidden. No commenting or feedback of any form is allowed, though connections have the ability to "like" your profile.

Group Repository

A public forum which allows members to post files/photos/webpages.

Custom/Expert Mode

Set all the privacy and permissions manually to suit your specific needs.

Connecting To Channels

Connections in Hubzilla can take on a great many different meanings. But let's keep it simple, you want to be friends with somebody like you are familiar with from social networking. How do you do it?

First, you need to find some channels to connect to. There are two primary ways of doing this. Firstly, setting the "Can send me their channel stream and posts" permission to "Anybody in this network" will bring posts from complete strangers to your matrix. This will give you a lot of public content and should hopefully help you find interesting, entertaing people, forums, and channels.

The next thing you can do is look at the Directory. The directory is available on every Hubzilla website which means searching from your own site will bring in results from the entire network. You can search by name, interest, location and keyword. This is incomplete, so we'll improve this paragraph later.

To connect with other Hubzilla channels:

Visit their profile by clicking their photograph in the directory, matrix, or comments, and it will open their channel home page in the channel viewer. At the left hand side of the screen, you will usually see a link called "connect". Click it, and you're done. Depending on the settings of the channel you are connecting to, you may need to wait for them to approve your connection, but no further action is needed on your part. Once you've initiated the connection, you will be taken to the connection editor. This allows you to assign specific permissions for this channel. If you don't allow any permissions, communication will be very limited. There are some quick links which you can use to avoid setting individual permissions. To provide a social network environment, "Full Sharing" is recommended. You may review the settings that are applied with the quick links to ensure they are suitable for the channel you are connecting with and adjust if necessary. Then scroll to the bottom of the page and click "Submit".

You may also connect with any channel by visiting the "Connections" page of your site or the Directory and typing their "webbie" into the "Add New Connection" field. Use this method if somebody tells you their webbie and you wish to connect with them. A webbie looks like an email address; for example "bob@example.com". The process is the same as connecting via the "Connect" button - you will then be taken to the connection editor to set permissions.

Block/Ignore/Archive/Hide channels

Channels in your address book can have statuses such as blocked, ignored, archived and hidden. From your connections page you can see tabs that display the channels with those statuses. From your edit connection pages you can change the statuses of a channel.

Here's their meaning:

Blocked: the channel can't read your items regardless of permissions, nor can it write to your channel.

Ignored: the channel can read your items if it has permission, but can't write to your channel.

Hidden: the channel does not show up in your profile's connections list, noone can see you're connected, but beware they may still show up to your other connections, for example in post replies.

Archived: if a channel can't be reached for 30 days, it is automatically marked as archived. This keeps all the data but stops polling the channel for new information and removes it from autocomplete. If later you learn the channel has come back online, you may manually unarchive it.

Premium Channels

Some channels are designated "Premium Channels" and may require some action on your part before a connection can be established. The Connect button will for these channels will take you to a page which lists in detail what terms the channel owner has set. If the terms are accepted, the connection will then proceed normally. In some cases, such as with celebrities and world-reknowned publishers, this may involve payment. If you do not agree to the terms, the connection will not proceed, or it may proceed but with reduced permissions allowed on your interactions with that channel.

Permissions and Access Control


Permissions in Hubzilla are more complete than you may be used to. This allows us to define more fine graded relationships than the black and white "this person is my friend, so they can do everything" or "this person is not my friend, so they can't do anything" permissions you may find elsewhere.

Permission Roles

When you create a channel we allow you to select different 'roles' for that channel. These create an entire family of permissions and privacy settings that are appropriate for that role. Typical roles are "Social - mostly public", "Social - mostly private", "Forum - public" and many others. These bring a level of simplicity to managing permissions. Just choose a role and appropriate permissions are automatically applied. You can also choose 'Custom/Expert mode' and change any individual permission setting in any way you desire.


Default Permission Limits

There are a large number of individual permissions. These control everything from the ability to view your stream to the ability to chat with you. Every permission has a limit. The scope of these permissions varies from "Only me" to "Everybody on the internet" - though some scopes may not be available for some permissions. The limit applies to any published thing you create which has no privacy or access control. For example if you publish a photo and didn't select a specific audience with permission to view it, we apply the limit. These limits apply to everything within that permission rule, so you cannot apply a limit to one photo. The limit applies to all your photos. If all your photos are visible to everybody on the internet and you reduce the limit only to friends, all of your photos will now be visible only to friends.

Access Control

Access Control is the preferred method of managing privacy in most cases, rather than using permission limits. This creates lists of either connections or privacy groups (or both) and uses the access list to decide if a permission is allowed. An access list is attached to everything you publish. Unlike permission limits, if you change the access control list on a single photo, it doesn't affect any of your other photos. You can use privacy groups and a "default access control list" to create and automate the management of access control lists to provide any level of privacy you desire on anything you publish.

We highly recommend that you use the "typical social network" settings when you create your first channel, as it allows others to communicate with you and help you out if you have difficulty. You will find that these settings allow you as much privacy as you desire - when you desire it; but also allow you to communicate in public if you choose to. You are free to use much more private settings once you have learned your way around.


The scopes of permissions are:

Nobody Except Yourself
This is self explanatory. Only you will be allowed access.
  
Only those you specifically allow
By default, people you are not connected to, and all new contacts will   have this permission denied. You will be able to make exceptions for individual channels on their contact edit   screen.
  
Anybody in your address book
Anybody you do not know will have this permission denied, but anybody you   accept as a contact will have this permission approved. This is the way most legacy platforms handle   permissions.
  
Anybody On This Hub
Anybody with a channel on the same hub/website as you will have permission approved. Anybody who is registered at a different hub will have this permission denied.
  
Anybody in this network
Anybody in Hubzilla will have this permission approved. Even complete   strangers. However, anybody not logged in/authenticated will have this permission denied.
  
Anybody authenticated
This is similar to "anybody in this network" except that it can include anybody   who can authenticate by any means - and therefore may include visitors from other networks.
  
Anybody on the internet
Completely public. This permission will be approved for anybody at all.

The individual permissions are:

Can view my "public" stream and posts.
This permision determines who can view your channel "stream" that is, the non-private posts that appear on the "home" tab when you're logged in.

Can view my "public" channel profile.
This permission determines who can view your channel's profile. This refers to the "about" tab

Can view my "public" photo albums.
This permission determines who can view your photo albums. Individual photographs may still be posted to a more private audience.

Can view my "public" address book.
This permission determines who can view your contacts. These are the connections displayed in the "View connections" section.

Can view my "public" file storage.
This permission determines who can view your public files stored in your cloud.

Can view my "public" pages.
This permission determines who can view your public web pages.

Can send me their channel stream and posts.
This permission determines whose posts you will view. If your channel is a personal channel (ie, you as a person), you would probably want to set this to "anyone in my address book" at a minimum. A personal notes channel would probably want to choose "nobody except myself". Setting this to "Anybody in the network" will show you posts from complete strangers, which is a good form of discovery.

Can post on my channel page ("wall").
This permission determines who can write to your wall when clicking through to your channel.

Can comment on my posts.
This permission determines who can comment on posts you create. Normally, you would want this to match your "can view my public stream and posts" permission

Can send me private mail messages.
This determines who can send you private messages (zotmail).

Can post photos to my photo albums.
This determines who can post photographs in your albums. This is very useful for forum-like channels where connections may not be connected to each other.

Can forward to all my channel contacts via post tags.
Using @- mentions will reproduce a copy of your post on the profile specified, as though you posted on the channel wall. This determines if people can post to your channel in this way.

Can chat with me (when available).
This determines who can join the public chat rooms created by your channel.

Can write to my "public" file storage.
This determines who can upload files to your public file storage, or 'cloud'.

Can edit my "public" pages.
This determines who can edit your webpages. This is useful for wikis or sites with multiple editors.

Can administer my channel resources.
This determines who can have full control of your channel. This should normally be set to "nobody except myself".

Note:
Plugins/addons may provide special permission settings, so you may be offered additional permission settings beyond what is described here.

If you have set any of these permissions to "only those I specifically allow", you may specify indivudal permissions on the connnection edit screen.

Affinity

The connection edit screen offers a slider to select a degree of friendship with the connnection (this tool is enabled through the "Extra Features" tab of your Settings page). Think of this as a measure of how much you like or dislike them. 1 is for people you like, whose posts you want to see all the time. 99 is for people you don't care for, and whose posts you might only wish to look at occasionally. Once you've assigned a value here, you can use the affinity tool on the matrix page to filter content based on this number.

The slider on the matrix page has both a minimum and maximum value. Posts will only be shown from people who fall between this range. Affinity has no relation to permissions, and is only useful in conjunction with the affinity tool feature.

Cloud Storage



Hubzilla provides an ability to store privately and/or share arbitrary files with friends.

You may either upload files from your computer into your storage area, or copy them directly from the operating system using the WebDAV protocol.

On many public servers there may be limits on disk usage.

File Attachments

The quickest and easiest way to share files is through file attachments. In the row of icons below the status post editor is a tool to upload attachments. Click the tool, select a file and submit. After the file is uploaded, you will see an attachment code placed inside the text region. Do not edit this line or it may break the ability for your friends to see the attachment. You can use the post permissions dialogue box or privacy hashtags to restrict the visibility of the file - which will be set to match the permissions of the post your are sending.

To delete attachments or change the permissions on the stored files, visit [baseurl]/cloud/[observer.webname]".

Web Access

Your files are visible on the web at the location "cloud/[observer.webname]" to anybody who is allowed to view them. If the viewer has sufficient privileges, they may also have the ability to create new files and folders/directories.

WebDAV access

See: Cloud Desktop Clients

Permissions

When using WebDAV, the file is created with your channel's default file permissions and this cannot be changed from within the operating system. It also may not be as restrictive as you would like. What we've found is that the preferred method of making files private is to first create folders or directories; then visit "filestorage/[observer.webname]"; select the directory and change the permissions. Do this before you put anything into the directory. The directory permissions take precedence so you can then put files or other folders into that container and they will be protected from unwanted viewers by the directory permissions. It is common for folks to create a "personal" or "private" folder which is restricted to themselves. You can use this as a personal cloud to store anything from anywhere on the web or any computer and it is protected from others. You might also create folders for "family" and "friends" with permission granted to appropriate privacy groups.

Cloud Desktop Clients

Windows Clients

Windows Internal Client

RedDav using Windows 7 graphical user interface wizard:
1. Left-click the Start-button to open the start menu.
2. Right-click the My computer icon to access its menu.
3. Left-click Map network drive... to open the connection dialog wizard.
4. Type #^https://example.net/dav/ your_channel_name in the textbox and click the Complete button where "example.net" is the URL of your hub.
5. Type your Hubzilla account's user name. IMPORTANT - NO at-sign or domain name.
6. Type your Hubzilla password

Linux Clients

Mounting As A Filesystem

To install your cloud directory as a filesystem, you first need davfs2 installed.  99% of the time, this will be included in your distributions repositories.  In Debian

apt-get install davfs2

If you want to let normal users mount the filesystem

dpkg-reconfigure davfs2

and select "yes" at the prompt.

Now you need to add any user you want to be able to mount dav to the davfs2 group

usermod -aG davfs2 <DesktopUser>

Note: on some systems the user group may be different, i.e. - "network"
on Arch Linux. If in doubt, check the davfs documentation for your
particular OS.

Edit /etc/fstab

nano /etc/fstab

to include your cloud directory by adding


[baseurl]/dav/ /mount/point davfs user,noauto,uid=<DesktopUser>,file_mode=600,dir_mode=700 0 1


Where [baseurl] is the URL of your hub, /mount/point is the location you want to mount the cloud, and <DesktopUser> is the user you log in to one your computer.  Note that if you are mounting as a normal user (not root) the mount point must be in your home directory.

For example, if I wanted to mount my cloud to a directory called 'cloud' in my home directory, and my username was bob, my fstab would be

[baseurl]/dav/ /home/bob/cloud davfs user,noauto,uid=bob,file_mode=600,dir_mode=700 0 1

Now, create the mount point.

mkdir /home/bob/cloud

and also create a directory file to store your credentials

mkdir /home/bob/.davfs2

Create a file called 'secrets'

nano /home/bob/.davfs2/secrets

and add your cloud login credentials


[baseurl]/dav <username> <password>


Where <username> and <password> are the username and password for your hub.

Don't let this file be writeable by anyone who doesn't need it with

chmod 600 /home/bob/.davfs2/secrets

Finally, mount the drive.

mount [baseurl]/dav

You can now find your cloud at /home/bob/cloud and use it as though it were part of your local filesystem - even if the applications you are using have no dav support themselves.

Troubleshooting

With some webservers and certain configurations, you may find davfs2 creating files with 0 bytes file size where other clients work just fine.  This is generally caused by cache and locks.  If you are affected by this issue, you need to edit your davfs2 configuration.

nano /etc/davfs2/davfs2.conf

Your distribution will provide a sample configuration, and this file should already exist, however, most of it will be commented out with a # at the beginning of the line.  

First step is to remove locks.

Edit the use_locks line so it reads use_locks 0.

Unmount your file system, remount your file system, and try copying over a file from the command line.  Note you should copy a new file, and not overwrite an old one for this test.  Leave it a minute or two then do ls -l -h and check the file size of your new file is still greater than 0 bytes.  If it is, stop there, and do nothing else.

If that still doesn't work, disable the cache.  Note that this has a performance impact so should only be done if disabling locks didn't solve your problem.  Edit the cache_size and set it to cache_size 0 and also set file_refresh to file_refresh 0.  Unmount your filesystem, remount your file system, and test it again.

If it still doesn't work, there is one more thing you can try.  (This one is caused by a bug in older versions of dav2fs itself, so updating to a new version may also help).  Enable weak etag dropping by setting drop_weak_etags 1.  Unmount and remount your filesystem to apply the changes.

Dolphin

Visit webdavs://example.com/dav where "example.com" is the URL of your hub. When prompted for a username and password, enter your channel name (the first part of your webbie - no @ or domain name) and password for your normal account. Note, if you are already logged in to the web interface via Konqueror, you will not be prompted for further authentication.

Konqueror

Simply visit webdavs://example.com/cloud after logging in to your hub, where "example.com" is the URL of your hub. No further authentication is required if you are logged in to your hub in the normal manner. Additionally, if one has authenticated at a different hub during their normal browser session, your identity will be passed to the cloud for these hubs too - meaning you can access any private files on any server, as long as you have permissions to see them, as long as you have visited that site earlier in your session. This functionality is normally restricted to the web interface, and is not available to any desktop software other than KDE.

Nautilus

1. Open a File browsing window (that's Nautilus)
2. Select File > Connect to server from the menu
3. Type davs://<domain_name>/dav/<your_channelname> and click Connect
4. You will be prompted for your channel name (same as above) and password
5. Your personal DAV directory will be shown in the window

Nemo

For (file browser) Nemo 1.8.2 under Linux Mint 15, Cinnamon 1.8.8. Nemo ist the standard file browser there.

1st way
type "davs://<domain_name>/dav/<your_channelname>" in the address bar.

2nd way
Menu > file > connect to server
Fill the dialog
- Server: hubzilla_domain_name
- Type: Secure WebDAV (https)
- Folder: /dav
- Username: yourchannelname
- Password: yourpassword

Once open you can set a bookmark. Server Notes

Note: There have been reported issues with clients that use "chunked transfer encoding", which includes Apple iOS services, and also the "AnyClient" and "CyberDuck" tools. These work fine for downloads, but uploads often end up with files of zero size. This is caused by an incorrect implemention of chunked encoding in some current FCGI (fast-cgi) implementations. Apache running with PHP as a module does not have these issues, but when running under FCGI you may need to use alternative clients or use the web uploader. At the time of this writing the issue has been open and no updates provided for at least a year. If you encounter zero size files with other clients, please check the client notes; as there are occasional configuration issues which can also produce these symptoms.

Remove Channel or Account



Remove Channel

Go to the bottom of your channel settings page or visit the URL:

    [baseurl]/removeme

You will need to confirm your password and the channel you are currently logged into will be removed.

This is irreversible.

If you have identity clones on other hubs this only removes  by default the channel instance which exists on this hub.

Remove Account

Go to the bottom of your account settings page or visit the URL:

    [baseurl]/removeaccount
    
You will need to confirm your password and the account you are currently logged into will be removed.

This is irreversible.

All your channels will be deleted. If you have identity clones on other hubs this only removes by default the channels instances which exists on this hub.