User:PhotoSocial

From Laboratório MM 5

Revision as of 08:34, 20 January 2012 by PhotoSocial (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

1. Introdução “A fotografia, antes de tudo é um testemunho. Quando se aponta a câmara para algum objecto ou sujeito, constrói-se um significado, faz-se uma escolha, selecciona-se um tema e conta-se uma história, cabe a nós, espectadores, o imenso desafio de lê-las". Ivan Lima A chegada das novas tecnologias acarretou uma maior facilidade e rapidez de acesso à informação e uma melhor coordenação de pessoas dispersas geograficamente com os meus gostos e interesses. Uma das novas tecnologias, a internet como a conhecemos hoje, modificou o nosso modo de comunicar, conduziu a partilha de conhecimento mais facilitado e criou grupos de pessoas que se encontram fisicamente separadas, tornou possível a partilha sem fronteiras.

1.1 Objectivo do documento Posto isto é através deste relatório emergente da unidade curricular Laboratório Multimédia Vem conjuntura com a unidade de Implementação e controlo de projectos multimédia que passaremos a nossa ideia sobre como integrar as novas tecnologias e a arte - fotografia, aos docentes da disciplina: Hélder Caixinha, Nuno Ribeiro e Licínio Mano. Este documento ficou organizado da seguinte forma:

• 1-Introdução o 1.1-Objectivo do documento o 1.2- Visão geral do projecto • 2- Base de dados desenvolvida • 3- Implementação o 3.1- Descrição das principais funcionalidades da aplicação Web o 3.2- Mapa de páginas o 3.3-Server Behaviours utilizados o 3.4-Recordsets/Queries utilizados o 3.5-Parâmetros passados entre páginas o 3.6-Integração (e.g. Flash, AJAX Frameworks, etc) • 4-Desenvolvimentos Futuros • 5-Conclusões • 6-Bibliografia


1.2 Visão geral do projecto O objectivo deste trabalho é a criação de uma rede social fotográfica (PhotoSocial), onde o utilizador registado/premium possa através do seu perfil partilhar informação sobre eventos, noticias, partilhar conteúdos, aceder ao sistema de ranking para as fotos e/ou fotógrafos. Pretendemos que ao partilhar as suas fotos o utilizador possa fazer a georeferênciação da foto bem como edita-la e que consiga comunicar com a restante comunidade através de chat/mensagem. Para que tal se verifique foi necessário: • Exposição do processo de concepção e desenvolvimento do website; • Criação do layout gráfico do Website; • Implementação das competências técnicas exercitadas na UC. Laboratório Multimédia V; • Produção e ligação à Base de Dados ligada à aplicação; • Ligação e cuidado com o correcto funcionamento entre diversas as áreas do site; • Adaptação experimental as diferenças de semântica de HTML 5;


2. Base de dados desenvolvida Foi desenvolvida uma base de dados com 17 tabelas sendo que já se desenvolveu a mesma a pensar em futuros desenvolvimentos da aplicação. Assim temos tabelas para a informação de login e dos utilizadores, para o sistema de mensagens, para os posts e comentários, para as fotos e eventos, para os classificados. Existe uma interligação muito grande entre as diversas tabelas já que existe uma partilha de informação entre muitas delas.


3. Implementação

3.1 Descrição das principais funcionalidades da aplicação Web Áreas: Álbum/Comentário/Foto/Post O álbum é um mecanismo de armazenamento de fotos inseridas pelo utilizador com permissão para tal, estas podem ser visualizados por qualquer utilizador a menos que o utilizador responsável assim não o permita (politicas de privacidade). Apenas o utilizador registado/premium pode criar álbuns que podem ser editados/apagados.

O álbum permite ainda a inserção de comentários recorrendo a uma estratégia de Web 2.0, tal como uma discrição sobre o mesmo á escolha do utilizador. 

O comentário é realizado apenas pelos utilizadores logados e pode ser relativo a fotos, álbuns, post, notícias e eventos. O comentário pode ser escrito ou visual (através de uma imagem ou vídeo). A foto é sobretudo inserida num álbum, apesar de também poder fazer parte de um comentário (exemplo: o utilizador A posta uma foto de um local e o utilizador B comenta essa foto com uma outra do mesmo local). Uma foto poderá conter um comentário, uma discrição bem como a sua localização e georeferênciação. Cada perfil, álbum e/ou foto contem uma área onde será possível a realização de post, este pode conter titulo, data e hora.


3.2 Mapa de páginas

(FALTA)


3.3 Server Behaviours utilizados

Foram usados diversos server behaviours, entre eles destacam-se os seguintes: Insert Record – para inserir dados na BD Update Record – para actualizar dados já anteriormente inseridos Check New Username – para verificar se aquele utilizador já existe. Dynamic Text - mostra os dados armazenados na BD Restrict Access To Page – torna o acesso restrito a determinados utilizadores.


3.4 Recordsets/Queries utilizados Áreas: Álbum/Comentário/Foto/Post Albums.php – Selecciona todo o conteúdo da tabela “album”: $album_query = "select * from album"; Editar_album.php – seleccionada o conteúdo do album cujo ID é passado por $_GET , e comentários relaccionados com o mesmo: $album_id = $_GET['album_id']; $album_query = "select * from album where id_album = $album_id"; $comentarios_query = "select * from comentario where album_id = $album_id";

Editar_foto.php – Selecciona o conteúdo da foto cujo ID é passado por $_GET, selecciona todo o conteúdo da tabela “album” e todos os comentários relaccionados com a foto: $foto_id = $_GET['foto_id']; $foto_query = "select * from foto where id_foto = $foto_id "; $album_query = "select * from album"; $comentarios_query = "select * from comentario where foto_id = $foto_id";

Editar_comentario.php – Selecciona o conteúdo do comentário cujo ID é passado por $_GET: $comentario_id = $_GET['comentario_id']; $comentario_query = "select * from comentario where id_comentario = $comentario_id";

Editar_post.php – Selecciona o conteúdo do post cujo ID é passado por $_GET e comentários relacionados: $post_id = $_GET['post_id']; $post_query = "select * from posts where id_post = $post_id "; $comentarios_query = "select * from comentario where post_id = $post_id";

galeria.php – Selecciona todo o conteúdo encontrado na tabela “album” e todas as fotografias nele inseridas: if(!isset($_GET['album_id'])) { } else { $album_id = $_GET['album_id']; } $album_query = "select * from album"; if(isset($album_id)) { $foto_query = "select * from foto where album_id = $album_id"; }

inserir_foto.php – Selecciona todo o conteúdo encontrado na tabela “álbum”: $album_query = "select * from album";

posts.php – Selecciona todo o conteúdo na tabela “posts”: $posts_query = "select * from posts"; Controladores: remover_album.php – Selecciona os conteúdos na tabela “foto” cujo album_id seja correspondente ao id_album passado por $_GET: $foto_query = "select * from foto where album_id = $album_id";


3.5 Parâmetros passados entre páginas Foram usados diversos métodos para passar parâmetros entre páginas, nomeadamente o GET, o POST e o Session. O POST foi usado maioritariamente para passar a informação dos formulários, o GET para passar informação relativa aos conteúdos do utilizador, e o Session para passar informação relativa às sessões do utilizador. ($_SESSION[‘warning’] = feedback para o utilizador (se o conteúdo foi publicado ou não)


3.6 Integração (e.g. Flash, AJAX Frameworks, etc) Áreas: Álbum/Comentário/Foto/Post Integração da Thickbox, um plugin jquery que permite o aumento do tamanho da imagem e visualização da sua descrição sem sair da página onde o utilizador se encontra, e do TinyMCE um outro plugin jquery que se encontra anexado as text áreas dos comentários e que permite ao utilizador formatar o comentário e inserir vídeos e imagens. Este plugin impede a execução de código malicioso, ex: “SQL injection”. Para que o utilizador tenha a possibilidade de poder confirmar algumas das suas actividades implementamos em java script um “alert” que pergunta ao utilizador se realmente pretende apagar a foto ou álbum, etc.

<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> Foi também utilizado CSS para dar um aspecto global uniforme a toda a aplicação. Foi usado Javascript para a validação dos diversos formulários presentes.


4. Desenvolvimentos Futuros Já a pensar em desenvolvimentos futuros criou-se uma base de dados que é bastante versátil e que pode ser ainda expandida se for esse o caso. Assim alguns dos desenvolvimentos futuros pensados são a Bolsa de Emprego/Classificados, melhorar a informação presente junto de cada foto, criar a classificação de cada foto, evento e/ou noticia. A criação de vários perfis de utilizadores também é um desenvolvimento futuro e que já se encontra pensado em termos de base de dados. A criação de uma área de favoritos referente a cada utilizador, que assim pode consultar estes sempre que o desejar.


5. Conclusões Em conclusão, verificámos que este tipo de tecnologias são bastante versáteis e nos permitem elaborar tarefas bastante complexas, no entanto não conseguimos atingir alguns dos objectivos a que nos tínhamos proposto já que os vários problemas que nos surgiram ao longo da execução do projecto e o as restantes actividades que tínhamos não nos deixaram muita margem de manobra. Ainda assim consideramos que aprendemos bastante com este projecto que de outra forma seria mais complicado adquirir esses mesmos conhecimentos.


6. Referências bibliográficas

http://jquery.com/ ; http://jquery.com/demo/thickbox/ ; http://www.tinymce.com/ http://www.php.net

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox