head	1.3;
access;
symbols;
locks; strict;
comment	@# @;


1.3
date	2001.07.30.18.40.43;	author leonardr;	state Exp;
branches;
next	1.2;

1.2
date	2001.07.11.17.38.15;	author leonardr;	state Exp;
branches;
next	1.1;

1.1
date	2001.07.09.20.45.33;	author leonardr;	state Exp;
branches;
next	;


desc
@@


1.3
log
@Action cleanup. Some role actions, and Audit Log - View, had three actions apiece when one would do. We're now down to 76 actions.
@
text
@<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
 <title>Helm Actions and What They Do</title>
</head>

<body>

<h1>Helm Actions and What They Do</h1>

<p>Leonard Richardson &lt;leonardr at collab dot net&gt;<br>
July 9, 2001<br>
<small>$Id: actions.html,v 1.2 2001/07/11 17:38:15 leonardr Exp $</small>

<p>Users are able to use the capabilities of Helm and other Tigris
tools to the extent that their roles in projects give them the
apropriate Helm actions. Helm knows of about 100 actions, each of
which has a descriptive name, and each of which is described here in
some detail.

<p>To view the actions you have in a project, visit the <a
href="http://helm.tigris.org/servlets/PermissionDump">PermissionDump</a>
servlet.

<h2>Action List</h2>

<p><b>Audit Log - View:</b> If you have this action in a project, you
can view audit log entries for that project.

<p><b>Category - Add:</b> If you have this permission in a domain, you can
create a new category in the domain. If you have both this action and
the Project - Designate Subproject action in an existing category, you
can create a subcategory of the category.

<p><b>Click-through Page - Seen:</b> If you do not have this permission and the
site has enabled a boilerplate click-through, you will be redirected
to the CompulsoryClickThrough servlet and required to click-through
before you can view any other pages. Clicking through will give you
this permission.

<p><b>Domain - Administer:</b> If you have this permission in a
domain, you will see a navigation bar of admin options on
administration pages.

<p><b>Domain - Join:</b> The guest user has this permission in a
domain; it allows you, when logged in as guest, to use the Join
servlet to create a new account. The operation of this action is
subject to the ALLOW_JOIN site configuration variable.

<p><b>Domain Page - View:</b> If you have this action in a domain, you
can view the domain's content (such as the domain home page).

<p><b>DomainProjects - View:</b> Allows you to view the DomainProjects
servlet. It may be possible to get rid of this permission.

<p><b>Helm - Administer:</b> If you have this permission in the host,
you can make use of the AdminUtils, CacheDump, and TaskList servlets.

<p><b>Licenses - Administer:</b> If you have this action in a domain,
you can add a list to the licenses in that domain, edit an existing
license, or delete a license. You can only delete a license if no
projects use it.

<p><b>Mailing List - Add:</b> If you have this action in a project,
you can add a mailing list to the project.

<p><b>Mailing List - Delete:</b> If you have this action in a project,
you can delete a mailing list from the project.

<p><b>Mailing List - Edit:</b> If you have this action in a project, you can
edit a mailing lists' properties or delete a message from a mailing
list.

<p><b>Mailing List - List:</b> If you have this action in a project,
you can see the list of the project's mailing lists.

<p><b>Mailing List - List Members:</b> If you have this action in a
project, you can visit the MailingListMemebrs servlet and see the list
of users subscribed to any mailing list in the project.

<p><b>Mailing List - Subscribe Members:</b> If you have this action in
a project, you can subscribe people to any mailing list in the
project.

<p><b>Mailing List - View:</b> If you have this action in a project,
you can view all the public mailing lists in that project.

<p><b>Private Mailing List - View:</b> If you have this action in a
project, you can view all the private mailing lists in that project.

<p><b>Private Project Document - View:</b> If you have this action in
a project, you can view all the private documents in that project.

<p><b>Project - Approve:</b> If you have this action in a domain, you can
approve projects proposed by others. You can also create projects
without going through the approval step.

