FLUXOGRAMA DE GRAVAÇÃO DE DOCUMENTOS VECTORIAIS
A extensão activada, server_open save, é incluída com a ferramenta SVG Edit e permite, aquando da gravação de um documento, a chamada de um script PHP.
SVG Edit + Extensão server_opensave
Utilizador grava doc. vectorial
script "svg_editor_save.php" carregado
image data (png) image data (svg)
Dados passados, por POST, para o script.
1. VERIFICAÇÃO DE SESSÂO E DADOS ADICIONAIS
DRUPAL API Funções necessárias para interagir com o Drupal
require './includes/bootstrap.inc'
Acesso a dados de sessão e base de dados
drupal_bootstrap (DRUPAL_BOOTSTRAP_FULL)
Utilizador tem sessão iniciada?
Overlay Login/Registo
não
Utilizador tem conta?
sim sim
não
Login Ficheiro já foi gravado? Registo não sim
Overlay gravação (nome, tags)
Form. gravação submetido
Feedback erro
não
Nome introduzido?
sim
2. GRAVAÇÃO DE FICHEIRO PNG E DADOS SVG (Função criada pelo grupo)
Estes são os dados sobre a imagem passados inicialmente, assim como os introduzidos pelo utilizador no formulário anterior.
data/vars (imagedata, doc title, tags)
EXTENSÃO PHP FILESYSTEM
Gravação ficheiro PNG
Funções Filesystem (Criar ficheiro+escrever dados png)
PNG gravado como "doc title"+ timestamp +".png"
Estabelecer ligação c/ BD Drupal
[Files] ID de versão original
Ficheiro já gravado?
sim
Query SELECT
Criação Registo
não
+path, title, svgdata ref. a id de original
Criação Registo
+path, title, svgdata
+Coluna tabela Files
+Coluna tabela Files
3. CRIAÇÃO DE NODE NO DRUPAL
Recuperação de file id da coluna criada
Função Drupal Criação Node
Criação array c/ dados node
4. EDIÇÃO DE TABELA DE LIGAÇÃO ENTRE NODES E FILES
Query SELECT
[Nodes] ID do node criado
Query UPDATE
+file id
[Content_type_image] onde id = ID do node criado
Página Drupal da imagem nova
MODELO BD DRUPAL (RELAÇÃO ENTRE TABELAS RELEVANTES) FILES
NODES node id
file id ... svg data id de versão original
CONTENT_TYPE_IMAGE
...
id node id file id ...
Este é o fluxograma representativo da funcionalidade de gravação de documentos vectoriais criados através da ferramenta online. Mostra a integração inédita estabelecida pelo grupo entre a aplicação SVG Edit e o CMS Drupal. O projecto weDraw pretende criar uma comunidade para artistas, novatos ou experientes, unindo uma ferramenta de desenho vectorial online robusta com um sistema de ranking, competições, discussões e mais! weDraw 2011 - Projecto de NTC - DeCA - UA