Skip to topic | Skip to bottom
Home

TechWeb09
TechWeb09.DomandeRisposter1.196 - 11 Jan 2010 - 14:44 - IuLiAnGudumactopic end

Start of topic | Skip to actions

Domande e Risposte

Usate senza problema questa pagina per discussioni, domande, proposte.
-- FabioVitali - 17 Feb 2009

Audio delle lezioni

Se qualcuno è autorizzato a "catturare" l'audio delle lezioni del Professor Vitali, ammesso che lui sia d'accordo, può condividerlo con la comunità che lo stesso Wiki rappresenta?
-- RenzoBologna - 03 Mar 2009

Progetto: info

Dove posso trovare delle informazioni circa il progetto di quest'anno (2008/2009)?
-- AntonioDiMarco09 - 23 Mar 2009

  • Aggiungo che a breve (più o meno intorno a Pasqua) verrà rilasciato il protocollo (non definitivo) di interscambio dei documenti XML, e questo dovrebbe rappresentare il punto di partenza del progetto. -- RenzoBologna - 25 Mar 2009

domanda XSLT: namespace documento output

come mai quando faccio una trasformazione xslt mi ritrovo nel documento di output un casino di namespace o vuoti o che non voglio? es:
<p xmlns="" xmlns:ns1="http://vitali.web.cs.unibo.it/blabla.."
il P è ottenutocon un copy-of; nel documento xml il P è nello scope del namespace ns1, come faccio a fare un copy of senza tirarmi dietro il namespace ns1 ?? allego foglio XSL e XML

Progetto: iscrizione di un utente ad un gruppo

Domanda: come fa l'utente X ad iscriversi al gruppo Y?

Risposta: bisogna usare l'identificativo utente di Facebook. Uno può anche creare un gruppo su facebook e usare l'identificativo di quello.

Progetto: protocollo e interazione THC-THS

Domanda: esistono due differenti livelli di interazione: quello dall'applicazione Facebook verso il THC e quello del THC verso il THS. Dove deve intervenire il protocollo presentato per permettere una corretta comunicazione?

Risposta: il protocollo non riguarda l'interazione tra applicazione e THC, ma tra THC e THS. Come il THC ottenga queste informazioni non è specificato nel protocollo. Una volta ottenute queste informazioni, il THC dovrà realizzare un'azione POST all'URL indicato.

Progetto: spazio Web

Domanda: possiamo usare il nostro spazio web su Golem oppure è necessario chiedere ai tecnici di attivarne uno ad hoc per il gruppo?

Risposta: potete/dovete usare Golem, e se non basta potete mandare una mail ai tecnici (e in cc al docente del corso) chiedendo un aumento di quota. -- SilvioPeroni - 18 Apr 2009

Re: Domanda: La domanda era diversa. Dobbiamo usare l'account personale o uno di gruppo? Se fosse quello personale: come fanno i miei compagni di gruppo a scrivere sul mio account? -- AntonioDiMarco09 - 19 Apr 2009

Re: Risposta: potete gestire la cosa come meglio crediate: o sullo spazio di un utente (con relativi problemi di permessi), o richiedendo un nuovo spazio su Golem ai tecnici. In quest'ultimo caso, dovete specificarne il motivo (esame di Tecnologie Web), a chi assegnare i permessi di scrittura sul nuovo spazio e aggiungere Fabio Vitali in CC della mail. -- SilvioPeroni - 24 Apr 2009

Progetto: indirizzo risposta THS --> THC

Domanda: nel protocollo è specificato che le richieste dal thc al ths devono essere fatte con un indirizzo http://[nome server]/nomeRichiesta ma la risposta?? se alla fiera comprassi il server di un altro gruppo questo come saprebbe qual'è l'indirizzo del mio thc? mi vengono in mente alcune alternative
  • file di configurazione dove posso settare l'indirizzo di risposta usato dal ths
  • modifica al protocollo che obbliga ad usare http://[nome server]/Risposta_o_QualcosaDiSimile
personalmente prediligo la prima.. -- MatteoFini - 24 Apr 2009

Risposta: la richiesta del THC verso il THS avviene, tecnicamente a livello di codice, mediante l'invocazione di un metodo che si occupa dell'eventuale trasmissione di dati in POST o in GET, dipende dalle esigenze. L'invocazione di questo metodo abilita la comunicazione tra THC e THS in modo del tutto automatico. Di conseguenza, la risposta del THS, comprensiva di eventuali dati se presenti, verrà restituita come risultato dell'invocazione del metodo utilizzato dal THC per l'invio della richiesta. Questo significa che il THS non deve reperire l'indirizzo a cui far pervenire la risposta: lo sa già. -- SilvioPeroni - 27 Apr 2009

Progetto: gruppi su Facebook

Domanda: ho provato a creare un gruppo su Facebook. Nonostante sia il fondatore/amministratore del gruppo, non mi è consentita alcuna particolare attività all'interno del social network in qualità di "rappresentante del gruppo". Neanche ovviamente utilizzare applicazioni a nome del gruppo piuttosto che a nome mio. Non vedo quindi come sia possibile registrare l'id di un gruppo alla caccia al tesoro.

Risposta: nel caso dei gruppi, si deve necessariamente specificare un id, ad esempio mediante una form. Starà al THC controllare se l'utente che sta effettuando l'operazione appartenga al gruppo di cui sta specificando l'id. -- SilvioPeroni - 27 Apr 2009

Progetto: risposte del server

Domanda: come è possibile che il server possa restituire l'errore "noUser: l'utente specificato non esiste" se l'id dell'utente loggato (e quindi l'id dell'utente che sta giocando) è recuperabile facilmente e senza ambiguità da una variabile del metodo POST da client a server?

  • Probabilmente è pensato per evitare che venga inviato un frammento xml errato (anche volontariamente).

Risposta: è stato aggiornato il protocollo, sostituendo il messaggio "noUser" con "passAlreadyAssigned" o "wrongPass" a seconda delle operazioni. Ora, in ogni richiesta inviata dal client, oltre all'identificativo, è necessario specificare una password a cui l'identificativo è legata. Tale password viene scelta dal THC al momento dell'invocazione di "sendSubscription" e di "loadTreasureHunt".

Javascript: DOM

