Newsgroup: it.comp.software.database
Titolo: Nuovo sito, come strutturarlo ?

Sperando di non essere OT, mi chiedevo quale ritenete che sia la migliore
struttura per un nuovo sito che inizialmente sara' composto da pochi
articoli, ma con possibilita' di ampliarli a tal punto da farlo diventare un
mezzo portale.
Gli articoli sono piuttosto lunghi, secondo voi conviene memorizzarli nei
campi memo di un database Access 2000, o salvarne il contenuto in un file
.inc e poi ricavarne il testo per inglobarlo nelle pagine, o .. che altro ?
Per ora ho adottato la prima soluzione, va benissimo per le pagine con
semplice html, ma mi crea un mucchio di problemi per l'impossibilita' di
inserire variabili nei campi memo (es. "Benvenuto <%= visitatore %>" viene
scritto cosi' com'e' senza farlo elaborare al server) o per creare moduli
piuttosto complessi...
Insomma qual e' il metodo migliore per creare un portale ? Memorizzare ogni
articolo in un file a parte o inserire tutto nel database ?
A presto

 campi memo di un database Access 2000, o salvarne il contenuto in un file
<ZAP>
Dipende dagli strumenti che hai a disposizione, da come vuoi 
"programmare" il sito, da quanto spazio hai a disposizione etc. etc.
(ricordati che Access tende a gonfiarsi in modo spropositato e devi
continuare a comprimerlo).
Dai un'occhiata (per esempio) alla parte "commenti" di
www.soft-land.org
, li' ho usato un semplice script in perl per leggere
dei file di puro testo ed incorporarli nella pagina HTML. 
Davide

 continuare a comprimerlo).
Pero' c'e' l'enorme vantaggio di poter creare una pagina unica che si adatta
ai vari contenuti, e quindi una grande facilita' di modifiche grafiche e
tecniche (basta cambiare una sola pagina), si possono modificare i records
del database (cioe' gli articoli) direttamente via internet tramite modulo,
mentre incorporando un file di testo esterno l'aggiornamento diventa piu'
complicato, se hai mille articoli devi creare mille files di testo, creare
una pagina per ogni inclusione, ecc. Vedi per esempio questo sito in fase di
test:
http://www.italfree.it/home/italfree.asp?art=1&user=visitatore
la pagina e' sempre la stessa (italfree.asp) ed i contenuti cambiano
prelevando i dati dal database, cosi' se al posto di art=1 ci metti art=2 la
pagina rimane la stessa ma cambia la parte centrale... Premetto che voglio
fare tutto via web, senza utilizzare editors html o programmi FTP, quindi la
soluzione di Access mi sembra la piu' adatta... che ne dici ?

 fare tutto via web, senza utilizzare editors html
Su questo dissento e mi dissocio. Conoscere l'HTML e' *assolutamente
necessario*, e l'uso dell'FTP risulta obbligato (la prima volta il
database come lo metti su' ???).
Tieni anche conto che se qualcuno scopre la pagina di "editing" on
line rischi di vedere 'azzate a profusione...
Davide

A presto
Se trovi qualcosa fammi sapere.
Ciao.
Faser
--------------------
FABIO SERRA
Per rispondere in e-mail sostituire "invalid" con "faser"
--------------------


Basta proteggerla con password, questo non e' un problema, piu' che altro mi
preoccupa incasinare il sito con centinaia di files di testo ed altrettanti
riferimenti nel database (dovendo connettersi al database ugualmente, tanto
vale recuperare da uno dei records il testo degli articoli..), ma rimane il
grosso problema delle variabili nei records.. Ad esempio se voglio metterci
un <!---#include file ="<%= nomevariabile %>"---> in cui "nomevariabile" e'
un parametro passato tramite URL simile a
www.nomesito.com/default.asp?NOMEVARIABILE=pagina2
 non funziona, e questo mi
obbliga quindi a creare un'altra pagina apposita che complichera' le
modifiche grafiche e strutturali del sito. Insomma e' un bel problema e non
so come uscirne..

 puliti da tag o cose dipendenti da come li visualizzi.
Certo, ma a volte si rende indispensabile.. mettiamo che hai una struttura a
due colonne laterali piu' una barra superiore (un classico dei portali) e
che al centro dell'articolo vuoi far comparire un modulo per consentire al
visitatore registrato di modificare i propri dati, come fai ? Non puoi
prelevare l'articolo dal database perche' se ci metti qualcosa tipo
<input type="text" name="T1" size="20" value="<%nomeutente%>">
nell'output ti viene visualizzato cosi' com'e', quindi dovrai creare una
pagina asp apposta o includerne una esterna, e questo complica gli
aggiornamenti successivi perche' per ogni cambio di grafica dovrai
modificare la pagina standard, quella per la registrazione, la modifica dei
dati, ecc..
Facciamo cosi', chi dei due trova per primo una soluzione avverte l'altro,
ok ? :-)
Ciao


Dall'IIS5 (quello del windows 2000 per intenderci), c'è un nuovo comando per
l'inclusione dinamica:
server.execute "nomefile"
che accetta le variabili. Ad esempio:
<%
file= "articolo-05072001.htm"
server.execute file
%>
Includerà dinamicamente il nome della pagina contenenuta nella variabile
file.
Problema risolto! :))
Ciao,
Andrea Z.

 dei dati, ecc..
