mirror of
https://gitlab.unicamp.br/infimecc_drupal11_modules/ldap_groups_sync.git
synced 2026-03-10 10:27:40 -03:00
Inicializa módulo base ldap_groups_sync
Cria super-módulo com infraestrutura compartilhada de regras de acesso para os módulos de sincronização LDAP de grupos. - GroupAccessRulesService: serviço parametrizável por config name - AccessRulesFormBase: listagem/remoção de regras (classe abstrata) - AccessRuleFormBase: formulário modal de criação/edição (classe abstrata) - Sub-módulos ldap_departments_sync e ldap_research_groups_sync refatorados para estender as classes base com subclasses mínimas - Traduções pt-br centralizadas em ldap_groups_sync.pt-br.po Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
69
ldap_research_groups_sync/README.md
Normal file
69
ldap_research_groups_sync/README.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user