Domanda: come si può creare un nuovo documento DOM in javascript (l'equivalente di $doc=domxml_new_doc() in php)?

Risposta: il metodo da chiamare dipende strettamente per dal browser su cui si vuole eseguire lo script AJAX. Di conseguenza la soluzione migliore è quella di usare una libreria cross-browser come Sarissa, la quale fornisce un metodo "getDomDocument" adatto allo scopo. -- SilvioPeroni - 27 Apr 2009

Domanda: è possibile, una volta creato un documento DOM, inviarlo al server con il metodo POST al posto di semplice XML?

Risposta: al server non si mandano strutture dati, ma stringhe. Quindi la cosa migliore è quella di mandare il direttamente la stringa del vostro documento XML. -- SilvioPeroni - 27 Apr 2009

Domanda: XML e il frammento DOM sono equivalenti?

Risposta: Da un punto di vista astratto, un oggetto DOM rappresenta un documento XML, ma sono due cose diverse. Per maggiori informazioni leggete What is the Document Object Model. -- SilvioPeroni - 27 Apr 2009

Storing delle informazioni

Domanda: come vanno memorizzate le informazioni (id dell'utente/gruppo, caccia al tesoro etc)? Possiamo usare sql richiedendo la creazione di un db su golem?

Risposta: credo che ci sia libertà di memorizzare i dati in dei file .xml, oppure di usare un database ad hoc. Credo che per assurdo potresti anche fare un file .txt da parsare e gestire con awk big grin -- DavideLeonardi - 27 Apr 2009

Risposta 2: dal mio punto di vista, credo condiviso anche dal docente, qualsiasi informazione voi vogliate memorizzare deve essere memorizzata su un documento XML. Rimane un corso di Tecnologie Web e non di Basi di Dati: se vi sono stati dati i mezzi, durante tutto il corso, per creare/elaborare/presentare un documento XML una ragione ci sarà pure... -- SilvioPeroni - 27 Apr 2009

Domanda2: e' possibile invece utilizzare i database che si appoggiano su XML? Ad esempio uno di quelli presentati nella seguente pagina di wikipedia http://en.wikipedia.org/wiki/XML_database#Databases_known_to_support_XML:DB_API_.28XAPI.29 -- RaffaeleBratta - 28 Apr 2009

Risposta2: l'importante è che voi, nei vostri script, manipoliate XML con tutte le tecnologie ad esse associate (DOM, XSLT, XPath e quant'altro). Se l'uso di un DBMS di questo tipo vi priva dell'uso di queste tecnologie, allora non potete usarlo. Rimarco: non è un corso di basi di dati. -- SilvioPeroni - 28 Apr 2009

Javascript: codifica delle stringhe

Domanda: qui sopra è stato specificato che al server non si mandano strutture dati, ma stringhe. Quindi la cosa migliore è quella di mandare il direttamente la stringa del vostro documento XML.. Stiamo incontrando dei problemi Server Side per decodificare la stringa che ci arriva, dato che Client Side abbiamo dovuto usare l'escaping per caratteri come " o ?. Come possiamo orientarci in questo senso? I frammenti XML in transito devono avere un particolare encoding? -- DavideLeonardi - 27 Apr 2009

Risposta: vi conviene codificare tutto con UTF-8 e, in genere, esistono librerie o funzioni Javascript che permettono l'encoding e il decoding di stringhe, in modo da permettere una corretta trasmissione. -- SilvioPeroni - 28 Apr 2009

Re: Domanda: Dobbiamo metterci d'accordo sul modo in cui la "stringa XML" arriva al server o viene restituita al client. Se ognuno usa una funzione diversa non abbiamo più l'interoperabilità. Io sto usando htmlspecialchars("$xml") e htmlspecialchars_decode("$xml") ma potrebbe essere usato altro.

Re: Risposta: Noi proponiamo che il client usi la funzione javascript "escape()", e che il server utilizzi la funzione php "urldecode()" (o funzioni equivalenti). Per quanto riguarda invece la comunicazione server->client noi utilizziamo la funzione php "rawurlencode()" e per decodificare (lato client) la funzione javascript "unescape()". Così funziona tutto benissimo. Aspettiamo proposte alternative, oppure pareri positivi/negativi di altri gruppi e/o docenti. -- DavideLeonardi - 30 Apr 2009

Discrepanza gruppi/utenti nelle richieste al THS

Domanda: Ho notato delle discrepanze in alcune richieste che vengono effettuate al THS tra la descrizione di queste ed il frammento XML ad esse associate (in particolare nei commenti che descrivono i campi e gli attributi del frammento). Ad esempio al punto 2.4 del protocollo (ver. 1.1) nella descrizione della richiesta si parla solo di "id dell'utente" mentre nei commenti del frammento XML ad essa associata si parla di "id del gruppo o dell'utente". Cosa analoga avviene anche al punto 2.5. Vorrei quindi avere un chiarimento su quali sono le operazioni che possono fare i gruppi, in particolare se sono le stesse degli utenti (come avevo capito io a lezione) oppure se ci sono alcune limitazioni. -- RaffaeleBratta - 28 Apr 2009

Risposta: sono sempre e comunque identiche. I commenti inseriti negli schemi sevono a far capire soltanto a cosa facesse riferimento quel particolare elemento, ma ogni qual volta si ci riferisca all'id di un utente si intende implicitamente anche l'eventuale id di un gruppo. -- SilvioPeroni - 28 Apr 2009

Dubbi su id delle cacce

In "Elenco delle cacce al tesoro disponibili" viene specificato che l'xml di risposta deve essere validato dall'xml schema indicato e contenere quindi unicamente l'id delle cacce al tesoro. All'utente finale verrà quindi mostrata una pagina con una serie di stringhe (alfa?)numeriche alla quale iscriversi praticamente alla cieca.

Domanda 1: Ho capito male? Se no: non sarebbe meglio visualizzare titolo e descrizione?

Risposta1: Giusto specificare anche titolo e descrizione. La versione 1.2 del protocollo (TreasureHuntProtocol12) recepisce questi suggerimenti.

Domanda 2: Nell'xml schema per il caricamento si parla solo di title, description, global, turns e conclusions. Da dove esce fuori l'id? Lo creo random? A meno che title non sia l'id e di conseguenza univoco. Grazie per le risposte.

Risposta2: Il THS è responsabile di decidere l'id. Può generarlo random o derivarlo dal titolo, ma resta un identificativo interno al sistema, non specificato dall'utente.

-- AntonioDiMarco09 - 28 Apr 2009

Progetto: POST dei dati xml

il protocollo dice: Il body della richiesta HTTP contiene i parametri ed è un frammento XML

Domanda: ma in PHP per fare una post di una stringa xml devo specificare questa stringa come valore di un parametro es : "param=$xml_string" che recupero sul destinatario della richiesta con $_POST['param']

questo però non permette interoperabilità, se THC spedisce una richiesta così, il THS di un altro gruppo come fa a sapere che la stringa xml della richiesta sta nel parametro 'param'? forse è banale ma non ci salto fuori -- MatteoFini - 29 Apr 2009

Risposta: osservazione giustissima. Abbiamo modificato leggermente il portocollo aggiungendo una piccola nota in cui si specifica che lo scambio dei frammenti XML tra THC e THS dovrà essere fatto mediante l'uso del parametro "xml". -- SilvioPeroni - 04 May 2009

Risposta: Noi avremmo risolto questo problema utilizzando la classe HTTP_Request e settandone il body, in modo che al lato server fosse possibile utilizzare la funzione file_get_contents("php://input") per reperire il blocco xml dal body. In questo modo non abbiamo bisogno di parametri, e in "spedizione" e "ricezione" è possibile usare qualunque funzione alternativa applicabile a un messaggio HTTP garantendo interoperabilità. E' già protocollo formale? dobbiamo adattarci? -- MatteoBonazzi - 06 May 2009

Risposta2 :anche noi avevamo risolto allo stesso modo, poi vedendo la modifica al protocollo ci siamo riadattati. Parlando con S.Peroni ci ha chiarito che utilizzando php://input funziona solo se uso php, quindi la modofica è definitiva
-- MatteoFini - 08 May 2009

Domanda2 :Allora in che modo si può fare una Http post in php? abbiamo provato con curl ma la stringa xml arriva con i doppiapici "escapati" (es: \"), ci abbiam perso un'intera giornata, qualcuno saprebbe dirci come ha risolto?
-- DavideLerose - 08 May 2009

Risposta alla domanda2: Il post in php lo fai proprio con curl. Se leggi poco sopra c'è un paragrafo che parla della codifica e decodifica delle stringhe. Prima di inviarle devi "escaparle" con delle apposite funzioni. Quando poi le ricevi devi "unescaparle". Noi utilizziamo rawurlencode() e rawurldecode(). Occore mettersi tutti d'accordo per evitare di minare l'interoperabilità.

RISPOSTA: anche noi avevamo questo problema, abbiamo risolto spedendo la stringa XML cosi:
curl_setopt($ch, CURLOPT_POSTFIELDS, array('xml' => $xml)); // add POST fields se invece scrivi CURLOPT_POSTFIELDS, "xml=$xml" siccome ci sono le "" php fa l'escape delle virgolette nell'xml.
-- MatteoFini - 11 May 2009

Progetto: DOM XML

Domanda: Lato server non abbiamo trovato problemi a validare il nostro XML attraverso le funzioni PHP. Lato client (javascript) abbiamo trovato un flag per Internet Explorer (validateOnParse o una cosa del genere), mentre per Mozilla/altri browser non abbiamo trovato una funzione di validazione. Cosa si può usare per validare una stringa XML in javascript? -- DavideLeonardi - 02 May 2009

Risposta: se avete necessità del processo di validazione, l'unico modo per gestiro facilmente client-side, garantendone il funzionamento su ogni browser, è quello di farlo fare a un servizio server-side. Questo perché non tutti i browser (es: Firefox) supportano la validazione client-side. Chiaramente, potete usare sia servizi già disponibili (ad esempio W3C validator) sia un script server-side da voi realizzato. -- SilvioPeroni - 04 May 2009

Parsing dell'XML per accedere ai dati delle risposte del Server

Mantenendo il THC integrato nell'applicazione di FaceBook? e implementato tramite FBJS stiamo avendo problemi ad accedere a ai valori contenuti nelle risposte che ci arrivano dal Server(in XML). Non abbiamo trovato parser che ci permettono di accedere a tale XML come documento DOM(Sarissa per esempio non funziona con FBJS). Abbiamo capito male? Il client va implementato al di fuori dall'applicazione? Dobbiamo usare un iFrame? -- MicheleCaldaretti - 05 May 2009

Aggiungo che, ovviamente, neanche DOMParser() e ActiveXObject?() funzionano... -- DavideLeonardi - 05 May 2009

URI ed interoperabilità

quando effettuiamo un POST da client a server utilizziamo ovviamente l'uri a cui è destinata la richiesta, ad esempio:

http://gruppo.web.cs.unibo.it/cgi-bin/unaqualcherichiesta.php5

ovviamente l'uri è relativo allo spazio web che stiamo usando noi, ed inoltre usa l'estensione php5 (non è detto che gli altri gruppi facciano lo stesso). Ciò vuol dire che l'acquirente del client deve andare a cambiare gli URI delle richieste. Ci sono possibili soluzioni, oppure è normale che sia così? Magari è una stupidaggine... -- DavideLeonardi - 05 May 2009

Risposta: Dai un'occhiata alle slide "web server": devi utilizzare il mod_alias o mod_rewrite -- MatteoBonazzi - 06 May 2009

API facebook risposta in formato XML

Domanda qualcuno sa come si fa, con le api php di facebook, a farsi ritornare la risposta in formato XML? se chiamo per es. $facebook->api_client->groups_get($UID,''); la risposta viene ritornata in un array php, mentre la API Test Console permette di scegliere il formato di risposta (xml / json / php) non ci saltiamo fuori..
-- MatteoFini - 05 May 2009
NBB guardando il codice delle librerie client per php ho visto che la risposta viene ritornata dal server facebok in XML, ma poi convertita in un array per essere restituita al client che ha invocato il metodo...se così fosse sarebbe davvero motlo scomodo; il fatto che FB ritorni degli XML è comodo perchè le informazioni sono velocemente accessibili con xpath.
-- MatteoFini - 06 May 2009

Chiarimenti e precisazioni sul protocollo

Domanda1 Nello schema del protocollo compare sia nel tipo "Tconclusions" che nel tipo "Thint" il tag "looserMessage". Non dovrebbe essere invece "loserMessage"?

Domanda2 L'attributo "name" del tipo "TfakeHints" è un intero positivo. Non dovrebbe essere invece di tipo intero non negativo per permettere cacce al tesoro senza falsi indizi? -- RaffaeleBratta - 06 May 2009

Risposta: entrambe le osservazioni sono giuste. La versione 1.2 del protocollo (TreasureHuntProtocol12) recepisce questi suggerimenti.

file XML per percorso THS ed interoperab.

DOMANDA parlando con Peroni consigliava di usare un file XML per inserire all'interno ogni tipo di URL assoluto e configurazione, per es l'indirizzo del THS, dato che il protocollo lascia la parte NOMESERVER non specificata. Si puo' concordare uno schema comune oppure ognuno adotta uno schema a piacere. -- MatteoFini - 08 May 2009

RISPOSTA: Non è necessario usare uno schema comune, visto che il file &eacute un file di configurazione interno all'applicazione. AngeloDiIorio

Content Model misto delle risposte

DOMANDA parlando ieri con S. Peroni abbiamo notato che non in tutte le risposte il CM è misto, ma in alcune sono previsti elementi opzionali di descrizione (para). Proporremmo se possibile, di unificare tutti i CM delle risposte come misti invece di usare elementi opzionali di descrizione. La motivazione è che il CM misto potrebbe esser utile per fornire descrizioni piu accurate degli errori. -- MatteoFini - 08 May 2009

RISPOSTA Gli elementi para sono stati pensati per permettere la creazione di più paragrafi, ognuno con content-model misto. Dovrebbe essere quindi possibile scrivere descrizioni accurate, e più strutturate. Ma se avete trovato qualche errore nello schema, che non rispecchia questa soluzione, segnalatelo così lo sistemiamo.

Data fiera del software

DOMANDA Sarebbe utile fissare la data della fiera del software di giugno, più che altro per motivi organizzativi. Attendiamo notizie dai docenti. -- DavideLeonardi - 11 May 2009

RISPOSTA all'ultima lezione Vitali ci ha detto che è stata fissta per il 9 giugno, se abbiamo problemi possiamo comunicarlo al prof Vitali in modo che fissi un'altra data che vada bene a tutti (v. ultime slide delle lezioni) -- MatteoFini - 11 May 2009

RISPOSTA: come riportato in una risposta successiva, la fiera é attualmente fissata per l'8 Giugno per questioni organizzative.

Pagina "Gruppi del corso"

DOMANDA: E' possibile creare la pagina "Gruppi del corso"? in questo momento è in Home ma risulta vuota.

RISPOSTA: Pagina creata all'indirizzo: GruppiDelCorso

Timeout indizi

DOMANDA l'attributo AT di un indizio si riferisce al timeout dell'indizio rispetto all'indizio precedente o rispetto al tempo di inizio del turno??
-- MatteoFini - 11 May 2009

Risposta: l'attributo AT di un indizio indica la durata dell'indizio a partire dalla fine del precedente. -- SilvioPeroni - 21 May 2009

Occorrenze di TBlockInline?

DOMANDA: Il minOccurs della choice di TBlockInline? non dovrebbe essere 0 invece di 1 (default)? Per come e' adesso se io voglio fare un paragrafo di solo testo
<para>Testo di esempio</para>
non e' possibile in quanto mi viene richiesto di usare una delle possibili scelte all'interno della choice. Inoltre se costruisco il paragrafo usando solo i tag "para", "bold" e "italic" entro in un loop infinito da cui non riesco ad uscire a meno di usare una delle altre possibili scelte (link, image, location, picture, video o article). -- RaffaeleBratta - 12 May 2009 RISPOSTA prova a qualificare para:
<thunt:para> blabla </thunt:para> 
dove thunt è il namespace xmlns:thunt="http://vitali.web.cs.unbo.it/thunt" con me ha funzionato -- MatteoFini - 19 May 2009 -- Main.ltw0902 - 19 May 2009

RISPOSTA: La versione 1.3 del protocollo aggiorna TBlockInline? in un content-model misto di elementi opzionali e ripetibili. AngeloDiIorio

xs:include Inclusione file xml Schema

Domanda: Stiamo provando di includere il file con i tipi globali del protocollo 4 ma senza successo: <xs:include schemaLocation="tipi_globali.xsd" /> non riconosce i tipi. Ad esempio nel 3.1 nell'elemento "description" vi è type="TBlock" che non viene riconosciuto e quindi non valida il documento. In cosa abbiamo sbagliato? -- MatteoBonazzi - 12 May 2009

Reply: Avete per caso risolto? -- DavideLeonardi - 14 May 2009

Risposta: No, non ancora, e approfitto per rinnovare la domanda...
-- MatteoBonazzi - 14 May 2009

Soluzione: Abbiamo risolto usando la <xs:import schemaLocation="path_to_global.xsd" />.
Il problema era il fatto che stavamo editando file remoti e quindi il validatore non riusciva a risolvere il path al file incluso...
-- MatteoBonazzi - 15 May 2009

Risposta: La versione 1.3 del protocollo risolve il problema ed esplicita l'inclusione del sotto-schema global.xsd. AngeloDiIorio

maxAllowedFakeHints

DOMANDA Noi durante le discussioni in aula del protocollo avevamo inteso che sarebbe stato integrato (rispetto alla 1.0) per dare la possibilità di limitare il numero di falsi indizi per turno onde non "esagerare" (rispetto al numero di indizi puliti previsti dal turno) e rendere di fatto impossibile il superamento del turno. Ci aspettavamo pertanto di trovare maxAllowedFakeHints come attributo di turn e non di hint (come invece da protocollo 1.1). Non abbiamo capito bene, potete aiutarci a chiarire la cosa? Grazie.
-- MassimoMonesi - 12 May 2009

Risposta: nella versione 1.3, il protocollo prevede due elementi globali: maxAllowedFakeHintsPerTeam indica il massimo numero di falsi indizi spendibili da un qualsiasi gruppo per la caccia al tesoro; maxAllowedFakeHintsPerTurn indica quanti falsi indizi sono concessi per ogni turno. -- SilvioPeroni - 21 May 2009

Tlocation nello schema della sottomissione della caccia

DOMANDA: Perchè il tipo Tlocation è differente nello schema della sottomissione della caccia al tesoro? Mancano gli attributi "planet" e "radius". E' un errore? -- DavideLeonardi - 14 May 2009

Risposta: nella versione 1.3 del protocollo, Tlocation rimane comunque differente seppur sia stato aggiunto l'attributo "planet". -- SilvioPeroni - 21 May 2009

Fiera del software

DOMANDA: http://vitali.web.cs.unibo.it/TechWeb09/AppelliDelCorso Leggo che la fiera è prevista per l'8 giugno. Secondo me questa data è un po' scomoda (anzi, parecchio scomoda considerato il traffico di quei giorni) per gli studenti fuori sede che come me il 6/7 giugno tornano a votare nella propria città. Non si potrebbe fare il 10 o giorni successivi?

-- DavideLeonardi - 15 May 2009

Risposta: la scelta dell'8 giugno è l'unica possibile poiché non c'è possibilità di avere libero il laboratorio per l'intera giornata nei giorni successivi. La settimana ancora successiva sarebbe troppo tardi. -- SilvioPeroni - 21 May 2009

SchemaLocation?: da file o da uri?

Domanda: Ragionando sugli schemi del protocollo ci è sorto un dubbio: dobbiamo avere dei file xsd sul server/client e validare l'input con quelli (senza prendere in considerazione l'attributo schemaLocation del root element) o dobbiamo leggere l'URI dello schema dall'attributo schemaLocation e validarlo secondo quello schema?
-- MatteoBonazzi - 15 May 2009

Risposta: l'applicazione che riceve il documento XML non si deve fidare dello schema indicato in SchemaLocation. Di conseguenza dovete mantenere i file xsd sul server/client. -- SilvioPeroni - 21 May 2009

Inclusione file tipiglobali.xsd in getTreasureHunts.xsd

Domanda: Provando a includere il file dei tipi globali in alcuni schema abbiam notato che globalTypes.xsd deve essere valido altrimenti anche la validazione dello schema "finale" non va a buon fine. A questo punto per rendere valido globalTypes.xsd abbiamo aggiungto l'intestazione con i namespace ma, quando tentiamo la validazione, quello che ci viene restituito è:
'TimageType' must refer to an existing simple or complex type.

Qualcuno ha avuto problemi nella validazione dello schema?

Risposta: La versione 1.3 del protocollo esplicita l'inclusione dello schema global.xsd e risolve il problema. AngeloDiIorio

maxAllowedFakeHints2

http://vitali.web.cs.unibo.it/view/TechWeb09/DomandeRisposte#maxAllowedFakeHints

DOMANDA2 Insomma, sta cosa qua è stata chiarita? Scusate il tono polemico ma non riusciamo a capire il senso di sta pagina. Siamo in 4 cani a farci le domande, e le risposte non le da nessuno.

-- DavideLeonardi - 19 May 2009 -- MicheleCaldaretti - 19 May 2009 -- MarcoCorradini - 19 May 2009 -- FabioQuinzi - 19 May 2009

Mi associo... anche io penso dovrebbe essere un attributo riferito al turno e non all'indizio; inoltre.. secondo voi viene inteso come numero massimo di indizi uplodabili o come numero massimo di indizi che possono sostituire gli indizi attuali?? io opterei per la seconda, anche se mi sottomettono 100 falsi indizi io ne carico al massimo maxAllowedFakeHints -- MatteoFini - 19 May 2009 -- Main.ltw0902 - 19 May 2009

Anche io opterei per la seconda, ma non ci giurerei. Aspettiamo che qualcuno si faccia sentire, ma ho come il sospetto che aspetteremo inutilmente.

-- DavideLeonardi - 19 May 2009

Risposta: vedi http://vitali.web.cs.unibo.it/view/TechWeb09/DomandeRisposte#maxAllowedFakeHints. -- SilvioPeroni - 21 May 2009

TteamVisibility?

DOMANDA Se abbiamo capito bene:
1 si tratta del modo per valutare se e' concessa la Trasparenza o meno della caccia.
2 con gli attributi seguenti posso specificare cosa e' visibile o meno:
- completedTurns
- currentTurnTitle
- HasFinished?
- numOfHintsThisTurnSoFar
Nel THS la risposta per Sottomissione di un falso indizio prevede il caso - noTransparency: la caccia al tesoro non è trasparente
Secondo quali criteri dobbiamo considerare NON-Trasparente la caccia: se tutti gli attributi sono a false, o ve ne è uno in particolare (es. il turno corrente) che detrmina la noTransparency?
Noi ci aspettavamo un attributo noTransparency generale opp. ad es. che il minOccurs di TteamVisibility? potesse essere zero e in tal caso evidentemente non e' trasparente, diversamente si', secondo i criteri specificati negli attributi. Sbagliato? Come dobbiamo interpretare la cosa? Grazie per il supporto!
-- MassimoMonesi - 21 May 2009 -- UgoMezzogori - 21 May 2009

RISPOSTA: Se almeno uno dei quattro attributi precedenti é settato a TRUE, la caccia a tesoro é trasparente. Tutti FALSE, quindi, indica una caccia NON-trasparente. AngeloDiIorio

Id del Turno

Dove posso trovare l'id del turno? perche' non c'e'; niente dal file xml-schema dell'id turno. Dobbiamo crearlo noi? Visto che viene richiesto dalle specifiche.
-- UgoMezzogori - 21 May 2009

Risposta: si, direi proprio che dobbiamo crearlo. Noi abbiamo adottato una convenzione: i nostri id partono da 0 e vengono assegnati seguendo l'ordine dell' XML di sottomissione della caccia. Tanto in ogni caso se la caccia non è "forced" un utente può ritrovarsi come terzo turno quello con id=5, mentre un altro utente quello con id = 7...

-- DavideLeonardi - 21 May 2009

Risposta: confermo, l'ID deve essere scelto dall'applicazione, poichè è legato al funzionamento interno. AngeloDiIorio

Indizi: Convenzione per migliorare la giocabilità

Propongo di adottare una stupidissima convenzione per migliorare la giocabilità. All'inizio della descrizione di ogni indizio si potrebbe mettere una riga del genere "Questo è l'indizio [n] del turno [Nometurno]". Senza cambiare protocolli, schemi e altre cose. Solo una piccola accortezza nella descrizione.

Più in generale direi che adottare messaggi specifici per ogni turno, sicuramente migliorerebbe la giocabilità. Altri esempi: WinnerMessage? / LoserMessage?: "Turno [nometurno]: La risposta che hai dato è esatta/sbagliata."

ecc..

Noi cercheremo di adottare questa piccola convenzione. -- DavideLeonardi - 21 May 2009

ATTENZIONE! : Congelamento del protocollo

Domanda: come e' possibile che a due settimane dalla fiera ancora debba cambiare il protocollo? di certo questo non e' incoraggiante per chi ha iniziato prima e anzi potrebbe essere una perdita di tempo visto che sapendo queste cose prima si risparmiava tempo e lo si poteva dedicare ad altro. Quando avremo la conferma di un protocollo "Definitivo"? -- FabioQuinzi - 21 May 2009

Risposta Domenica sera verrà congelato, come annunciato ieri in home page del corso. Avete fino a domenica pomeriggio per
proporre ulteriori cambiamenti.
Da domenica sera in poi verranno realizzati SOLO bug fix (sperando che non ce ne siano).

Dubbi, domande ed errori protocollo 1.3

Domanda1: Nei frammenti xml delle risposte ai punti 3.3, 3.4, 3.5 e 3.6 non dovrebbe essere prevista anche un condizione di errore del tipo "caccia terminata"? Cosa succede infatti se io faccio una getHint(), una sendAnswer(), una sendFalseHint() o una getStatus() ma la mia squadra ha già terminato la caccia al tesoro?

*Risposta1: Io sarei un po' flessibile. Direi che un "notExist" va benissimo

Domanda2: Nei frammenti xml delle risposte ai punti 3.2 e 3.7 è prevista una condizione di errore "passAlreadyAssigned" ma non riesco a capirne la sua utilità. Nel caso 3.2 (iscrizione ad un caccia) a cosa serve limitare che il mio gruppo/utente non debba avere la password uguale a quella di un altro? L'univocità è infatti garantita dall'associazione [userId|groupId] <--> huntId. La questione è analoga per il punto 3.7, quello del caricamento di una caccia.

Risposta2: Neanche i miei colleghi ed io abbiamo capito il senso, ma sinceramente ci sta bene cosi.

Dubbio1: Nel frammento xml della risposta del punto 3.2 non è presente nessuna condizione di errore nel caso io mi iscriva ad una caccia già iniziata. Volevo chiedere quindi conferma se le iscrizioni alle cacce possono avvenire anche quando queste sono già in corso di svolgimento (io avevo capito il contrario).

Risposta al dubbio 1: no, non ci si puo iscrivere a caccia in corso. Anche qui, basta essere un po' flessibili: "notExist" come risposta va benissimo secondo me.

Dubbio2: Possiamo assumere che la somma dei tempi di validità degli indizi è uguale al tempo di validità del turno a cui fanno riferimento?

Risposta al dubbio 2: direi di si

Errore1: Nel frammento xml della risposta del punto 3.4 non è presente nessuna condizione di errore nel caso io abbia esaurito il numero massimo di tentativi di risposta per quel turno.

Risposta a Errore1: Effettivamente è vero, ma anche qui si potrebbe essere flessibii buttando fuori un "wrong"

Errore2: Nel frammento xml della risposta del punto 3.6 manca la condizione di errore "outOfMaxAllowedTurn". -- RaffaeleBratta - 23 May 2009

Risposta ad errore2: Grazie per la segnalazione

Typo1: il namespace di tutti i documenti contiene un typo: http://vitali.web.cs.unbo.it/thunt (nota: unbo.it)

CONSIDERAZIONE IMPORTANTE: Ragazzi, mi appello al vostro buonsenso...evitiamo di rimodificare i protocolli per queste sottigliezze, semplicemente adottiamo un minimo di flessibilità nell'interpretazione dei protocolli. Dato che siamo abbastanza avanti con il lavoro, è la terza volta che con il mio gruppo cambiamo da capo tutti gli schema e tutti gli XML, quindi per favore se possiamo evitare di farlo per la quarta volta sarebbe meglio per tutti. Grazie. Ps: ovviamente se ci sono dei bug assurdi, siamo disposti a cambiare protocollo, ma da quello che abbiamo potuto vedere, non ci dovrebbero essere grossi problemi

-- DavideLeonardi - 23 May 2009

  • Non e' che sia cosi' difficile editare un xsd, e per generare l'xml esistono tool appositi (vedi xmlspy). Io (personalmente) preferisco un protocollo condiviso e senza (troppi) bug.

-- LorenzoManacorda - 28 May 2009

  • Quoto, in fondo si tratta di fare un copia e incolla dalle pagine del protocollo e i cambiamenti al codice dovrebbero essere (se è stato fatto un buon decoupling dai programmatori e non viene cambiata la logica) davvero pochi, se non nulli. Ma soprattutto niente che non possa essere fatto con qualche regexp! wink

-- CarminePaolino - 28 May 2009

Condizioni per la partecipazione alla fiera

Quali sono i requisiti per poter partecipare alla fiera del software? I THC ed i THS devono già essere completati e funzionanti o possono essere ancora in una fase beta? -- RaffaeleBratta - 23 May 2009

Risposta: Parlando con Vitali ho capito che puoi portare anche 2 righe di codice, semplicemente nessuno comprerà i tuoi prodotti smile

-- DavideLeonardi - 23 May 2009

Recupero ID del Turno (getStatusResult e dintorni)

DOMANDA:

Come indicato dai docenti, l'ID del turno viene scelto dall'applicazione, poichè è legato al funzionamento interno. Deve pero' poter essere recuperato dal THC, in molteplici situazioni:

  • sicuramente in caso di caccia trasparente, per tutti i giocatori, rendendo visibile anche all'interfaccia di ogni giocatore lo status di tutti gli altri
  • anche se la caccia non è trasparente:
    • nel caso l'utente sia l'organizzatore, per monitorare l'andamento generale (almeno cosi' si avevamo capito in aula)l'andamento generale
    • per fornire a fine caccia un elenco delle posizioni raggiunte (classifica)
    • sempre e comunque per consentire alla sendFalseHint di recuperare l'ID-turno da spedire al THS riguardo alla richiesta del giocatore di inviare un falso indizio al Turno Numero "n" (xs:integer) per poi abbinarlo al corrispondente ID-Turno (xs:string)

