= Como atualizar seu Expresso para a versão 2.4 = [[PageOutline]] Ao baixar o pacote da nova versão do Expresso, sua atualização é semelhante às outras atualizações (veja [wiki:documentacao/atualizarExpresso esta página]). '''Atenção:''' * Antes de qualquer coisa, faça backup dos seus dados, principalmente do banco de dados; * Procure simular essa atualização em um ambiente de homologação; * Este procedimento irá interromper o serviço temporariamente; * Proceda em horários sem utilização; = Procedimentos após atualização = Após a atualização de seu Expresso, são necessárias algumas configurações adicionais de novas funcionalidades disponíveis nesta versão. == Diretório "prototype" == Abaixo do diretório principal de seu Expresso existe o diretório "/prototype". Esta pasta compreende um conjunto de novas funcionalidades inseridas no Expresso, desenvolvidas sob uma nova Api proposta abrangendo desde o novo módulo !ExpressoCalendar até componentes/funcionalidades de módulos já existentes como o !ExpressoMail. == Arquivos de configuração Gerais == Os arquivos de configuração da pasta prototype encontram-se no diretório "/config", formando o caminho "prototype/config". Neste diretório, inicialmente é necessário configurar os seguintes arquivos: * PostgreSQL.srv {{{ path = "services/PostgreSQL.php" class = "PostgreSQL" [config] ; Conexao via socket unix host = /tmp ; Conexão via TCP/IP ;host = 127.0.0.1 port = 5432 dbname = expresso user = postgres ; Caso o usuario tenha senha... ;password= }}} -- Neste arquivo deve ser configurado o "host", "port"(porta de conexão com o PostgreSQL), "dbname", "user" e caso seja necessário uma senha para conexão a mesma deve ser dado no campo "password"; * Sieve.srv {{{ path = "services/Sieve.php" class = "Sieve" [config] host = 127.0.0.1 port = 2000 loginType = null auth = true debug = false euser = '' useTLS = false options = null }}} -- Neste arquivo deve ser configurado o "host"(onde está o serviço sieve - Ip da máquina), "port"(Porta do serviço Sieve), "loginType", "auth", "debug", "euser", "userTLS", "options"; * OpenLDAP.srv {{{ path = "services/OpenLDAP.php" class = "OpenLDAP" [config] idAtribute = "uidNumber" host = 127.0.0.1 context = "dc=LDAP_DC" ; Caso o LDAP requisite autenticao, configure os parametros a seguir ;user = ;password = }}} -- Neste arquivo deve ser configurado o "idAtribute" (nome do campo do LDap que representa o Id unico do usuário), "host"(onde está o serviço OpenLDAP) e "context"; * Imap.srv {{{ path = services/ImapServiceAdapter.php class = ImapServiceAdapter }}} == Instalação básica da Agenda (expressoCalendar) == 1 - Instalar módulo a partir do setup do Expresso, conforme o padrão de todos os módulos; 2 - Configurar obrigatóriamente os arquivos "PostgreSQL.srv", "OpenLDAP.srv" e "SMTP.srv", localizados em "/prototype/config/" na Árvore de diretórios a partir da raíz; 3 - Ativar o módulo para os gerentes pelo módulo Admin; 4 - Ativar o módulo para os usuários ou para um grupo de usuários pelo módulo !ExpressoAdmin; 5 - Configurar o cron do servidor para executar perioricamente o arquivo de alarmes do Expresso, permitindo o envio de notificações de alarmes dos eventos (via e-mail): * Executar o comando "crontab -u apache -e" para centos ou "crontab -u www-data -e" para debian/ubuntu; * Copiar e colar esta linha na linha de comando "*/5 * * * * php -q /CAMINHO ABSOLUTO DO EXPRESSO/prototype/modules/calendar/alarms.php". == Suporte a !DaviCal == 1 - Instalação do Servidor !DaviCal: * Seguir o tutorial oficial, disponibilizado em: http://www.davical.org/installation.php * Outras informações também podem ser encontradas em: http://wiki.davical.org/ http://wiki.davical.org/w/Configuration/LDAP * Observação: O davical DEVE ser instalado na mesma máquina do Expresso Livre, mas a base de dados pode estar em outro servidor (já que o davical necessita que a base de dados esteja em UTF-8). No desenvolvimento da versão 2.4 nos baseamos na versão '''1.0.2''' do Davical 2 - Aplicar os três patches em anexo nesta página Wiki nos arquivos do servidor !DaviCal: * caldav-DELETE.php.diff * caldav-MOVE.php.diff * caldav-PUT-vcalendar.php.diff Para aplicar os patches, copie os arquivos acima, acesse o diretório do código do !DaviCal (geralmente em /usr/share/davical/inc), cole os arquivos neste diretório e utilize os comandos: * patch -p0 < caldav-DELETE.php.diff * patch -p0 < caldav-MOVE.php.diff * patch -p0 < caldav-PUT-vcalendar.php.diff 3 - Após aplicados os patches, acessar cada um dos arquivos: * caldav-DELETE.php * caldav-MOVE.php * caldav-PUT-vcalendar.php e especificar o caminho da sua instalação Expresso em cada um deles, definido na variável: $expresso = 'PATH_DO_SEU_EXPRESSO'; Observação: Lembre-se de acertar na configuração do davical a variável open_basedir {{{ php_value open_basedir "/usr/share/davical:/usr/share/awl:/usr/share/awl/inc:/tmp:/etc/davical:'PATH_DO_SEU_EXPRESSO'" }}} 4 - Para configurar a agenda como um cliente !DaviCal * Configurar a url utilizada para acessar o servidor !DaviCal no arquivo localizado em "/prototype/config/CalDAV.srv" {{{ ;Url utilizada para acessar o serviço caldav url = "http://davical.domain.com/caldav.php" ;Conta do caldav onde fica armazenada as agendas de contas compartilhadas sharedAccountsLocation = "shareds" }}} * Ativar o suporte ao caldav, definindo para "true" o parâmetro "useCaldav" no arquivo localizado em "/prototype/config/expressoCalendar.ini" 5 - No módulo "admin", na opção "Configurações do calendário", o "Calendário padrão da instalação do expresso:"deve estar como: "expressoCalendar". == Configuração do Cron == 1 - Para a configuração do Cron, deve-se colocar o script localizado em (expresso/INSTALL/arquivos/expresso-cron) no diretório "/etc/cron.d", o mesmo deve ser alterado conforme o sistema operacional utilizado. 2 - Se a instalação for feita via Script, este arquivo será configurado e colocado automaticamente. 3 - Se for feita apenas uma atualização, deverá ser configurado manualmente. == Migração da Agenda (expressoCalendar) == 1 - Entrar no módulo Administrador; 2 - Em "expressoCalendar" clicar em "!ExpressoCalendar migração*" (Imagem 1); [[Image(img1.jpg,center,45%)]] 3 - Clicar no botão "Salvar" uma vez (Imagem 2). O sistema ira migrar e voltar ao home do módulo Administrador; [[Image(img2.jpg,center,35%)]] Obs.: A migração ainda não suporta Repetições e nem Alarmes, portanto não serão migrados junto com os eventos!ainda estão em 'TODO'. == Instalação do módulo REST API e atualização do módulo Expresso Mail == 1 - A partir da interface de instalação de módulos do expresso (expresso/setup) na tela de visualização de módulos instalados/desinstalados/desatualizados, Será necessário procurar pelo módulo com o título "REST API", marcá-lo para instalação e clicar sobre o botão salvar. Veja maiores detalhes na imagem abaixo. 2 - Após a instalação do módulo "REST API", procurar pelo módulo com o título "Expresso Mail", marcá-lo para atualização e clicar sobre o botão salvar. Veja maiores detalhes na imagem abaixo. A ordem de instalação destes módulos deve ser seguida desta maneira, instalando primeiro o "REST API", pois "Expresso Mail" precisará que ele já esteja instalado para que a nova funcionalidade de contatos dinâmicos funcione corretamente. [[Image(setup.jpg,center,70%)]] == Alteração do limite de resultados de uma pesquisa no LDAP == Em diversos locais do expresso são realizadas buscas no LDAP. Nestes locais, ao escolher um setor ou pressionar "Enter" em um campo vazio, será retornado resultados limitados do LDAP. Isto ocorre por que este valor está fixo no código, porém é possivel alterá-lo. Para alterar a quantidade de resultados em uma pesquisa no LDAP é preciso editar o arquivo "prototype/services/OpenLDAP.php". Procure pela variável "var $limit = 10" presente na linha 9 deste arquivo. Ao alterar o valor desta variável, o limite máximo de resultados em uma busca no LDAP será alterada. Segue abaixo uma imagem para maiores detalhes de localização. [[Image(limit.jpg,center,22%)]] == Nova funcionalidade de auto-completar para destinatários de mensagem == No módulo Expresso Mail, para que a nova funcionalidade de auto-completar para destinátários de uma mensagem seja funcional, será preciso seguir os passos abaixo: 1- Limpar os todos os dados de cookie e cache de seu navegador. Para que a interface de remoção destes dados seja exibida em seu navegador, utilize o atalho Ctrl+Shift+del ou procure pela funcionalidade no menu de seu navegador, a imagem abaixo utiliza como exemplo a remoção de dados para o navegador firefox. [[Image(limpar_cache_firefox.jpg,center,50%)]] 2 - Selecionar um identificador único que o usuário contenha em seu LDAP. Para isto acesse o módulo "Administrador" e acesse o link "Configuração do servidor" do módulo Expresso Mail. Ao final da página que será aberta, em "Identificador do destinatário de uma mensagem" escolha o atributo LDAP disponível no campo de seleção exibido. Para finalizar esta modificação clique sobre o botão "Salvar". A imagem abaixo utiliza como exemplo o atributo "uid". [[Image(alterar_atributo_ldap.jpg,center,50%)]] == Lista de pacotes que devem ser instalados (Debian / Ubuntu / CentOS) == Para Debian e Ubuntu: HTTP: apache2-mpm-prefork libapache2-mod-php5 apache2-utils PHP: php5 php5-common php5-dev php5-gd php5-imap php5-ldap php5-pgsql php5-cgi php5-cli php5-curl php5-xmlrpc php5-memcache libgv-php5 php5-pspell Complementares: zip unzip memcached libmemcached Para CentOS: HTTP: httpd mod_ssl PHP: php php-cli php-ldap php-pgsql php-imap php-mbstring php-gd php-xml php-pecl-memcache graphviz-php php5-pspell Complementares: zip unzip memcached libmemcached '''A versão do PHP deve ser maior que 5.3.3, preferencialmente a última disponível (atualmente a 5.3.15).''' == Permitindo o uso do ''.htaccess'' no Apache == A partir da versão 2.4.0 do Expresso Livre, as configurações relativas ao PHP necessárias para que o Expresso funcione foram concentradas no arquivo ''.htaccess''. Então, é muito importante permitir que o Apache use tais configurações: {{{ # Para o .htaccess funcionar AllowOverride All Order allow,deny allow from all }}}