Initial commit

This commit is contained in:
root
2026-02-12 09:10:28 -03:00
commit 537aaae204
29 changed files with 743 additions and 0 deletions

21
base_site_config.info Normal file
View File

@@ -0,0 +1,21 @@
name: 'Base Site Config'
type: module
description: 'Instala configurações base e módulos de autenticação externa.'
version: '1.0'
core_version_requirement: ^11
package: Custom
dependencies:
- drupal:system
- drupal:user
- drupal:filter
- drupal:views
- authorization:authorization
- authorization:authorization_drupal_roles
- externalauth:externalauth
- entity_reference_views_select:entity_reference_views_select
- ldap:ldap_servers
- ldap:ldap_authentication
- ldap:ldap_authorization
- ldap:ldap_user
- ldap:ldap_query

View File

@@ -0,0 +1,31 @@
langcode: pt-br
status: true
dependencies: { }
id: ldap_roles_by_employeetype
label: 'Ldap Roles by EmployeeType'
provider: ldap_provider
provider_config:
status:
server: ldap_ime_unicamp_br
only_ldap_authenticated: false
filter_and_mappings:
use_first_attr_as_groupid: false
provider_mappings:
-
query: employeeType=Professor
is_regex: false
-
query: employeeType=Funcionario
is_regex: false
consumer: authorization_drupal_roles
consumer_config: { }
consumer_mappings:
-
role: professor
-
role: staff
synchronization_modes:
user_logon: user_logon
synchronization_actions:
create_consumers: '0'
revoke_provider_provisioned: revoke_provider_provisioned

View File

@@ -0,0 +1 @@
authorization_message: false

View File

@@ -0,0 +1,107 @@
langcode: pt-br
status: true
dependencies:
config:
- field.field.user.user.field_user_category
- field.field.user.user.field_user_department
- field.field.user.user.field_user_dept_code
- field.field.user.user.field_user_name
- field.field.user.user.field_user_phone_number
- field.field.user.user.field_user_photo
- field.field.user.user.user_picture
- image.style.thumbnail
module:
- image
- path
- telephone
- user
id: user.user.default
targetEntityType: user
bundle: user
mode: default
content:
account:
weight: 0
region: content
settings: { }
third_party_settings: { }
contact:
weight: 2
region: content
settings: { }
third_party_settings: { }
field_user_category:
type: string_textfield
weight: 5
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
field_user_department:
type: entity_reference_autocomplete
weight: 7
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
field_user_dept_code:
type: string_textfield
weight: 8
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
field_user_name:
type: string_textfield
weight: 4
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
field_user_phone_number:
type: telephone_default
weight: 6
region: content
settings:
placeholder: ''
third_party_settings: { }
field_user_photo:
type: image_image
weight: 11
region: content
settings:
progress_indicator: throbber
preview_image_style: thumbnail
third_party_settings: { }
language:
weight: 1
region: content
settings: { }
third_party_settings: { }
path:
type: path
weight: 9
region: content
settings: { }
third_party_settings: { }
timezone:
weight: 3
region: content
settings: { }
third_party_settings: { }
user_picture:
type: image_image
weight: 10
region: content
settings:
progress_indicator: throbber
preview_image_style: thumbnail
third_party_settings: { }
hidden:
langcode: true

View File

@@ -0,0 +1,73 @@
langcode: pt-br
status: true
dependencies:
config:
- field.field.user.user.field_user_category
- field.field.user.user.field_user_department
- field.field.user.user.field_user_dept_code
- field.field.user.user.field_user_name
- field.field.user.user.field_user_phone_number
- field.field.user.user.field_user_photo
- field.field.user.user.user_picture
- image.style.thumbnail
module:
- image
- telephone
- user
id: user.user.default
targetEntityType: user
bundle: user
mode: default
content:
field_user_category:
type: string
label: above
settings:
link_to_entity: false
third_party_settings: { }
weight: 1
region: content
field_user_department:
type: entity_reference_label
label: above
settings:
link: true
third_party_settings: { }
weight: 3
region: content
field_user_name:
type: string
label: above
settings:
link_to_entity: false
third_party_settings: { }
weight: 0
region: content
field_user_phone_number:
type: telephone_link
label: above
settings:
title: ''
third_party_settings: { }
weight: 2
region: content
member_for:
settings: { }
third_party_settings: { }
weight: 5
region: content
user_picture:
type: image
label: hidden
settings:
image_link: content
image_style: thumbnail
image_loading:
attribute: lazy
third_party_settings: { }
weight: 4
region: content
hidden:
field_user_dept_code: true
field_user_photo: true
langcode: true