Riguardo perrtanto alla getStatusResult chiediamo se per favore puo' venire espicitata (dai docenti) una convenzione generale, a livello di protocollo, che quindi garantisca l'interoperabilità.

Un esempio: che la getStatusResult debba mandare SEMPRE la sequence degli elementi thunt:status di TUTTI i giocatori e che sia il THC a dover DISCRIMINARE cosa restituire, ovvero ad es.:

  • se viene restituito dal THS l'attibuto status=noTransparency (che se abbiamo capito bene implica che pero' la richiesta sia implicitamente "accettato"):
    • l'elenco completo degli status di tutti i giocatori va reso "visisbile" solo all'interfaccia dell'organizzatore.
    • THC puo' pero' usare tale elenco internamente, in maniera "trasparente" all'utente per recuperare l'ID-turno per l'n-simo turno al quale deve inviare un falso indizio su richiesta di un giocatore.
  • Se l'attributo status=accepted -> Posso rendere visibile l'elenco a tutti i giocatori (oltre a poter cosi'recuperare l'ID-turno per l'n-simo turno al quale deve inviare un falso indizio su richiesta di un giocatore).
  • In generale, a fine caccia, il THC puo' restituire una classifica.

Grazie per l'attenzione.

-- MassimoMonesi - 24 May 2009 -- GruppoLTW02 - 24 May 2009

Risposta: Io personalmente sono contrario a tutte queste modifiche. Innanzitutto non mi sembra corretto spostare sul client il lavoro che dovrebbe fare il server. Perchè vuoi spostare queste operazioni? Inoltre non capisco tutta questa confusione riguardo l'ID del turno. Nelle operazioni in cui serve, questo parametro è già esplicitato. L'associazione IDturno->numeroTurno (o viceversa) la fai lato server.

Ulteriore preciaszione: secondo me, quando si invia un falso indizio questo deve essere inviato con specificato l'ID del turno, e non il numero del turno. Questo perchè quando si gioca ad una caccia senza turni forzati, quello che per me è il turno numero 2, per te potrebbe essere il numero 8. Quindi, se tu specifichi che vuoi inviare un falso indizio al turno numero 8, a quale turno ti riferisci in realtà? Inviare un falso indizio con specificato l'ID del turno, al massimo comporta che magari quel turno è già stato superato da qualche partecipante o da tutti i partecipanti. In tal caso il "malcapitato" che ha spedito il falseHint ha sprecato uno dei suoi falsi indizi.

Magari mi sbaglio, ma io interpreterei così. edit: rileggendo il tuo intervento, ho notato che stiamo dicendo la stessa cosa riguardo al falseHint :). Io però eviterei di fare tutte quelle procedure che tu hai elencato. Penso che magari perdere un falseHint, faccia anche parte del gioco, alla fine big grin

