Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Gestione dell'informazione nei sistemi mobili e pervasivi (http://www.dsy.it/forum/forumdisplay.php?forumid=252)
-- Tecweb - Help progetto Cocoon (http://www.dsy.it/forum/showthread.php?threadid=7835)
Tecweb - Help progetto Cocoon
Ciao a tutti. Ho un quesito riguardo al progetto.
Per le parte di amministrazione da fare per tecweb (nell'ultimo punto delle specifiche) avevo pensato di utilizzare php insieme al PHPGenerator di Cocoon; tuttavia il phpgenerator da un sacco di problemi (a me personalmente non funziona...anke se nn da alcun errore..) e dopo aver postato alcuni messaggi sulla mailing list di cocoon mi è stato detto da + fonti che è un componente in se molto problematico, e forse sulla strada per essere deprecato...boh..
cmq la domanda è questa: c'è qualcuno che riesce a farlo andare, o si è trovato nella stessa situazione?
purtroppo qui le lezioni sono finite e quindi non abbiamo nemmeno + la possibilità di chiedere qualcosa in laboratorio...
Non so, questo esame è x me assurdo!!!
Eppure ho superato abbastanza facilmente quello di "basi di dati".
Non riesco a capire come modificare i links relativi ( es. cartella/img.jpg) !!!
Non pensavo di incontrare tante difficoltà sin da questo punto!!!
Penso di aver buttato via un semestre seguendo questa materia, mi rendo conto che non ci hanno detto abbastanza su cocoon!!!
Ciao a tutti.
anche secondo me questo progetto è un po troppo pesante volgio dire per poterlo fare bisognerebbe conoscere molto bene xml, xpath, xslt, cocoon con la valanga di concetti che ha e poi naturalmente un linguaggio lato srver per fare la parte di amministrazione cmq ho spedito una mail a sala ma non mi risponde vediamo se qualcuno mi puo aiutare:
1) .... in una sitemap nella parte dei compenenti devo elencare i compeneti che intendo usare nelle successive pipeline, non riesco pero a capire perchè se per esempio come serializzatori metto solo
<map:serializers default="html"/>
e poi in una pipeline uso
<map:serialize type="wml"/>
non mi viene segnalato nessun errore.
2) ... per la sitemap del progetto avevo pensato che quando l'utente mi fornisce username e password per autenticarsi controllo se la password o lo username sono sbagliati e in questo caso presento una pagina di errore il problema è che non riesco a capire come posso dalla sitemap controllare cosa c'è nel xml che sta passando da un trasformatore ad un altro, voglio dire se ho questo pezzo di sitemap
PHP:
<map:match pattern="portal/user/editfeeds">
<map:act set="portal">
<map:parameter name="descriptor"
value="context://capitolo7/portal/resources/dbfeeds.xml"/>
</map:act>
<map:generate src="portal/resources/editfeeds.xml"/>
<map:transform src="portal/styles/editfeeds.xsl">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
<map:transform type="sql">
<map:parameter name="use-connection" value="portal"/>
</map:transform>
X quanto riguarda il redirect può essere fatto anche ad una risorsa della sitemap:
Redirecting to Resources:
Specifiying a resource attribute allows the redirection to a sitemap resource. This usage has been deprecated.
map:call should be used instead.
Preso dal sito di cocoon negli userdocs
X il resto penso che sia tanto + facile con php o asp ma con cocoon proprio non so!!!
Ciao.
Forse cosi è meglio:
Internal Redirects Using the Cocoon Protocol
A redirection URI can make use of the cocoon: protocol to return content from another Cocoon pipeline. In this case, the redirection happens internally. The content from the redirected URI is returned to the client as if it came from the original URI.
Directory handling is the same here as for other sitemap components. So that:
<map:match pattern="folder/page1.html">
<map:redirect-to uri="cocoon:/folder/page2.html"/>
</map:match>
will return the content of page2.html to the client in response to the request for page1.html.
Note: when the cocoon: protocol is used, an HTTP redirect is not used.
Originally posted by unidavide
[.....]
Anche qui non riesco a capire come faccio a passare tutte queste informazioni da un pipeline ad un altra se per fare il redirect ho a disposizione solo
<map:redirect-to uri="new uri"/>
__________________
"Direi che la signorina Lucy è più calorosa di una sposa di Giugno che cavalca nuda un cavallo senza sella in mezzo al Sahara" - Il Colono, Dracula di Francis Ford Coppola
Originally posted by zyo
.....
Non riesco a capire come modificare i links relativi ( es. cartella/img.jpg) !!!
__________________
"Direi che la signorina Lucy è più calorosa di una sposa di Giugno che cavalca nuda un cavallo senza sella in mezzo al Sahara" - Il Colono, Dracula di Francis Ford Coppola
Originally posted by mozilla
In molti casi al posto di fare una redirect da una pipeline ad un altra è molto utile utilizzare il CInclude Transformer che permette di incapsulare risorse di vario tipo tra cui anche altre pipeline.
In questo modo attraverso trasformazioni successive l'XSL costruisce l'XML ed è possibile anche simulare costrutti decisionali. Ad esempio se guardi quello che torna l'SQL ti accorgi che il tag ROW che identifica una riga del database viene messo solo se estrae dei dati altrimenti no. Quindi con un test="sql:row" dentro un tag 'when' puoi testare se ha estratto o no la riga dal db.
PHP:
<map:select type="parameter">
<map:parameter name="parameter-selector-test" value="sql:row"/>
<map:when test="">
<map:redirect-to uri="0"/>
</map:when>
<map:otherwise>
<map:redirect-to uri="2"/>
</map:otherwise>
</map:select>
Originally posted by mozilla
Un altro modo è quello di richiedere all'SQL (c'è un parametro) di mettere un attributo (mi sembra nel rowset) che ti dice quante righe ha estratto.
Originally posted by mozilla
Una volta eseguito il test, avrai un CInclude che manda alla pagina "giusta" se l'utente esiste ed un altro CInclude che manda alla pagina di errore altrimenti.
Originally posted by unidavide
ho provato ma non riesco, non ho capito come si fa? sbaglio cosi?
.....
<map:parameter name="show-nr-of-rows" value="true"/>
l'ho visto, ma dopo come faccio a utilizzare il valore restituito?
il CInclude non so se va bene, ..... lo posso fare anche con CInclude?
PHP:
<xsl:template match="sql:rowset">
<xsl:choose>
<xsl:when test="sql:row">
<cinclude:include src="L'UTENTE ESISTE, VADO A QUESTA PAGINA"/>
</xsl:when>
<xsl:otherwise>
<cinclude:include src="L'UTENTE NON ESISTE, SPEDISCO LA PAGINA DI ERRORE!"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
__________________
"Direi che la signorina Lucy è più calorosa di una sposa di Giugno che cavalca nuda un cavallo senza sella in mezzo al Sahara" - Il Colono, Dracula di Francis Ford Coppola
Originally posted by mozilla
Scusa, forse mi sono spiegato male. Tra i tag del trasformatore classico di default XSL esiste <xsl:choose> che racchiude <xsl:when> e <xsl:otherwise>. Con questi tag nel file XSL di trasformazione, costruisci la forma condizionale che ti permette di testare in questo modo <xsl:when test="sql:row"> se esiste una riga all'interno del rowset.
All times are GMT. The time now is 22:16. | Show all 10 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.