Managing Users and Groups

*** Settings ***

Resource  plone/app/robotframework/server.robot
Resource  plone/app/robotframework/keywords.robot
Resource  Selenium2Screenshots/keywords.robot

Library  OperatingSystem

Suite Setup  Run keywords  Suite Setup  Test Setup
Suite Teardown  Run keywords  Test teardown  Suite Teardown

*** Variables ***

${FIXTURE}  plone.app.robotframework.PLONE_ROBOT_TESTING
@{DIMENSIONS}  1024  768
@{APPLY_PROFILES}  plone.app.contenttypes:plone-content


*** Keywords ***

Suite Setup
    Run keyword if  not sys.argv[0].startswith('bin/robot')
    ...             Setup Plone site  ${FIXTURE}
    Run keyword if  sys.argv[0].startswith('bin/robot')
    ...             Open test browser
    Run keyword and ignore error  Set window size  @{DIMENSIONS}

Test Setup
    Import library  Remote  ${PLONE_URL}/RobotRemote

    Run keyword if  sys.argv[0].startswith('bin/robot')
    ...             Remote ZODB SetUp  ${FIXTURE}

    ${language} =  Get environment variable  LANGUAGE  'en'
    Set default language  ${language}

    Enable autologin as  Manager
    ${user_id} =  Translate  user_id
    ...  default=jane-doe
    ${user_fullname} =  Translate  user_fullname
    ...  default=Jane Doe
    Create user  ${user_id}  Member  fullname=${user_fullname}
    Set autologin username  ${user_id}

Test Teardown
    Run keyword if  sys.argv[0].startswith('bin/robot')
    ...             Remote ZODB TearDown  ${FIXTURE}

Suite Teardown
    Run keyword if  not sys.argv[0].startswith('bin/robot')
    ...             Teardown Plone Site
    Run keyword if  sys.argv[0].startswith('bin/robot')
    ...             Close all browsers

User setup

Users setup configuration

Here you can search for existing users, and add a new user. When you search for existing users you can edit their properties (if you have the Manager role)

Note

Many large organisations use a form of centralised user management, such as Active Directory or LDAP. In that case, it may not be possible to define users and/or groups here.

Group setup

Groups setup configuration

This gives an overview of the current groups, and allows you to define new ones. Also sets the security mapping: here you map Groups to Roles.

As also seen in the guide on Sharing and collaborating it’s useful to connect Roles (who have permissions) to Groups rather than to individual users. This will make site maintenance easier.

Settings for many users/groups

These options will simply optimize the presentation of users and groups according to the size of your website. If you have thousands or hundreds of thousands of users, you don’t want to see them in a list. You will be presented with a searchbox instead.

usersettings setup configuration

Member data (information about users)

Here you can define what information you want to store about users. There is a range of fields to choose from, from images to numbers to multiple choice. Each of these fields can be made required or not.

Examples could be

  • a “choice” field for dietary preferences and restrictions
  • Twitter handle
  • whatever else you can think of, or your organisation requires!
Member field setup configuration