-- DavideLeonardi - 24 May 2009

Considerazione:

Mi spiace, non vogliamo complicare la vita a nessuno: non è una "modifica" al protocollo in fondo che chiediamo, ma una specifica univoca di comportamento, necessaria anche all'interoperabilità.

Nessuno vuole inviare il numero del turno, e' che l'utente e tanto meno il THC possono conoscere da soli gli ID-del turno. L'utente o il THC non se la possono inventare (la stringa e' costruita dall'applicazione): senza la stringa di ID-turno, che non puo' essere generata a caso, il THC non puo' operare in certe situazioni. Se vuoi sgravare il THC di lavoro ok, ma una soluzione secondo noi va trovata.

Un'alternativa ad es. e' anche la seguente:

  • il THS verifica se l'ID e' quello dell'Organizzatore e in tal caso restituisce sempre tutto
  • sempre e comunque restituisce lo status relativo all'ID del chiamante (che la caccia sia trasparente o meno
  • se vogliamo una classifica finale (e questo e' meno stringente), se la caccia è chiusa, si restituisce lo status di tutti

Vi sono sicuramente anche altre alternative che ci sfuggono, ma chiediamo per favore di valutare la situazione. Va bene qualsiasi soluzione, ma se ci vuole ci vuole.....e se non ci vuole tanto meglio...:).

