74
Sistema de Organização para Fotografias Online Mariana Pimenta Frias 20683 [email protected] Trabalho realizado sob a orientação de Professora Luísa Jorge Orientador [email protected] Professor Paulo Melo Co-orientador [email protected] Engenharia Informática 2011/2012

Sistema de Organização para Fotografias Onlineprojinf.estig.ipb.pt/~a20683/relatorio.pdf · 3.2.1 Upload de um ficheiro ... controlo e organização das pessoas que acabam por ser

Embed Size (px)

Citation preview

Sistema de Organização para Fotografias Online

Mariana Pimenta Frias – 20683 – [email protected]

Trabalho realizado sob a orientação de

Professora Luísa Jorge – Orientador – [email protected]

Professor Paulo Melo – Co-orientador – [email protected]

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.

vi

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.

viii

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.

x

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.

xii

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

xv

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

xvii

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

xix

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

xxii

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.

3

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.

13

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

22

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

39

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).

42

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;

46

1

Anexo A

A Proposta de trabalho

Figura 38 - Proposta de Trabalho

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

4

B.4 Formulário para ficheiro do tipo Áudio

Figura 42 - Formulário para ficheiro do tipo Áudio

5

B.5 Pesquisa de Busca Avançada

Figura 43- Página de Busca Avançada

6

B.6 Página para elaborar pedido

Figura 44 - Página para elaborar o pedido