<p><b>Project - Associate Project:</b> If you have this action in a
category, you can associate a project with it (you must have Project -
View in the project). Similarily for project groups, but you must have
Project - Associate With Project in the project. This action currently
has no effect in non-group and non-category projects.

<p><b>Project - Associate With Project:</b> If you have this action in
a project, you can associate it with a category (you must have Project
- View in the category) or a project group (you must have Project -
Associate Project in the project group).

<p><b>Project - Delete:</b> If you have this action in a project, you
can delete the project.

<p><b>Project - Designate Subproject:</b> If you have this action in a
project, you can designate another project as its subproject (you must
have Project - Designate Superproject in the other project). This is
currently only used by project groups and categories.

<p><b>Project - Designate Superproject:</b> If you have this action in
a project, you can designate another project as its parent project (if
the other project is not a domain, you must have Project - Designate
Subproject in the other project). This is currently only used by
project groups and categories.

<p><b>Project - Edit:</b> If you have this action in a project, you
can change information about the project such as its description.

<p><b>Project - Invite:</b> If you have this action in a project, you
can use the ProjectInvite servlet to send out email invitations to
join the project.

<p><b>Project - Lock:</b> If you have this action in a project, you
can lock or unlock the project.

<p><b>Project - Suggest:</b> If you have this action in a domain, you
can suggest a new project for the domain.

<p><b>Project - View:</b> If you have this action in a project, you
can see the project in lists and otherwise know of the project's
existence. Many other project actions require this action as a
prerequisite.

<p><b>Project Content - View:</b> This action takes a resource. If you
have this action in a project, you can view webpages that match the
resource associated with your grant of the action. For instance, if
you have this role in a project with the resource ".*", you can view
every web page. If you have this role in a project with the resource
"/foo/.*", you can only view URLs in the project webspace that begin
with "/foo/".

<p><b>Project Document - Approve:</b> If you have this action in a
project, you can view unapproved documents in that project, and
approve documents for that project suggested by someone else. You can
also create documents without going through the approval
step. Similarily for document sections.

<p><b>Project Document - Delete:</b> If you have this action in a
project, you can delete any document in that project. Similarily for
sections.

<p><b>Project Document - Edit:</b> If you have this action in a
project, you can edit any document in that project.

<p><b>Project Document - Suggest:</b> If you have this action in a
project, you can create a new (unapproved) document in that project.

<p><b>Project Document - View:</b> If you have this action in a
project, you can view all public documents in that project.

<hr>

<h3>Issue Tracking Actions</h3>

<p>The issue tracking actions you have in a project determine the
permission bitset of your Issuezilla account in that project. Note
that Issuezilla single-database mode does not use these permissions
except when a user is initially created; it's otherwise up to the
administrators to set people's permission bitsets through the
Issuezilla interface.

<p><b>Project Issue Tracking - Change:</b> Conveys Issuezilla
permissions sufficient to change any issue. 

<p><b>Project Issue Tracking - Configure:</b> Conveys Issuezilla
permissions sufficient to fully configure the Issuezilla install.

<p><b>Project Issue Tracking - Query:</b> Conveys Issuezilla
permissions sufficient to query the Issuezilla database.

<p><b>Project Issue Tracking - Submit:</b> Conveys Issuezilla
permissions sufficient to submit a new issue to the Issuezilla
database.

<hr>

<p><b>Project Member - List:</b> If you have this action in a project,
you can view the list of users who have roles in that project.

<p><b>Project News - Approve:</b> If you have this action in a
project, you can approve a news item submitted to the project by
someone else. You can also create news items without going through the
approval step.

<p><b>Project News - Delete:</b> If you have this action in a project,
you can delete any news item in the project.

<p><b>Project News - Edit:</b> If you have this action in a project,
you can edit any news item in the project.

<p><b>Project News - Suggest:</b> If you have this action in a
project, you can submit a new news item to the project.