Buon lavoro a tutti e grazie ancora per l'attenzione.

-- MassimoMonesi - 24 May 2009 -- GruppoLTW02 - 24 May 2009

Abbinamento di winnerMessage e loserMessage a Thint

DOMANDA: Non dovrebbero essere abbinati a Tanswer?

Oppure e' intenzionale che ad ogni risposta sottomessa, il messaggio di ritorno (positivo/negativo) sia differenziato in funzione dell'ultimo indizio ricevuto?

-- MassimoMonesi - 27 May 2009 -- GruppoLTW02 - 27 May 2009

Risposta: non so se è intenzionale o meno, ma noi ipotizziamo che sia così., quindi differenziamo il messaggio in funzione dell'indizio.

-- DavideLeonardi - 27 May 2009

OK, siamo allineati. Buon lavoro anche a voi! -- MassimoMonesi - 28 May 2009 -- GruppoLTW02 - 28 May 2009

Dubbio sugli indizi

DOMANDA: Dato che il protocollo specifica che il server risponda ad una gethint con solo l'ultimo indizio disponibile, ci chiedevamo: cosi' non e' possibile che un utente si "perda" degli indizi senza possibilita' di recupero, nel caso non li richieda per troppo tempo? (Per esempio, l'ultimo indizio ricevuto era il 2 e quando effettua la richiesta successiva e' gia' disponibile il 4). La cosa e' accettabile? Oppure dobbiamo cercare dei rimedi? Per esempio avevamo pensato alla possibilita' di far partire il timeout per l'indizio successivo solo dopo la prima gethint relativa all'indizio corrente, oppure a cercare di fare in modo che il client effettui delle gethint periodiche indipendentemente dall'applicazione, ma nessuna delle due cose ci convince del tutto...

-- GruppoLTW09 - 28 May 2009 12:01

RISPOSTA: Si, se per un tot di tempo non richiedi l'indizio passi al successivo. Il server risponde sempre con l'indizio attivo.

-- DavideLeonardi - 28 May 2009

RISPOSTA2 noi la abbiamo implementata in modo che se quando fai gehHint sono già disponibili tutti gli indizi tu li ricevi comunque uno alla volta nell'ordine, e non direttamente l'ultimo disponibile, cioè, ricevi sempre l'indizio successivo fino a che ne hai diritto, cioè fino a che non arrivi alla fine degli indizi o non incontri un indizio che ti fa attendere il timeout... forse avete fatto cosi anche voi e ho letto male stick out tongue -- MatteoFini - 29 May 2009 -- GruppoLTW02 - 29 May 2009

RISPOSTA3: Ci sta, è una vostra scelta o interpretazione del gioco.

-- DavideLeonardi - 29 May 2009

Bug: xs:ID

Abbiamo notato un bug nel protocollo. Per specificare articoli, video ed altro viene utilizzato anche il tipo xs:ID. Il problema è che numerosi video di youtube o googlevideo e altrettanti articoli di wikipedia sono identificati da stringhe che non rispettano questo tipo. Abbiamo quindi deciso di cambiare questo tipo in xs:string nei vari schema. Manterremo questa modifica fino a diversa comunicazione.

Risposta: effettivamente è meglio usare il tipo xs:string. Anche perchè la scelta di questi identificativi dipende dalle applicazioni esterne come Youtube, Googlevideo, etc. AngeloDiIorio

-- DavideLeonardi - 28 May 2009

Iscrizione di più gruppi con stessi utenti

Salve a tutti. Questo il possibile scenario. Tizio,Caio e Sempronio fanno parte del gruppo IFrollocconi. Tizio è l'admin del gruppo. Il gruppo si vuole iscrivere ad una caccia. Diciamo che Caio però è già iscritto! Sarebbe sensato non permettere al gruppo di iscriversi! Il server però non può fare questo tipo di controlli perchè in nessuna richiesta del client gli sono state passate informazioni sui membri di un gruppo. Sarà quindi il client ad effetture "di nascosto" questo tipo di controlli.. mandando poi al server una richiesta di iscrizione fasulla in modo che venga rifiutata (es: una pasword già assegnata).. Il problema è che se queste cose non le fa il server e le fa il mio client non posso supporre che il THc di altri gruppi faccia lo stesso..(e quindi il server accetterà l'iscrizione) mi sono perso qualche delucidazione o ce ne infischiamo? o_O

