# LDAP Research Groups Sync Módulo Drupal 11 que sincroniza grupos de pesquisa do servidor LDAP corporativo com entidades do tipo `research_group` (módulo Group). ## Funcionalidades - Criação e atualização automática de grupos de pesquisa via cron a partir de uma LDAP query configurável - Sincronização de membros dos grupos a partir do atributo `member` (ou outro configurável) de cada entrada LDAP - Regras de acesso configuráveis por grupo - Proteção dos campos LDAP do usuário contra edição não autorizada ## Dependências - `drupal:options` - `drupal:telephone` - `group:group` - `ldap:ldap_servers` - `site_tools` ## Campos criados ### No grupo (`research_group`) | Campo | Tipo | Descrição | |---|---|---| | `field_rg_code` | String | Código do grupo (chave de sincronização) | | `field_rg_phone` | Telephone | Telefone | | `field_rg_mail` | Email | E-mail | | `field_rg_coord` | Entity reference (user) | Coordenador do grupo | | `field_rg_coord_assoc` | Entity reference (user) | Coordenador associado do grupo | | `field_rg_department` | Entity reference (group) | Departamento ao qual o grupo está vinculado | ### No usuário | Campo | Tipo | Descrição | |---|---|---| | `field_user_research_groups` | Entity reference (group, múltiplos) | Grupos de pesquisa do usuário (populado pelo sync) | ## Instalação ```bash drush en ldap_research_groups_sync drush cr ``` ## Configuração Acesse `/admin/config/local-modules/ldap-research-groups-sync` e configure: 1. **Group Type** — selecione `research_group` 2. **LDAP Server** — servidor LDAP a ser usado 3. **LDAP Query** — query entity que retorna as entradas dos grupos de pesquisa 4. **Attribute Mappings** — mapeamento entre atributos LDAP e campos do grupo 5. **Member Synchronization** — habilite e defina o atributo LDAP de membros (padrão: `member`) > **Atenção:** o atributo de membros (ex.: `member`) deve estar incluído nos atributos retornados pela LDAP query, ou a query não deve ter filtro de atributos. ## Sincronização manual ```bash drush php-eval "\Drupal::service('ldap_research_groups_sync.sync')->syncResearchGroups();" ``` A sincronização também é executada automaticamente pelo cron. ## Permissões - `administer ldap research groups sync` — acesso à página de configuração - `edit ldap managed user rg fields` — permite editar o campo `field_user_research_groups` manualmente (normalmente reservado ao sync)