View
213
Download
0
Category
Preview:
Citation preview
Sistema de Organização para Fotografias Online
Mariana Pimenta Frias – 20683 – mariana.pf.frias@alunos.ipb.pt
Trabalho realizado sob a orientação de
Professora Luísa Jorge – Orientador – ljorge@ipb.pt
Professor Paulo Melo – Co-orientador – pmelo@fe.uc.pt
Engenharia Informática
2011/2012
iii
Sistema de Organização para Fotografias Online
Relatório da Unidade Curricular de Projeto
Licenciatura em Engenharia Informática
Escola Superior de Tecnologia e de Gestão
Mariana Pimenta Frias
2011/2012
iv
A Escola Superior de Tecnologia e Gestão não se responsabiliza pelas opiniões expressas
neste relatório.
v
Certifico que li este relatório e que na minha opinião, é adequado no seu
conteúdo e forma como demonstrador do trabalho desenvolvido no
âmbito da Unidade Curricular de Projeto.
___________________________________________
Professora Luísa Jorge - Orientador
Certifico que li este relatório e que na minha opinião, é adequado no seu
conteúdo e forma como demonstrador do trabalho desenvolvido no
âmbito da Unidade Curricular de Projeto.
___________________________________________
Professor Paulo Melo - Co-Orientador
Certifico que li este relatório e que na minha opinião, é adequado no seu
conteúdo e forma como demonstrador do trabalho desenvolvido no
âmbito da Unidade Curricular de Projeto.
___________________________________________
- Arguente
Aceite para avaliação da Unidade Curricular de Projeto.
vii
Agradecimentos
Durante o último ano em que estive envolvida neste Projeto, tive a oportunidade de contar
com o apoio de várias pessoas, como tal, este relatório não ficaria completo sem agradecer a
todos pela colaboração, estímulo e empenho para que esta tarefa se tornasse uma realidade.
Em primeiro lugar, agradeço à Professora Luísa Jorge e ao Professor Paulo Melo pela forma
como me orientaram durante a realização deste Projeto. As visões simples e críticas,
disponibilidade, cordialidade com que sempre me receberam, paciência, dedicação,
profissionalismo e a liberdade de acção que me permitiram, foi decisiva para que este Projeto
contribuisse para o meu desenvolvimento pessoal.
À minha família, base fundamental da minha existência, cujo amor, compreensão e apoio
foram essenciais durante todo o percurso da Licenciatura.
Ao meu namorado, devido a todo o apoio nas rotinas e horas difíceis.
Aos meus amigos e colegas de Licenciatura, pelos momentos de entusiasmo partilhados em
conjunto.
A todos os meus Professores pela compreensão, tempo que generosamente me dedicaram e
pela transmissão dos melhores e mais úteis ensinamentos durante a Licenciatura.
Ao Instituto Politécnico de Bragança, em particular, à Escola Superior de Tecnologia e
Gestão por me ter acolhido e fornecido todas as condições de trabalho durante este percurso.
A todos aqueles que, embora não mencionados, me brindaram com os seus inestimáveis
apoios em distintos momentos os meus maiores agradecimentos, todos vocês são co-autores
deste trabalho.
ix
Resumo
O presente trabalho da Unidade Curricular de Projeto visa desenvolver um sistema online
que permita organizar e catalogar fotografias.
A ideia assenta no facto de que hoje em dia, com máquinas fotográficas digitais e telemóveis
com câmaras incorporadas, são criadas cada vez mais fotografias e por essa razão, é
necessário organizá-las e manter a coleção ao longo do tempo (adicionando de forma
ordenada novas fotografias/conjunto de fotografias) e apresentar essas fotografias de
diversas formas, de acordo com a informação introduzida pelo utilizador e/ou presente nas
próprias fotografias.
O objetivo principal reside em elaborar uma aplicação para gestão de imagens, focado na
organização de imagens digitais.
Palavras-chave: Aplicação de gestão de imagens, Imagens digitais.
xi
Abstract
This project aims to develop an online system that allows organize and catalog photos.
The idea is based on the fact that nowadays, with digital cameras and mobile phones with
incorporate cameras, are created more photos and for that reason is necessary to organize
them and keep that collection over time (adding in an orderly manner, new photos/set of
photos) and present these photos in various ways, according to the information introduced by
the user and/or present in themselves.
The main objective is to develop an image management application focused on management
of digital images.
Keywords: Image management application, Digital images.
xiii
Conteúdo
1 Introdução e Objetivos .................................................................................................. 1
1.1 Apresentação do tema ............................................................................................... 1
1.2 Objectivos do Projeto ............................................................................................... 1
1.3 Organização/Estrutura do documento........................................................................ 2
2 Software de Gestão de Imagem/Ferramentas utilizadas .............................................. 4
2.1 Software de Gestão de Imagem ................................................................................. 4 2.1.1 F-Spot ................................................................................................................ 4
2.1.2 gThumb .............................................................................................................. 5 2.1.3 ResourceSpace ................................................................................................... 6
2.2 Tabela Comparativa .................................................................................................. 7
2.3 Ferramentas Utilizadas ............................................................................................. 9
2.3.1 Apache 2.0 ......................................................................................................... 9 2.3.2 MySql ................................................................................................................ 9
2.3.3 PHP...................................................................................................................10 2.3.4 ImageMagick ....................................................................................................10
2.3.5 FFMPEG ...........................................................................................................11 2.3.6 Ghostscript ........................................................................................................11
2.3.7 Exiftool .............................................................................................................12
3 Utilização do ResourceSpace .......................................................................................14
3.1 Gestão do ResourceSpace ........................................................................................14
3.2 Demonstração do interface gráfico...........................................................................15
3.2.1 Upload de um ficheiro .......................................................................................16 3.2.1.1 Criação de nova meta informação no upload de um ficheiro .................................................. 18
3.2.2 Pesquisa de um ficheiro .....................................................................................19
3.2.3 Lista de plugins .................................................................................................20 3.2.4 Pedidos de material ...........................................................................................20
3.2.5 Edição de vários campos ...................................................................................21
4 Implementação .............................................................................................................23
4.1 Instalação do ResourceSpace ...................................................................................23
4.2 Descrição/Análise do Problema ...............................................................................24
4.3 Abordagem ..............................................................................................................24
14
4.4 Capacidades adicionais ............................................................................................25
4.4.1 Mapa de Coleções .............................................................................................25 4.4.2 Hierarquia virtual usando tags ...........................................................................26
4.5 Instalação/Configuração dos plugins ........................................................................27 4.5.1 Slideshow ..........................................................................................................27
4.5.1.1 Instalação/Configuração do plugin slideshow ........................................................................ 27 4.5.1.1.1 Utilização do plugin slideshow, Brian Adams+Paul Manno ............................................. 29
4.5.1.2 Instalação/Configuração do plugin embedslideshow .............................................................. 31 4.5.1.2.1 Utilização do plugin embedslideshow ............................................................................. 31
4.5.2 Plugin RSS2 ......................................................................................................32 4.5.3 Plugin flickr_theme publish ..............................................................................33
4.5.4 Plugin Picasa.....................................................................................................36
4.6 Dificuldades encontradas .........................................................................................37
4.6.1 Mapa de Coleções .............................................................................................37 4.6.2 Hierarquia virtual usando tags ...........................................................................37
4.6.3 Plugin Picasa.....................................................................................................38
5 Conclusões ....................................................................................................................40
5.1 Análise Crítica .........................................................................................................40
5.2 Desenvolvimento Futuro ..........................................................................................41
A Proposta de trabalho ..................................................................................................... 1
B Interface gráfica do ResourceSpace .............................................................................. 2
B.1 Formulário para ficheiro do tipo Foto ....................................................................... 2
B.2 Formulário para ficheiro do tipo Vídeo ..................................................................... 3
B.3 Formulário para ficheiro do tipo Documento............................................................. 3
B.4 Formulário para ficheiro do tipo Audio ..................................................................... 4
B.5 Pesquisa de Busca Avançada .................................................................................... 5
B.6 Página para elaborar pedido ...................................................................................... 6
xvi
Lista de Tabelas
Tabela 1 - Tabela comparativa de diferentes software de gestão de imagem ....................................................... 7 Tabela 2 - Instalação do ResourceSpace .......................................................................................................... 23 Tabela 3 - Resultado pretendido do Mapa de Coleções .................................................................................... 37
xviii
Lista de Figuras
Figura 1 - Logótipo do F-Spot ........................................................................................................................... 5 Figura 2 - Logótipo do gThumb ........................................................................................................................ 5 Figura 3 - Logótipo do ResourceSpace .............................................................................................................. 6 Figura 4 - Logótipo Apache .............................................................................................................................. 9 Figura 5 - Logótipo do MySql ......................................................................................................................... 10 Figura 6 - Logótipo do PHP ............................................................................................................................ 10 Figura 7 - Logótipo do ImageMagick .............................................................................................................. 11 Figura 8 - Logótipo do FFMPEG..................................................................................................................... 11 Figura 9 - Logótipo do Ghostscript .................................................................................................................. 12 Figura 10 - Página inicial do RS ...................................................................................................................... 15 Figura 11 - Tipo de ficheiro introduzido no Upload ......................................................................................... 16 Figura 12 - Novo recurso adicionado ............................................................................................................... 17 Figura 13 - Vários formatos da mesma imagem ............................................................................................... 17 Figura 14 - Criação de um novo campo ........................................................................................................... 18 Figura 15 – Pesquisa de imagem ..................................................................................................................... 19 Figura 16 - Lista de plugins ............................................................................................................................. 20 Figura 17 - Edição de vários campos ............................................................................................................... 21 Figura 18- Mapa de Coleções .......................................................................................................................... 26 Figura 19 - Upload de plugin .......................................................................................................................... 27 Figura 20 - Plugin slideshow - Brian Adams .................................................................................................... 28 Figura 21 - Falha na configuração do plugin slideshow .................................................................................... 28 Figura 22 - Plugin slideshow - Brian Adams, modificado por Paul Manno ....................................................... 29 Figura 23 - Colecção pública para utilização do plugin slideshow .................................................................... 29 Figura 24 - Página de Configuração do plugin slideshow ................................................................................. 30 Figura 25 - Personalizar o slideshow................................................................................................................ 30 Figura 26 - Plugin embedslideshow ................................................................................................................. 31 Figura 27 - Configuração Plugin RSS2 ............................................................................................................ 32 Figura 28 - Link de download para RSS Feed .................................................................................................. 33 Figura 29 - Criação de uma coleção de acesso público associado a um tema ..................................................... 33 Figura 30 - Separador Tema para campo do Flickr ........................................................................................... 34 Figura 31 - Link que direciona para o site do Flickr e site do Flickr com autorização de permissões .................. 34 Figura 32 - Publicação para o Flickr ................................................................................................................ 35 Figura 33 - Botão publicar e botão update ....................................................................................................... 35 Figura 34- Mensagem de erro plugin Picasa .................................................................................................... 36 Figura 35 - Link para o upload do botão Picasa ................................................................................................ 37 Figura 36 - Erro plugin Picasa na máquina mãe (Windows7) ........................................................................... 38 Figura 37 - Botão Picasa criado com sucesso e Picasa website ......................................................................... 38 Figura 38 - Proposta de Trabalho....................................................................................................................... 1 Figura 39 - Formulário para ficheiro do tipo Foto .............................................................................................. 2 Figura 40 - Formulário para ficheiro do tipo Vídeo ............................................................................................ 3 Figura 41 - Formulário para ficheiro do tipo Documento.................................................................................... 3 Figura 42 - Formulário para ficheiro do tipo Audio ............................................................................................ 4 Figura 43- Página de Busca Avançada ............................................................................................................... 5 Figura 44 - Página para elaborar o pedido .......................................................................................................... 6
xx
Lista de Abreviações
API - Application Programming Interface
AVI – Audio Video Interleave
BD – Base de Dados
BMP – Bitmap Image File
BSD – Berkeley Software Distribution
CD - Compact Disc
DVD - Digital Versatile Disc
EXIF – Exchangeable Image File Format
GIF – Graphics Interchange Format
GNOME – GNU Network Object Model Environment
GPL – General Public License
GPS – Global Positioning System
HTML – HyperText Markup Language
IPTC – International Press Telecommunications Council
JPEG – Joint Photographic Experts Group
LDAP - Lightweight Directory Access Protocol
MOV – Mov File Extension
MPEG – Moving Picture Experts Group
PDF – Portable Document Format
PHP – Hypertext Preprocessor
PNG – Portable Network Graphics
POSIX - Portable Operating System Interface
PTP – Picture Transfer Protocol
RAW – Raw File Format
RS – ResourceSpace
RSS - Really Simple Syndication
SGBD – Sistema de Gestão de Base de Dados
SOAP - Simple Object Access Protocol
xxi
SQL - Structured Query Language
TCL – Tool Command Language
TGA – Targa File Format
TIFF – Tagged Image File Format
TTF – TrueType Format
WEB – World Wide Web
XMP – Extensible Metadata Plataform
YACC – Yet Another Compiler Compiler
1
Capítulo 1
1 Introdução e Objetivos
1.1 Apresentação do tema
Com o advento das máquinas fotográficas digitais e de telemóveis com câmeras incorporadas
são criadas cada vez mais fotografias e o seu aumento supera em muito a capacidade de
controlo e organização das pessoas que acabam por ser forçadas a utilizar sistemas de
organização de fotografias.
Qualquer pessoa depara-se com o dilema de como organizar fotografias acumuladas no
decorrer dos anos e quando essa organização não acontece, fica-se sujeito a um dia já não ser
possível encontrar uma determinada fotografia. Como tal e devido à popularização da
fotografia digital, surgiram sistemas de organização de fotografias online onde as imagens
podem ser vistas por qualquer pessoa que tenha acesso à rede. Essas fotografias são
organizadas por pastas criando álbuns virtuais que podem ser usados com vários propósitos.
1.2 Objectivos do Projeto
O objetivo principal do Projeto consiste em obter um sistema online que permita organizar e
catalogar fotografias de modo a manter essa coleção ao longo do tempo (adicionando de
forma ordenada novas fotografias/conjunto de fotografias) e apresentá-las de diversas formas,
de acordo com a informação introduzida pelo utilizador e/ou presente nas mesmas.
2
1.3 Organização/Estrutura do documento
A estrutura deste relatório foi criada com o objetivo de que o leitor perceba o que se
pretendeu desenvolver, o que contém e o que se realizou ao longo do Projeto.
O primeiro capítulo pretende enquadrar o leitor para o tema do Projeto, mostrando a
motivação deste, os objetivos propostos e também a forma de como o relatório do Projeto está
estruturado.
O segundo capítulo consiste na apresentação de vários software1 de gestão de imagem,
apresentando as suas características e os motivos que me levam a escolher o RS -
ResourceSpace. Contém ainda uma descrição das ferramentas utilizadas durante o
desenvolvimento deste Projeto.
O terceiro capítulo descreve as capacidades bem como a forma de utilização do RS e ainda
uma demonstração da interface gráfica.
O quarto capítulo contém os passos para a instalação do RS numa máquina virtual, alguma
implementação desenvolvida e descrição da instalação e configuração dos plugins2 adicionais
ao software.
No quinto e último capítulo encontram-se as conclusões com uma análise crítica e possíveis
trabalhos futuros.
1 Software [25][25] é um segmento de comandos executados, manipulados, redirecionados, modificados ou seguidos gerando
a alteração de uma informação (dado) ou evento. 2 Plugin [26] ou módulo de extensão (também conhecido por plug-in, add-in, add-on) é um programa de computador usado
para adicionar funções a outros programas maiores, provendo alguma funcionalidade especial ou muito específica. Geralmente pequeno e leve.
4
Capítulo 2
2 Software de Gestão de Imagem/Ferramentas
utilizadas
2.1 Software de Gestão de Imagem
Os software de gestão de imagem permitem hoje em dia criar álbuns e organizar fotografias
sem se ser um ás na informática.
Iniciei este Projeto com um estudo sobre software gratuito dedicado à organização de
fotografias (F-Spot, gThumb, ResourceSpace) [22] para depois escolher através da
comparação da rapidez de execução, simplicidade de utilização e funcionalidades
complementares o que melhor se adequa aos objetivos do Projeto a desenvolver.
2.1.1 F-Spot
O F-Spot [14],[15] é um organizador de imagens projetado para fornecer a gestão de fotos
pessoais para o GNOME3 – GNU Network Object Model Environmentel.
O F-Spot simplifica a fotografia digital, fornecendo ferramentas intuitivas para ajudar o
utilizador a partilhar, encontrar e organizar as suas imagens.
3 GNOME [27] - Projeto de software livre que abrange o Ambiente de Trabalho GNOME para os utilizadores, e a Plataforma
de Desenvolvimento GNOME para os programadores.
5
O nome surge de um jogo de palavras entre o F-Spot e o G-Spot. Está escrito na linguagem de
programação C#4 utilizando o Mono
5.
Figura 1 - Logótipo do F-Spot
2.1.2 gThumb
O gThumb [16],[17],[18] é um projeto open-source6 que permite visualizar e organizar
imagens também para o GNOME.
Foi originalmente baseado no GQview7 e é projetado para ter uma interface limpa e simples.
Figura 2 - Logótipo do gThumb
4 C#, também escrito como C Sharp, é uma linguagem de programação orientada a objectos, desenvolvida pela Microsoft
como parte da plataforma .Net. 5 Mono [28] é uma plataforma de software projetado para permitir aos desenvolvedores criar facilmente aplicações de
plataforma cruzada. 6 Open-source [29] é uma filosofia ou metodologia pragmática que promove a redistribuição livre e acesso a um projeto de
produto final e detalhes de implementação. 7 Gqview [30][29] é um visualizador de imagens para sistemas operacionais Unix (desenvolvido em Linux).
6
2.1.3 ResourceSpace
O ResourceSpace [19],[20],[20] é uma aplicação de código aberto desenvolvido para a
Oxfam. Apenas no verão de 2006, a Oxfam lançou o produto sob a licença BSD - Berkeley
Software Distribution e desde então existiu um desenvolvimento significativo financiado por
uma variedade de organizações em todo o mundo.
É totalmente baseado na web – World Wide Web, isto é, apenas um navegador web é
necessário e tem mais de 20 idiomas atualmente suportados.
Figura 3 - Logótipo do ResourceSpace
7
2.2 Tabela Comparativa
Tabela 1 - Tabela comparativa de diferentes software de gestão de imagem
Nome do
Software Características / Principais Funcionalidades Licença Preço
F-Spot
Suporta 16 tipos de ficheiros (JPEG - Joint Photographic Experts
Group, GIF - Graphics Interchange Format, TIFF - Tagged
Image File Format, RAW - Raw File Format);
Possibilidade de girar, cortar, redimensionar, ajustar olhos
vermelhos e outras configurações de cor, garantindo que os
originais não sejam alterados; Permite ajustes de cores precisas e
rápidas incluindo brilho e contraste;
Importa as fotos do dísco rígido da câmera (tipo PTP - Picture
Transfer Protocol); As fotos podem ser marcadas para a pesquisa
e agrupamento, a linha de tempo dá para uma rápida localização temporal e quantidade de fotos tiradas;
Pode visualizar e exportar EXIF - Exchangeable Image File
Format e XMP - Extensible Metadata Plataform
Inclui slideshow;
Exportação para a web (Flickr, Picasa) – Exporta fotos enquanto
opcionalmente redimensiona a seleção, preservando as tags e
metadados.
GNU GPL –
GNU General
Public License
Livre
gThumb
Capacidade de ver imagens individuais. Suporta BMP - Bitmap
Image File, JPEG, GIF, PNG - Portable Network Graphics,
TIFF;
Possibilidade de alterar cor, saturação, brilho, contraste e ajustar
cores; Dimensiona e gira as imagens;
As miniaturas dos ficheiros de imagem são guardadas na mesma
BD – Base de Dados usada pelo Nautilus, para que o utilizador não desperdice espaço em disco;
Actualiza automaticamente o conteúdo de uma pasta; Copia e
move imagens e pastas; Existe a possibilidade de adicionar
comentários às imagens; Organização das imagens em catálogos
de bibliotecas;
Importa imagens de uma câmara digital;
Apresentação de slides;
Renomeia imagens em série.
GNU GPL Livre
ResourceSpace
Redimensionamento e criação automática de thumbnails8 de
imagens e vídeo: GIF, PNG, PDF - Portable Document Format,
TTF - TrueType Format, AVI - Audio Video Interleave, MOV -
Mov File Extension, MPEG - Moving Picture Experts Group;
Apoio padrões de metadados – EXIF, IPTC - International Press
Telecommunications Council, XMP, Adobe e GPS - Global Positioning System;
Interface de utilizador visualmente rico, focado para apoiar no
acesso e na organização dos recursos;
Gere e partilha os recursos através de qualquer navegador web
sem ser necessário instalar nenhuma aplicação;
Criação de marcas de água;
Pesquisa simples e avançada - o painel de pesquisa principal está
disponível em todas as páginas, permitindo acesso rápido e
intuitivo para os recursos, enquanto a pesquisa abrangente e
avançada permite que o utilizador se concentre no que está à
procura;
Multilíngue – Mais de 20 idiomas são atualmente suportados.
BSD Livre
8 Thumbnails [31] são versões reduzidas de imagens, usadas para tornar mais fácil o processo de as procurar.
8
A Tabela 1 contém uma listagem das principais características e funções do software de
gestão de imagem em estudo. Todavia, senti necessidade de fazer uma comparação das suas
utilizações para escolher o que melhor se adequa a este Projeto.
As funcionalidades básicas (encontrar, visualizar e classificar imagens) são menos elaboradas
embora apresentadas de forma mais simples no gThumb em comparação com o F-Spot.
Quando se trata de edição de imagem o F-Spot tem uma clara vantagem, pois fornece opções
mais avançadas de edição e classificação, por exemplo, remoção de olhos vermelhos, tagging,
ajuste de cor, entre outros. Todavia o gThumb tem mais ferramentas de edição.
Na conversão de formatos de imagem o gThumb tem melhores opções do que o F-Spot, pois
além de permitir que os utilizadores possam guardar imagens em PNG, JPEG, TIFF, também
oferece a opção de as guardar em formato TGA - Targa File Format. Por outro lado, o RS
suporta todos os tipos de formatos de arquivos através do ImageMagick, FFMPEG,
Ghostscript e ExifTool. O problema reside aquando da comparação destes software de gestão
de imagem na importação e exportação de imagens. O F-Spot permite exportar imagens para
CD - Compact Disc, galeria web, Picasa, Flickr, SmugMug, entre outros, já o gThumb pode
ser usado não só para exportar mas também para importar imagens do Flickr, Picasa e
dispositivos removíveis. O RS já contém plugins para fornecer RSS - Really Simple
Syndication exportação, uma API SOAP - Application Programming Interface Simple Object
Access Protocol, exportação galeria web (Picasa), autenticação LDAP - Lightweight Directory
Access Protocol e permite também a importação de ficheiros (Flickr), capturar metadados,
etc.
Concluo que tudo depende do que o utilizador pretenda realizar, mas a minha escolha para a
ferramenta de trabalho deste Projeto recai no RS. Esta escolha tem como motivo principal o
facto de usar o PHP - Hypertext Preprocessor e MySql, trabalhando assim com a maioria dos
fornecedores de alojamento e por ser uma linguagem abordada durante a Licenciatura de
Engenharia Informática sendo assim interessante e proveitoso desenvolver conhecimentos
adquiridos. Para poder fornecer um DVD - Digital Versatile Disc com o software instalado,
considerei necessário criar uma máquina virtual Linux – versão Ubuntu 12.04 – 32bits
(sistema operativo mais viável devido às licenças).
9
2.3 Ferramentas Utilizadas
2.3.1 Apache 2.0
O servidor Apache [5] foi criado em 1995 por Rob McCool.
É a principal tecnologia da Apache Software Foundation, responsável por mais de uma
dezena de projectos envolvendo tecnologias de transmissão via web, processamento de dados
e execução de aplicativos distribuídos.
Figura 4 - Logótipo Apache
2.3.2 MySql
MySQL [1],[2] é um sistema de gestão de BD, que usa a linguagem SQL - Structured Query
Language. Foi escrito em C9 e C++
10.
Este SGBD - Sistema de Gestão de Base de Dados, tem um grande sucesso pelo seu
desempenho, estabilidade, por ser fácil de instalar e configurar, por não exigir grandes
recursos, por existirem drivers para as principais plataformas de desenvolvimento (Java11
,
PHP, .NET12
, etc), por haver versões para os principais sistemas operativos UNIX, Windows
e Macintosh, mas principalmente porque é livre (baseado em GPL).
9 C [36] é uma linguagem de programação compilada de propósito geral, estruturada, imperativa, padronizada pela ISO e
criada em 1972 por Dennis Ritchie. 10 C++ [35] é uma linguagem de programação criada por Bjarne Stroustrup originalmente com o nome de C com classes. 11 Java [37] é uma linguagem de programação orientada a objetos desenvolvida na década de 90 por uma equipa de
programadores comandada por James Gosling na empresa Sun Microsystems. 12
Microsoft .Net é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de
sistemas e aplicações.
10
É usado muitas vezes para suportar portais e aplicações web e também para aplicações locais.
É neste momento proprietário da Oracle, mas antes passou pela Sun Microsystems.
Figura 5 - Logótipo do MySql
2.3.3 PHP
PHP [3],[4] é uma linguagem de programação de domínio específico, ou seja, é utilizada para
gerar conteúdo dinâmico na web.
O propósito principal é implementar soluções web velozes, simples e eficientes. A sua sintaxe
é similar a C, C++, Perl13
, Tcl - Tool Command Language14
.
Foi criado originalmente por Rasmus Lerdof em 1995. A aplicação principal chamada PHP é
agora produzida pelo Grupo PHP e serve como referência formal para a linguagem PHP.
É um software livre, disponibilizado sob a licença do PHP que é incompatível com a GPL
devido às restrições sobre a utilização do termo PHP.
Enquanto o PHP originalmente significava "Personal Home Page", agora é dito estar para
"Hypertext Preprocessor", um acrónimo recursivo.
Figura 6 - Logótipo do PHP
2.3.4 ImageMagick
ImageMagick [6],[7] é uma suite de programas utilitários para visualização, conversão e
edição de imagens. Pode ler e escrever mais de 100 formatos de ficheiro de imagem. É
disponibilizado sob a licença Apache 2.0. O software é constituído principalmente por um
13 Perl é uma linguagem de programação estável e multiplataforma, usada principalmente no desenvolvimento web. 14 Tcl foi criado por John Ousterhout. É normalmente utilizada para prototipagem rápida e aplicações de script.
11
número de utilidades de interface de linha de comando para a manipulação de imagens.
Escrito na linguagem C.
Figura 7 - Logótipo do ImageMagick
2.3.5 FFMPEG
FFMPEG [8],[9] é um programa de computador que grava, converte e cria streams de áudio e
vídeo em diversos formatos. FFMPEG é um programa em linha de comando que é composto
de uma coleção de software livre e bibliotecas de código aberto. Inclui libavcodec, biblioteca
de codec de áudio e vídeo e libavformat, um multiplexador/demultiplexador de conteúdo de
áudio e vídeo.
O nome do projeto vem do nome do grupo de padrões de vídeo MPEG - Moving Picture
Experts Group, junto com a sigla "FF" que em inglês é fast forward e avanço rápido em
português.
Figura 8 - Logótipo do FFMPEG
2.3.6 Ghostscript
Ghostscript [10],[11] foi originalmente escrito por L.Peter Deutsch em 1986 para o Projeto
GNU, e disponibilizado sob a GNU Public Licence.
Ghostscript é actualmente propriedade da Artifex Software e mantido pelos funcionários e
pela comunidade de utilizadores de todo o mundo.
12
Ghostscript é um software de impressão para POSIX - Portable Operating System Interface
que permite a impressão de imagens e arquivos compactados.
Figura 9 - Logótipo do Ghostscript
2.3.7 Exiftool
ExifTool [12],[13] é uma ferramenta de linha de comando para leitura, escrita e manipulação
de imagem, áudio, vídeo e metadados.
É projetado para encapsular meta informação de muitas fontes, em binário ou de forma
textual e empacotá-lo em conjunto com qualquer tipo de ficheiro.
14
Capítulo 3
3 Utilização do ResourceSpace
3.1 Gestão do ResourceSpace
Com o aumento das nossas coleções de documentos, torna-se cada vez mais difícil encontrar
o que estamos à procura para documentos onde a pesquisa de texto é completamente
impossível, quer seja para foto ou vídeo. O problema da organização dessas coleções de
documentos é grande para o utilizador comum, mas muito mais complicado para
organizações.
Felizmente, existem ferramentas como o RS, que faz para fotos, vídeos e outros documentos
digitais o que um sistema de controlo de versão distribuído faz para código-fonte.
Desde que foi lançado ao público em 2006, o RS passou por revisões significativas e
melhorias. O foco original é em fotografias, mas lida também com áudio, vídeo e outros tipos
de ficheiros electrónicos. Além disso, é totalmente internacionalizado, suportando a escolha
de língua pelo utilizador e pode ser estendido facilmente para suportar traduções adicionais
(além das pré-definidas).
15
3.2 Demonstração do interface gráfico
A página inicial do RS consiste numa interface simples e útil para o utilizador (Figura 10).
Esta página exibe, entre outros, três botões proeminentes - Temas, Minhas Colecções e Ajuda,
uma caixa de pesquisa - Busca e um painel de coleção - Minhas Coleções.
Figura 10 - Página inicial do RS
O botão Temas contém os grupos públicos de imagens e recursos. O botão As Minhas
Colecções consiste em pilhas de coleções pessoais e pesquisas guardadas que se podem
construir e destruir. Quanto ao botão Ajuda, este contém um sistema de ajuda embutido, que
consiste num link para o download de um guia de utilização em formato PDF e um link que
direciona para a documentação Wiki online. Contudo, na página main, existem outras
funcionalidades úteis, tais como uma caixa de pesquisa - Busca que permite realizar pesquisas
de conteúdo básico através de palavra-chave, data, tipo de ficheiro, etc e um painel de coleção
- Minhas Coleções que é visível no fundo da página e serve como um espaço de trabalho
durante a navegação do utilizador.
16
3.2.1 Upload de um ficheiro
Para fazer um Upload de algum conteúdo (foto, documento, vídeo ou áudio) o utilizador deve
clicar em Upload no menu superior e preencher os campos obrigatórios, bem como todos os
campos que considerar necessários (metadados adicionais), por exemplo título, palavras-
chave, informação sobre localização, etc. Dependendo do tipo de ficheiro que o utilizador
deseja introduzir (Figura 11), existem campos específicos que alteram conforme a escolha do
tipo de recurso a introduzir (Figura 39, Figura 40, Figura 41, Figura 42).
Figura 11 - Tipo de ficheiro introduzido no Upload
Após o Upload, quando o utilizador clica no novo ficheiro que aparece no painel de coleção,
uma nova página irá abrir para o novo recurso adicionado, com um resumo dos metadados
que entraram, links15
para descarregar o ficheiro original, tamanhos diversos de miniaturas
geradas automaticamente e para pesquisar ficheiros semelhantes ou relacionados (Figura 12).
As miniaturas, apenas são geradas automaticamente através do Exiftool, ImageMagick e
Ghostscript, quando a imagem que o utilizador fez upload tem dimensões excedentes. Por
outro lado, quando a imagem introduzida já está numa dimensão reduzida, apenas aparece o
link de download da imagem original.
15
Link [32] é uma referência num documento em hipertexto a outras partes deste documento ou a outro documento.
17
Figura 12 - Novo recurso adicionado
Nomeadamente às imagens que o utilizador inseriu, elas são guardadas em vários formatos
numa pasta denominada filestore dentro da pasta do ResourceSpace, Figura 13.
Figura 13 - Vários formatos da mesma imagem
18
3.2.1.1 Criação de nova meta informação no upload de um ficheiro
Quando o utilizador procede ao upload de um determinado ficheiro, existem campos de
preenchimento obrigatório, bem como campos que alteram conforme a escolha do tipo de
recurso, como explicado no ponto anterior (3.2.1). Todavia, o utilizador pode querer adicionar
novos campos (nova meta informação). O ResourceSpace já o permite, para isso e caso o
utilizador o pretenda, deve clicar em Administração > Setup > Resource Types / Fields e
proceder a edição de campos globais (campos pré-existentes) ou à edição de campos
específicos (dependendo do tipo de recurso). Para esse efeito, apenas necessita de clicar em
New Field e adicionar o novo campo. Como se pode ver na Figura 14, adicionei o campo New
Information ao tipo de recurso foto. Após guardar, quando o utilizador procede ao upload de
um recurso do tipo foto, o novo campo já aparece.
Figura 14 - Criação de um novo campo
Existe ainda a oportunidade de eliminar um campo e de reorganizar a ordem que o utilizador
deseja que os campos apareçam. Para isso é apenas necessário clicar nas setas azuis que
aparecem na Figura 14.
19
3.2.2 Pesquisa de um ficheiro
A caixa de pesquisa básica - Busca, está disponível em todas as páginas, bem como o
formulário - Busca Avançada que permite pesquisar todos os campos da BD separadamente
ou colectivamente.
O RS permite classificar os resultados de uma pesquisa numa variedade de maneiras,
incluindo a data, número de downloads, cor, palavra-chave, entre outros (Figura 43).
Quando o utilizador encontra um ficheiro que está interessado, basta clicar sobre ele e caso
pretenda, pode adicionar à coleção atual, isto é, o utilizador pode mudar um determinado
ficheiro para outra coleção ou colocar esse ficheiro em mais do que uma coleção, para isso
será necessário clicar no segundo ícone que aparece em cada ficheiro, assinalado na figura
(Figura 15). Para além disso, o utilizador pode adicionar pesquisas guardadas a uma coleção
para o ajudar a encontrar imagens no futuro.
Figura 15 – Pesquisa de imagem
20
3.2.3 Lista de plugins
O RS já contém um conjunto de plugins. O utilizador pode activar ou desactivar plugins no
menu superior horizontal, clicar em Administração > Manage Plugins conforme as suas
preferências, isto é, dependendo das funcionalidades adicionais que pretenda. Na lista de
plugins (Figura 16) existe uma pequena descrição, o seu autor, a versão e em alguns deles, um
link que direciona para mais informação sobre o mesmo. Após o utilizador ativar o plugin,
este pode alterar o grupo de acesso e apenas em alguns plugins existe ainda a possibilidade de
modificar algumas opções predefinidas.
Figura 16 - Lista de plugins
3.2.4 Pedidos de material
As coleções podem servir como álbuns de fotos, espaços de trabalho para os projetos em
curso ou galerias. O RS contém pedidos de material que são muito úteis quando usados por
uma equipa. Um membro da equipa pode preencher um pedido descrevendo uma atribuição
de trabalho ou uma oportunidade que precisa de seleção de imagens. Outros membros podem
procurar e guardar os resultados para o pedido da investigação como fariam se fosse uma
21
coleção pessoal e o RS pode notificar todos os membros da equipa sobre o progresso via e-
mail (Figura 44).
3.2.5 Edição de vários campos
O RS permite a edição de vários conteúdos ao mesmo tempo. Para isso, o utilizador terá de
clicar no menu de coleções, escolher a coleção onde pretende fazer alterações e clicar em
Editar todos. A página que abre contém todos os campos editáveis. Após as alterações o
utilizador apenas tem de gravar as alterações feitas (Figura 17).
Figura 17 - Edição de vários campos
23
Capítulo 4
4 Implementação
Este capítulo visa explanar detalhadamente o processo de implementação do ResourceSpace
bem como a instalação/configuração de alguns plugins.
4.1 Instalação do ResourceSpace
Após criar a máquina virtual Linux – versão Ubuntu 12.04 – 32bits, procedi à instalação do
ResourceSpace [22], [24].
Username: mariana
Password: projecto
Tabela 2 - Instalação do ResourceSpace
Instalação do ResourceSpace
Comandos Observações
sudo apt-get update
sudo apt-get install apache2 mysql-server
php5 php5-dev php5-gd php5-mysql
subversion
sudo apt-get install vim nano graphicsmagick
graphicsmagick-imagemagick-compat
sudo apt-get install ghostscript antiword xpdf
ffmpeg postfix libimage-exiftool-perl cron
wget
Actualizar a lista de programas e os
repositórios.
Proceder à instalação do Apache2, PHP5,
MySql e outros pacotes necessários. Durante
a instalação será solicitada a criação de uma
password para a BD do MySql. Password:
root;
cd /var/www
sudo svn co
http://svn.montala.net/svn/resourcespace
Mudar para a directoria cd/var/www e fazer
o download do ResourceSpace do
Subversion;
cd resourcespace Mudar para a directoria do ResourceSpace.
24
sudo mkdir filestore
sudo chmod 777 filestore
Criar e definir permissões para a pasta
filestore;
mysql –u root –p
create database resourcespace;
quit
Entrar para o MySql como utilizador e criar
uma BD chamada ResourceSpace;
sudo chmod –R 777 include Fazer com que a pasta
/var/www/resourcespace seja executável para
todos os utilizadores
Neste momento, já é possível aceder ao ResourceSpace no nosso servidor, mas verifica-se
que existem algumas configurações do PHP que precisam ser feitas;
sudo nano /etc/php5/apache2/php.ini Mudar os parâmetros do memory_limit,
post_max_size e upload_max_filesize para
512M, 250M e 250M, respectivamente;
sudo /etc/init.d/apache2 restart Reiniciar o Apache2
MySql Server: localhost
MySql Username: root
MySql Password: root
MySql Database: resourcespace
MySql Binary Path: /usr/bin
Abrir o navegador e concluir a instalação em
http://127.0.0.1/ResourceSpace
Todos os outros campos que aparecem nessa
página são os predefinidos de forma a seja
apenas necessário clicar no botão Iniciar
Instalação.
4.2 Descrição/Análise do Problema
O desenvolvimento deste Projeto passou por investigar as capacidades de soluções (open-
source) existentes e definir quais as capacidades adicionais que deveriam ser implementadas.
A opção passou por adoptar uma solução preexistente, RS e considerou-se necessário a
instalação, configuração de plugins para suportar os objetivos propostos.
4.3 Abordagem
O RS vem com um conjunto plugins, com breves descrições em que o utilizador pode activar
e desactivar conforme as suas necessidades e preferências. Através da análise aos plugins
existentes (não só os plugins que o RS já contém, bem como os que se encontram no
ResourceSpace Plugin Repository [19]), constatei que já existiam alguns plugins para suportar
a importação e exportação para a rede, tais como, flickr_theme_publish, picasa e ainda um
plugin rss2 que exporta uma lista de recurso. Como tal, procedi às suas instalações e
25
configurações. Considerou-se necessário a existência de um slideshow (plugin slideshow e
plugin embedslideshow) e ainda a criação de um Mapa de Coleções para permitir ao
utilizador uma maior facilidade na procura de um determinado ficheiro, através da análise de
tabela. Nos seguintes pontos irei apresentar a descrição desses plugins, bem como a suas
instalações e configurações.
4.4 Capacidades adicionais
4.4.1 Mapa de Coleções
A ideia assente na criação do mapa de coleções consistiu em facilitar o utilizador na pesquisa
de um determinado ficheiro através da observação da tabela (Figura 18).
<div class="BasicsBox">
<?php
$sql=("Select collection.name as nome, resource.field8 as item from
collection_resource inner join resource ON
resource.ref=collection_resource.resource inner join collection on
collection_resource.collection=collection.ref");
$res=mysql_query($sql);
?>
<h1><strong><?php echo $lang["collectionmap"]?></strong></h1>
<div class="ListTitle">
<table border='2'>
<thead>
<tr><th><?php echo $lang["collectionname"]?></th>
<th><?php echo $lang["items"]?></th> </tr>
</thead>
<tbody>
<?php
while($row=mysql_fetch_array($res)){
echo "<tr>";
echo "<td>".$row['nome']."<br>"."</td>";
echo "<td>".$row['item']."<br>"."</td>";
echo "<tr>";
echo "</tbody>";
}?>
</tbody>
</table>
</div>
</div>
26
Figura 18- Mapa de Coleções
4.4.2 Hierarquia virtual usando tags
O ResourceSpace armazena cada recurso numa pasta (coleção) com a sua meta informação.
A ideia que sugiu, seria criar um plugin que permita a criação de “coleções virtuais”, isto é,
que crie estruturas que não impliquem a cópia de coleções. Essas “coleções virtuais” teriam
de ser criadas através de novas keywords/tags16
/etiquetas a associar aos recursos (criando
assim mais meta informação). A ideia seria mostrar todos os ficheiros que pertençam a uma
determinada coleção virtual, em que essas coleções estariam organizadas sob a forma
hierárquica (um item que pertencesse a uma coleção virtual pertenceria também às coleções
que a incluíssem).
16 Keywords/tags são palavra-chave ou termos associados que descrevem uma determinada informação.
27
4.5 Instalação/Configuração dos plugins
A instalação de plugins no RS é feita em Administração > Manage Plugins > Upload Plugin
(Figura 19). Para fazer o upload de um plugin, este deverá estar com a extensão RSP. Caso o
plugin não se encontre com essa extensão, o upload não é concretizado.
Figura 19 - Upload de plugin
4.5.1 Slideshow
Existem dois plugins que permitem a exibição de um slideshow. Enquando que o plugin
slideshow apenas pode ser usado em coleções públicas, o plugin embedslideshow pode ser
usado em qualquer tipo de coleção. O plugin embedslideshow tem como principal vantagem
em relação ao plugin slideshow o facto de gerar um bloco HTML - HyperText Markup
Language17
.
4.5.1.1 Instalação/Configuração do plugin slideshow
O plugin slideshow, criado por Brian Adam está na versão 1.1 (Figura 20) e permite a criação
de um slideshow para coleções públicas.
17 HTML é uma linguagem de marcação utilizada para produir páginas web.
28
Figura 20 - Plugin slideshow - Brian Adams
Por algum motivo, este plugin não funciona em sua plenitude, isto é, após a activação do
plugin, surge um link denominado Opções e não é possível escolher o tamanho do recurso
(Figura 21), bem como nas coleções públicas deveria ser possível visualizar um link
denominado Slideshow Setup.
Figura 21 - Falha na configuração do plugin slideshow
Devido a este facto, procedi à investigação do(s) motivo(s) para estes erros e de como os
corrigir. Através do Google Groups [44], encontrei uma versão adaptada por Paul Manno
onde esses problemas já não surgiam e foi essa versão que decidi utilizar (Figura 22).
29
Figura 22 - Plugin slideshow - Brian Adams, modificado por Paul Manno
4.5.1.1.1 Utilização do plugin slideshow, Brian Adams+Paul Manno
Como foi dito anteriormente, o plugin slideshow apenas pode ser utilizado em coleções
públicas, como tal, ao abrir o painel As minhas Coleções, as coleções de acesso público terão
um link extra denominado Slideshow Setup, como se pode verificar na Figura 23.
Figura 23 - Colecção pública para utilização do plugin slideshow
Ao abrir esse link, o utilizador tem a oportunidade de fazer algumas configurações. Pode
escolher se um utilizador tem de estar com o login18
efectuado para ver o slideshow e pode
também escolher o tamanho do recurso.
18 Login [33] define o processo através do qual o acesso a um sistema informático é controlado através da identificação e
autenticação do utilizador através de credenciais fornecidas por esse mesmo utilizador.
30
Após todas as configurações estarem definidas e guardadas, surge um link para ver o
slideshow (Slideshow Link) e ainda um link em Customize para fazer alterações ao mesmo
(Figura 24).
Figura 24 - Página de Configuração do plugin slideshow
O link em Customize permite alterar o tempo entre cada imagem, a cor de fundo do slideshow,
cor das legendas, o tipo de fonte (caso o utilizador pretenda que se veja a legenda das
imagens) e ainda permite a alteração da ordem das imagens a aparecer no slideshow (Figura
25). No final o utilizador poderá ver o slideshow em funcionamento, tendo a oportunidade de
poder avançar, retroceder ou até mesmo de o parar.
Figura 25 - Personalizar o slideshow
31
4.5.1.2 Instalação/Configuração do plugin embedslideshow
O plugin embedslideshow, consiste num slideshow que pode ser gerado não só para coleções
públicas, mas também para coleções privadas. Criado por Dan Huby, está na versão 1.1 e
possibilita uma diferente gama de opções para o utilizador. Este plugin permite a geração de
um bloco de HTML quando este compartilha, através do link Share, uma coleção. Esse bloco
pode ser utilizado noutras páginas web.
4.5.1.2.1 Utilização do plugin embedslideshow
Após o utilizador clicar em Share, tem a oportunidade de decidir algumas configurações do
slideshow, Figura 26. Uma delas consiste no tamanho (pixel19
) do slideshow podendo escolher
entre: Thumbnail (150 pixels), Preview (350 pixels) e Screen (850 pixels). O utilizador tem
ainda a hipótese de escolher o tempo de transição entre uma imagem e a outra. Depois das
configurações feitas, o utilizador já pode gerar o bloco HTML. Caso pretenda, pode abrir
directamente o slideshow numa nova página e pode também visualizá-lo de forma
maximizada. Por último existe ainda a possibilidade de guardar o slideshow na lista de ações
externas.
Figura 26 - Plugin embedslideshow
19 Pixel ou Píxel é o menor ponto que forma uma imagem digital, sendo que o conjunto de milhares de pixels, formam uma
imagem inteira.
32
4.5.2 Plugin RSS2
O plugin RSS vem com o ResourceSpace. Foi criado por Camillo Ferraris, Colorhythm LLC e
Tom Gleason e está na versão 0.9. Este plugin permite a geração autenticada de feeds RSS20
de novos conteúdos, incluindo campos configuráveis. Após a activação, o utilizador pode
fazer configurações no link Opções, Figura 27, onde define quais os campos que pretende que
sejam vistos.
Figura 27 - Configuração Plugin RSS2
Depois de guardar as configurações, existe no painel Busca um link New Content RSS Feed,
Figura 28 e quando o utilizador clica nesse link será feito o download de um ficheiro com a
extensão PHP com os conteúdos seleccionados, de todos os ficheiros existentes.
20 Os feeds RSS oferecem conteúdo web ou resumos de conteúdo juntamente com os links para as versões completas deste
conteúdo e outros metadados.
33
Figura 28 - Link de download para RSS Feed
4.5.3 Plugin flickr_theme publish
O plugin flickr_theme_publish, criado por Dan Huby encontra-se na versão 1.0 e consiste em
selecionar os recursos de temas selecionados para o Fickr.
Este plugin apenas funciona quando a coleção pertence a um determinado tema, para isso o
utilizador deverá preencher o campo “Categoria do Tema”, Figura 29.
Figura 29 - Criação de uma coleção de acesso público associado a um tema
34
Assim, no separador Temas já se encontra o tema criado e aparecem alguns campos editáveis,
entre eles o campo Flickr que mostra quantos são os recursos para publicar, Figura 30.
Figura 30 - Separador Tema para campo do Flickr
Caso o utilizador clique nesse campo e não tenha o login efectuado no Flickr, aparece um link
que o direciona para o site21
do Flickr para que o utilizador autorize algumas permissões,
Figura 31.
Figura 31 - Link que direciona para o site do Flickr e site do Flickr com autorização de permissões
Posteriormente, o utilizador já pode voltar ao RS e carregar no botão Reload, Figura 31, e irá
encontrar alguns campos que devem ser configurados. Caso pretenda que os recursos se
tornem públicos ou privados, deverá definir essa configuração e carregar no botão Publish
para os publicar na conta do Flickr. Esse botão contém ainda a informação de quantos
recursos serão publicados. Existe outro botão que serve para limpar os IDs armazenados no
Flickr de todas as fotos desse tema. Será útil caso o utilizador tenha eliminado as fotos do
Flickr e queira adicioná-las novamente (Figura 32).
21 Um site web [34] é um conjunto de páginas web, isto é, de hipertextos acessíveis geralmente pelo protocolo HTTP na
Internet.
35
Figura 32 - Publicação para o Flickr
Depois de fazer a publicação, deverá aparecer informações dos recursos que foram publicados
com uma mensagem final de que a publicação foi concretizada com sucesso (Done).
O utilizador pode então verificar que os recursos foram publicados no Flickr. Caso pretenda
publicar novos recursos, aparece um novo botão bem como fazer um update dos restantes
recursos publicados, Figura 33.
Figura 33 - Botão publicar e botão update
36
4.5.4 Plugin Picasa
O plugin Picasa está em fase experimental e para fazer o seu upload, este não pode ser feito
da forma convencional, isto é, a sua instalação tem de ser feita de forma manual.
Se o utilizador tentar fazer o seu upload da forma mais comum em Manage Plugins, irá
aparecer uma mensagem de erro (Figura 34).
Figura 34- Mensagem de erro plugin Picasa
Esta notificação consiste em avisar ao utilizador que o ficheiro não é encontrado e que se o
utilizador confia no plugin que está a tentar instalar, deverá instalá-lo manualmente através da
sua directoria de plugins.
Posto isto, através do Plugin list na página wiki do RS [23], aparece uma documentação
WebSVN para activação do botão de upload direto para o RS a partir do Picasa (Figura 35).
37
Figura 35 - Link para o upload do botão Picasa
4.6 Dificuldades encontradas
4.6.1 Mapa de Coleções
Um problema encontrado na implementação do mapa de coleções consiste no facto de não
conseguir concatenar os ficheiros de cada coleção. A solução final presente na Figura 18,
aparecem quatro ficheiros para a coleção Portugal e três ficheiros para a coleção Barcelos. A
ideia seria concatenar as linhas, sendo a solução final do tipo apresentado na Tabela 3.
Tabela 3 - Resultado pretendido do Mapa de Coleções
Nome da Coleção Itens
Portugal Portugal; Galo de Barcelos; Barcelos; O Gente da Minha Terra
Barcelos Galo de Barcelos; Barcelos; Lenda
4.6.2 Hierarquia virtual usando tags
Um plugin que não consegui implementar consiste na hierarquia virtual usando tags, ou seja,
permitir criar coleções virtuais que não implicam copiar as pastas fisicamente. Deveria ainda
ser possível mover recursos para fora ou dentro de uma coleção virtual, e cada recurso poderia
38
pertencer a mais do que uma coleção virtual. Tal como acontece no ResourceSpace, pois este
já permite que um determinado recurso pertença a mais que uma coleção.
A ideia para resolver este problema passaria por associar cada coleção a uma coleção virtual,
podendo mover os recursos entre coleções virtuais sem implicar a alteração na coleção a que
ele pertence.
4.6.3 Plugin Picasa
O plugin Picasa gerou muitas dificuldades. A ideia da sua instalação seria devido ao objectivo
de importação para o RS. Inicialmente tentei fazer a sua instalação e configuração na minha
máquina mãe (Windows7), todavia aparece um erro ao gerar o botão para o ambiente de
trabalho do Picasa (Figura 36).
Figura 36 - Erro plugin Picasa na máquina mãe (Windows7)
Em contrapartida, na máquina virtual o botão é criado com sucesso. Por outro lado, o Picasa
não funciona no sistema operativo Ubuntu, como se pode verificar na Figura 37.
Figura 37 - Botão Picasa criado com sucesso e Picasa website
40
Capítulo 5
5 Conclusões
5.1 Análise Crítica
Uma vez concluído o trabalho proposto, é conveniente tecer um conjunto de considerações
finais relacionadas com a forma de como decorreu o mesmo e o alcance em torno dos
objetivos propostos.
Com o crescimento da evolução das máquinas fotográficas e de ficheiros resultantes das
actividades quotidianas, o ser humano passou a compreender melhor o valor da informação e,
por conseguinte, o valor dos documentos. A solução para resolver o acúmulo das massas
documentais, passa por software para gestão de ficheiros. A escolha do ResourceSpace,
deveu-se a uma longa investigação e comparação entre várias soluções existentes. A opção de
desenvolvimento passou por instalar plugins que complementassem o software de modo a este
conter capacidades adicionais sugeridas nos objetivos da proposta para o Projeto.
Em relação aos objectivos propostos, o software satisfaz esses requisitos, dado que o sistema
apresentado permite organizar e catalogar fotografias, essas são apresentadas em diferentes
resoluções, apresenta as imagens de uma coleção pública sob a forma de slideshow, slideshow
este que o utilizador pode alterar conforme o seu gosto, permite a exportação da lista de
recursos através do plugin RSS2 e por último permite a exportação de fotografias através do
plugin Flickr para o repositório na internet Flickr.
Existiram partes da implementação do projecto em que surgiram maiores dificuldades e a sua
análise durou bastante tempo de modo a tentar resolver o problema, nomeadamente no que
diz respeito à importação de fotografias através do plugin Picasa, cujo objectivo não ficou
41
cumprido devido ao facto de esse plugin estar em fase experimental e à implementação do
plugin para a hierarquia virtual usando tags.
Constato no final que o meu projeto encontra-se a funcionar e apesar de não ter conseguido
implementar todas as capacidades previstas penso que o software adoptado cumpre os
requisitos necessários propostos.
5.2 Desenvolvimento Futuro
Ao longo do desenvolvimento deste software, foram identificadas várias possibilidades de um
possível melhoramento, pelo que seria de todo pertinente e oportuno dar continuidade ao
trabalho iniciado.
As possíveis melhorias a introduzir neste software prendem-se essencialmente com
capacidades adicionais, concluindo, por exemplo a solução idealizada de uma hierarquia
virtual usando tags, ou seja, permitir criar coleções virtuais (através de
keywords/tags/etiquetas associadas às pastas, ou seja, adicionar mais meta informação) que
não implicam copiar as pastas fisicamente e também melhorar plugins que ainda estão em
fase de implementação (Picasa).
43
Referências bibliográficas
[1] w3schools – PHP MySQL Introduction
http://www.w3schools.com/php/php_mysql_intro.asp Data de acesso: 04 de Abril de
2012;
[2] Wikipédia – MySQL http://en.wikipedia.org/wiki/Mysql Data de acesso: 04 de
Abril de 2012;
[3] Wikipédia – PHP http://pt.wikipedia.org/wiki/PHP Data de acesso: 04 de Abril
de 2012;
[4] w3schools – PHP Tutorial http://www.w3schools.com/php/default.asp Data de
acesso: 04 de Abril de 2012;
[5] Wikipédia - Servidor Apache http://pt.wikipedia.org/wiki/Servidor_Apache
Data de acesso: 04 de Abril de 2012;
[6] ImageMagick: Convert, Edit, Or Compose Bitmap Images
http://www.imagemagick.org/script/index.php Data de acesso: 04 de Abril de 2012;
[7] Wikipédia – ImageMagick http://en.wikipedia.org/wiki/ImageMagick Data de
acesso: 04 de Abril de 2012;
[8] Wikipédia – FFmpeg http://en.wikipedia.org/wiki/FFmpeg Data de acesso: 04
de Abril de 2012;
[9] FFmpeg http://ffmpeg.org/ Data de acesso: 04 de Abril de 2012;
[10] Wikipédia – Ghostscript http://en.wikipedia.org/wiki/Ghostscript Data de
acesso: 04 de Abril de 2012;
[11] Ghostscript: Ghostscript http://www.ghostscript.com/ Data de acesso: 04 de
Abril de 2012;
[12] ExifTool by Phil Harvel http://www.sno.phy.queensu.ca/~phil/exiftool/ Data
de acesso: 04 de Abril de 2012;
[13] Wikipédia – ExifTool http://en.wikipedia.org/wiki/ExifTool Data de acesso: 04
de Abril de 2012;
[14] Main Page – F-Spot http://f-spot.org/ Data de acesso: 09 de Abril de 2012;
[15] Wikipédia – F-Spot http://en.wikipedia.org/wiki/F-Spot Data de acesso: 09 de
Abril de 2012;
[16] gthumb – GNOME Live! https://live.gnome.org/gthumb/ Data de acesso: 09 de
Abril de 2012;
[17] Wikipédia – gThumb http://en.wikipedia.org/wiki/GThumb Data de acesso: 09
de Abril de 2012;
44
[18] GTHUMB http://gthumb.sourceforge.net/screenshots.html Data de acesso: 09
de Abril de 2012;
[19] ResourceSpace: Open Source Digital Asset Management (DAM)
http://www.resourcespace.org/ Data de acesso: 09 de Abril de 2012;
[20] Wikipédia – ResourceSpace http://en.wikipedia.org/wiki/ResourceSpace Data
de acesso: 09 de Abril de 2012;
[21] (99+) ResourceSpace – Grupos do Google
https://groups.google.com/forum/?fromgroups#!forum/resourcespace Data de acesso:
09 de Abril de 2012;
[22] Wikipédia – Image Organizer http://en.wikipedia.org/wiki/Image_organizer
Data de acesso: 09 de Abril de 2012;
[23] Main Page – ResourceSpace Documentation Wiki
http://wiki.resourcespace.org/index.php/Main_Page Data de acesso: 16 de Maio de
2012;
[24] Ubuntu Server – Installing ResourceSpace Using Subversion « Prickly Tech
http://pricklytech.wordpress.com/2011/01/19/ubuntu-server-installing-resourcespace-
using-subversion/ Data de acesso: 16 de Maio de 2012;
[25] COMPFIXHD - http://www.compfixhd.com.br/software Data de acesso: 15 de
Agosto de 2012;
[26] Wikipédia – Plugin http://pt.wikipedia.org/wiki/Plugin Data de acesso: 15 de
Agosto de 2012;
[27] Wikipédia – GNOME http://en.wikipedia.org/wiki/GNOME Data de acesso:
17 de Agosto de 2012;
[28] Wikipédia – MONO http://en.wikipedia.org/wiki/Mono_(software) Data de
acesso: 17 de Agosto de 2012;
[29] Wikipédia – Open Source http://en.wikipedia.org/wiki/Open_source Data de
acesso: 03 de Setembro de 2012;
[30] Wikipédia – Gqview http://gqview.sourceforge.net/ Data de acesso: 17 de
Agosto de 2012;
[31] Wikipédia – Thumbnails http://pt.wikipedia.org/wiki/Thumbnail Data de
acesso: 17 de Agosto de 2012;
[32] Wikipédia – Link http://pt.wikipedia.org/wiki/Hiperliga%C3%A7%C3%A3o
Data de acesso: 17 de Agosto de 2012;
[33] Wikipédia – Login http://pt.wikipedia.org/wiki/Login Data de acesso: 17 de
Agosto de 2012;
[34] Wikipédia – Site http://pt.wikipedia.org/wiki/Site Data de acesso: 17 de Agosto
de 2012;
[35] Wikipédia – C++ (linguagem de programação)
http://pt.wikipedia.org/wiki/C_(linguagem_de_programa%C3%A7%C3%A3o) Data
de acesso: 21 de Agosto de 2012;
[36] Wikipédia – C (linguagem de programação)
http://pt.wikipedia.org/wiki/C%2B%2B Data de acesso: 21 de Agosto de 2012;
45
[37] Wikipédia – Java (linguagem de programação)
http://pt.wikipedia.org/wiki/Java_(linguagem_de_programa%C3%A7%C3%A3o)
Data de acesso: 21 de Agosto de 2012;
[38] WebSVN – ResourceSpace http://svn.resourcespace.org Data de acesso: 21 de
Agosto de 2012;
2
Anexo B
B Interface gráfica do ResourceSpace
B.1 Formulário para ficheiro do tipo Foto
Figura 39 - Formulário para ficheiro do tipo Foto
3
B.2 Formulário para ficheiro do tipo Vídeo
Figura 40 - Formulário para ficheiro do tipo Vídeo
B.3 Formulário para ficheiro do tipo Documento
Figura 41 - Formulário para ficheiro do tipo Documento
Recommended