OSSERVAZIONE: Noi abbiamo pensato in modo diverso: premesso che solo l'admin possa iscrivere il gruppo, i membri "semplici" potranno concorrere come singoli team. Questo per 2 motivi:

  • l'utente ignaro di far parte di un gruppo già iscritto alla caccia al tesoro si vedrà rifiutata l'iscrizione (cosa per noi sbagliata)
  • per poter attuare una politica del "gioco di gruppo" diversa da quella da noi pensata, l'admin dovrebbe comunicare la password a tutti i componenti (cosa non sicura)
Inoltre, ragionando nel vostro modo, si dovrebbe mantenere l'informazione sul tipo di team (gruppo o utente) e per ogni iscrizione di un singolo utente, controllare che non faccia parte di nessun gruppo già iscritto...
Se pensate che il nostro ragionamento non sia corretto chiediamo cortesemente di comunicarcelo visto che sitamo basando l'implementazione su questa base! grazie!!
-- MatteoBonazzi - 01 Jun 2009

Osservazioni giustissime. Infatti in teoria per come stanno le cose un utente può essere iscritto ad una caccia al tesoro come singolo E come membro di uno O più gruppi. Se cosi deve essere vorrei avere la conferma pure io.

OSSERVAZIONE2: Noi la facciamo molto semplice. Un utente puo iscriversi con il suo ID oppure con l'ID di un gruppo al quale appartiene (controlliamo che l'utente sia realmente iscritto a quel gruppo). A quel punto sarà suo compito condividere la password con gli altri membri del gruppo. Io credo che queste cose siano abbastanza interpretabili, dato che le specifiche non le chiariscono del tutto.

