Skip to topic | Skip to bottom
Home

TechWeb08
TechWeb08.LTW09DSDocr1.7 - 06 Jun 2008 - 10:18 - MarcoPatrignanitopic end

Start of topic | Skip to actions
-- MarcoPatrignani - 03 Jun 2008
  • Set ALLOWTOPICVIEW =
  • Set ALLOWTOPICCHANGE =

Documentazione per il DS del gruppo LTW09

Introduzione

Questo DS e` semplice come richiesto, senza tanti fronzoli ma con tutte le capacita` dovute e necessarie per aderire al protocollo, salva solo documenti corretti e validi, risponde correttamente solo a query altrettanto corrette come da protocollo. Il DS e` formato da uno script (postScheda.php5) e una funzione (execute_query()) all'interno dello script ds.php5.
Tramite la modifica dei file .htaccess si maschera la struttura interna del DS grazie all'applicazioni di regole modrewrite e modalias impedendo una mappatura 1:1 con gli url per le richieste o le visualizzazioni.

Query

Non appoggiandoci a nessun DBMS in quanto non fornisce punti extra il suo utilizzo, abbiamo optato per la creazione di un file di indice su cui compiere le ricerche. Questo file xml adotta il seguente DTD:
    <!ELEMENT index (meta*)>
Gli xPath che vi operano lo scannano tutto ritornando il set di metadati che la response e` tenuta ad avere.
Questo modulo e` totalmente conforme alle specifiche di protocollo, ritorna errore se la query e` mal formata o finisce con ? e supporta la wildcard * in ogni posizione. Nella query che si riceve vengono collassate tutte le sequenze di asterischi piu lunghe di uno e successivamente la query string viene spezzata ad ogni occorrenza della wildcard e viene applicato l'xpath per recuperare gli eventuali nodi che matchano con l'espressione regolare voluta.

Salvataggio

Il salvataggio avviene come da protocollo con la corretta riscrittura da parte del DS degli attributi epublisher, eidentifier, edate, wdate e anche di widentifier ed esource se viene identificata la creazione di un nuovo work.
Per garantire l'univocita` che i vari identifier richiedono, il DS si appoggia su un file chiamato index.xml che al suo interno mantiene un numero che, ad ogni salvataggio, viene incrementato di uno, andando cosi a fornire un identificativo univoco. Per gestire ogni problema di concorrenza, il DS si prende un lock con la chiamata alla funzione flock() sun file di indice per essere sicuro di non aver errori.

Altro

Cos'altro c'e` da dire? e` perfettamente conforme e va bene, compratelo!(garantito dal Chair) stick out tongue
to top

You are here: TechWeb08 > GruppiDelCorso > GruppoLTW09 > LTW09DSDoc

to top

Copyright © Fabio Vitali 2020 Last update of LTW09DSDoc on 06 Jun 2008 - 10:18 by MarcoPatrignani