View File

@@ -0,0 +1,19 @@
langcode: pt-br
status: true
dependencies:
config:
- field.storage.user.field_user_category
module:
- user
id: user.user.field_user_category
field_name: field_user_category
entity_type: user
bundle: user
label: Category
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: string

View File

@@ -0,0 +1,24 @@
langcode: pt-br
status: true
dependencies:
config:
- field.storage.user.field_user_department
module:
- user
id: user.user.field_user_department
field_name: field_user_department
entity_type: user
bundle: user
label: Departamento
description: 'Departamento do usuário sincronizado do LDAP'
required: false
translatable: true
default_value: { }
default_value_callback: ''
settings:
handler: views
handler_settings:
view:
view_name: departments
display_name: entity_reference_1
field_type: entity_reference

View File

@@ -0,0 +1,19 @@
langcode: pt-br
status: true
dependencies:
config:
- field.storage.user.field_user_dept_code
module:
- user
id: user.user.field_user_dept_code
field_name: field_user_dept_code
entity_type: user
bundle: user
label: 'Department Code'
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: string

View File

@@ -0,0 +1,19 @@
langcode: pt-br
status: true
dependencies:
config:
- field.storage.user.field_user_name
module:
- user
id: user.user.field_user_name
field_name: field_user_name
entity_type: user
bundle: user
label: Nome
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: string

View File

@@ -0,0 +1,20 @@
langcode: pt-br
status: true
dependencies:
config:
- field.storage.user.field_user_phone_number
module:
- telephone
- user
id: user.user.field_user_phone_number
field_name: field_user_phone_number
entity_type: user
bundle: user
label: Phone
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: telephone

View File

@@ -0,0 +1,20 @@
langcode: en
status: true
dependencies:
module:
- user
id: user.field_user_category
field_name: field_user_category
entity_type: user
type: string
settings:
max_length: 255
case_sensitive: false
is_ascii: false
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -0,0 +1,19 @@
langcode: en
status: true
dependencies:
module:
- group
- user
id: user.field_user_department
field_name: field_user_department
entity_type: user
type: entity_reference
settings:
target_type: group
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -0,0 +1,20 @@
langcode: en
status: true
dependencies:
module:
- user
id: user.field_user_dept_code
field_name: field_user_dept_code
entity_type: user
type: string
settings:
max_length: 255
case_sensitive: false
is_ascii: false
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -0,0 +1,20 @@
langcode: en
status: true
dependencies:
module:
- user
id: user.field_user_name
field_name: field_user_name
entity_type: user
type: string
settings:
max_length: 255
case_sensitive: false
is_ascii: false
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -0,0 +1,18 @@
langcode: en
status: true
dependencies:
module:
- telephone
- user
id: user.field_user_phone_number
field_name: field_user_phone_number
entity_type: user
type: telephone
settings: { }
module: telephone
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@@ -0,0 +1,23 @@
langcode: pt-br
sids:
ads1_ime_unicamp_br: ads1_ime_unicamp_br
ldap_ime_unicamp_br: '0'
authenticationMode: mixed
loginUIUsernameTxt: ''
loginUIPasswordTxt: ''
ldapUserHelpLinkUrl: ''
ldapUserHelpLinkText: ''
emailOption: disable
emailUpdate: update_notify
emailTemplateHandling: none
emailTemplate: '@username@example.com'
emailTemplateUsageResolveConflict: false
emailTemplateUsageNeverUpdate: false
emailTemplateUsagePromptUser: false
emailTemplateUsageRedirectOnLogin: false
emailTemplateUsagePromptRegex: '.*@example\\.com'
passwordOption: hide
allowOnlyIfTextInDn: { }
excludeIfTextInDn: { }
excludeIfNoAuthorizations: false
skipAdministrators: true

