plugin:
    resource_actions:
        # Opens a resource
        - name: open
          decoder: open
          scope: [object]
          default: true # This is the default action of the resource (it SHOULD NOT be overridden)
          api: [GET]

        # Displays common resources info (the one from the node)
        - name: about
          decoder: open
          scope: [object]
          api: [GET]

        # Changes the content of a resource
        - name: edit
          decoder: edit
          group: management
          scope: [object]
          api: [PUT]

        # Changes and manages the rights of a resource
        - name: rights
          decoder: administrate
          group: management
          scope: [object]
          api: [GET, POST, PUT]

        # Publishes one ore more resources
        - name: publish
          decoder: administrate
          group: management
          scope: [object, collection]
          api: [PUT]

        # Unpublishes one ore more resources
        - name: unpublish
          decoder: administrate
          group: management
          scope: [object, collection]
          api: [PUT]

        # Exports one or more resources in a Claroline format (archive + manifest)
        - name: export
          decoder: export
          group: transfer
          scope: [object, collection] # The action can be executed on multiple resources at once.
          api: [GET]
          recursive: true

        # Deletes one or more resources
        - name: delete
          decoder: delete
          group: management
          scope: [object, collection] # The action can be executed on multiple resources at once.
          api: [DELETE]
          recursive: true

        # Restores one or more soft deleted resources
        - name: restore
          decoder: delete
          group: management
          scope: [object, collection] # The action can be executed on multiple resources at once.
          api: [POST]
          recursive: true

        # Changes common resources info (the one from the node) for one or more resources
        - name: configure
          decoder: administrate
          group: management
          scope: [object]
          api: [PUT]
          recursive: true

        # Creates a copy of one or more resources
        - name: copy
          decoder: copy
          group: management
          scope: [object, collection] # The action can be executed on multiple resources at once.
          api: [POST]
          recursive: true

        # Changes the parent of one or more resources
        - name: move
          decoder: administrate
          group: management
          scope: [object, collection] # The action can be executed on multiple resources at once.
          api: [PUT]
          recursive: true

    resources:
        - name: file
          class: Claroline\CoreBundle\Entity\Resource\File
          tags: [content]
          exportable: true
          actions:
              # Downloads the underlying resource file
              - name: download
                decoder: export
                group: transfer
                api: [GET]
              # Edits the underlying resource file
              - name: change_file
                decoder: edit
                group: management
                api: [PUT]

        - name: directory
          class: Claroline\CoreBundle\Entity\Resource\Directory
          tags: [structure]
          exportable: true
          actions:
              # Creates a new resource in the directory
              - name: add
                decoder: create
                group: management
                api: [POST]

              # Creates one or several File resources in the directory
              - name: add_files
                decoder: create
                group: management
                api: [POST]

        - name: text
          class: Claroline\CoreBundle\Entity\Resource\Text
          tags: [content]
          exportable: true

    admin_tools:
        - name: main_settings
          class: cog

        - name: templates
          class: file-alt

        - name: integration
          class: plug

        - name: plugins
          class: puzzle-piece

        - name: connection_messages
          class: comment-dots

    widgets:
        - name: simple
          class: Claroline\CoreBundle\Entity\Widget\Type\SimpleWidget
          context: [workspace, desktop, home, administration]
          tags: [content]

        - name: list
          class: Claroline\CoreBundle\Entity\Widget\Type\ListWidget
          sources: [list]

        - name: resource
          class: Claroline\CoreBundle\Entity\Widget\Type\ResourceWidget
          sources: [resource]

    data_sources:
        - name: resources
          type: list
          context: [workspace, desktop, home, administration]
          tags: [content]

        - name: resource
          type: resource
          context: [workspace, desktop, home, administration]
          tags: [content]

        - name: personal_workspace
          type: resource
          context: [desktop, administration]
          tags: [content]

        - name: workspaces
          type: list
          context: [desktop, workspace, home, administration]
          tags: [content]

        - name: my_workspaces
          type: list
          context: [desktop, workspace, administration]
          tags: [content]

        - name: admin_tools
          type: list
          context: [administration]
          tags: [structure]

        - name: tools
          type: list
          context: [desktop, workspace]
          tags: [structure]

    tools:
        - name: workspaces
          class: book
          is_displayable_in_workspace: false
          is_displayable_in_desktop: true
          tool_rights:
              - name: archive

        - name: resources
          class: folder
          is_displayable_in_workspace: true
          is_displayable_in_desktop: true

        - name: resource_trash
          class: trash-alt
          is_displayable_in_workspace: true
          is_displayable_in_desktop: false

        - name: locations
          class: map-marker-alt
          is_displayable_in_workspace: false
          is_displayable_in_desktop: true
          tool_rights:
              - name: book

    templates:
        - name: email_layout
          type: email
          placeholders:
              - content
              - sender_username
              - sender_first_name
              - sender_last_name
              - sender_email
              - sender_avatar

        - name: user_activation
          type: email
          placeholders:
              - first_name
              - last_name
              - username
              - user_activation_link

        - name: user_registration
          type: email
          placeholders:
              - first_name
              - last_name
              - username
              - validation_mail
              - password

        - name: user_email_validation
          type: email
          placeholders:
              - first_name
              - last_name
              - username
              - validation_mail

        - name: password_initialization
          type: email
          placeholders:
              - first_name
              - last_name
              - username
              - password_initialization_link

        - name: forgotten_password
          type: email
          placeholders:
              - first_name
              - last_name
              - username
              - password_reset_link

        - name: user_disabled
          type: email
          placeholders:
              - first_name
              - last_name
              - username

        # not sent
        - name: workspace_registration
          type: email
          placeholders:
              - workspace_name
              - workspace_code
              - role_name

        # not sent
        - name: platform_role_registration
          type: email
          placeholders:
              - role_name
