Permission sets
b13/permission-sets keeps the permissions of backend user groups in YAML files, so they are deployed with the project instead of being clicked together per installation. This page lists what an editor group needs for each academic extension: its tables, the fields it adds to tables of TYPO3, its content types and its page types.
Note
Written for b13/permission-sets 1.1.0 and checked against its source. The lists below are taken from the TCA of this release of the academic extensions. This repository does not install the package, so the files are not covered by a test.
What a permission set grants
A permission set is a YAML file in Configuration/ of an
extension, or in config/ of the project. It is selected
in the field Permission Sets of a backend user group, and adds to
what the group grants by itself:
| In the file | Adds to the backend user group |
|---|---|
resources.<table>. | Tables (listing) and Table permissions |
resources.<table>. | Every field of the table that TCA marks as
exclude
, as
Allowed fields |
resources.<table>. | The fields listed, as Allowed fields |
resources. | Allowed page types |
resources. | The content types, as Explicitly allow field values |
A field that is not an
exclude
field is editable for every group that may
edit its table, so the lists below name the
exclude
fields only. The
fields of the tables of an extension are granted with '*', which follows the
TCA of the installed version.
The examples grant what an extension adds. The set the project uses for its editors in general has to grant the rest, which the academic extensions rely on as well:
- The tables
pagesandtt_themselves, and the database mounts.content - The field
categoriesofpagesand the tablesys_. Programs, projects and partners are filtered by the categories of their pages, and TYPO3 makes every field of the typecategory categoryanexcludefield. - The table
sys_, for profile images and the media of program, project and partner pages.file_ reference
academic_persons
The field of
fe_ links a frontend user to the profiles it may edit
with EXT:academic_persons_edit.
label: 'Academic persons'
resources:
fe_users:
fields:
- tx_academicpersons_profiles
tt_content:
types:
- academicpersons_list
- academicpersons_listanddetail
- academicpersons_detail
- academicpersons_card
- academicpersons_selectedprofiles
- academicpersons_selectedcontracts
tx_academicpersons_domain_model_profile:
permissions: ['read', 'write']
fields: '*'
tx_academicpersons_domain_model_contract:
permissions: ['read', 'write']
fields: '*'
tx_academicpersons_domain_model_address:
permissions: ['read', 'write']
fields: '*'
tx_academicpersons_domain_model_email:
permissions: ['read', 'write']
fields: '*'
tx_academicpersons_domain_model_phone_number:
permissions: ['read', 'write']
fields: '*'
tx_academicpersons_domain_model_location:
permissions: ['read', 'write']
fields: '*'
tx_academicpersons_domain_model_organisational_unit:
permissions: ['read', 'write']
fields: '*'
tx_academicpersons_domain_model_function_type:
permissions: ['read', 'write']
fields: '*'
tx_academicpersons_domain_model_profile_information:
permissions: ['read', 'write']
fields: '*'
academic_persons_edit
label: 'Academic persons: frontend editing'
resources:
tt_content:
types:
- academicpersonsedit_profileediting
academic_contacts4pages
The extension adds a field to
pages
and one to the contracts of
EXT:academic_persons.
label: 'Academic contacts for pages'
resources:
pages:
fields:
- tx_academiccontacts4pages_contacts
tt_content:
types:
- academiccontacts4pages_list
tx_academicpersons_domain_model_contract:
fields:
- tx_academiccontacts4pages_contacts
tx_academiccontacts4pages_domain_model_contact:
permissions: ['read', 'write']
fields: '*'
tx_academiccontacts4pages_domain_model_role:
permissions: ['read', 'write']
fields: '*'
academic_jobs
label: 'Academic jobs'
resources:
tt_content:
types:
- academicjobs_newjobform
- academicjobs_list
- academicjobs_detail
tx_academicjobs_domain_model_job:
permissions: ['read', 'write']
fields: '*'
academic_bite_jobs
label: 'Academic B-ITE jobs'
resources:
tt_content:
types:
- academicbitejobs_list
academic_partners
A partner is a page of the page type 40, and its description is the field
description
of TYPO3, which EXT:seo renders as the meta description.
The other fields the extension defines on
pages
are not
exclude
fields, and the column
link
it adds on TYPO3 v13 is
shown in no form.
label: 'Academic partners'
resources:
pages:
types: [40]
fields:
- description
- tx_academicpartners_partnerships
tt_content:
types:
- academicpartners_list
- academicpartners_map
- academicpartners_partnershipslist
- academicpartners_partnershipsteaser
tx_academicpartners_domain_model_partnership:
permissions: ['read', 'write']
fields: '*'
tx_academicpartners_domain_model_role:
permissions: ['read', 'write']
fields: '*'
academic_programs
A program is a page of the page type 20, and none of its fields on
pages
is an
exclude
field.
label: 'Academic programs'
resources:
pages:
types: [20]
tt_content:
types:
- academicprograms_programlist
- academicprograms_programdetails
- academicprograms_programfinder
academic_projects
A project is a page of the page type 30.
label: 'Academic projects'
resources:
pages:
types: [30]
fields:
- tx_academicprojects_project_title
- tx_academicprojects_short_description
- tx_academicprojects_start_date
- tx_academicprojects_end_date
- tx_academicprojects_budget
- tx_academicprojects_funders
tt_content:
types:
- academicprojects_projectlist
- academicprojects_projectlistsingle
academic_study_plan
The two fields the extension adds to
tt_ are not
exclude
fields.
label: 'Academic study plan'
resources:
tt_content:
types:
- academic_study_plan
tx_academicstudyplan_domain_model_semester:
permissions: ['read', 'write']
fields: '*'
tx_academicstudyplan_domain_model_module:
permissions: ['read', 'write']
fields: '*'
tx_academicstudyplan_domain_model_category:
permissions: ['read', 'write']
fields: '*'
The other extensions
EXT:academic_base, EXT:academic_persons_sync and
EXT:category_types add no table, no content type and no
exclude
field. The field
type
, which
EXT:category_types adds to
sys_, is editable for
every group that may edit categories.