Alimentando Desktopcouch com Zeitgeist
Zeitgeist é um indexador de atividades, gerando informações sobre aplicações acessadas, músicas tocadas, etc.
Desktopcouch é (ou era) a parte de sincronização do Ubuntu One. Este artigo demonstra como criar uma extensão para o
Zeitgeist que alimente o Desktopcouch. Desta forma, as informações do Zeitgeist puderam ser acessadas remotamente.
Desktopcouch é (ou era) a parte de sincronização do Ubuntu One. Este artigo demonstra como criar uma extensão para o
Zeitgeist que alimente o Desktopcouch. Desta forma, as informações do Zeitgeist puderam ser acessadas remotamente.
Parte 2: Ontologia, as informações do Zeitgeist
Como descrito antes, o Zeitgeist é um registrador de atividades ou eventos, estes eventos são registrados como Ontologia.
Isto quer dizer, que não é simplesmente registrado o que, como e com quem aconteceu o evento, previamente o tipo de como, o quê e com quem aconteceu deve ser definido em forma de uma URI, e só então esta URI é registrada com o evento; desta forma, outras aplicações podem reutilizar esta definição para sua compreensão.
Grande parte desta definição, já foi previamente criada em outro projeto, o Nepomuk. O Zeitgeist usa esta definição por padrão, entretanto, novas podem ser criadas.
Vamos a um exemplo.
Quando um usuário recebe uma mensagem de texto via algum 'Instant Messenger', pode-se registrar um evento informando:
- O que aconteceu?
Porém, é armazenado com a URI que define o 'recebido' no caso:
- Como aconteceu?
Novamente, deve conter a URI do evento 'alguém enviou':
- Quando aconteceu?
- Por onde?
Geralmente a URI do Application, no meu caso: application://pidgin.desktop
- Quais os itens envolvidos?
Pode haver mais de um 'o que' no mesmo evento, posso apagar vários arquivos de uma só vez, receber várias mensagens de uma só vez, etc.
No exemplo a seguir, o usuário recebeu uma mensagem com um link, as duas informações são registradas.
No Zeitgeist, isto é chamado de 'subject'.
Passando isto para o Zeitgeist, em código PythonM:
Veja mais sobre Ontologia do Zeitgeist, na documentação de desenvolvimento.
Documentação Oficial: http://zeitgeist-project.com - Ontology
Um dos melhores posts sobre o assunto: http://www.grillbar.org/wordpress
Isto quer dizer, que não é simplesmente registrado o que, como e com quem aconteceu o evento, previamente o tipo de como, o quê e com quem aconteceu deve ser definido em forma de uma URI, e só então esta URI é registrada com o evento; desta forma, outras aplicações podem reutilizar esta definição para sua compreensão.
Grande parte desta definição, já foi previamente criada em outro projeto, o Nepomuk. O Zeitgeist usa esta definição por padrão, entretanto, novas podem ser criadas.
Vamos a um exemplo.
Quando um usuário recebe uma mensagem de texto via algum 'Instant Messenger', pode-se registrar um evento informando:
- O que aconteceu?
Recebi algo
Porém, é armazenado com a URI que define o 'recebido' no caso:
- Como aconteceu?
Alguém enviou
Novamente, deve conter a URI do evento 'alguém enviou':
- Quando aconteceu?
Neste momento.
Registrado com timestamp.
- Por onde?
Por uma aplicação.
Geralmente a URI do Application, no meu caso: application://pidgin.desktop
- Quais os itens envolvidos?
A Mensagem/O Texto/O Arquivo/Um e-mail...
Pode haver mais de um 'o que' no mesmo evento, posso apagar vários arquivos de uma só vez, receber várias mensagens de uma só vez, etc.
No exemplo a seguir, o usuário recebeu uma mensagem com um link, as duas informações são registradas.
No Zeitgeist, isto é chamado de 'subject'.
Passando isto para o Zeitgeist, em código PythonM:
Veja mais sobre Ontologia do Zeitgeist, na documentação de desenvolvimento.
Documentação Oficial: http://zeitgeist-project.com - Ontology
Um dos melhores posts sobre o assunto: http://www.grillbar.org/wordpress
Bem legal, tem outras coisas também (servidor python ...).