Admins/Administração

De Wiki Expresso V3
Ir para: navegação, pesquisa

Conteúdo

Diferença entre configuração, administração e preferências

Configuração

Trata-se da inclusão ou alteração de parâmetros de administração que contemplarão todo ExpressoBr, tanto para o Tinebase(aplicação base do expresso) como para as demais aplicações.

As configurações definem o comportamento dos serviços. Normalmente o acesso a essas configurações é feito via browser no setup.php da aplicação ou diretamente no arquivo config.inc.php(algumas configurações somente estão disponíveis no arquivo config.inc.php).

Configuração utilizando-se somente arquivos

Após a versão 20141010 é possível utilizar-se da configuração somente em arquivo, conforme descrito neste documento. Isto vem facilitar enormemente a administração das configurações do setup.

Administração

Refere-se ao Módulo de Administração. Para acesso a este módulo, o usuário deve possuir permissão de administrador. Neste módulo estarão disponíveis funcionalidades relacionadas a camada de negócios do expresso, isto é, administração de usuários,de direitos de acesso, grupos, etc.


Preferências

São opções que cada usuário configura para si via interface web conforme as necessidades do próprio usuário.

O administrador do sistema configurará quais preferências e valores estarão habilitadas aos usuário, ou quais poderão ser modificados pelos usuários conforme permissões delegáveis aos usuários pelo administrador.

Multidomínio

Configuração do Multidomínio

A partir da versão kristina.20141010 fora introduzido o suporte a multidomínios. O que é isso? É a possibilidade de uma organização, normalmente uma grande organização ou mesmo organizações que prestem serviços/suporte a mais de um domínio, tenham a possibilidade de separação dos serviços sob este domínio sob um única instância da aplicação.

Para habilitar o Expresso para multidomínio é necessário setar a chave MULTIDOMAIN para TRUE em init_plugins.php. Além disso, o arquivo de configuração config.inc.php foi separado em dados globais e dados de domínio.

Os dados globais continuam no arquivo citado, na pasta raiz de instalação. Os dados que são referentes ao domínio devem ficar também no arquivo config.inc.php, dentro da pasta domains/domain_name.

Interface do Multidomínio

Na interface do Setup para multidomínio, os painéis Gerenciador de Configuração, Autenticação/Contas, Email e Gerenciador de Aplicações aparecem como filhos das pastas de seus respectivos domínios. A árvore Configurações de Domínio é construída de acordo com as pastas que são encontradas dentro da pasta domains.

InterfaceMultidominio.png

Os painéis mencionados devem conter configurações que podem variar para cada um dos domínios, com exceção do painel Gerenciador de Configurações. No multidomínio, todas as aplicações instaladas devem estar nas mesmas versões. Isso porque o mesmo código é válido para o múltiplos domínios. O painel Gerenciador de Configurações foi mantido como filho de cada domínio para que a manutenção dos módulos fosse facilitada.

Instalação Inicial

Antes de fazer a instalação inicial é necessário setar o parâmetro Adaptador em Banco de Dados, dentro do Gerenciador de Configuração para Tinebase_Backend_Adapter. Sem fazer isso não é possível replicar as atualizações do banco para os demais domínios.

InterfaceMultidominio.png

Para que a instalação inicial possa ocorrer de forma distribuída (para todos os domínios) é necessário que o banco de dados, setado no painel Gerenciador de Configuração exista e esteja vazio para todos os domínios. Então, em qualquer um dos painéis Autenticação/Contas, o botão Salvar configuração muda para Salvar configuração e instalar.

Ao clicar nesse botão, o administrador é perguntado para quais domínios a instalação também deverá ser aplicada. É possível escolher que a aplicação (Setup) faça as alterações em todos os bancos configurados, ou então fazer o download do script de atualização, para aplicar as alterações manualmente.

AtualizarDominios.png

