Version 4: Helpinator Team Server

Version 4 will include among other improvements a “Team Server”, which is, well, a team server. Windows-based server app for help file authoring collaboration, and Helpinator will act as a client for this server in multi-user mode.

The Team Server will allow you to:

  • Control what actions users can perform on a project
  • Manage project activities by assigning and controlling tasks
  • Synchronize multi-user access.

The most complicated part is the user permissions system, basically it has the following entities:

  1. User
  2. Group
  3. Role

A User can be a part of no or several groups.

A Role is an abstract set of permissions like “Project Leader”, “Writer”, “Reviewer”, “Guest”. For example, “Project Leader” is able to assign tasks to writers and “Reviewer” is only capable of adding comments with all project altering features disabled.

You can assign one or more roles to a user or a group. Final set of permissions is a combinations of “grants”, e.g. everything is prohibited by default, and a user gets all grants, assigned to him, his roles and groups. Example:

Let’s say we have a “Manage TOC” role that has “Add topic”, “Delete Topic”, “Rename Topic”, “Move Topic” grants and “Writers” role that allows to alter any topic content. By default a new user has no permissions, e.g. he can not perform any actions on the project. When we assign these two roles to a new user, he becomes able to alter TOC and write content.

Why we need “Groups” in our role system? It’s just a comfortable way to organize users. You are not limited on the way you work with permissions, but the recommended approach is to define “Roles”, assign them to “Groups” and then add users to Groups, so a user does not have any directly given permissions and without being a member of a group becomes powerless.

Meanwhile you can pre-order Team Server with a 50% off using the link below: