- 1 Participação Estudantil
- 2 Preparando-se para desenvolvimento no Thunderbird
- 3 Organização do Código Fonte
- 4 Encontrar ingressos para trabalhar
- 5 Interface do usuário
- 6 Construindo a Extensão
- 7 Esboço Esboçado de Planos de Desenvolvimento
Temos vários alunos no Seneca College, em Toronto, e vários outros na Universidade de Toronto que estão interessados ​​em trabalhar nisso em seus projetos estudantis.
Se desejar, você pode editar esta página e colocar seu nome, endereço de e-mail, o nome da turma que será esse projeto e um pouco sobre em que parte você pode ter interesse em trabalhar.
Preparando-se para desenvolvimento no Thunderbird
Primeiro, baixe a versão noturna mais recente do Thunderbird.
Ubiquity requer Thunderbird versão 3.0 ou superior.
clone hg https://ubiquity.mozilla.com/hg/ubiquity-thunderbird ubiq-tbird
Descubra o caminho para o diretório do seu perfil do Thunderbird e faça:
cd ubiq-tbird python manage.py instalar caminho para seu diretório de perfil do Thunderbird
Inicie o Thunderbird e vá para a caixa de diálogo Opções. Vá para a guia Avançado. Vá para a subguia Geral da guia Avançado. Clique no botão "Editor de configuração". Clique com o botão direito (ou clique com a tecla Ctrl pressionada) e escolha "Novo" -> "Booleano". Crie uma nova preferência booleana chamada
Organização do código-fonte
Todo o código-fonte do Ubiquity está atualmente em []. Este é efetivamente um fork do código original em []. Por enquanto, não vamos nos preocupar com a compatibilidade cruzada: vamos apenas levar o código no ubiquity-thunderbird ao ponto em que ele funcione corretamente no Thunderbird. Depois disso, podemos descobrir como mesclar as linhas de código novamente em um repositório e uma extensão que funcionará em ambos os aplicativos.
Todos os envolvidos no projeto devem estar familiarizados com o uso do Hg (também conhecido como Mercurial!)
Encontrando ingressos para trabalhar
Estamos monitorando bugs no mesmo repositório Trac que estamos usando para a linha principal de desenvolvimento do Ubiq-Firefox; Os tickets específicos do Thunderbird são marcados como pertencentes ao componente "ubiquity-thunderbird". O link de pesquisa salva abaixo o levará diretamente para a lista de todos os tickets específicos do Thunderbird:
Para abrir a caixa de entrada de comando no Thunderbird, a combinação de teclas padrão não é alt-space (que já foi usada, infelizmente), mas sim alt+D.
Construindo a Extensão
O mesmo comando usado para construir o XPI para Firefox ainda funciona para a versão Thunderbird:
python gerencia.py build-xpi
Esboço incompleto dos planos de desenvolvimento
Integração da caixa de pesquisa
Além da UI de sobreposição de caixa de entrada transparente com a qual todos estamos familiarizados, gostaria de tentar integrar o Ubiquity diretamente com a barra de pesquisa do Thunderbird, que será lançada em breve como parte do lançamento do Thunderbird 3 beta 1.
Precisamos examinar o código do Thunderbird que processa as teclas digitadas na barra de pesquisa e gera as sugestões, e descobrir como ouvir essas teclas digitadas e injetar nossas próprias sugestões de comando na lista de sugestões da barra de pesquisa.
Assinando feeds de comando
O serviço de anotação usado no Firefox para marcar URLs marcados como contendo feeds de comando não existe no Thunderbird. Por enquanto, acabamos de removê-lo e, portanto, a versão Thunderbird do Ubiquity simplesmente possui uma lista codificada dos feeds de comando padrão. Precisaremos criar algum outro método para armazenar os URLs dos feeds assinados e torná-los legíveis por ambos os aplicativos, para que os comandos que você assina no Firefox estejam disponíveis no Thunderbird. (E vice-versa? Haverá talvez uma maneira de assinar um feed de comando do Thunderbird, se alguém enviar comandos por e-mail para você ou algo assim?)
Precisaremos de alguma maneira para que o Ubiquity no Firefox e o Ubiquity no Thunderbird se comuniquem se ambos estiverem em execução. O objetivo é que um comando "e-mail" iniciado no Firefox seja capaz de enviar o e-mail do Thunderbird, enquanto um comando "google" iniciado no Thunderbird seja capaz de abrir os resultados no Firefox.
Tópicos para pesquisar
- Existem mecanismos de nível superior aos soquetes TCP/IP que podem ser usados ​​para comunicação entre duas extensões Mozilla em execução?
- Existe alguma implementação de código aberto de comunicação baseada em soquete entre extensões Mozilla que possamos usar?
- Que tal usar XML-RPC? Há alguma implementação de código aberto que possamos usar?
- Poderíamos usar o Weave de alguma forma como base para o nosso IPC, ou se não for a base, para melhorá-lo de alguma forma?
- Se o Firefox é a janela ativa do usuário, como podemos fazer com que o Thunderbird se torne a janela ativa como resultado da execução de um comando "e-mail"? A resposta dependerá da plataforma, então precisaremos verificar se isso é possível e, em caso afirmativo, como, no Mac, Windows e Linux.
Um bom lugar para começar a procurar podem ser as extensões em addons.mozilla.org - veja se alguma delas está fazendo algo como IPC por conta própria.
- Construir nosso próprio mecanismo IPC (como um cliente/servidor XML-RPC) se não conseguirmos encontrar um já disponível.
- Teste-o.
- Integre-o com a extensão de onipresença.
Modificação em comandos existentes
Os comandos existentes precisarão de um novo metadado, provavelmente chamado de "aplicativo", para saber se são apenas Firefox, apenas Thunderbird ou funcionam em ambos (o padrão).
Desenvolvimento de Novo Comando
Todos nós deveríamos começar a usar o Thunderbird para nossos e-mails diários e começar a manter listas de comandos que seriam realmente bons de ter para nos ajudar a lidar com a sobrecarga de e-mails.
Idéias para tais comandos podem ser adicionadas a esta página wiki, aqui mesmo: 1.) Regra/Filtro: para criar uma nova regra/filtro para classificar mensagens.