Para que o script de atualização do bancos pudesse ser corretamente gerado, foi necessária uma alteração no método initialize do módulo Addressbook. Tal método fazia a importação dos usuários para o caso em que o backend do grupo Armazenamento de contas estivesse setado como LDAP. Nesse caso os usuários deveriam ser importados, conforme o filtro setado.

Como os dados de importação são específicos para o domínio, o método initialize foi alterado para não importar os usuários em caso de multidomínio. Para realizar tal ação, deve-se usar o método cli:

php tine20.php --method Addressbook.initializeContacts -- login=caixa-teste@serpro.gov.br -- password=serpro@123

Os parâmetros login e password são os que deveriam ser preenchidos no grupo Usuário Administrador Inicial antes de iniciar a instalação. Para utilizar esse comando é necessário um usuário com permissão de administrador.

Atualização de Aplicações

Da mesma forma que na instalação do Expresso, ao instalar, desinstalar ou atualizar um módulo pelo Gerenciador de Aplicações, o administrador pode optar por deixar o Setup replicar as mudanças para todos os domínios, ou fazer o download o script de atualização e aplicá-lo em cada um dos domínios.

Verificando a Instalação

Um método no Frontend Cli do módulo Setup foi incluído para verificar se a instalação foi efetuada de forma correta. Essa verificação é manual e opcional. A verificação é dita manual porque o administrador precisa saber e entender quais as tabelas devem conter os mesmos dados e quais podem conter dados diferentes.

O método em questão consiste na comparação entre dois bancos de dados. Esse método é o seguinte:

php tine20.php --method Setup.compareDatabases -- baseDomain="default" -- targetDomain="serpro.gov.br"
 -- outputFile="comp.txt" -- table='tine20_applications'  -- compareCommon=TRUE

Os parâmetros são:

  • baseDomain: o domínio base para a comparação.
  • targetdomain: o domínio alva para a comparação.
  • outputFile: arquivo que vai conter a saída de dados. Se não especificado, a saída vai para a tela.
  • table: a tabela a ser comparada. Se não especificada, compara o banco inteiro.
  • compareCommon: se for setado como TRUE, remove os identificadores (chaves primárias) das tabelas e compara linha a linha. Se omitido, ou setado como valor diferente de TRUE, o método vai comparar justamente as chaves primárias, ignorando os demais campos.

A saída gerada será em dados JSON, e irá conter um grupo com os nomes dos domínios comparados (COMPARE DATA), um grupo com o resumo geral da comparação entre as tabelas (TABLE COMPARISON RESULT) e o último grupo com a lista das diferenças encontradas (TABLE DIFFERENCES).

Essa lista das diferenças irá conter três conjuntos de valores para cada tabela que contém diferenças. O primeiro, de nome do domínio base, vai conter os campos que somente estão presentes nesse domínio. Analogamente, o mesmo será feito para o domínio alvo. Por último, o grupo "both domains" deve conter os campos que estão presentes em ambos os domínios.

Delegando a Administração de Contas de Usuários

Para empresas que possuem grande número de funcionários, muitas vezes espalhados por diversos organogramas, a tarefa de administrar as contas dos empregados de forma centralizada pode ser uma atividade bastante onerosa. Visando dinamizar esse atendimento/tarefa, fora disponibilizada uma funcionalidade de delegação da administração de contas de usuários, implementada via Módulo de Administração.

Esta nova funcionalidade foi liberada na versão Kristina.20140820.

A delegação de administração de usuários está baseada na estrutura da base LDAP da empresa, que normalmente representa suas estruturas organizacionais.

No setup.php foi incluída a opção "OUs dos usuários" (no item Armazenamento de Contas da configuração Autenticação/Contas) para identificar quais ramos do Ldap poderão ser incluídos na delegação de administração.

"OUs dos usuários" é um campo texto com o seguinte formato:

{<etiqueta>|<ou relativa>;} 
 em que:
 <etiqueta> - representa o nome que irá aparecer na Administração
 <ou relativa> - ramo da base LDAP (OU) relativo a base DN da organização que poderá ter a administração delegada.
 ; - Separador de ramos LDAP delegáveis

As OUs são separadas por ponto e vírgula e representam quais os ramos da árvore LDAP serão administrados (via Módulo de Administração).

Abaixo segue um exemplo:

Imagine que se queira delegar a administração de usuários por clubes de futebol em uma empresa com as seguintes configurações:
DN de usuários configurado como: dc=times,dc=com,dc=br Arvore LDAP organizada do seguinte modo: ou=internacional, dc=times,dc=com,dc=br ou=flamengo, dc=times,dc=com,dc=br ...
A configuração da opção do setup OUs deve ser: 
InternacionalF.C.|ou=internacional;Flamengo|ou=flamengo;

A imagem abaixo apresenta a tela da configuração mencionada acima:

Setup ous.png

Direitos para delegação de administração

O usuário que recebe a delegação de administrador deve possuir os privilegios necessários para isto, normalmente:

  • A árvore do ldap que o usuário poderá gravar os usuários deve ser configurada, seja para ambientes com e sem multidomínios.
  • Caso o sistema esteja configurado para usar config somente em arquivos, esta configuração deverá constar no config.inc.php
  • O atributo para respaldar os ramos do ldap a serem passíveis de gravação pelo administrador delegado é o userOus.
 No config.inc.php deverá uma entrada semelhante a esta:
  'userOus' => 'Porto Alegre | ou=pae; Sao Paulo | ou=spo',
 
  • Normalmente deve-se criar uma Role ou Grupo que possua privilégiode execução e criação de usuários para o módulo de administração
 e esta role deve ser atribuída ao usuário que receberá o privilégio de administração do ramo do ldap configurado acima.

Uso do LDAP da V2 na V3(atributos extra)

Para maiores detalhes consulte Atributos extra do ldap no manual de instalção/setup.

Módulo de Administração

O acesso ao Módulo de Administração é feito via interface gráfica do expresso, escolhendo-o dentre os módulos disponíveis.

Abaixo seguem as opções para administração:

  • Usuários
  • Grupos
  • Funções
  • Computadores
  • Aplicações
  • Relação de Acesso
  • Identificações Compartilhadas
  • Repositórios
  • Campos Personalizados
  • Informações do Servidor

Para todas as opções da ferramenta de configuração, a operação é isolada por domínio, ou seja, não há autorizações de um usuário de um domínio operar a configuração de outro domínio.


Tela do Módulo de Administração:

TelaAdministracao.png


Usuários

Para se adicionar, editar ou excluir um usuário no ExpressoV3, o usuário deve possuir permissão de administração de usuários ou administração do sistema.

Para adicionar e editar ter a opção "OUs de usuários" deve estar preenchida.

O usuário deve preencher/editar os campos conforme a seguir:

  • Conta:

- Prenome

- Sobrenome

- Conta Corporativa: indicação do tipo de conta (corporativa ou não)

- Identificação do usuário: deve ser única no sistema

- Senha: nova senha do usuário

- Senha Expirada: Indicação de que a expiração da senha deve ser imediata

- Email: deve estar no formato "usuario@dominio.com.br" e não pode ser igual a outro email já existente no sistema.

- OpenID (no momento, não utilizado)

- Grupo principal: o padrão sugerido é 'Domain Users'

- Situação: situação da conta. O padrão sugerido é 'permitido'; se alterado para 'desabilitado', o campo seguinte 'Desabilitada em' é alterado para a data corrente

- Desabilitada em: data para desativação da conta. Não será aceita uma data no passado; se for inserida a data corrente, o campo 'Situação' é alterado para 'desabilitado'

- Visibilidade: indicação de que a conta ficará visível no Catálogo de Endereços. O padrão sugerido é 'Exibir no catálogo de endereços'

