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.

What a permission set grants 

A permission set is a YAML file in Configuration/PermissionSets/ of an extension, or in config/permission-sets/ 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>.permissions: ['read', 'write'] Tables (listing) and Table permissions
resources.<table>.fields: '*' Every field of the table that TCA marks as exclude , as Allowed fields
resources.<table>.fields: [...] The fields listed, as Allowed fields
resources.pages.types: [...] Allowed page types
resources.tt_content.types: [...] 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 pages and tt_content themselves, and the database mounts.
  • The field categories of pages and the table sys_category . Programs, projects and partners are filtered by the categories of their pages, and TYPO3 makes every field of the type category an exclude field.
  • The table sys_file_reference , for profile images and the media of program, project and partner pages.

academic_persons 

The field of fe_users 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: '*'
Copied!

academic_persons_edit 

label: 'Academic persons: frontend editing'
resources:
  tt_content:
    types:
      - academicpersonsedit_profileediting
Copied!

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: '*'
Copied!

academic_jobs 

label: 'Academic jobs'
resources:
  tt_content:
    types:
      - academicjobs_newjobform
      - academicjobs_list
      - academicjobs_detail
  tx_academicjobs_domain_model_job:
    permissions: ['read', 'write']
    fields: '*'
Copied!

academic_bite_jobs 

label: 'Academic B-ITE jobs'
resources:
  tt_content:
    types:
      - academicbitejobs_list
Copied!

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: '*'
Copied!

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
Copied!

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
Copied!

academic_study_plan 

The two fields the extension adds to tt_content 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: '*'
Copied!

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_category , is editable for every group that may edit categories.