# Instalação

# Baixando o Projeto


Clone o repositório dentro no diretório modules que deve existir na raiz do seu produto. Crie o diretório modules caso não exista.

git clone git@gitlab.teknisa.com:teknisa/acl-next.git acl

Atenção

O nome do diretório do módulo ACL - Next deve ser acl para que o mesmo funcione corretamente.


# Dependências

# Backend


Em um terminal localizado em modules/acl/backend, execute o comando:

composer install

# Frontend


Agora em modules/acl/frontend, execute os comandos:

npm install
grunt

# Arquivos de Configuração


No ambiente de desenvolvimento é necessário criar arquivos de configuração para funcionamento do módulo. Por padrão, eles não existem porque cada desenvolvedor irá utilizar da forma que achar melhor (máquina local, cloud9, máquina Teknisa...).

  • Na pasta frontend crie o arquivo .env.development:

Dica

É possível copiar o .env.example como template.

A propriedade VUE_APP_DEV_SERVER_PORT deve ser definida com o valor da porta que o módulo irá utilizar em seu ambiente.

Atenção

No Cloud9 é necessário solicitar ao setor de redes a liberação das portas para utilizar em Produtos e Módulos Next.

Exemplo:

VUE_APP_PUBLIC_PATH=/
VUE_APP_DEV_SERVER_PORT=8082

  • Na pasta frontend/src/config crie o arquivo devEnvironment.json:

Dica

É possível copiar o devEnvironment.example como template.

A propriedade endPoint deve ser definida com o endereço HTTP do backend do módulo até o index.php
A propriedade metadataEndPoint deve ser definida com o endereço HTTP do backend do módulo até a rota lib_metadata

Exemplo:

{
	"endPoint": "http://localhost/seu_produto/modules/acl/backend/service/index.php",
	"metadataEndPoint": "http://localhost/seu_produto/modules/acl/backend/service/index.php/lib_metadata/"
}

# Configurações no Produto


  • Atualize a Tek-Lib (frontend e backend) para, no mínimo, a versão 2.3.* no seu produto.
  • Atualize as dependências do zeedhi para, no mínimo, a versão 1.56.0 do seu produto.
  • Defina as propriedades relacionadas ao ACL, juntamente com as configurações dos demais módulos, no arquivo seu_produto/frontend/src/config/devEnvironment.json.
    • baseUrl: indica qual URL o módulo é acessado.
    • endPoint: indica para o produto qual o backend do módulo em questão.

Atenção

O módulo não irá funcionar sem realizar as configurações do produto!

Exemplo:

...
"modules": {
	"acl": {
		"baseUrl": "http://localhost:8082",
		"endPoint": "http://localhost/seu_produto/modules/acl/backend/service/index.php"
	}
}

# Executando o Módulo


Para acessar as telas do ACL, abra um terminal na pasta frontend do módulo e execute:

npm run serve

Atenção

O módulo não funciona sozinho. É necessário que o produto também esteja em execução.

# Teknisa CLI


  • Dependendo da versão do Teknisa CLI que seu produto foi criado, algumas adições de código serão necessárias. No arquivo Microservice.ts, adicione os códigos abaixo caso o mesmo os possua:
const productInfo = JSON.stringify({
	...
	MODULES_ROUTE_PATH: this.$route.path,
	IS_NEXT: TekLibLocalStorage.getItem('IS_NEXT') !== false,
});
private setProductInfoLocalStorage() {
	...
	localStorage.setItem('MODULES_ROUTE_PATH', this.$route.path);
}