- Salvar no Catálogo de Endereços: indicação do Catálogo de Endereços em que a conta será salva. O padrão sugerido é 'Internal Contacts'

 A seção "Detalhes (Diretório)" será habilitada quando houver a configuração correta do item de setup "OUs de usuários". 
No item 'Ramo LDAP do usuário' é exibida a lista de "OUs "configuradas no setup usuário para que o administrador escolha sob qual OU o usuário será criado.
Os demais itens para cadastro dessa seção são: celular, telefone (trabalho), telefone (casa), empresa, unidade, rua, CEP, cidade e estado.
  • Grupos de usuários:

O usuário seleciona o(s) grupo(s) em que a conta será incluída.

  • IMAP

Quota da caixa de correio da conta em Quota de IMAP (MB) (será exibido o valor padrão, caso este esteja configurado no setup)

  • SMTP

- Email Alternativo

- Encaminhar email (email de encaminhamento)


Para os usuários já existentes, o sistema exibe as seguintes informações: IP, data e hora do última acesso e data e hora da última alteração de senha.

Abaixo, é apresentada a aba 'Conta' da tela de adição de usuário:

Add-User.png


Grupos

Para se adicionar, editar ou excluir um grupo de usuários no ExpressoV3, o usuário deve possuir permissão de administração de usuários ou administração do sistema.

O usuário deve preencher/editar os campos conforme a seguir:

- Nome do Grupo

- Descrição

- Visibilidade: indicação de que a conta ficará visível no Catálogo de Endereços. O padrão sugerido é 'Exibir no catálogo de endereços'

- Salvar no Catálogo de Endereços: indicação do Catálogo de Endereços em que a conta será salva. O padrão sugerido é 'Internal Contacts'

- Membros do Grupo: busca por usuários que farão parte do grupo que está sendo criado/alterado. Só devem ser listados os usuários que ainda não estiverem na lista de usuários que já fazem parte do grupo. Uma vez escolhido o usuário ele deve ser incluído automaticamente na lista de usuários que fazem parte do grupo. Há uma opção para exclusão de qualquer usuário da lista.


Abaixo segue a tela para incluir um grupo:

Adm-groups.png


Funções

Para se adicionar, editar ou excluir uma função no ExpressoV3, o usuário deve possuir permissão de administração de usuários ou administração do sistema.

O usuário deve preencher/editar os campos conforme a seguir:

- Nome da Função

- Descrição

- Membros: busca por usuários que assumirão a função está sendo criada/alterada. Só devem ser listados os usuários que ainda não estiverem na lista de usuários que já fazem assumem a função. Uma vez escolhido o usuário ele deve ser incluído automaticamente na lista de usuários que assumem a função. Há uma opção para exclusão de qualquer usuário da lista.

- Direitos: direitos que o usuário que assume a função terá dentro do sistema.


Abaixo segue a relação de Direitos permitidos no sistema:

  • Administrador

- administrador: descrição dos direitos do administrador;
- executar: descrição dos direitos de execução;
- gerenciar lista de acesso: apagar as entradas da lista de acesso;
- gerenciar aplicações: permitir e restringir aplicações, editar parâmetros de aplicações;
- gerenciar computadores: adicionar, remover e editar (samba) computadores;
- gerenciar contas: adicionar e editar usuários e grupos, adicionar membros de grupos, modificar senhas de usuários;
- gerenciar funções: adicionar e editar funções, adicionar novos membros de funções, adicionar privilégios a funções;
- gerenciar identificações compartilhadas: adicionar, remover e editar identificações compartilhadas;
- gerenciar repositórios: adicionar, remover e editar repositórios e gerenciar privilégios sobre repositórios;
- gerenciar campos personalizados: adicionar e editar campos personalizados;
- ver a lista de acesso: visualizar a relação das listas de acesso;
- ver aplicações: visualizar lista de aplicações e detalhes;
- ver computadores: visualizar lista de computdores e detalhes;
- ver contas: visualizar lista de contas e detalhes;
- ver funções: visualizar lista de funções e detalhes;
- ver repositórios: visualizar repositórios pessoais e compartilhados;
- ver campos personalizados: visualizar lista de campos personalizados;
- ver informações de servidores: visualizar lista de informações de servidores.

  • Calendario

