wiki:Guias/HowTo/ExpressoOffline
Last modified 8 years ago Last modified on 04/19/11 13:12:00

Expresso Offline

O Expresso Offline é o módulo ExpressoMail, configurado apenas para trabalhar com a funcionalidade de Pastas Locais, permitindo assim que o usuário possa acessar os seus e-mail ainda que não haja uma conexão com a rede ou com a Internet.

O Express Offline utiliza a API do Google Gears para armazenar e recuperar informações localmente. O Google Gears nada mais é que uma extensão para o navegador do usuário. Cada navegador suportado possui uma versão diferente do Gears.

Instalação do Expresso

Para facilitar para o usuário, deve-se seguir as instruções do Ticket 656 (https://dev.prognus.com.br/expresso/ticket/656) para incluir no Expresso os instaladores disponíveis do Gears que foram modificados pela comunidade exclusivamente para o Expresso. O requisito básico para o funcionamento do Expresso Offline é a instalação do Google Gears. No momento da instalação do Expresso Offline o usuário será redirecionado para o download do Gears caso não tenha ele instalado no seu navegador. Se não for adicionado no Expresso estes instaladores, o usuário deverá baixa-los manualmente neste link da comunidade: http://trac.expressolivre.org/ticket/1447

Estes instaladores foram colocados no próprio Expresso para evitar o tráfego com a Internet, dessa forma o download é feito a partir do servidor onde está instalado o Expresso. Estes instaladores não foram adicionados no repositório do SVN, por isso a necessidade de instalar manualmente pois eles não vem com o código fonte do Expresso.

Instalação do Expresso Offline

Depois de feita a instalação do Expresso, é só alterar as configurações:

Módulo Admin -> Configuração do servidor (sessão Expresso Mail) -> Deseja utilizar o Expresso Offline? -> Marque a opção SIM. Minhas Preferências -> ExpressoMail Offline (sessão Expresso Mail) -> Digite a senha e clique em "Instalar Offline".

Caso o Google Gears não estiver sido instalado no navegador do usuário aparecerá uma mensagem perguntando se ele deseja instalar o Google Gears, se sim, ele será redirecionado para o download.

Se a instalação do Gears estiver sido realizada, aparecerá uma janela perguntando ao usuário se ele deseja criar um ícone na Área de Trabalho do seu computador para o acesso a interface do Expresso Offline.

Como utilizar o Expresso Offline

O Expresso Offline pode ser acessado de duas formas. A primeira é através da própria interface do Expresso Mail (online). Será exibida na árvore de pastas do usuário uma pasta chamada "Pastas locais". Para ativar a pasta "Pastas locais" no Expresso Mail (online), marque como SIM a configuração em Minhas Preferências -> Preferências (sessão Expresso Mail) -> Você gostaria de usar mensagens locais?

O usuário poderá copiar ou mover as mensagens online (imap) para a caixa local, e vice-versa. A configuração que irá definir se irá copiar ou mover encontra-se em Minhas Preferências -> Preferências (sessão Expresso Mail) -> Você gostaria de manter as mensagens arquivadas? SIM (copia), NÃO (move).

A outra forma é através da interface do Expresso Mail Offline, esta interface é semelhante ao Expresso Online, porém com menos recursos e poderá ser acessada mesmo não estando conectado ao servidor do Expresso. Para acessa-la utilize o ícone criado na Área de Trabalho durante a instalação do mesmo ou acesse <RAIZ DO EXPRESSO>/expressoMail1_2/offline.php (ex: http://expresso.prognus.com.br/expressoMail1_2/offline.php).

Principais problemas do Expresso Offline

Não há uma distinção de classes entre o Expresso Mail Online e o Offline, as funções estão em sua maioria estão espalhadas nas classes class.imap_functions.inc.php, class.exporteml.inc.php. Apenas o arquivo local_messages.js está relacionado à apenas ao Expresso Offline. No mais, verificar se há tickets com registro de bugs (que são muitos).

Arquitetura do Gears

Os módulos do Gears incluem:

  • LocalServer: Armazena em cache e fornece recursos de aplicativo (HTML, JavaScript, images, etc.) localmente, não necessitando de conexão com a internet.
  • Banco de dados: Armazena dados localmente em um banco de dados relacional que pode ser totalmente pesquisado.
  • WorkerPool: WorkerPool Deixa seus aplicativos de web com maior capacidade de resposta, executando de forma assíncrona as operações com uso intenso de recursos.

No mais, veja a documentação completa em http://code.google.com/intl/pt-BR/apis/gears

Localização dos arquivos e banco de dados armazenados localmente

O localização do banco de dados e dos arquivos armazenados localmente varia de acordo com o sistema operacional e com o navegador, a lista pode ser encontrada aqui: http://code.google.com/intl/pt-BR/apis/gears/api_localserver.html#filesystem_location

Utilizando o sistema operacional GNU/Linux com o navegador Mozilla Firefox, o caminho é este: /home/<usuario>/.mozilla/firefox/3iuzdlsd.default/Google Gears for Firefox

Exemplo de estrutura de diretórios a partir da pasta Google Gears for Firefox:

  • localserver.db - banco de dados para o controle do Gears
  • permissions.db - banco de dados para o controle do Gears
  • expressodev.prognus.com.br - diretório relacionado ao site que permite o acesso ao Gears

-- http_80
--- database-test#database - banco de dados (sqlite) que o Expresso Offline armazena os dados referênte ao mesmo
--- test-store[1]#localserver - contém os arquivos fonte da mensagem e os anexos
--- icons#desktop - ícone do atalho do Expresso Offline
--- expresso-offline_managed[5]#localserver - contém os arquivos php, imagens, javascripts utilizados na interface do Expresso Offline

Acessar o banco de dados SQLite

Foi utilizado o front-end SQLiteStudio para acessar o banco de dados SQLite, mas pode-se utilizar qualquer ferramenta que permita o acesso a este banco. Para adicionar um banco de dados no SQLiteStudio é só ir em Add Database e adicionar o arquivo referente ao banco.

Utilizar o Gears em qualquer web site com Greasemonkey

Por padrão, o Gears só funciona em sites que tenham implementado a API do Gears para armazenar dados na máquina do usuário. Utilize o Greasemonkey para injetar código Gears em qualquer página web: http://code.google.com/intl/pt-BR/apis/gears/articles/gearsmonkey.html

Attachments