@header@
Multi-user Blogs

By default, a single Pebble instance hosts a single blog meaning that you will need to run an additional instances to host additional blogs. The benefit of this is that blogs are isolated from one another, although having multiple web applications will use more resources. Pebble has the ability to be able to run more than a single blog from a single instance of the Pebble web application. This is Pebble's "multi-user" mode.

There are several differences to the default installation required to support this. In multi-user mode, the blog.dir represents the directory under which all blogs will be contained and before starting Pebble, a subdirectory for each blog that you would to host should be created. Also, to tell Pebble to run in multi-user mode, you need to set the blog.multiUser parameter to true. As with the single user mode, users will have to be defined with the roles blog-owner and blog-contributor as appropriate. With Pebble configured for multi-user mode and, for example, three blog directories created under blog.dir called blog1, blog2 and blog3, you should see the multi-user summary page (like the following example) in your browser when it is pointed at Pebble.

This page shows summary information for all blogs running on Pebble and links to the blogs themselves and the last three blog entries (if applicable). Clicking on any of the blog names will take you to the home page of that blog. Each individual blog works in the same way that blogs do in the single user mode, with the exception that the URLs are slightly different. Instead of http://localhost:8080/blog/ (in single user mode), each blog can be accessing through a slightly longer URL such as http://localhost:8080/blog/blog1/.

Security
An important point to mention about multi-user blogs is security. Defining a number of users with the same roles (i.e. blog-owner and blog-contributor) means that anybody with the appropriate role can access the corresponding functions on any blog. For example, if you create a unique user for each of the blog1, blog2 and blog3 blogs, the blog1 user will be able to access all of the blog owner and blog contributor functionality of blog2 and blog3. Ideally, you probably want the blog1 user to only be able to access the functions of blog1.

To achieve this, login, navigate to blog1 and click the Blog properties link. Towards the middle of the page is a Security section with two textfields. In the Blog owners textfield, simply enter a comma separated list of usernames for all those users that you would like to access the blog owner features for this blog. Similarly, enter a comma separated list of usernames for blog contributors in the Blog contributors field. In doing this, you restrict the users that can access the protected features of the blog. So, although all three users are members of the same role, only the blog1 user will be able to access the protected features of this blog.

Privacy
In multi-user mode, all blogs will automatically show up on the multi-user front page and their content will appear in the combined news feeds. To stop this from occurring you can mark your blog to be private in the
blog properties. In effect, this hides your blog and readers can still navigate directly to your blog. For a truely private, password protected blog, see Private Blogs.

Themes
Themes work in the same way as when Pebble is running in single user mode. To summarise, each blog has it's own private theme that can be customized and only this theme can be edited by blog owners through the web interface. The reason behind this is to prevent changes to themes being reflected in other blogs unknowingly. The only real difference between themes in single and multi-user modes is in the name of the custom, editable theme. In single user mode this is called custom, whereas in multi-user mode, the editable theme is named the same as the blog. For example, if the blog is accessed by the URL .../blog1/, the name of the editable theme is called blog1.

Pebble Administration
In addition to the blog-owner and blog-contributor security roles, in multi-user mode, an additional role called pebble-admin can be granted to one or more users. Users in this role will be able to perform some higher level administration tasks as follows.
  • Pebble properties : Edit the some of the details of the blog that appear on the multi-user summary page and in the RSS combined feeds.
  • Add blog : Add new blogs at runtime.

@footer@