- administrador: descrição dos direitos do administrador;
- administrar calendários compartilhados: criar novos calendários compartilhados;
- executar: descrição dos direitos de execução;
- gerenciar calendários favoritos compartilhados: criar ou editar calendários favoritos compartilhados;
- gerenciar recursos: todos os direitos para administrar recursos.

  • Catálogos de Endereços

- administrador: descrição dos direitos do administrador;
- executar: descrição dos direitos de execução;
- gerenciar os favoritos compartilhados do Catálogo de Endereços: criar ou editar os favoritos compartilhados do Catálogo de Endereços;
- gerenciar Catálogos de Endereços Compartilhados: criar novas pastas no Catálogos de Endereços.

  • Email

- Adicionar contas de email: criar novas contas de email;
- administrador: descrição dos direitos do administrador;
- executar: descrição dos direitos de execução;
- gerenciar contas de email: criar ou editar contas de email.

  • Lançador de Aplicativos

- administrador: descrição dos direitos do administrador;
- executar: descrição dos direitos de execuçãp.

  • Messenger

- administrador: descrição dos direitos do administrador;
- executar: descrição dos direitos de execução.

  • Sincronização Ativa

- administrador: descrição dos direitos do administrador;
- executar: descrição dos direitos de execução.

  • Tarefas

- administrador: descrição dos direitos do administrador;
- executar: descrição dos direitos de execução;
- gerenciar listas de tarefas compartilhadas: criar novas listas de tarefas compartilhadas;
- gerenciar tarefas favoritas compartilhadas: criar ou editar as tarefas favoritas compartilhadas.

  • Tinebase

- administrador: descrição dos direitos do administrador;
- executar: descrição dos direitos de execução;
- gerenciar estado do próprio cliente;
- gerenciar o próprio perfil (dados de contato selecionados);
- gerenciar usuários que devem fazer login com certificado digital;
- reportar problemas: direito de reportar problemas para o desenvolvedor do software diretamente quando eles ocorrem;
- verificar versão: direito de verificar por novas versões deste software.

  • Webconference

- administrador: descrição dos direitos do administrador;
- executar: descrição dos direitos de execução.


Abaixo segue a tela para incluir uma função:

Adm-roles.png


Computadores

Em construção..a principio para utilização com Samba.

Aplicações

O setup.php é local para realizar a instalação e atualização das aplicações, bem como habilitar o seu uso.

No Módulo de administração, é possível alterar a situação das aplicações (módulos) instaladas no ExpressoV3, que pode ser permitido ou desabilitado (quando aplicação for bloqueada).

Além disso é possível definir/alterar os parâmetros das aplicações.

Abaixo segue a tela do Módulo de Administração das Aplicações:

Adm-applications.png

Relação de Acesso

Identificações Compartilhadas

Repositórios

Para se adicionar, editar ou excluir um respositório no ExpressoV3, o usuário deve possuir permissão de administração de usuários ou administração do sistema.


O usuário deve preencher/editar na aba Common Configurations os campos conforme a seguir:

- Nome do repositório

- Aplicação em que ele é utilizado

- Modelo utilizado internamente (não precisa ser configurado, seria um valor como Addressbook_Model_Contact)

- Tipo (opções: compartilhado/corporativo ou pessoal)

- Acls de acesso ao repositório, por grupos ou usuários individuais


A aba Backend se aplica basicamente a repositórios da aplicação 'Catálogos de Endereços'.

O padrão é backend SQL (catálogo interno), mas pode ser configurado um catálogo com Backend LDAP com as seguintes informações:

- Host: Endereço do servidor LDAP

- Port: Porta utilizada no servidor, usa a porta padrão se não for preenchido