-- DavideLeonardi - 01 Jun 2009

Osservazione3: poi dovresti adottare la stessa politica a rovescio.. se un utente si è iscritto, poi i gruppi a cui appartiene non si possono iscrivere. Altrimenti lui può giocare con chi vuole. Se SUPPONI l'utilizzo di password lui ne avrebbe una personale e quella di gruppo la può chiedere all'admin o a chi ha iscritto il gruppo.

OSSERVAZIONE 4:

- L'utente pippo è iscritto al gruppo topolinia e al gruppo paperopoli e se si vuole iscrivere da singolo utente il server gli dovrà dire che uno dei suoi gruppi è già iscritto ritornando una alreadySubscripted, ma l'utente come fa a sapere quale/quali dei suoi gruppi è già iscritto se questa informazione risiede nel server? E' una cosa da implementare nel client?

- Se più di un gruppo al quale un utente è iscritto su facebook è iscritto ad una caccia alla quale l'utente vuole partecipare chi decide con quale gruppo l'utente dovrà partecipare? O lo decide l'utente, e quindi dovrà sapere quali sono i gruppi già iscritti oppure lo decide il server, ma con quale politica?

- Questo ci fa pensare che se qualche informazione riguardante l'iscrizione come password o gruppi che sono già iscritti risiedesse anche nel client, allora è obbligatorio che un utente/gruppo che si iscrive ad una caccia al tesoro con un client debba anche giocare fino alla sua conclusione con lo stesso client, cioè il nostro server dovrebbe essere in grado di comunicare con più client allo stesso tempo durante la stessa caccia al tesoro?

-- RenzoBologna - 03 Jun 2009

Namespace di default

Come mai nell'xsd della loadtreasurehunt client->server e in global.xsd e' specificato un namespace di default, mentre in tutti gli altri no?

loadtreasurehunt e global: xmlns="http://vitali.web.cs.unbo.it/thunt tutti gli altri: xmlns:thunt="http://vitali.web.cs.unbo.it/thunt"

Possiamo assumere che dovunque il namespace di default sia thunt ? (sarebbe molto comodo)

Dubbio sulla getStatus

Abbiamo notato che tra gli errori possibili nella getStatus non c'è l'errore "not subscribed", ma il "no permission". Significa che chiunque, anche se non è iscritto alla caccia al tesoro in questione, può controllare lo stato dei partecipanti?

Mi sono risposto da solo: nello schema della risposta l'errore possibile è appunto "not subscribed". Immagino che il "no permission" nella descrizione della risposta sia un errore... GiovanniCozza - GruppoLTW09

Sondaggio per chi parteciperà alla fiera di lunedi 8

Piccolo sondaggio: i vostri software saranno completi? I nostri sono completi al 100%.

GruppoLTW03

Il nostro server è completo all'85% nel senso che le funzioni sono state tutte implementate ma non abbiamo ancora fatto test approfonditi. Il client non lo abbiamo ancora iniziato invece. Preferiamo in ogni modo partecipare a questa fiera per non perdere tutta la sessione estiva dato che contiamo comunque di aver finito il progetto entro gli inizi di luglio.

GruppoLTW04

Noi abbiamo implementato le funzioni per il protocollo, ma stiamo ancora lavorando all'interfaccia e alle API varie, comunque avrei una domanda più interessante: dove si terrà la fiera? Ercolani o Ranzani? nella pagina non è ancora specificato!
GruppoLTW0?

Quoto dalla pagina di iscrizione alla fiera:

Fiera del software 8 Giugno 2009 in Laboratorio Ercolani (può diventare Ranzani se iniziano i lavori all'impianto di condizionamento)
dato che non ci sono aggiornamenti, e che il lab risulta prenotato dalle 9 alle 17, direi proprio che si farà in ercolani. -- DavideLeonardi - 06 Jun 2009

Anche noi siamo più o meno nella stessa situazione del gruppo LTW04: vorremmo consegnare in luglio e per ora abbiamo lavorato solo sul server. Se oggi va tutto bene, domani dovremmo avere un server completo ma non ancora testato per bene. GruppoLTW09

Convenzioni GENERALI post-fiera a livello di protocollo (INTEROPERABILITA')

Premesso che immagino condividiate sia fondamentale che utilizziamo TUTTI gli stessi schemi di riferimento.

DOMANDA1 Quale convenzione decidiamo DEFINITIVAMENTE in merito al fatto che i protocolli siano involontariamente stati scritti come "vitali.web.cs.unbo.it" anzichè "vitali.web.cs.unibo.it"? Conserviamo tutti comunque UNBO anzichè UNIBO?

DOMANDA2 Quale convenzione decidiamo DEFINITIVAMENTE in merito alla quetione NS relativa al post sottostante: http://vitali.web.cs.unibo.it/view/TechWeb09/DomandeRisposte#Namespace_di_default

In merito ad entrambe le domande vi chiediamo solo se decidiamo, tutti e una volta per tutti, onde non complicarci la vita (come sappiamo sarà infatti fondamentale rendere interoperabili i SW....).

Grazie, buon lavoro a tutti.

-- GruppoLTW02 - 09 Jun 2009

RISPOSTA 1&2 Credo che nessuno abbia voglia/tempo di complicarsi ulteriormente la vita quindi io assumerei "SI","namespace thunt" come risposta di default alle due domande e che qualcuno parli se è contrario per qualche motivo a noi adesso ignoto. smile

RISPOSTA: direi che è più logico adottare UNIBO dato che è palese che sia un errore di battitura del protocollo e per quanto riguarda il namespace della domanda 2, il problema non sorge poichè sarebbe esattamente come prefissare tutti gli elementi con "thunt:": cambia solo il fatto che sia implicito ma il risultato è esattamente lo stesso!
-- MatteoBonazzi - 10 Jun 2009

RISPOSTA: Noi lasciamo unbo. Per quanto riguarda la domanda 2, come ha detto Matteo il problema non sorge. Noi lasciamo gli elementi NON prefissati, per il semplice motivo che poi se li prefissiamo con "thunt:" FORSE dobbiamo cambiare qualcosina nei fogli XSLT.

GruppoLTW03

OK allora direi che siccome abbiamo tutti comprato da LTW03 smile cambio gli schemi in unbo.it, per gli xsl a meno che non abbia sbagliato, sia che tu abbia elementi qualificati con prefix pippo che cion prefix thunt se il namespace associato e` uguale non ci dovrebbero essere problemi..I suppose stick out tongue --Main.MatteoFini GruppoLTW02

Non lo so perchè sia sui nostri XSL che sul nostro XML non prefissiamo niente. Non me ne intendo di queste cose sinceramente.

-- DavideLeonardi - 11 Jun 2009

Interoperabilita' : specificare il server

Dato che e' necessario che tutti i prodotti siano interoperabili, e dato che il server e' un'applicazione "passiva", ci sembra indispensabile che nel client ci sia un qualche modo a livello utente per configurare l'indirizzo del server a cui inviare le richieste: se l'indirizzo del server e' "hard-coded" in qualche file interno di configurazione, l'unico modo per cambiarlo e' andare a modificare i file del client, cosa che possono fare solo i creatori del client stesso; questo impedirebbe agli altri gruppi di fare controlli di interoperabilita' tra i loro server e i client altrui. E' cosi' o ci e' sfuggito qualche metodo semplice per ottenere lo stesso risultato?

-- GruppoLTW09

R: si è cosi, noi abbiamo costrutio un elenco dei server su file xml, e da interfaccia è possibile sceglierne uno tra quelli disponibili

-- GruppoLTW02

RewriteEngine?: funziona nelle home web personali?

Domanda: Noi non abbiamo una cartella web per il gruppo e stiamo sviluppando il progetto sulle cartelle personali, ma provando e riprovando di far funzionare il rewrite engine invano, ci è sorto il seguente dubbio: per caso nelle cartelle web personali il rewrite engine è disabilitato?
Noi abbiamo aggiunto nel file .htaccess il seguente contenuto:"RewriteEngine On RewriteRule? ...." ma non funziona!

-- MatteoBonazzi - 16 Jun 2009

R: prova a mettere il file .htaccess dentro a /html, 644 come permessi...dovresti avere delle riscritture simili a RewriteRule loadtreasurehunt cgi-bin/bla/bla/bla/thc.php5?abcd [L]

-- GruppoLTW02

R: Il fatto è che sul mio server apache a casa funziona benissimo quel file .htaccess, mentre in "unibo" non va...

-- MatteoBonazzi - 29 Jun 2009

Info da ltw0903

Per qualsiasi informazione riguardante i nostri prodotti, fate riferimento a questa pagina http://vitali.web.cs.unibo.it/TechWeb09/GruppoLTW03

Grazie.

Esecuzione pagine Canvas di Facebook nello spazio web di gruppo

DOMANDA Stiamo provando ad eseguire all'interno della nostra applicazione Facebook delle pagine in PHP ed FBML salvate nel nostro spazio web di gruppo. Riscontriamo alcuni problemi: posizionando le pagine in /html/ e con estensione .php vengono eseguite correttamente ma con interprete PHP4 (tra l'altro golem le esegue anche se non hanno permessi di esecuzione… un po' strano no?), posizionandole sempre in /html/ e con estensione .php5 non vengono eseguite. Posizionandole in /cgi-bin/ sia con estensione .php che con estensione .php5 viene restituito un errore HTTP 403 FORBIDDEN, e pur modificando i permessi non riusciamo a farle funzionare. In pratica l'unica opzione che "funziona" è quella di spostare i file in /html/ e con estensione .php, ma, a parte il fatto di doverli tenere in una directory non dedicata alle pagine dinamiche, con lo svantaggio di non poter usufruire di PHP5. Notare che l'errore 403 viene restituito solo cercando di eseguire le pagine dall'applicazione Facebook: i file .php5 presenti nella nostra cgi-bin funzionano correttamente se chiamati direttamente. Idee? Grazie!

-- SilvanoBertossa - 21 Jun 2009 -- GruppoLTW09

Risposta: L'estensione php5 viene riconosciuta esclusivamente nella cartella cgi-bin. Per quanto riguarda l'errore 403, controllate bene i permessi e date un occhiata alle impostazioni dell'applicazione di facebook. -- DavideLeonardi - 21 Jun 2009

Utilizzo dei fogli di stile

Salve, ci è venuto un dubbio amletico: noi pensavamo di usare CSS, è consentito o si possono usare solo XSLT?
Grazie.

EnricoBertocchi - 23 Jun 2009
GruppoLTW11

R: si si ovviamente anche CSS, flash e chi piu ne ha piu ne metta.. -- GruppoLTW02? - 26 Jun 2009

IMPORTANTE: GetTreasureHunt?

Alcuni gruppi, alla chiamata gettreasurehunts, ritornano la lista delle cacce che non sono ancora partite. Risulterebbe inutile a questo punto la risposta "alreadyStarted" da parte del server ed è per questo che abbiamo pensato che si intendesse una lista completa delle cacce su cui è possibile operare.

Possiamo avere un'interpretazione ufficiale su cosa significhi "lista delle cacce disponibili"?

R: Il protocollo dice chiaramente "Il THC chiede al THS l'elenco delle cacce caricate sul server", e cioè tutte le cacce, indifferentemente dal fatto che siano o non siano già partite. Questa è l'unica interpretazione corretta della frase. Tuttavia per sottolineare questo fatto ho cambiato la frase in "Il THC chiede al THS l'elenco di tutte le cacce caricate sul server", sperando che questo dirimi la questione una volta per tutte. FabioVitali

-- FabioVitali - 29 Jun 2009

Date Consegna Progetto

Si potrà consegnare il progetto anche nella sessione di Gennaio-Febbraio, o l'ultima è quella del 24 settembre ? Grazie

-- MicheleCucchi - 14 Sept 2009

R: Sono previsti due appelli straordinari per il 21 gennaio 2010 e il 10 febbraio 2010 (consultare la pagina iniziale del corso).
-- IuLiAnGudumac - 11 Jan 2010

  • Set ALLOWTOPICVIEW =
  • Set ALLOWTOPICCHANGE =

to top

I Attachment sort Action Size Date Who Comment
es3xslt.xsl manage 3.4 K 29 Mar 2009 - 16:38 MatteoFini  
es3xslt.xml manage 5.4 K 29 Mar 2009 - 16:38 MatteoFini  
Progetto_ritagliato.pdf manage 737.2 K 27 Apr 2009 - 17:38 CarminePaolino Slide "13-Progetto.pdf" ritagliate

You are here: TechWeb09 > DomandeRisposte

to top

Copyright © Fabio Vitali 2017 Last update of DomandeRisposte on 11 Jan 2010 - 14:44 by IuLiAnGudumac