Skip to content

Commit 54a798d

Browse files
committed
fix: readme subsite
1 parent 2f8f3d4 commit 54a798d

3 files changed

Lines changed: 121 additions & 2 deletions

File tree

README.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,125 @@ Sobre o armazenamento deve-se considerar que a tendência é que o uso de espaç
126126

127127
Vale lembrar que os requisitos de hardware podem variar de acordo com a latência da rede, velocidade dos cores dos cpus, uso de proxies, entre outros fatores. Recomendamos aos sysadmin da rede em que a aplicação será instalada um monitoramento de tráfego e uso durante o período de 6 meses a 1 ano para avaliação de cenário de uso.
128128

129+
## Como criar um subsite
130+
131+
Para criar um novo subsite na instação, você pode executar comandos PHP diretamente no container usando o `psysh` (shell interativo do PHP).
132+
133+
### Acesso ao psysh
134+
135+
```bash
136+
kubectl exec -n <namespace> <pod-name> -- php /var/www/src/tools/psysh.php
137+
```
138+
139+
### Criar um subsite via psysh
140+
141+
Execute os seguintes comandos no psysh:
142+
143+
```php
144+
// 1. Obter o app e o usuário admin
145+
$app = MapasCulturais\App::i();
146+
$em = $app->em;
147+
148+
// 2. Obter o agente do usuário (necessário como owner do subsite)
149+
$agent = $app->repo("Agent")->find(1); // Usuário ID 1 geralmente é o admin
150+
151+
// 3. Criar nova instância de Subsite
152+
$subsite = new \MapasCulturais\Entities\Subsite();
153+
$subsite->name = 'Nome do Subsite'; // Nome de exibição
154+
$subsite->url = 'funarte-mapas-dev'; // URL do subsite
155+
$subsite->aliasUrl = 'funarte-mapas-dev'; // Alias URL
156+
$subsite->namespace = 'Funarte'; // Namespace do tema
157+
158+
// 4. Definir o owner do subsite (via reflection)
159+
$reflection = new ReflectionClass($subsite);
160+
$property = $reflection->getProperty("owner");
161+
$property->setAccessible(true);
162+
$property->setValue($subsite, $agent);
163+
164+
$property = $reflection->getProperty("_ownerId");
165+
$property->setAccessible(true);
166+
$property->setValue($subsite, $agent->id);
167+
168+
// 5. Salvar no banco de dados
169+
$app->disableAccessControl();
170+
$em->persist($subsite);
171+
$em->flush();
172+
$app->enableAccessControl();
173+
174+
echo "Subsite criado com ID: " . $subsite->id;
175+
```
176+
177+
### Exemplo: Criar subsite "Funarte Dev"
178+
179+
```php
180+
// Obter agente do usuário
181+
$agent = $app->repo("Agent")->find(1);
182+
183+
// Criar subsite
184+
$subsite = new \MapasCulturais\Entities\Subsite();
185+
$subsite->name = 'Funarte Dev';
186+
$subsite->url = 'funarte-mapas-dev.mapas.tec.br';
187+
$subsite->aliasUrl = 'funarte-mapas-dev';
188+
$subsite->namespace = 'Funarte';
189+
190+
// Definir owner
191+
$reflection = new ReflectionClass($subsite);
192+
$property = $reflection->getProperty("owner");
193+
$property->setAccessible(true);
194+
$property->setValue($subsite, $agent);
195+
196+
$property = $reflection->getProperty("_ownerId");
197+
$property->setAccessible(true);
198+
$property->setValue($subsite, $agent->id);
199+
200+
// Salvar
201+
$app->disableAccessControl();
202+
$em->persist($subsite);
203+
$em->flush();
204+
$app->enableAccessControl();
205+
206+
echo "Subsite ID: " . $subsite->id;
207+
```
208+
209+
### Adicionar permissões de admin ao subsite
210+
211+
Após criar o subsite, adicione a role de admin para o usuário:
212+
213+
```php
214+
$user = $app->repo("User")->find(1);
215+
$app->disableAccessControl();
216+
$user->addRole("admin", $subsite->id);
217+
$em->flush();
218+
$app->enableAccessControl();
219+
```
220+
221+
### Acessar o subsite
222+
223+
Depois de criado, o subsite será acessível em:
224+
- `https://<url-do-subsite>/`
225+
- `https://<alias-url-do-subsite>/`
226+
227+
Exemplo: `https://funarte-mapas-dev.mapas.tec.br/`
228+
229+
### Atualizar subsite existente
230+
231+
Se precisar atualizar um subsite existente:
232+
233+
```php
234+
// Obter o subsite
235+
$subsite = $app->repo("Subsite")->find(<SUBSITE_ID>);
236+
237+
// Atualizar valores
238+
$subsite->name = 'Novo Nome';
239+
$subsite->url = 'nova-url';
240+
$subsite->aliasUrl = 'novo-alias';
241+
242+
// Salvar
243+
$app->disableAccessControl();
244+
$em->flush();
245+
$app->enableAccessControl();
246+
```
247+
129248
## Canais de comunicação
130249

131250
* Jitsi: https://meet.jit.si/MapasCulturais

docker/production/www.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,6 +485,6 @@ pm.max_spare_servers = 32
485485
; specified at startup with the -d argument
486486
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
487487
;php_flag[display_errors] = off
488-
;php_admin_value[error_log] = /var/log/fpm-php.www.log
488+
php_admin_value[error_log] = /var/log/fpm-php.www.log
489489
;php_admin_flag[log_errors] = on
490490
;php_admin_value[memory_limit] = 32M

src/themes/Funarte

Submodule Funarte updated 1 file

0 commit comments

Comments
 (0)