- User SSL: Quando escolhido true é utilizada criptografia SSL para acesso ao LDAP

- Distinguished Name: DN raiz de pesquisa do catálogo

- Search Filter: Filtro utilizado nas pesquisas

- Conta e senha utilizadas para os pesquisas

- Quick Search: Não implementado

- Max Result: Número máximo de entradas mostradas de cada pesquisa

- Recursive: Se a pesquisa é recursiva ou não.


Abaixo segue a tela do Módulo de Administração dos Repositórios:

Adm-containers.png


Integração com eventos externos

Para configurar integração com eventos externos, isto é, receber convites externos e atualizar seu calendário com estes eventos há necessidade de configuração de um repositório específico.

Para maiores detalhes onsulte a documentação específica.

Campos Personalizados

Informações do Servidor

Criando alias de email

O expresso permite a configuração de alias de email para os seus usuários. Para isso funcionar são precisos duas modificações.

  1. Configurar o http://seu.expresso/setup.php para permitir alias
  2. Modificar a conta individual do usuário para o alias desejado

Abaixo, mostraremos como fazer ambos.

Configurando o setup.php

Acesso o setup.php do seu expresso. Normalmente é a url http://seu.expresso/setup.php. Clique em Email -> SMTP. Configura o Backend (Retaguarda) como Postfix Ldap (qmail schema)


IMPORTANTE: o seu qmail.schema deve conter o tipo mailAlternateAddress. Veja a configuração em https://comunidadeexpresso.serpro.gov.br/mediawiki/index.php/Admins/Instala%C3%A7%C3%A3o#Configura.C3.A7.C3.A3o_do_Openldap


Configure os dominios secundários obrigatórios e os opcionais (veja imagem abaixo). Pronto, agora basta configurar o alias na conta do usuário.

Dominio secundario setup.png

Em construção...

Adicionando alias de email para usuário

Entre com um usuário administrador do Expresso. No módulo de administração, clique em editar usuário. Clique na aba SMTP e configure os emails alternativos (vide imagem abaixo).


Email alternativo.png

Análise de Log é Fundamental!

O registro de atividades do sistema em arquivos do tipo log são muito importantes, não somente para registrar históricos de alguma atividade específica(para auditoria por exemplo), bem como ajudar os técnicos a descobrir causas de possíveis problemas ou falhas da aplicação.

A atividade de registro na log pode ser configurada via webBrowser/setup.php ou ser alterada dietamente no arquivo config.inc.php, segue exemplo de configuração de log diretamente no arquivo config.inc.php:

'logger' => 
 array (
   'active' => true,
   'filename' => '/var/log/expresso/expresso.log',
  // ou com diretório relativo:
  // 'filename' => './logs/expresso.log',
   'priority' => '7',
 ),

Exemplo de um trecho de log contendo uma trasação php:


