Jump to: navigation, search

Skype-call 09-09-2016

Partecipanti

  • Cristiano Fugazza
  • Monica Pepe
  • Stefano Menegon
  • Diego Migliavacca

Agenda

  • Valutazione stato attuale interfaccia al seguente indirizzo [[1]]
  • Discussione RDF schema per la rappresentazione dei profili

Stato attuale

  • l'attivazione widget dovrebbe essere possibile anche con un click singolo sull'icona
  • apro widget "images" e si apre anche la mappa, prima in posizione 2, poi 3, poi 4 (e il numero di istanze del widget in basso a destra dell'icona continua ad aumentare). Quindi potrebbe essere un problema di dati della sessione precedente
  • all'attivazione del widget successivo scompare il precedente (ma non nella barra verticale a dx), questo non avviene dopo la login
  • gli spazi di lavoro secondari andrebbero mascherati in modo da impedire l'interazione dell'utente

Modifiche minori

  • eliminare la "r"
  • lo sfondo mi pare un po' chiaro rispetto alla palette usata per la barra, il cassetto, ecc. La chiocciola si vede appena e scompare nella parte inferiore dove lo sfondo è bianco
  • produrre immagine per l'utente di default e inserire immagini in alcuni profili FOAF in modo da poter provare, in fase di autenticazione, se funziona tutto (CF)

Rappresentazione dei profili

Draft schema di riferimento userProfile.ttl

   @prefix :       <http://sp7.irea.cnr.it/rdfdata/schemas#> .
   @prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
   @prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
   @prefix foaf:   <http://xmlns.com/foaf/0.1/> .
   @prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
   
   
   # classes
   
   # class representing profiles, that is, widget configurations associated with users 
   :Profile        rdf:type rdfs:Class .
   # profiles define entries
   :Entry          rdf:type rdfs:Class .    
   # entries specify which widget they relate to
   :Widget         rdf:type rdfs:Class .    
   # entries can be associated with parameters to be added to widget requests
   :Parameter      rdf:type rdfs:Class .    
   # entries can also define operations to be executed upo loading of the widget
   # since profile entries define (ordered) API calls as an rdf:List, list elements 
   # cannot have class :APICall as range, using property definitions seems to mitigate this  
   :APICall        rdf:type rdfs:Class .
       
   # properties
   
   # a profile is related to a specific user (which can also be the default one)
   :owner          rdf:type    rdfs:Property ;
                   rdfs:domain :Profile ;
                   rdfs:range  foaf:Person .    
   # property "item" relate entries to the profile they belong to                
   :item           rdf:type    rdfs:Property ;
                   rdfs:domain :Profile ;
                   rdfs:range  :Entry .    
   # property "target" indicate which widget an entry refers to                
   :target         rdf:type    rdfs:Property ;
                   rdfs:domain :Entry ;
                   rdfs:range  :Widget .    
   # property "parameter" specify request parameters                
   :parameter      rdf:type    rdfs:Property ;
                   rdfs:domain :Entry ;
                   rdfs:range  :Parameter .    
   # property "paramName" specify the name of the parameter                
   :paramName      rdf:type    rdfs:Property ;
                   rdfs:domain :Parameter ;
                   rdfs:range  xsd:string .        
   # property "paramValue" specify the value of the parameter                
   :paramValue     rdf:type    rdfs:Property ;
                   rdfs:domain :Parameter ;
                   rdfs:range  xsd:string .          
   # property "apiCalls" specify a list of functions to be called upon loading of a widget                
   :apiCalls       rdf:type    rdfs:Property ;
                   rdfs:domain :Entry ;
                   rdfs:range  rdf:List .    
   # property "functionName" specify the name of the API function                
   :functionName   rdf:type    rdfs:Property ;
                   rdfs:domain :APICall ;
                   rdfs:range  xsd:string .        
   # property "functionArgs" specify additional parameters for the API function call                
   :functionArgs   rdf:type    rdfs:Property ;
                   rdfs:domain :APICall ;
                   rdfs:range  xsd:string .       
   # property "index" specify the ordering of widgets in the workspaces    
   :index          rdf:type    rdfs:Property ;
                   rdfs:domain :Entry ;
                   rdfs:range  xsd:positiveInteger .                       
   # property "workspace" specify the workspace a given profile entry refers to    
   :workspace          rdf:type    rdfs:Property ;
                   rdfs:domain :Entry ;
                   rdfs:range  xsd:positiveInteger .                               
   
     # default data
                   
   :defProfile     rdf:type    :Profile ;
                   :owner      :defUser ;
                   :item       [
                       :target     :widget_1 ;
                       :parameter  [
                           :paramName   "pippo" ;
                           :paramValue  "A"
                       ] ;
                       :parameter  [
                           :paramName   "pluto" ;
                           :paramValue  "B"
                       ] ;
                       :apiCalls   [
                           rdf:first   [
                               :functionName    "someFunction" ;
                               :functionArgs    "someArgument"
                           ] ;
                           rdf:rest    [
                               rdf:first   [
                                   :functionName    "someOtherFunction" ;
                                   :functionArgs    "someOtherArgument"
                               ] ;
                               rdf:rest    rdf:nil       
                           ]
                       ] ;
                       :index      1 ;
                       :workspace  1        
                   ] ;
                   :item       [
                       :target     :widget_2 ;
                       :parameter  [
                           :paramName   "ying" ;
                           :paramValue  "0"
                       ] ;
                       :parameter  [
                           :paramName   "yang" ;
                           :paramValue  "1"
                       ] ;
                       :apiCalls   [
                           rdf:first   [
                               :functionName    "anotherFunction" ;
                               :functionArgs    "anotherArgument"
                           ] ;
                           rdf:rest    rdf:nil       
                       ] ;                    
                       :index      2 ;
                       :workspace  1                                 
                   ] ;
                   :item       [
                       :target     :widget_3 ;
                       :parameter  [
                           :paramName   "foo" ;
                           :paramValue  "X"
                       ] ;
                       :parameter  [
                           :paramName   "bar" ;
                           :paramValue  "Y"
                       ] ;
                       :apiCalls   [
                           rdf:first   [
                               :functionName    "oneMoreFunction" ;
                               :functionArgs    "OneMoreArgument"
                           ] ;
                           rdf:rest    rdf:nil       
                       ] ;                    
                       :index      1 ;
                       :workspace  2            
                   ] .
                   
   :defUser        rdf:type    foaf:Person .
   
   :widget_1       rdf:type    :Widget .
   
   :widget_2       rdf:type    :Widget .
   
   :widget_3       rdf:type    :Widget .