lunedì 10 dicembre 2007

da installare per sablotron

expat (http://expat.sourceforge.net/)
sablotron (http://www.gingerall.org/sablotron.html)
perl sablotron (http://search.cpan.org/~pavelh/XML-Sablotron-1.01/Sablotron.pm#Object_Interface)

tutti tranquillamente con ./configure, make, make install, make clean

yay sablotron!

Finalmente dopo molti tentativi ho prodotto qualcosa che funziona: perl che usa sablotron. C'è uno strano problema con la funzione process - (oltre al fatto che non ho ben capito cos'è una situation) non riesce ad aprire il file e muore. Usiamo questa anche se non è recommended

Codice base:


#!/usr/bin/perl

use strict;
use XML::Sablotron;

my $processor = new XML::Sablotron();
$processor->runProcessor("class.xls",
"class.xml",
'arg:/result',
undef, undef);

print $processor->getResultArg("arg:/result");

Phedex widget

Componenti (server-side):

Data Source - www
config.xml --> QueryManager - PhedexNazgul.pl --> info.xml
info.xml --> PHPScript - PhedexPHP.php --> HTML

QueryManager:
Basically it must generate the URL for the image according to the graph characteristics in the XML - must loop on all the graphs in the XML.

Why not doing everything in js (~10 lines)?
-structure uniformity
-cleaner HTML client-side (php generated)
-no cross-browser XMLHTTPrequest issues

devo trovare un nome agli script php. Shadowfax (cavallo?). Perché non possiamo usare un altro libro che conosco meglio?

IDEA: usare XLST (da QueryManager in perl) per la traduzione config.xml --> info.xml. Così se la sintassi degli url di PhEDEx cambia devo cambiare solo il template.
Potrebbe non essere facilissimo, dato che c'è ramificazione dei contenuti a seconda del tipo di plot.

domenica 9 dicembre 2007

PHEDEX XML

(purtroppo le tag non me le accetta)

sample file: transfer from T2 to anywhere (destination left empty). Hide mss nodes by default.



graph type="transfer"

title
Transfers to Rome_T2_Buffer (uplink)
/title

instance
debug
/instance

source
Rome_T2_Buffer
/source

destination
/destination

period
Last 30 hours
/period

/graph

YUI

Cercando di implementare YUI TabView per PhEDEx.
http://developer.yahoo.com/yui/tabview/

Per il momento i file vengono mantenuti sul server di Yahoo. TODO: hosting locale.

PhEDEx: con ispirazione a UWA di Isidro, senza interagire direttamente con i plotting tools per il momento, riempiamo le tab con il Quality Plot, Transfer Plot, Cumulative transfer.

Quali sono le info che ci interessano (default)?
timescale: last 96h to/from T2_Rome_buffer, by link
(first tab)
transfer plot, quality plot UPLOAD
(second tab)
transfer plot, quality plot DOWNLOAD

Peccato che adesso non sta funzionando più o meno niente, e Roma non compare nel DB in nessuna delle due istanze. Teniamo la timescale a 30 giorni.

Con un po'di reverse engineering si vede che tutto quello che fa il widget UWA è una funzione js per ricostruire il link con la sintassi giusta mettendo le variabili corrette e ripescare il plot dal sito del nebraska. Quella è l'opzione sporca #1. Vediamo cosa si riesce a fare con i PlottingTools.