f5458 -- none -- - 2014-09-26T16:53:18+00:00 DEBUG (7): Tinebase_Core::setupUserLocale::1010 given localeString 'auto'
f5458 -- none -- - 2014-09-26T16:53:18+00:00 DEBUG (7): Tinebase_Core::setupUserLocale::1019 Got locale from session : pt_BR
f5458 -- none -- - 2014-09-26T16:53:18+00:00 INFO (6): Tinebase_Core::setupUserLocale::1053 Setting user locale: pt_BR
f5458 -- none -- - 2014-09-26T16:53:18+00:00 DEBUG (7): Tinebase_Core::setupUserLocale::1065 Setting CTYPE locale from "C" to "pt_BR.UTF8".
f5458 -- none -- - 2014-09-26T16:53:18+00:00 INFO (6): Setup_Server_Json::handle::41 is JSON request. method: Setup.getAllRegistryData
f5458 -- none -- - 2014-09-26T16:53:18+00:00 INFO (6): Tinebase_Core::setExecutionLifeTime::1128 setting execution life time to: 0
f5458 -- none -- - 2014-09-26T16:53:18+00:00 INFO (6): Tinebase_User::setBackendType::252 Setting backend type to Ldap
d1508 -- none -- - 2014-09-26T16:53:20+00:00 INFO (6): Tinebase_Core::setupLogger::605 Logger initialized
d1508 -- none -- - 2014-09-26T16:53:20+00:00 INFO (6): Tinebase_Core::setupDatabaseConnection::838 Creating Pdo_Pgsql DB adapter
d1508 -- none -- - 2014-09-26T16:53:20+00:00 INFO (6): Tinebase_Core::setupLogger::605 Logger initialized
d1508 -- none -- - 2014-09-26T16:53:20+00:00 INFO (6): Tinebase_Core::dispatchRequest::175 Client transaction ab23ea619cf8b4e66a91dd9c223baf01f85033ef
d1508 ab23e -- none -- - 2014-09-26T16:53:20+00:00 INFO (6): Tinebase_Session_Abstract::setSessionBackend::239 Session of backend type 'File' configured.
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 DEBUG (7): Tinebase_Auth_CredentialCache::setCacheAdapter::96 Using credential cache adapter: Tinebase_Auth_CredentialCache_Adapter_Cookie
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 DEBUG (7): Tinebase_Core::setupUserLocale::1010 given localeString 'auto'
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 DEBUG (7): Tinebase_Core::setupUserLocale::1019 Got locale from session : pt_BR
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 INFO (6): Tinebase_Core::setupUserLocale::1053 Setting user locale: pt_BR
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 DEBUG (7): Tinebase_Core::setupUserLocale::1065 Setting CTYPE locale from "C" to "pt_BR.UTF8".
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 NOTICE (5): Tinebase_Core::errorHandler::507 Trying to get property of non-object in /var/www/expressov3/Tinebase/Core.php::262 (8)
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 NOTICE (5): Tinebase_Core::errorHandler::508 #0 /var/www/expressov3/Tinebase/Core.php(262): Tinebase_Core::errorHandler(8, 'Trying to get p...', '/var/www/expres...', 262, Array)
#1 /var/www/expressov3/Tinebase/Core.php(407): Tinebase_Core::enableProfiling()
#2 /var/www/expressov3/Tinebase/Server/Json.php(59): Tinebase_Core::initFramework()
#3 /var/www/expressov3/Tinebase/Core.php(244): Tinebase_Server_Json->handle()
#4 /var/www/expressov3/index.php(17): Tinebase_Core::dispatchRequest()
#5 {main}
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 DEBUG (7): Tinebase_Server_Json::handle::90 is JSON request. rawdata: Array
(
    [0] => Array
        (
            [jsonrpc] => 2.0
            [method] => Tinebase.getAvailableTranslations
            [params] => Array
                (
                )
            [id] => 3
        )
)
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 INFO (6): Tinebase_Server_Json::_handle::201 is JSON request. method: Tinebase.getAvailableTranslations
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 NOTICE (5): Tinebase_Core::errorHandler::507 Trying to get property of non-object in /var/www/expressov3/Tinebase/Core.php::282 (8)
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 NOTICE (5): Tinebase_Core::errorHandler::508 #0 /var/www/expressov3/Tinebase/Core.php(282): Tinebase_Core::errorHandler(8, 'Trying to get p...', '/var/www/expres...', 282, Array)
#1 /var/www/expressov3/Tinebase/Core.php(248): Tinebase_Core::finishProfiling()
#2 /var/www/expressov3/index.php(17): Tinebase_Core::dispatchRequest()
#3 {main}
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 INFO (6): index.php (25) METHOD: Tinebase_Server_Json::Tinebase.getAvailableTranslations / TIME: 0.10379600524902 seconds /  Memory usage: 13.5 MB /  Real patch cache size: 16345