<p><b>Project News - View:</b> If you have this action in a project,
you can see news for that project.

<p><b>Project Page - View:</b> A baseline permission for viewing
artifacts of a projects (eg. source code, the home page, news items),
used as the base permission for many servlets. I'm fairly sure that
this permission could be gotten rid of and replaced with other, more
specific permissions and Project - View.

<p><b>ProjectGroup - Add:</b> If you have this permission in a domain,
you can create a new projcet group in the domain. If you have both
this action and the Project - Designate Subproject action in an
existing project group, you can create a subgroup of the project
group.

<p><b>Resource - Add:</b> If you have this permission in a project,
you can create a new resource for the project.

<p><b>Resource - Edit:</b> If you have this permission in a project,
you can change the regexp pattern or the description of the resource.

<p><b>Role - Add:</b> If you have this action in a project,
you can create a new project role for that project.

<p><b>Role - Delete:</b> If you have this action in a project,
you can delete an existing role in that project. You can only delete a
role if no one has it.

<p><b>Role - Edit:</b> If you have this action in a project,
you can change the name of a role in that domain, set its attributes,
and change the permissions it conveys.

<p><b>Role - Grant:</b> If you have this action in a project, you can
grant any of that project's roles of the appropriate type (host ->
host roles, domain -> domain roles, project -> project roles) to
another user. Note that you cannot use this permission to grant roles
in unapproved projects; you need Unapproved Project Role - Grant for
that.

<p><b>Role - Request:</b> If you have this action in a project, you
can request any of the project's requestable roles in the project.

<p><b>Session - List:</b> If you have this permission in a domain, you
can view all active sessions of people logged into that domain with
the SessionList servlet.

<p><b>Start Page - View:</b> If you have this permission in the
domain, you can use the StartPage servlet to view your developer start
page.

<p><b>Unapproved Project Role - Grant:</b> If you have this permission
in a project, you can grant roles to users in that project even if it
has not yet been approved.

<p><b>User - Add:</b> If you have this permission in a domain, you can
add a new user to that domain.

<p><b>User - Delete:</b> If you have this permission in a domain, you
can delete any user in that domain.

<p><b>User - Edit:</b> If you have this permission in a domain, you
can edit the user information of any user in that domain.

<p><b>User - Edit - Self:</b> If you have this permission in the
domain in which you are registered, you can edit your own user
information. You cannot use this permission to edit your organization
unless the installation property "userEditSelfAllowsEditOrg" is set.

<p><b>User - List:</b> If you have this permission in a domain, you
can access the UserList and ListAllUserEmails servlets.

<p><b>User - View:</b> If you have this permission in a domain, you
can view the user information for any user in that domain.

<p><b>User - View - Self:</b> If you have this permission in the
domain in which you are registered, you can view your own user
information.

<p><b>UserGroup - Add:</b> If you have this permission in a domain,
you can create a new user group for that domain.

<p><b>UserGroup - Delete:</b> If you have this permission in a domain,
you can delete any user group in that domain.

<p><b>UserGroup - Edit:</b> If you have this permission in a domain,
you can edit the information for any user group in that domain.

<p><b>UserGroup - List:</b> If you have this permission in a domain,
you can view the list of user groups. 

<p><b>UserGroup - View:</b> If you have this permission in a domain,
you can view the information for any user group in that domain.

<p><b>UserGroup Element - Add:</b> If you have this permission in a
domain, you can add any user in the domain to any user group in the
domain.

<p><b>UserGroup Element - Delete:</b> If you have this permission in a
domain, you can remove any user from any user group in the domain.

<hr>

<h3>Version control actions</h3>

<p>All of these actions take a resource. If you have any of these actions
in a project, you can apply them to any file in the repository with a
filename matching the resource corresponding to your grant of the
action. For instance, if you have "VersionControl - Commit" in project
foo with resourse "*.txt$", you can change any existing file in
project foo's repository, so long as its name matches the regular
expression "*.txt$"