Per questo si usano i template:
soluzione 1- puoi crearti i template in XML edefinire la logica di 
trasmormazione con XSL (cambio di grafica= cambio solo XSL..) 
soluzione 2- le pagine fanno delle inclusioni di pezzi fissi in html che 
contengono la grafica. La parte dinamica (io lavoro in PHP, ma penso che 
per ASP sia lo stesso) cambia da pagina a pagina:
<? 
include ("parte_sopra");
//collegamento al db ed altra roba...
//qua il form seguendo lo stile del sito
include("parte sotto");
?>
Comunque non metteri mai i form in un db. Delle piccole descrizione si', ma 
senza alcun tag, perche' se cambi gfrafica cosa fai, aggiorni tutto il db 
?!?!?
-- 
frank@office
P|||@450MHz-320MB-DebWoody/Sid

 ?>
Penso che non hai capito appieno il suo problema il discorso č che se in
mezzo all'articolo vuole scrivere una variabile (cita ad esempio
"VISITATORE" ) non puň, nč con ASP nč (penso, ma non lo conosco bene ) con
PHP.
Il problema non era tanto quello del "parte sopra" / "parte sotto" che se
guardi al volo la pagina che ha portato ad esempio mi sembra piů che
risolto.
Comunque ci ho pensato anch'io su e non ho trovato nessuna sooluzione ceh
non presentasse gli stessi problemi.
Ma visto che a brevo dovrň fare una cosa molto simile mi ci metterň "di
buzzo buono" ed in caso trovassi una soluzione la posterň volentieri.
Ciao,
Simone

 PHP.
Secondo me si puo' almeno in PHP.
<?
$utente ="io" 
?>
<?include("file.html");?>
dentro a file c'e' ::
<? echo $utente;?>
E' OVVIO che tutte le variabili devo no essere definite prima di includere 
il file.
Se ad esempio la pagina e' sempre la stessa, ma cambiano alcuni dati che 
vengono tirati fuori dal db:
<?
//tiro fuori tutto dal db..
$var1=...
$var2=...
//includo i file di template sopra/lato, quiel che e'
//includo la pagina dove vanno le varibili
//includo il fondo
?>
Ovviamente per ogni pagina cambieranno le query (se cambia il tipo di  
pagina) e cio' che devo includere (form, articolo, ..)
-- 
frank@office
P|||@450MHz-320MB-DebWoody/Sid

 il file.
Il problema infatti è di prendere il testo dal db ed includerci delle
variabili al suo interno.
Il problema con l'include non esiste.
Ciao,
Simone

Simone il Thursday 05 July 2001 16:38 scrisse:

Come ho gia' detto prima, io non metterei i tag ne' tantomeno altra roba 
nel db. Posso mettere commenti testuali, ma se i file sono molto grossi 
preferirei degli include.
-- 
frank@office
P|||@450MHz-320MB-DebWoody/Sid

 PHP.
Esatto, il problema consiste nell'utilizzare variabili da eseguire sul
server prima dell'output, mentre il database consente solo di inserire tags
html che possono essere eseguite dal lato client. Purtroppo sul PHP sono
ancora a zero o quasi, mentre sull'XML sono assolutamente un newbie..
Provero' il comando server.execute suggerito da Andrew e vi faro' sapere se
funziona, spero di si' dato che e' proprio quello che mi servirebbe..


Purtroppo non funziona, mi dice che "server" non e' un oggetto valido, credo
che il mio server non riconosca correttamente questo comando.. In un
newsgroup straniero ho trovato quest'altro comando:
<%
testo = rs("Articolo")
    EXECUTE("Response.Write testo")
%>
che non da' errori, ma il risultato e' sempre quello, cioe' l'articolo viene
inserito correttamente nella pagina ma qualunque comando ASP in esso
contenuto non viene eseguito, viene considerato come un semplice commento,
ed e' quindi visibile solo guardando l'origine html della pagina... Insomma
mi sa proprio che non c'e' soluzione :-(