View File

@@ -0,0 +1,51 @@
ldap_server_id: ldap_ime_unicamp_br
ldap_query_id: department_sync
enable_hierarchy: 1
parent_attribute: departmentNumber
child_attribute: imeccDepartmentCode
group_type_id: departments
attribute_mappings:
-
field: label
attribute: description
mapping_type: simple
-
field: field_dept_code
attribute: imeccDepartmentCode
mapping_type: simple
-
field: field_dept_acronym
attribute: cn
mapping_type: simple
-
field: field_dept_type
attribute: imeccDepartmentType
mapping_type: simple
-
field: field_dept_phone
attribute: telephoneNumber
mapping_type: simple
-
field: field_dept_room
attribute: roomNumber
mapping_type: simple
-
field: field_dept_mail
attribute: mail
mapping_type: simple
-
field: field_dept_coord
attribute: imeccDepartmentCoord
mapping_type: user_reference
-
field: field_dept_coord_assoc
attribute: imeccDepartmentAssocCoord
mapping_type: user_reference
role_mapping_enabled: 1
role_mappings:
-
group_role: departments-member
source: group_field_match
source_field: field_user_dept_code
group_field: field_dept_code
values: { }

View File

@@ -0,0 +1,13 @@
langcode: pt-br
status: true
dependencies: { }
id: department_sync
label: 'Department Sync'
server_id: ldap_ime_unicamp_br
base_dn: 'ou=Departments,dc=ime,dc=unicamp,dc=br'
filter: (objectClass=imeccDepartment)
attributes: 'cn,imeccDepartmentCode,departmentNumber,imeccDepartmentType,imeccDepartmentCoord,imeccDepartmentAssocCoord,description,mail,telephoneNumber,roomNumber'
size_limit: 0
time_limit: 0
dereference: 0
scope: one

View File

@@ -0,0 +1,13 @@
langcode: pt-br
status: true
dependencies: { }
id: people_sync
label: 'People Sync'
server_id: ldap_ime_unicamp_br
base_dn: 'ou=People,dc=ime,dc=unicamp,dc=br'
filter: '(&(objectClass=imeccPerson)(|(employeeType=Professor)(employeeType=Pesquisador)(employeeType=Posdoutorando)(employeeType=Funcionario)))'
attributes: ''
size_limit: 0
time_limit: 0
dereference: 0
scope: one

View File

@@ -0,0 +1,37 @@
langcode: pt-br
status: true
dependencies: { }
id: ads1_ime_unicamp_br
label: ads1.ime.unicamp.br
type: ad
address: ads1.ime.unicamp.br
port: 389
timeout: 10
encryption: none
weight: null
bind_method: service_account
binddn: 'cn=administrator,cn=users,dc=ime,dc=unicamp,dc=br'
bindpw: hi6sk0ss
basedn:
- 'cn=USERS,dc=ime,dc=unicamp,dc=br'
user_attr: samaccountname
account_name_attr: ''
mail_attr: ''
mail_template: ''
picture_attr: ''
unique_persistent_attr: ''
unique_persistent_attr_binary: false
user_dn_expression: ''
testing_drupal_username: ''
testing_drupal_user_dn: ''
grp_unused: true
grp_object_cat: ''
grp_nested: false
grp_user_memb_attr_exists: false
grp_user_memb_attr: ''
grp_memb_attr: ''
grp_memb_attr_match_user_attr: ''
grp_derive_from_dn: false
grp_derive_from_dn_attr: ''
grp_test_grp_dn: ''
grp_test_grp_dn_writeable: ''

View File