Analisando uma log da Aplicação

 d1508 ab23e - Request ID 
 21936772809 - User Name
 2014-09-26T16:53:20+00:00 NOTICE (5) - Data do servidor no formato UTC
 NOTICE (5) ou INFO (6) - Nível da log desta linha
 Tinebase_Server_Json::_handle::201 - Classe,função, metodo seguido do nro da linha
 Um ERRO: Trying to get property of non-object in /var/www/expressov3/Tinebase/Core.php::282 (8)


OBS:

1)Verifique na log anterior que o nível 7 mostra as requisições JSON:
d1508 ab23e 21936772809 - 2014-09-26T16:53:20+00:00 DEBUG (7): Tinebase_Server_Json::handle::90 is JSON request. rawdata: Array
(
   [0] => Array
       (
           [jsonrpc] => 2.0
           [method] => Tinebase.getAvailableTranslations
           [params] => Array
               (
               )
           [id] => 3
       )
)

2) Repare que o Request ID para este exemplo é unico  para todas as linhas: d1508 ab23e
   Portanto uma requisição corresponde a um request ID
   Em uma log normal em produção estes requests ID poderão estar todos misturados, mas sua identificação resgata unicamente uma atividade.

Filtrando conteúdos para LOG

Em ambientes produtivos, muitas vezes pode tornar-se impraticável coletarmos log de todas as atividades de todos os usuário. Para diminuir a quantidade de log gerada existe um sistema de configuração dos filtros a serem aplicados , ex:

'logger' =>

array (
  [...]
  'filter'   => array(
      'user'    => 'nomeusuario', //  gerará somente log deste usuário
      'message' => '/ExpressoMail/', // expressão regular aplicada na log
  ),

),


Logs de Atividades de Banco de Dados

As consultas a bancos de dados também podem ser logadas em arquivos de log, porém esta possui uma configuração especifica para esse tratamento.

Logs do Activesync

O Activesync é um protocolo que não perdura a conexão entre o expresso e o dispositivo móvel e portanto a cada sincronização entre estes ambientes sempre ś realizado um nolo login no expresso, e considerando uma quantidade razoável de comandos ou usuários utilizadores, isto pode gerar um excesso de trafego no sistema.

Para minimizar estes efeitos fora criada a possibilidade de configuração, tanto dos acessos como das logs geradas por eles config do activesync.

Logs de Auditoria

O Log de auditoria tem por finalidade armazenar no syslog as atividades sobre o módulo de administração.

Para configurar o administrador deve acessar o SETUP da aplicação, acessar a opção "Auditoria", colocar a opção "Habilitar Auditoria para o módulo de Administração" para "Sim" e salvar. As atividades como alterações de contas serão logadas em "/var/log/apache2/error.log". O formato das informações registradas deve estar no seguinte padrão:

Expressomail_AuditLog[ID];$timestamp;$type;$sessionid;$module;$user;$method;$parameters;$message;

O usuário pode procurar as informações abrindo o arquivo citado acima e procurando pela chave "Expressomail_Auditlog".

CAPTCHA

Modo de operação

Para ativar o armazenamento da contagem de CAPTCHA no sistema de cache, é necessário acessar o setup da aplicação, item Configuração Global, seção CAPTCHA e subitem Armazenamento e alterar o valor da lista para Cache. O padrão, na ausência de definição é Sessão.

Diferenças entre os modos de armazenamento da contagem de CAPTCHA

O CAPTCHA só é exibido se for configurado um valor de contagem acima de zero.

Se o armazenamento da contagem está configurado para Sessão, a contagem das tentativas de login é armazenada na sessão do usuário, de modo que a informação é única.

Se o armazenamento da contagem está configurada para Cache, a contagem das tentativas de login é armazenada no cache da máquina de frontend (servidor Web) acessado pelo usuário.

Isso implica que o usuário pode "zerar" a contagem, ao forçar a troca de frontend, se ele alterar o cookie que armazena a informação fornecida pelo balanceador de carga.

Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Ferramentas