001package org.nuxeo.box.api.marshalling.dao;
002
003/**
004 * When inviting a user as a collaborator you specify the level of access that user has to your files. This class
005 * defines the permission levels. There are two groups of permission levels. One is available to everyone. The other is
006 * available only to business and enterprise users. For the latter group of permission, they must be enabled by the
007 * admin in the 'User Collaboration Settings' tab in "Admin Settings" from the "Admin Console". If any one of the
008 * permission levels is not available for you to choose, then your admin has most likely disabled this access level for
009 * the Enterprise account
010 */
011public class BoxCollaborationRole {
012
013    /**
014     * An Editor has full read/ write access to a folder. This is available to everyone. They can view and download the
015     * contents of the folder, as well as upload new content into the folder. They have permission to delete items, edit
016     * items, comment of files, generate a shared link for items in the folder, and create tags. By default an Editor
017     * will be able to invite new collaborators to a folder, however an editor cannot manage users currently existing in
018     * the folder.
019     */
020    public static final String EDITOR = "editor";
021
022    /**
023     * A Viewer has full read access to a folder. This is available to everyone. So they will be able to preview any
024     * item using the integrated content viewer, and will be able to download any item in the folder. A Viewer can
025     * generate a shared link for any item in the folder as well as make comments on items. A viewer will not be able to
026     * add tags, invite new collaborators, upload, or edit items in the folder.
027     */
028    public static final String VIEWER = "viewer";
029
030    /**
031     * A Previewer only has limited read access. This is only available for business and enterprise users. This
032     * permission level allows a user to view the items in the folder using the integrated content viewer or a viewing
033     * application from the OpenBox directory such as Scribd. They will have no other access to the files and will not
034     * be able to download, edit, or upload into the folder.
035     */
036    public static final String PREVIEWER = "previewer";
037
038    /**
039     * An Uploader is the most limited access that a user can have in a folder and provides limited write access. This
040     * is only available for business and enterprise users.A user assigned uploader will see the items in a folder but
041     * will not be able to download or view the items. The only action available will be to upload content into the
042     * folder. If an Uploader uploads an item with the same name as an existing item in the folder, the file will be
043     * updated and the existing version will be moved into the version history.
044     */
045    public static final String UPLOADER = "uploader";
046
047    /**
048     * This access level is a combination of Previewer and Uploader. This is only available for business and enterprise
049     * users.A user with this access level will be able to preview files in the folder using the integrated content
050     * viewer or a viewing application from the OpenBox directory such as Scribd and will also be able to upload items
051     * into the folder. If a Previewer-Uploader uploads an item with the same name as an existing item in the folder,
052     * the file will be updated and the existing version will be moved into the version history. They will have no other
053     * access to the files and will not be able to download or edit items in the folder.
054     */
055    public static final String PREVIEWER_UPLOADER = "previewer-uploader";
056
057    /**
058     * This access level is a combination of Viewer and Uploader. This is only available for business and enterprise
059     * users.A Viewer-Uploader has full read access to a folder and limited write access. They will be able to preview
060     * any item using the integrated content viewer, and will be able to download any item in the folder. They can
061     * generate a shared link for any item in the folder as well as make comments on items. A Viewer-Uploader will also
062     * be able to upload content into the folder. If a Viewer-Uploader uploads an item with the same name as an existing
063     * item in the folder, the file will be updated and the existing version will be moved into the version history.
064     * They will not be able to add tags, invite new collaborators, or edit items in the folder.
065     */
066    public static final String VIEWER_UPLOADER = "viewer-uploader";
067
068    /**
069     * A Co-Owner has all of the functional read/ write access that an Editor does. This is only available for business
070     * and enterprise users.This permission level has the added ability of being able to manage users in the folder. A
071     * Co-Owner can add new collaborators, change collaborators access, and remove collaborators (they will not be able
072     * to manipulate the owner of the folder or transfer ownership to another user).
073     */
074    public static final String CO_OWNER = "co-owner";
075}