@@ -0,0 +1,37 @@
langcode: pt-br
status: true
dependencies: { }
id: ldap_ime_unicamp_br
label: ldap.ime.unicamp.br
type: openldap
address: ldap.ime.unicamp.br
port: 389
timeout: 10
encryption: none
weight: null
bind_method: anon
binddn: null
bindpw: null
basedn:
- 'ou=People,dc=ime,dc=unicamp,dc=br'
user_attr: uid
account_name_attr: ''
mail_attr: mail
mail_template: ''
picture_attr: ''
unique_persistent_attr: uid
unique_persistent_attr_binary: false
user_dn_expression: ''
testing_drupal_username: ''
testing_drupal_user_dn: ''
grp_unused: true
grp_object_cat: ''
grp_nested: false
grp_user_memb_attr_exists: false
grp_user_memb_attr: ''
grp_memb_attr: ''
grp_memb_attr_match_user_attr: ''
grp_derive_from_dn: false
grp_derive_from_dn_attr: ''
grp_test_grp_dn: ''
grp_test_grp_dn_writeable: ''

View File

@@ -0,0 +1 @@
watchdog_detail: false

View File

@@ -0,0 +1,69 @@
drupalAcctProvisionServer: ldap_ime_unicamp_br
ldapEntryProvisionServer: ldap_ime_unicamp_br
drupalAcctProvisionTriggers:
- drupal_on_update_create
ldapEntryProvisionTriggers: { }
orphanedIncludeDisabledUsers: true
orphanedDrupalAcctBehavior: user_cancel_delete
orphanedDrupalAcctReportingInbox: ''
orphanedCheckQty: 100
orphanedAccountCheckInterval: always
userConflictResolve: resolve
manualAccountConflict: conflict_associate
acctCreation: ldap_behavior
disableAdminPasswordField: false
userUpdateCronQuery: people_sync
userUpdateCronInterval: always
userUpdateOnly: false
ldapUserSyncMappings:
drupal:
field-preferred_langcode:
ldap_attr: '[preferredLanguage]'
user_attr: '[field.preferred_langcode]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events:
- create_drupal_user
- sync_to_drupal_user
field-field_user_category:
ldap_attr: '[employeeType]'
user_attr: '[field.field_user_category]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events:
- create_drupal_user
- sync_to_drupal_user
field-field_user_dept_code:
ldap_attr: '[departmentNumber]'
user_attr: '[field.field_user_dept_code]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events:
- create_drupal_user
- sync_to_drupal_user
field-field_user_name:
ldap_attr: '[displayName]'
user_attr: '[field.field_user_name]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events:
- create_drupal_user
- sync_to_drupal_user
field-field_user_phone_number:
ldap_attr: '[telephoneNumber]'
user_attr: '[field.field_user_phone_number]'
convert: false
user_tokens: ''
config_module: ldap_user
prov_module: ldap_user
prov_events:
- create_drupal_user
- sync_to_drupal_user

View File

@@ -0,0 +1,13 @@
langcode: pt-br
status: true
dependencies:
config:
- user.role.professor
module:
- user
id: user_add_role_action.professor
label: 'Add the Professor role to the selected user(s)'
type: user
plugin: user_add_role_action
configuration:
rid: professor

View File

@@ -0,0 +1,13 @@
langcode: pt-br
status: true
dependencies:
config:
- user.role.staff
module:
- user
id: user_add_role_action.staff
label: 'Add the Funcionário role to the selected user(s)'
type: user
plugin: user_add_role_action
configuration:
rid: staff

View File

@@ -0,0 +1,13 @@
langcode: pt-br
status: true
dependencies:
config:
- user.role.professor
module:
- user
id: user_remove_role_action.professor
label: 'Remover o papel Professor dos usuários selecionados'
type: user
plugin: user_remove_role_action
configuration:
rid: professor

View File

@@ -0,0 +1,13 @@
langcode: pt-br
status: true
dependencies:
config:
- user.role.staff
module:
- user
id: user_remove_role_action.staff
label: 'Remover o papel Funcionário dos usuários selecionados'
type: user
plugin: user_remove_role_action
configuration:
rid: staff

View File

@@ -0,0 +1,8 @@
langcode: pt-br
status: true
dependencies: { }
id: professor
label: Professor
weight: 5
is_admin: false
permissions: { }

View File

@@ -0,0 +1,8 @@
langcode: pt-br
status: true
dependencies: { }
id: staff
label: Funcionário
weight: 6
is_admin: false
permissions: { }