<p><b>VersionControl - Add:</b> Enables functionality equivalent to
CVS "add".

<p><b>VersionControl - Blame:</b> Enables functionality equivalent to
CVS "annotate" or Subversion "blame".

<p><b>VersionControl - Commit:</b> Enables functionality equivalent to
CVS "commit".

<p><b>VersionControl - Diff:</b> Enables functionality equivalent to
CVS "diff".

<p><b>VersionControl - History:</b> Enables functionality equivalent
to CVS "history".

<p><b>VersionControl - Import:</b> Enables functionality equivalent to
CVS "import".

<p><b>VersionControl - Logs:</b> Enables functionality equivalent to
CVS "log".

<p><b>VersionControl - Remove:</b> Enables functionality equivalent to
CVS "Remove".

<p><b>VersionControl - Status:</b> Enables functionality equivalent to
CVS "status".

<p><b>VersionControl - Tag:</b> Enables functionality equivalent to
CVS "tag".

<p><b>VersionControl - Update:</b> Enables functionality equivalent to
CVS "co" and "update".

<hr>

</body>
</html>
@


1.2
log
@More action cleanup, and reinstated Domain - View action because it turns out to have been in use after all.
@
text
@d13 1
a13 1
<small>$Id: actions.html,v 1.1 2001/07/09 20:45:33 leonardr Exp $</small>
d27 3
a44 4
<p><b>Domain - Audit Log - View:</b> If you have this permission in a
domain, you will be able to see audit log entries pertaining to the
domain (eg, new projects and users).

a52 14
<p><b>Domain Role - Add:</b> If you have this action in a domain, you
can create a new domain role for that domain.

<p><b>Domain Role - Delete:</b> If you have this action in a domain,
you can delete an existing domain role in that domain. You can only
delete a role if no one has it.

<p><b>Domain Role - Edit:</b> If you have this action in a domain, you
can change the name of a role in that domain, set its attributes, and
change the permissions it conveys.

<p><b>Domain Role - Grant:</b> If you have this action in a domain,
you can grant any of that domain's domain roles to anoyher user.

a58 18
<p><b>Host - Audit Log - View:</b> If you have this permission in the
host, you can view audit log entries pertaining to the host,
(eg. changes to host roles).

<p><b>Host Role - Add:</b> If you have this action in the host, you
can create a new host role.

<p><b>Host Role - Delete:</b> If you have this action in the host, you
can delete an existing host role. You can only delete a role if no one
has it.

<p><b>Host Role - Edit:</b> If you have this action in the host, you
can change the name of a host role, set its attributes, and change the
permissions it conveys.

<p><b>Host Role - Grant:</b> If you have this action in the host, you
can grant any of the host roles to another user.

a108 4
<p><b>Project - Audit Log - View:</b> If you have this action in a
project, you can view audit log entries for a project (eg. edits,
roles granted in the project)

a219 20
<p><b>Project Role - Add:</b> If you have this action in a project,
you can create a new project role for that project.

<p><b>Project Role - Delete:</b> If you have this action in a project,
you can delete an existing role in that project. You can only delete a
role if no one has it.

<p><b>Project Role - Edit:</b> If you have this action in a project,
you can change the name of a role in that domain, set its attributes,
and change the permissions it conveys.

<p><b>Project Role - Grant:</b> If you have this action in a project,
you can grant any of that domain's domain roles to another user. Note
that you cannot use this permission to grant roles in unapproved
projects; you need Unapproved Project Role - Grant for that.

<p><b>Project Role - Request:</b> If you have this action in a
project, you can request any of the project's requestable roles in the
project.

d231 21
@


1.1
log
@New document: Helm Actions and What They Do
@
text
@d13 1
a13 1
<small>$Id: direct_derived_roles.html,v 1.3 2001/06/22 00:06:56 leonardr Exp $</small>
d50 3
@

