![]() |
Pages (4): [1] 2 3 4 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ informatica triennale (http://www.dsy.it/forum/forumdisplay.php?forumid=211)
-- [Progetto] "Blog" (http://www.dsy.it/forum/showthread.php?threadid=28359)
[Progetto] "Blog"
Ciao a tutti.
Qualcuno ha dato un'occhiata al nuovo progetto per BD?
Ho un dubbio su come interpretare la frase "i contenuti vanno intesi come file"...
Non potendo frequentare, non vorrei che sia sottointeso qualcosa detto a lezione riguardo alla gestione dei LOB...
Tutto ok per quel che riguarda le fotografie, ma per i normali testi?
Le mie possibili interpretazioni sono le seguenti:
- i LOB relativi al testo devono essere salvati in un file esterno come risorsa e non nel DB (con lo scopo di alleggerire la base dati)
- I testi possono essere dei file arbitrari che devono essere "uploadati" nel filesystem (pdf, doc, ecc..), ma questo provocherebbe problemi riguardo alla visualizzazzione di tali contenuti in una pagina HTML e risulterebbero disponibili solo tramite download
- I testi si memorizzano semplicemente nel DB dato che il LOB, in quanto semplice stream di dati, è da considerarsi un file
Grazie a tutti
__________________
Every passing minute is a chance to turn it all around!
In realtà l'ambiguità sta nel nome del progetto.
Richiedono di implementare un blog descrivendo quello che in realtà è uno share point.
Già....
L'applicazione in sè è facile da sviluppare, ma la specifica è un po' confusa...
__________________
Every passing minute is a chance to turn it all around!
Noi inoltre,oltre ai dubbi gia citati nel primo post,abbiamo difficoltà a interpretare cosa chiede in questo punto:
Fra le tipologie di contenuto inoltre, le news si distinguono per il fatto di poter essere riferite a una o più` altre news. Questa articolazione comporta anche l’esistenza di diversi possibili percorsi di navigazione fra le news, attraverso i riferimenti incrociati esistenti fra loro.
__________________
Khelidan
Re: [Progetto] "Blog"
Originally posted by teo2k
Ciao a tutti.
Qualcuno ha dato un'occhiata al nuovo progetto per BD?
Ho un dubbio su come interpretare la frase "i contenuti vanno intesi come file"...
Non potendo frequentare, non vorrei che sia sottointeso qualcosa detto a lezione riguardo alla gestione dei LOB...
Tutto ok per quel che riguarda le fotografie, ma per i normali testi?
Le mie possibili interpretazioni sono le seguenti:
- i LOB relativi al testo devono essere salvati in un file esterno come risorsa e non nel DB (con lo scopo di alleggerire la base dati)
- I testi possono essere dei file arbitrari che devono essere "uploadati" nel filesystem (pdf, doc, ecc..), ma questo provocherebbe problemi riguardo alla visualizzazzione di tali contenuti in una pagina HTML e risulterebbero disponibili solo tramite download
- I testi si memorizzano semplicemente nel DB dato che il LOB, in quanto semplice stream di dati, è da considerarsi un file
Grazie a tutti
__________________
Khelidan
Originally posted by khelidan
Noi inoltre,oltre ai dubbi gia citati nel primo post,abbiamo difficoltà a interpretare cosa chiede in questo punto:
Qualcuno ha capito per caso??
__________________
Every passing minute is a chance to turn it all around!
Re: Re: [Progetto] "Blog"
Originally posted by khelidan
Perdona la mia ignoranza ma cosa sono i lob?
Non cmq abbiamo interpretato che quello è solo uan similitudine,in un file ci sono nome data modifica,bene anche le news o gli alrticoli o lefoto devono avere nome,data modifica ecc....come un file!
__________________
Every passing minute is a chance to turn it all around!
guarda non saprei proprio,comunque domani dovremmo andare al ricevimento a chedere,vi faccio sapere!
__________________
Khelidan
Io l'avrei interpretato cosi: per quello che riguarda gli articoli e le news il formato è html dato che sono testi (eventualmente formattati html) con riferimenti a immagini e ad altre pagine e la loro dimensione è data dalla lunghezza del testo + la somma delle dimensioni delle immagini. Però effettivamente la specifica è a dir poco confusa... Qualcuno ha qualche notizia certa su questo punto ?
ciao ragazzi, io invece le immagini le vedo come un intervento senza aggiungere altro. certo che questo progetto di un blog ha solo il nome perche a me sembra piu un forum.
Altro quesito, che domani porrò al prof, ma come fa un intervento a riferirsi a 2 argomenti distinti?
....quando a lezione hanno spiegato il progetto ho sentito che parlavano di qualche programma che nn conviene o addirittura nn si puo usare...che voi sappiate, si puo usare mysql?
per la questione file il prof ha detto che è una scelta individuale,si puo salvare i contenuti come file veri e propri oppure fare tutto sul db,per la questione blog o forum,è un forum,blog centra come i cavoli a merenda,lo stesso prof ha detto che la scelta della parola blog è stata infelice!
@GiaXVI
Mysql lo puoi usare,come postgres,come oracle e come qualsiasi altro db che implementi sql99 e i trigger!
__________________
Khelidan
Grazie, ora tutto comincia a prendere un'altra forma... ;-)
__________________
Every passing minute is a chance to turn it all around!
mysql nn supporta i trigger, quindi è sconsigliato, parola del prof...
mysql 5 supporta i trigger
__________________
"Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh burzum-ishi krimpatul"
Scusate ma io non ci capisco una ciofeca...
Cosa vuol dire sta frase?
L'utente quindi non effettua alcun login e l'nformazione sull'utente attivo e sul profilo associato viene fornito staticamente all'applicazione, a titolo d'esempio.
E cosa significa che ogni utente può avere più profili?
E come fa un contenuto ad avere più autori?
E gli argomenti li decidiamo noi?
E che senso ha che ci sia come contenuto fotografie.
Sarò gnucca ma nn capisco
A tutte ste domande ci abbiamo perso le giornate!
per la questione login,se fai la versione da 3 punti non va implementato il login appunto,basta solo mettere alccuni utenti in modo statico nel db a titolo di esempio.
Un utente puo avere più profili,nel senso,i profili servono a stabilire gli argomenti di preferenza degli utenti,se io voglio collegarmi e vedere solo news di sport e politica,faccio un profilo solo con queste due preferenze,ma questo non mi vieta di crearne un altro con le preferenze taglio e cucito e cucina,se selezione quel profilo l'applicazione mi mostra solo le notizie catalogate in quegli argomenti,ok?
Un contenuto può avere più autori nel senso che io pubblico un articolo e poi do all'utente pinco la possibilità di modificarlo,pinco diventa autore automaticamente anch'esso.
Si gli argomenti si,mi pare che nella versione da 3 punti siano un numero fisso,mentre in quella da 4 gli amministratori del blog possono aggiungere argomenti ed ovviamente l'applicazione deve gestirli dinamicamente.
Perchè i contenuto del nostro blog possono essere news,articoli con eventualmente foto e semplici foto,tutti questi poi possono essere catalogate in argomenti di vario tipo a seconda di cosa trattano!
Ho cercato di essere più chiaro possibile,anche non abbiamo perso molto tempo su questi dubbi!
__________________
Khelidan
>Un contenuto può avere più autori nel senso che io pubblico un >articolo e poi do all'utente pinco la possibilità di modificarlo,pinco >diventa autore automaticamente anch'esso.
Secondo me autori e permessi non sono legati.
Ossia quando io pubblico un articolo sono uno degli autori e posso però indicare altri "coautori" tra gli altri utenti.
Poi posso assegnare i permessi di modifica anche ad utenti che non siano autori del contenuto.
Ovviamente IMHO.
Originally posted by zonker
>Un contenuto può avere più autori nel senso che io pubblico un >articolo e poi do all'utente pinco la possibilità di modificarlo,pinco >diventa autore automaticamente anch'esso.
Secondo me autori e permessi non sono legati.
Ossia quando io pubblico un articolo sono uno degli autori e posso però indicare altri "coautori" tra gli altri utenti.
Poi posso assegnare i permessi di modifica anche ad utenti che non siano autori del contenuto.
Ovviamente IMHO.
__________________
Khelidan
Originally posted by khelidan
Un contenuto può avere più autori nel senso che io pubblico un articolo e poi do all'utente pinco la possibilità di modificarlo,pinco diventa autore automaticamente anch'esso.
perfettamente concorde con ornati.
Le specifiche parlano chiaro, gli autori di un articolo sono una cosa, gli utenti che hanno diritto di modifica sono un'altra.
Al limite si può dire che gli autori abbiano sempre diritto di modifica oltre agli altri utenti non autori ma autorizzati.
Originally posted by ornati
Ma alla fine credo che questi problemi non contino, e che basti implementare la soluzione più semplice.
__________________
Khelidan
Originally posted by zonker
perfettamente concorde con ornati.
Le specifiche parlano chiaro, gli autori di un articolo sono una cosa, gli utenti che hanno diritto di modifica sono un'altra.
__________________
Khelidan
Progetto e scritto
Scusate ma per poter sostenere l'appello scritto bisogna consegnare per forza anche il progetto o si puo fare prima lo scritto ed ad un altro appello consegnare anche il progetto e viceversa ?
Re: Progetto e scritto
Originally posted by attila79
Scusate ma per poter sostenere l'appello scritto bisogna consegnare per forza anche il progetto o si puo fare prima lo scritto ed ad un altro appello consegnare anche il progetto e viceversa ?
la data se fai i compitini e intorno al 10 aprile , piu o meno
non ho ben capito l'uso dei trigger in questo progetto
come si fa con un trigger a controllare il numero di accessi ad un contenuto se i trigger permettono solo controlli prima o dopo di INSERT, UPDATE e DELETE??
Infatti non lo fai con i trigger.
Ti crei una funzione che incremente il numero di accessi e poi la usi in una vista.
Ad esempio crei una funzione incrementaaccesso(idcontenuto) e poi quando accedi ai contenuti lo fai con una vista tipo SELECT IDCONTENUTO, incrementeaccesso(IDCONTENUTO), DIMENSIONE, TIPO FROM CONTENUTI
Scusate ma voi tutti avete parlato di autori che delegano il permesso di modifica ad altri utenti (che divengono a loro volta autori).
Ma il privilegio di cancellazione si puo' delegare? Nel testo dice "Essi hanno il permesso di
visualizzare tutti i contenuti e di inserirne di nuovi, ma possono modificare e cancellare
solo i contenuti di cui siano autori o su cui abbiano ricevuto l’autorizzazione da altri
utenti."
Per cui si direbbe che possa essere anche delegata la cancellazione, pero' vedo che tutti voi accennate solo a modifiche, come mai?
Certo il diritto di cancellazione va gestito esattamente come quello di modifica.
Qualcuno ha il documento sulle modalità di consegna? Il link sul sito non funziona più...
Originally posted by zonker
Certo il diritto di cancellazione va gestito esattamente come quello di modifica.
Qualcuno ha il documento sulle modalità di consegna? Il link sul sito non funziona più...
Grazie mille, il link che non va è sul sito del turno 2
secondo voi l'admin è da considerare un utente come gli altri oltre ad avere poteri di amministrazione,nel senso partecipa con un profilo ecc....?
__________________
Khelidan
E' una scelta implementativa, di fatto dalle specifiche non è richiesto che abbiano profili preferenze etc. però è richiesto che abbiano permessi illimitati sui contenuti quindi potrebbe essere più comodo gestirli come utenti e nella vista/query/funzione che estrapola i premessi di modifica gestire che se l'utente è di tipo admin allora abbia sempre il premesso.
Ultima nota GLI utenti amministratori possono essere più d'uno.
io li gestisco come utenti,poi quando vado a fare una query come dici te controllo un attributo tipo per vedere se sono admin,almeno mi sto orientando così!
__________________
Khelidan
si anche io.
Originally posted by zonker
Infatti non lo fai con i trigger.
Ti crei una funzione che incremente il numero di accessi e poi la usi in una vista.
Ad esempio crei una funzione incrementaaccesso(idcontenuto) e poi quando accedi ai contenuti lo fai con una vista tipo SELECT IDCONTENUTO, incrementeaccesso(IDCONTENUTO), DIMENSIONE, TIPO FROM CONTENUTI
__________________
Khelidan
crei una funzione come fai per i trigger, ma che restituisce ad esempio un intero.
Ad esempio:
CREATE FUNCTION incrementaAccessi(v_contenuto INT) RETURNS INT AS $incrementeAccessi$
Dentro questa funzione fai una update della tabella andando ad incrementare in numero degli accessi effettuati.
Ora se fai:
SELECT ID, TITOLO, incrementaAccessi(ID) FROM CONTENUTI WHERE ID = 15;
quello che avverrà sarà che ti verranno restituiti ID, TITOLO e il risultato dell'esecuzione della funzione incrementaAccessi sul contenuto con id 15.
Così hai i dati che ti servono e hai incrementato il numero degli accessi a quel contenuto.
E' più chiaro ora?
Quanto al fatto di farlo direttamente con una select o all'interno di una vista è assolutamente indifferente, ma mi sembra che nelle specifiche ci sia indicato che gli utenti accedono ai contenuti attraverso viste.
Chiarissimo,mi hai tolto un bel dubbio!
grazie mille!
__________________
Khelidan
figurati, e' un piacere.
Mi sto avvicinando ora al progetto e devo ammettere di avere le idee un tantinello confuse. E' piu' semplice di quello di algoritmi (almeno credo), ma il C mi e' decisamente piu' familiare della triade sql-apache-php.
Comunque: mi sapreste spiegare un attimo cosa significa questo? "Un profilo
stabilisce quali dati dell’utente siano visibili ad altri utenti e quali siano gli argomenti
preferiti dell’utente, in ordine di importanza."
Dunque la faccenda degli argomenti mi pare ben chiara ma non bene quella su "quali dati dell'utente siano visibili ad altri utenti". Si riferisce forse, che so per esempio. ad un profilo particolare che magari nasconda l'email come visibilita'?
E poi, se ad un utente generico corrispondono 1 o piu' profili, ad un profilo corrisponde un solo utente o piu' di uno? Visto che definiamo un certo profilo per un determinato utente, mi verrebbe da dire che ad un profilo corrisponde un utente (quindi 1:1).
Lo so che sono domande stupide ma purtroppo mi riesce difficile avvicinarmi a sto tipo di progetto.
E inoltre ad esempio: noi abbiamo sia utenti GENERICI che utenti AMMINISTRATORI.
Mettiamo che nel DB io li raggruppi in un'unica entita' superclasse chiamata "utente" con un bell'attributo che me li distingua.
In questo caso, se un'istanza dell'"utente generico" fosse in relazione con 1-N profili, un'istanza della mia nuova superclasse "utente" sarebbe in relazione con 0-N profili giusto? Perche un utente amministratore non ha profili, dico bene?
Direi basta per stasera 
Meno male che avevo detto basta...
E' che sto facendo lo schema concettuale e ho scoperto di avere diversi dubbi soprattutto sulle cardinalita' minime.
Per esempio, prendiamo la relazione profilo - R - argomento
Un argomento dovrebbe essere associato a 0,n profili, e qui direi ok.
Ma un profilo e' associato a 1,n argomenti o a 0,n argomenti? In quest'ultimo caso un profilo senza argomenti non visualizzerebbe contenuti oppure li visualizzerebbe tutti?
E ancora, possono esistere utenti senza profili?
Boh dubbi dubbi dubbi, non capisco se siano scelte implementative o se la soluzione giusta sia necessariamente una sola.
secondo me sono scelte implementative, le specifiche, d'altra parte, sono abbastanza generiche e questo tipo di decisione sono laciate a chi sviluppa il progetto. Anch'io avevo chiesto qualcosa al riguardo alla prof. castano e mi ha detto che l'importante è spiegare le scelte fatte nella documentazione.
Originally posted by Simeon
php.
Comunque: mi sapreste spiegare un attimo cosa significa questo? "Un profilo
stabilisce quali dati dell’utente siano visibili ad altri utenti e quali siano gli argomenti
preferiti dell’utente, in ordine di importanza."
Dunque la faccenda degli argomenti mi pare ben chiara ma non bene quella su "quali dati dell'utente siano visibili ad altri utenti". Si riferisce forse, che so per
esempio. ad un profilo particolare che magari nasconda l'email come visibilita'?
E poi, se ad un utente generico corrispondono 1 o piu' profili, ad un profilo corrisponde un solo utente o piu' di uno? Visto che definiamo un certo profilo per un determinato utente, mi verrebbe da dire che ad un profilo corrisponde un utente (quindi 1:1).
__________________
Khelidan
Originally posted by Simeon
E inoltre ad esempio: noi abbiamo sia utenti GENERICI che utenti AMMINISTRATORI.
Mettiamo che nel DB io li raggruppi in un'unica entita' superclasse chiamata "utente" con un bell'attributo che me li distingua.
In questo caso, se un'istanza dell'"utente generico" fosse in relazione con 1-N profili, un'istanza della mia nuova superclasse "utente" sarebbe in relazione con 0-N profili giusto? Perche un utente amministratore non ha profili, dico bene?
Direi basta per stasera![]()
__________________
Khelidan
Originally posted by Simeon
Meno male che avevo detto basta...
E' che sto facendo lo schema concettuale e ho scoperto di avere diversi dubbi soprattutto sulle cardinalita' minime.
Per esempio, prendiamo la relazione profilo - R - argomento
Un argomento dovrebbe essere associato a 0,n profili, e qui direi ok.
Ma un profilo e' associato a 1,n argomenti o a 0,n argomenti? In quest'ultimo caso un profilo senza argomenti non visualizzerebbe contenuti oppure li visualizzerebbe tutti?
E ancora, possono esistere utenti senza profili?
Boh dubbi dubbi dubbi, non capisco se siano scelte implementative o se la soluzione giusta sia necessariamente una sola.
__________________
Khelidan
Grazie mille a tutti (soprattutto a Khelidan in sto caso
), allora si e' meno vincolati di quanto pensassi... l'importante e' soddisfare i requisiti del progetto!
Ieri avevo persino chiesto se un amministratore poteva inserire contenuti ma poi mi sono accorto che nel progetto dice chiaramente che gli autori sono utenti GENERICI.
Bene bene bene, si parte.
Originally posted by Simeon
Grazie mille a tutti (soprattutto a Khelidan in sto caso), allora si e' meno vincolati di quanto pensassi... l'importante e' soddisfare i requisiti del progetto!
Ieri avevo persino chiesto se un amministratore poteva inserire contenuti ma poi mi sono accorto che nel progetto dice chiaramente che gli autori sono utenti GENERICI.
Bene bene bene, si parte.
__________________
Khelidan
Scusate ancora ma vi giuro che sto andando nel pallone piu' totale, ma non perche' sia
difficile il progetto, e' che NON SO come partire!
Mi sembrava di avere le idee chiare: mi creo lo schema ER e lo traduco in relazionale. Poi
prendo postgres e, tramite il mio superuser, creo e popolo le tabelle
relative allo schema relazionale con un po' di dati inventati e poi lavoro a tutto
il resto.
Dopo pero' ho cominciato a pensare a certe cose e ho cominciato a confondermi.
Prendo la prima che mi e' venuta in mente: la delega dei permessi sui contenuti.
Come/quando un determinato utente delega i permessi ad un altro utente? Come faccio a
dire "l'utente TIZIO esegue la GRANT per garantire suddetti privilegi su questi contenuti
a CAIO"? Cioe quando io eseguo la GRANT come fa il sistema a sapere che l'ho eseguita
come TIZIO?
Tutto cio' m'ha dato da pensare alla gestione degli utenti di cui evidentemente non ho
capito una ceppa. Devo crearmi un utente di postgres per ogni utente dell'applicazione?
Io credevo di avere semplicemente una tabella "utenti" che riempivo con i dati di
tanti utenti inventati (nome, cognome, email etc) sui quali poi lavoravo. Ma cosi'
facendo non capisco quando/come/dove eseguire una GRANT per dare certi privilegi ad altri
utenti.
Boh non so proprio come partire, non ho idea di come sviluppare il progetto e non
so spiegare decentemente i miei dubbi.
Per cui sarei ESTREMAMENTE grato a qualche anima pia che tracciasse una specie di
quadro generale per lo sviluppo di progetti di questo tipo. Una cosa generale, non e'
che parlo di questo progetto in modo specifico ma insomma l'approccio da seguire riguardo
alla gestione di generici utenti etc... Giusto per ingranare.
Aiuto 
p.s: ci sarebbe pure quella faccenda del profilo e della visibilita'
solo di certi dati che non so come gestire... la visibilita' a chi poi?
Se si logga un'utente alla volta chi e' che va a vedere i suoi dati?
No guarda i permessi riguardano i frutori della tuo blog mica del database!A loro non interessa di avere permessi sul db,potresti implementare un blog che scrive i dati su txt e per l'utente non cambierebbe assolutamente,lascia perdere i grant,noi ci siamo fatti una tabella con i contenuti associati all'id dell'utente che ne ha il permesso,stop....
La visibilità,allora quando vai sul profilo di qualcuno del dsy vedi i dati tipo icq,corso di studi ecc....bene tu dal pannello della tua applicazione puoi decidere se far vedere questi dati ad altri utenti che visiteranno il tuo profilo!
__________________
Khelidan
Originally posted by khelidan
No guarda i permessi riguardano i frutori della tuo blog mica del database!A loro non interessa di avere permessi sul db,potresti implementare un blog che scrive i dati su txt e per l'utente non cambierebbe assolutamente,lascia perdere i grant,noi ci siamo fatti una tabella con i contenuti associati all'id dell'utente che ne ha il permesso,stop....
La visibilità,allora quando vai sul profilo di qualcuno del dsy vedi i dati tipo icq,corso di studi ecc....bene tu dal pannello della tua applicazione puoi decidere se far vedere questi dati ad altri utenti che visiteranno il tuo profilo!
Originally posted by Simeon
Non lo so, ancora non capisco. Io ho una tabella utenti piena di utenti inventati che inserisco a titolo d'esempio coi vari insert into. Come faccio ad "impersonarne" uno e, ad esempio, delegare x permessi ad un altro? La delega si fa via applicazione web? Se e' cosi' allora beh uno logga "staticamente" con quell'utente (immagino ci sia da definire la variabile) e delega... Oppure modifico manualmente una tabella che mi gestisce i contenuti accessibili ad ogni utente?
Magari mano a mano che lo sviluppo ste idee mi diventeranno piu' chiare ma per ora della tua spiegazione non ho praticamente capito nulla :\
Grazie comunque per l'aiuto.
Ah, non avevo capito che un utente potesse visitare il profilo di altri utenti.
__________________
Khelidan
Originally posted by khelidan
Ti faccio un esempio,io mi loggo sul dsy e delego a te il permesso di modificare i mei post,ok?Non ti ho dato grant su un db,semplicemento ho schiacciato un ipotetico pulsante delega e il dsy,inteso come applicazione web ha scritto in una tabella che ha campi autore idrisorsa,il tuo nome e l'id corrispondente al mio post,attenzione questo implica il fatto di considerare un delegato allo stesso pari dell'autore originale,il prof ha detto che si puo fare così,ci sono anche metodi più approfonditi per gestire la cosa comunque!
Originally posted by Simeon
Ma allora la delega e' gestita via applicazione web e non via DBMS, dico bene?
__________________
Khelidan
Originally posted by khelidan
No perchè?Hai una tabella del tuo db con la coppia risorsa-autore!Il misunderstanding è che tu pensi alla gestione degli utenti del db con i grant mentre qui si deve gestire gli utenti dell'applicazione web ma sempre via db!Tu al db accedi sempre col tuo utente che è sconosciuto e svincolato dagli utenti dell'applicazione!
Si certo,ogni tuo utente ha uno strumento che delega i permessi ad un altro utente della applicazione web,ma ciò non vuol dire gestire i permessi tramite l'applicazione,li gestisci sempre via db! ![]()
__________________
Khelidan
Originally posted by khelidan
Si certo,ogni tuo utente ha uno strumento che delega i permessi ad un altro utente della applicazione web,ma ciò non vuol dire gestire i permessi tramite l'applicazione,li gestisci sempre via db!![]()
Ecco un nuovo dubbio, ma stavolta piu' contenuto.
Parlando degli utenti amministratori il tema del progetto dice:
"Amministratori. Gli utenti amministratori hanno permessi illimitati su tutti i contenuti e possono gestire l’iscrizione di altri utenti, cancellandoli, inscrivendone di nuovi, o
modificando il profilo attivo dei vari utenti."
Gli amministratori dunque possono modificare il profilo ATTIVO dei vari utenti, quindi suppongo che accedano ad un qualcosa con una lista di tutti i profili di un determinato utente e possano scegliere quale di questi sia quello attivo.
Poi pero' piu' avanti viene detto
"L’utente quindi non effettua alcun login e l’informazione sull’utente attivo e sul profilo associato viene fornita staticamente all’applicazione, a titolo d’esempio."
Per "profilo associato" intende il profilo in generale (e allora avrebbe dovuto dire "...e l'informazione sull'utente attivo e sui profili associati viene fornita staticametne dall'applicaizone"), oppure il profilo ATTIVO? In quest'ultimo caso allora mi confondo: come fa un utente amministratore a cambiare il profilo attivo se questo viene deciso staticamente dall'applicazione?
Ah e ultimissime domande (le metto ora che senno' le avrei messe sicuramente dopo), poi spero davvero di non doverne fare piu':
- come funziona a grandi linee la creazione della vista per un utente in base al suo profilo attivo? e' una cosa che gestisce il DBMS credo, ma non capisco bene come dato che io devo definire "dinamicamente" la vista in base agli argomenti del profilo attivo.
- la faccenda dei profili che contengono i dati visibili dell'utente: come si potrebbe (sempre a grandi linee) implementare? io ho fatto un campo booleano per ognuna delle voci (nome, cognome, email), ma non ho ben chiaro come far si che ad esempio "email" venga visualizzata se il campo e' a 1 e non se e' a 0. Certo, posso semplicemente fare che se e' il campo booleano dell'email e' a 0 venga stampato "non visibile" al posto dell'email vera e propria.
- le statistiche "generali" (quelle tipo quanti contenuti di ciascuna tipologia sono stati inseriti e la media di accessi effettuati) sono memorizzate in una tabella a parte che non e' in relazione con le altre, giusto?
- come faccio ad inserire una FOTO in un db? ho letto nei primi post di oggetti di tipo LOB. Cioe' io uploado una foto e posso inserirla nel campo di tipo LOB sotto forma di stream binario? E per aprirla poi come faccio, tratto il contenuto del campo come se fosse un'immagine vera e propria visualizzandola tra i tag img?
La prima domanda e' sicuramente quella che mi preme maggiormente, alle altre mi sono piu' o meno risposto da solo.
Mi spiace assillare ma a lezione s'e' fatto davvero poco riguardo il laboratorio.
"L’utente quindi non effettua alcun login e l’informazione sull’utente attivo e sul profilo associato viene fornita staticamente all’applicazione, a titolo d’esempio."
Questa frase è relativa al progetto da 3 punti che non prevede che l'applicazione gestisca il login dell'utente.
Visto che ovviamente l'applicazione ha bisogno di sapere qual'è l'utente loggato, non essendoci la parte di login si deve passare staticamente quale sia l'utente collegato all'applicazione in modo che possa funzionare.
- come funziona a grandi linee la creazione della vista per un utente in base al suo profilo attivo? [cut]
La vista è definita "staticamente" sul DBMS, il risultato che è "dinamico" in quando dipende dai dati che estrae la vista.
In pratica si chiede di non usare query SQL complesse nell'applicazione ma di creare delle viste sul DB e poi usare nell'applicazione query che interrooghino tali viste.
- la faccenda dei profili che contengono i dati visibili dell'utente: come si potrebbe (sempre a grandi linee) implementare? [cut]
Ci sono tanti modi, lo puoi far gestire dall'applicazione come hai fatto tu oppure puoi farlo direttamente con una vista nel DB che faccia si che se il campo email (ad esempio) non è pubblico allora restituisca null.
- le statistiche "generali" (quelle tipo quanti contenuti di ciascuna tipologia sono stati inseriti e la media di accessi effettuati) sono memorizzate in una tabella a parte che non e' in relazione con le altre, giusto?
Dipende da come hai disegnato lo schema, ad ogni modo questo direi che è decisamente libero visto che le statistiche non compaiono neppure nello schema concettuale.
- come faccio ad inserire una FOTO in un db? ho letto nei primi post di oggetti di tipo LOB. Cioe' io uploado una foto e posso inserirla nel campo di tipo LOB sotto forma di stream binario? E per aprirla poi come faccio, tratto il contenuto del campo come se fosse un'immagine vera e propria visualizzandola tra i tag img?
Se usi postgres e vuoi gestire le foto nel DB documentati sul tipo OID e sulle funzioni lo_import e lo_export.
Originally posted by zonker
"L’utente quindi non effettua alcun login e l’informazione sull’utente attivo e sul profilo associato viene fornita staticamente all’applicazione, a titolo d’esempio."
Questa frase è relativa al progetto da 3 punti che non prevede che l'applicazione gestisca il login dell'utente.
Visto che ovviamente l'applicazione ha bisogno di sapere qual'è l'utente loggato, non essendoci la parte di login si deve passare staticamente quale sia l'utente collegato all'applicazione in modo che possa funzionare.
Originally posted by zonker
La vista è definita "staticamente" sul DBMS, il risultato che è "dinamico" in quando dipende dai dati che estrae la vista.
In pratica si chiede di non usare query SQL complesse nell'applicazione ma di creare delle viste sul DB e poi usare nell'applicazione query che interrooghino tali viste.
Se usi postgres e vuoi gestire le foto nel DB documentati sul tipo OID e sulle funzioni lo_import e lo_export.
Per quello che riguarda i profili nel progetto da 5 punti l'utente può creare i propri profili e scegliere quale sia attivo (oltre a poterlo fare l'amministratore), in quello da 3 punti l'utente non può ne loggarsi ne scegliere quale dei sui profili sia quello attivo quindi bisogna passare queste due info in maniera statica.
La vista (schema) mostra tutti gli argomenti (dati) che sono preferiti dall'utente, perchè vuoi cambiare la struttura della vista a seconda delle preferenze dell'utente?
Prova a fare un esempio.
Originally posted by zonker
Per quello che riguarda i profili nel progetto da 5 punti l'utente può creare i propri profili e scegliere quale sia attivo (oltre a poterlo fare l'amministratore), in quello da 3 punti l'utente non può ne loggarsi ne scegliere quale dei sui profili sia quello attivo quindi bisogna passare queste due info in maniera statica.
La vista (schema) mostra tutti gli argomenti (dati) che sono preferiti dall'utente, perchè vuoi cambiare la struttura della vista a seconda delle preferenze dell'utente?
Prova a fare un esempio.
L'amministratore può sempre cambiare il profilo attivo sia nei 3 che nei 5 punti, l'utente invece può farlo solo nella versione da 5 punti.
Quindi se sviluppi la versione da 3 punti e vuoi che l'utente scelga quale sia il suo profilo attivo devi farlo staticamente.
Quanto alla vista e al tuo esempio:
PROFILI idprofilo, campo1, camp2, etc
ARGOMENTIPREFERITI idprofilo, idargomento, ordinepreferenza
la vista sarà il join tra le due tabelle e restituirà tante righe quanti sono gli argomenti preferiti per quel profilo.
Come vedi la vista è sempre quella, sono i dati che cambiano.
Originally posted by zonker
[B]L'amministratore può sempre cambiare il profilo attivo sia nei 3 che nei 5 punti, l'utente invece può farlo solo nella versione da 5 punti.
Quindi se sviluppi la versione da 3 punti e vuoi che l'utente scelga quale sia il suo profilo attivo devi farlo staticamente.
Per il profilo è esattamente come hai capito ed è giusto il flag booleano.
Il problema è solo relativo al fatto che l'utente in questo modo non può specificare quale sia il suo profilo attivo, se non lo passi staticamente devi entrare come amministratore, cambiare il profilo attivo dell'utente e poi rientrare come utente.
Che peraltro credo sia accettata come soluzione.
Originally posted by zonker
PROFILI idprofilo, campo1, camp2, etc
ARGOMENTIPREFERITI idprofilo, idargomento, ordinepreferenza
la vista sarà il join tra le due tabelle e restituirà tante righe quanti sono gli argomenti preferiti per quel profilo.
Come vedi la vista è sempre quella, sono i dati che cambiano.
__________________
Khelidan
No, per entrambe.
PROFILI e ARGOMENTIPREFERITI sono due tabelle, proprio per evitare la ridondanza, ovviamente ho dato per scontata l'esistenza di una tabella ARGOMENTI in cui ci sono i campi relativi agli argomenti.
Quindi i PROFILI ci saranno i campi dei profili ripetuti una sola volta e con idprofilo in chiaro, in ARGOMENTI ci saranno i campio degli argomenti ripetuti una sola volta con idargomento in chiaro e ARGOMENTIPREFERITI sarà appunto la tabella che mette in relazione molti a molti i profili con gli argomenti.
Quanto alla tua soluzione è "errata" per definizione: lo schema non deve variare in funzione dei dati mentre tu proponi di variare la definizione della vista (e quindi lo schema) ogni volta che inserisci o rimuovi un argomento, a meno che io non abbia capito quello che intendevi.
Originally posted by zonker
No, per entrambe.
PROFILI e ARGOMENTIPREFERITI sono due tabelle, proprio per evitare la ridondanza, ovviamente ho dato per scontata l'esistenza di una tabella ARGOMENTI in cui ci sono i campi relativi agli argomenti.
Quindi i PROFILI ci saranno i campi dei profili ripetuti una sola volta e con idprofilo in chiaro, in ARGOMENTI ci saranno i campio degli argomenti ripetuti una sola volta con idargomento in chiaro e ARGOMENTIPREFERITI sarà appunto la tabella che mette in relazione molti a molti i profili con gli argomenti.
Quanto alla tua soluzione è "errata" per definizione: lo schema non deve variare in funzione dei dati mentre tu proponi di variare la definizione della vista (e quindi lo schema) ogni volta che inserisci o rimuovi un argomento, a meno che io non abbia capito quello che intendevi.
__________________
Khelidan
la vista in pratica si comporrebbe dei campi di utente,i campi della tabella profilo e quella argomentipreferiti,in questo caso non avremmo una riga per ogni argomenti preferito nella vista?I dati nelle prime due tabella saranno uguali a ogni riga,cambia solo l'argomento preferito!
__________________
Khelidan
La vista sarà appunto il join, anzichè fare dall'applicazione
Select a, b, c, d from t1 join t2 join t3 (mi si passi la "volgarizzazione" della sintassi SQL), questa stessa query genera la vista quindi create view v1 as select a, b, c etc, etc e poi l'applicazione farà una select a, b, c from v1 where etc etc
Esatto, se fai una vista con tutti i campi e poi la interroghi per tutti i campi avrai ridondanza (nei risultati però, non nei dati quindi assolutamente accettabile) e una riga per ogni argomento preferito.
Nessuno però ti obbliga a interrogare la vista per tutti i suoi campi...
Anche perchè a te interessa il risultato di questa vista per mostrare i contenuti relativi agli argomenti preferiti, quindi quali siano i dati del profilo in quelo momento proprio non ti interessa.
qualcumo mi fa un esempio di argomento-sezione-contenuti, come fa un contenuto ad avere + argomenti?
Il contenuto "Fisica dimanica della motocicliette" può essere associato agli argomenti "fisica", "motori" e "hobbies personali"
l'assiociazione la esegue l'utente in base agli argomenti presenti suppongo
io avevo pensato una gerarchia del tipo
argomento: Informatica
sezione: schede video
contenuto: la scheda più veloce
è corretta? ho capito bene?
poi, se io creo un nuovo argomento devo creare immediatamente anche la sezione o può venir creato un argomento senza sezioni e contenuti?
grazie
Argomenti e sezioni sono totalmente svincolati tra di loro.
Quando inserisci/modifichi un contenuto lo puoi associare/disassociare da argomenti e da sezioni.
Argomeni e sezioni possono esistere senza avere nessun contenuto associato mentre ci sono contenuti che devono per forza essere associati a argomenti o sezioni ma questo è scritto chiaramente nelle specifiche.
ma che differenza c'è tra sezioni e argomenti( ho letto le specifiche
), perchè esiste questa distinzione, non capisco, a cosa servono le sezioni; isomma, io posso assiociare i contenuti agli argomenti e finirla li non capisco dove collocare ste sezioni
nella mia mente le ho assiociate in questo modo:
un argomento può avere più sessioni, ogni sezione può avere più contenuti
da quello che mi hai scritto, mi sembra di capire che argomenti e sezioni sono 2 modi di organizzare i contenuti
Ti faccio un esempio:
Argomenti possono essere fisica, animali, moto, sport, vacanze
Sezioni possono essere anno2005 anno2006 anno2007 quindi totalmente trasversali rispetto agli argomenti.
ok, mi sembra di aver capito, grazie mille per ora
figurati
mi è venuto una specie di dubbio, come implementare argomenti e sezioni non è una scelta implementativa? fare:
argomento: Informatica
sezione: schede video
contenuto: la scheda più veloce
oppure
Argomenti possono essere fisica, animali, moto, sport, vacanze
Sezioni possono essere anno2005 anno2006 anno2007
non sono 2 modi corretti di interpretare il testo??
Io sono andato dal prof e mi ha detto che è come dice zonker,le sezioni sono scollegate dagli argomenti,non devono essere sottoargomenti!
__________________
Khelidan
ok ho capito, grazie ancora
Scusate ma queste specifiche mi stanno confondendo troppo...
Ecco tutto quello che si trova sulle "sezioni":
1) Gli articoli invece possono essere associati a una o più fotografie di corredo al testo e sono sempre associati a una o più sezioni.
2) Una sezione è una raccolta tematica di contenuti, caratterizzata da un nome e una descrizione.
Secondo "1" (dato che non è specificato per news e foto) le sezioni si applicano _SOLO_ agli articoli.
Secondo "2" le sezioni sono raccolte tematiche di CONTENUTI (e quindi anche news/foto).
viva l'ambiguità!
8)
Ti chiarisco le idee:
Secondo "1" gli articoli sono SEMPRE associati a una o più sezioni
Secondo "2" in generale i contenuti POSSONO essere associati a una o più sezioni
Se leggi prima "2" e poi "1" puoi capire che i contenuti in generale possono o meno essere associati a una o a più sezioni, ma se il contenuti è in particolare un contenuto di tipo "articolo" allora tale contenuto DEVE essere associato almeno a una sezione.
Più chiaro?
Originally posted by zonker
Ti chiarisco le idee:
Secondo "1" gli articoli sono SEMPRE associati a una o più sezioni
Secondo "2" in generale i contenuti POSSONO essere associati a una o più sezioni
Se leggi prima "2" e poi "1" puoi capire che i contenuti in generale possono o meno essere associati a una o a più sezioni, ma se il contenuti è in particolare un contenuto di tipo "articolo" allora tale contenuto DEVE essere associato almeno a una sezione.
Più chiaro?
Originally posted by ornati
Questo ha senso, ma se è così le specifiche sono state scritte male. La parte "ogni contenuto può essere associato ad una o più sezioni" doveva essere esplicitata (come lo è quella per gli argomenti).
Ma è esplicitata e non ambigua. Al limite si può dire che sono state messe le informazioni in ordine inverso.
E' come se io scrivessi:
1) i gatti hanno almeno una coda.
2) le code sono una appendice delgi animali.
Uomini e gatti sono animali, ma la cardinalità minima delle sottoclassi uomini e gatti nella relazione con code è differente.
Per i gatti è 1 e per gli uomini è 0.
Parliamo un po' di sequenze.
EDIT : niente, mi sono risposto da solo leggendo la documentazione, non riesco a cancellare il post per cui limitatevi ad ignorarlo.
ma voi come pensate di risolvere il fatto delle news riferite da altre news? cosa cercate per vedere se una news ha dei riferimenti? vi basate in base a cosa? al titolo?
Relazione molti a molti tra la tabella contenuti e la tabella contenuti (se stessa).
puoi essere + chiaro, ci avevo pensato pure io a fare una relazione circolare (anche se non so implementarla nel db)
la mia idea era; se vedo la parola milan del titolo della news, mi metto a cercare le altre news che nel titolo hanno milan
voi la implementate in maniera differente, per esempio vi mettete a cercare nel testo della news o altro?
Ok, ho capito il tuo dubbio.
La struttura in grado di offrire questa navigazione è semplicemente:
CONTENUTI(IDCONTENUTO, a,b,c,d,e,f,...)
NEWS2NEWS(IDCONTENUTO1,IDCONTENUTO2)
poi puoi con un trigger verificare che in questa tabella ci siano solo contenuti di tipo NEWS.
Il popolamento di questa tabella è ad opera dell'utente, non c'è una logica per cui le news si mettano in relazione tra di loro automaticamente.
infatti, devo scrivere il codice adeguato
per quanto riguarda un utente bannato, si banna proprio l'utente oppure gli si banna il profilo, è una scelta implementativa?
ps: rileggendo, ad opera dell'utente indendi dire che nella tua implementazione gli utenti che scrivo una news decido subito anche le news correlate? io pensavo di farlo fare a una funzione
Un utente può essere disattivato, niente di più semplice di un atttributo boolano: attivo/disattivo.
Si, nella mia implementazione gli utenti con diritti su una news possono linkarne delle altre, niente di automatico è richiesto nelle specifiche.
questa frase:
"i trigger sono usati anche per mantenere coerente l'informazione relativa alle statisctiche di accesso e inserimento di contenuti" ???
non ho capito bene sta storia dei trigger per l'inserimento dei contenuti, cosa vuol dire?
Quando dico che nelle specifiche non c'è scritto che l'applicazione deve creare automaticamente il collegamento tra le news intendo che non c'è scritto che l'applicazione debba farlo ma solo che le news possono essere legate tra di loro, quindi niente automatismo ma utenti che le legano a proprio piacimento (il che non significa che sia sbagliato se lo fa l'applicazione da sola, solo che non è richiesto che lo faccia).
Il pezzo che hai riportato tu si riferisce al fatto che tramite trigger quando inserisci un contenuto vai ad aggiornare le statistiche relative al numero di contenuti per tipo presenti nella base dati.
Per quanto riguarda invece le statistiche di accesso non puoi usare un trigger in quanto non esistono trigged ON SELECT, ma se guardi nei messaggi precedenti troverai una mia soluzione in merito.
ok grazie per ora
e di che...
ma nelle vostre implementazioni gli amministratori hanno un profilo dello stesso tipo dei generici (visualizzazione dati personali e argomenti preferiti)?
Ho uno strano dubbio.
E' possibile che nella realizzazione del progetto alcune cose vadano definite proprio
manualmente nel DBMS?
Per farmi capire meglio, cose tipo la creazione del primo utente (che non puo' essere
fatta via applicazione web -nella versione da 3 punti- dato che non esistono ancora utenti amministratori con cui loggarsi ), che
inseriamo direttamente dal DBMS.
Oppure non so un altro esempio: nel mio DBMS ho una tabella con 3 tuple, 1 per tipologia (articolo/
news/foto), che memorizzano il numero di contenuti pubblicati e la media di accessi per ciascuna
di esse. Per far funzionare il tutto queste 3 tuple me le devo inserire manualmente
nel DBMS (con valori di default 0) in modo che poi i trigger relativi ci vadano ad
operare sopra.
Cioe per fare si puo' fare, ma volevo sapere se verro' linciato da qualche prof per
cose del genere. mi sembrano poco "eleganti". D'altra parte non vedo come si possa
risolvere diversamente, forse creando la tupla di una certa tipologia quando si inserisce
il primo contenuto appartenente alla stessa...
Secondo me è indispensabile che sia così, l'importante è che sia documantato. Del resto dove sta scritto che il database di una applicazione debba essere "vuoto" all'installazione?
Ad esempio le tabelle di lookup (quelle che contengono i valori delle tendine di scelta) possono essere popolate dalla procedura di installazione.
Io ad esempio inserisco i tipi news/foto/articolo e un utente amministratore di default direttamente alla fine dello script di generazione dello schema.
Originally posted by Gehur
ma nelle vostre implementazioni gli amministratori hanno un profilo dello stesso tipo dei generici (visualizzazione dati personali e argomenti preferiti)?
__________________
Khelidan
Gli studenti che sostengono l'esame mediante le prove in itinere potranno consegnare il progetto ENTRO E NON OLTRE il 16 Aprile 2007. (http://islab.dico.unimi.it/bdlab2/mod.php)
Se però vuoi puoi consegnarlo entro il 1 marzo per registrarlo con l'appello di febbraio.
Originally posted by zonker
Io ad esempio inserisco i tipi news/foto/articolo e un utente amministratore di default direttamente alla fine dello script di generazione dello schema.
Quando consegni il progetto devi consegnare anche la definizione dello schema, quindi un file di testo in cui ci sarà
CREATE TABLE CONTENUTI ....
CREATE VIEW .....
alla fine del file ci metti anche le righe di insert
INSERT INTO ....
Originally posted by zonker
Quando consegni il progetto devi consegnare anche la definizione dello schema, quindi un file di testo in cui ci sarà
CREATE TABLE CONTENUTI ....
CREATE VIEW .....
alla fine del file ci metti anche le righe di insert
INSERT INTO ....
Ah no ecco. Smanettando con le opzioni di dump si possono visualizzare gli INSERT relativi a tutti i dati di tutte le tabelle.
Quindi suppongo che quando consegnero' il file di testo con la definizione del DB, dovro' eliminare tutte le insert relative ai dati tranne quelle del primo utente amministratore e delle tuple delle tipologie.
esatto!
Originally posted by zonker
Gli studenti che sostengono l'esame mediante le prove in itinere potranno consegnare il progetto ENTRO E NON OLTRE il 16 Aprile 2007. (http://islab.dico.unimi.it/bdlab2/mod.php)
Se però vuoi puoi consegnarlo entro il 1 marzo per registrarlo con l'appello di febbraio.
__________________
Khelidan
ma se un gruppo presenta un misto di persone che hanno fatto i compitini e persone che devono fare l'appello, quale scadenza si applica? ho letto che gli anni scorsi si doveva consegnare alla scadenza dei compitini...
__________________
Computer Science: solving today's problems tomorrow.
il materiale del progetto va messo nella casella postale di Montanelli o di Messa?
Domande su html/php.
c'e' un modo per impedire la submit di una form se uno dei campi e' vuoto? Ci sono in giro tipo un miliardo di script che includono questa funzione ma non mi va di utilizzarli solo per questo.
E poi, e' possibile annullare l'inserimento di certi dati via form e nel caso reindirizzare ad una pagina di errore? Ad esempio se metto un username gia in uso dovrei essere mandato ad una pagina che mi dica che il nome utente e' gia usato.
per impedire il campo di una submit fintanto che un campo è vuoto devi usera javascript.
Banalmente puoi mettere l'attributo disabled sul submit e con una funzione sulla modifica del campo obbligatorio usare la sintassi nomeform.nometastosubmit.disabled = true o false a seconda che il campo sia valorizzato o meno.
Javascript (o equivalente) è l'unica soluzione in quanto deve obbligatoriamente essere il browser ad occuparsi della cosa, in quel momento il server non sa più nulla della tua pagina.
Per l'annullamento, ma come per qualunque altro tipo di operazione, il form deve (o può se preferisci) avere come ACTION una pagina asp/php che con tutta una serie di IF o SELECT CASE si comporti e ridirezioni (RESPONSE.REDIRECT in asp) a pagine differenti a seconda dal risultato della verifica.
Originally posted by zonker
per impedire il campo di una submit fintanto che un campo è vuoto devi usera javascript.
Banalmente puoi mettere l'attributo disabled sul submit e con una funzione sulla modifica del campo obbligatorio usare la sintassi nomeform.nometastosubmit.disabled = true o false a seconda che il campo sia valorizzato o meno.
Javascript (o equivalente) è l'unica soluzione in quanto deve obbligatoriamente essere il browser ad occuparsi della cosa, in quel momento il server non sa più nulla della tua pagina.
Per l'annullamento, ma come per qualunque altro tipo di operazione, il form deve (o può se preferisci) avere come ACTION una pagina asp/php che con tutta una serie di IF o SELECT CASE si comporti e ridirezioni (RESPONSE.REDIRECT in asp) a pagine differenti a seconda dal risultato della verifica.
Se vuoi evitarti javascript e comunque tutta la programmazione lato client non puoi disattivare il tasto submit ma devi verificare che i campi obbligatori siano compilati nella pagina che hai come action e poi procedere con l'operazione nel caso siano tutti compliati o nel riproporre il modulo da completare magari riportando i campi già compilati.
Originally posted by Simeon
Javascript, era proprio quello che volevo evitarmi.
Grazie per le info![]()
__________________
Under Construction
scusate ragazzi, che voi sappiate: nel file pdf con il calendario per la correzione dei progetti il rosso e il nero stanno a indicare la divisione tra gruppi? .. ho visto il mio nome in rosso e mi è venuto un colpo ...
Originally posted by Striker
[cut]
Cosi' facendo usi js solo per generare il warning (un alert) e per tornare alla form di login senza perdere eventuali dati gia' digitati.
Originally posted by uvaci
scusate ragazzi, che voi sappiate: nel file pdf con il calendario per la correzione dei progetti il rosso e il nero stanno a indicare la divisione tra gruppi? .. ho visto il mio nome in rosso e mi è venuto un colpo ...
è la divisione in gruppi... 
scusate qualcuno sa dirmi come interpretare l'attributo formato nella tabella contenuto tenendo conto che i contenuti per me non sono dei veri e propri file(giusto?)
grazie
ciao
il formato del file: txt, doc, html ad esempio per i testi piuttosto che jpg, bmp, tiff per le immagini
ma io pensavo di visualizzare uno dopo l'altro i contenuti per esteso, come nei forum o nei blog. in questo caso il campo formato non avrebbe senso perchè sarebbero tutti dello stesso formato (soprattutto i testi, dato che si inseriscono in un form e vengono salvati come stringhe nel database)
devo quindi cambiare approccio e visualizzare l'elenco dei titoli dei contenuti e dare all'utente la possibilità di visualizzarli singolarmente cliccando sul titolo?
Nelle specifiche è chiaramente scritto che i tutti i contenuti sono file, quindi credo non sia corretto che i testi vengano salvsati come stringhe nel database perchè così facendo violi le specifiche.
voi a che punto siete? io sono indietrissimo, mi sa che non mi basta il mese per finire
praticamente finito, devo completare la documentazione.
Originally posted by khelidan
per la questione file il prof ha detto che è una scelta individuale,si puo salvare i contenuti come file veri e propri oppure fare tutto sul db
Ed ecco le solite due domande della settimana:
1)Nel testo del progetto si dice che gli argomenti di un profilo sono in ordine di importanza. Fin'ora ho trascurato questo particolare ma ora che devo implementare mi chiedo cosa significhi.
2)Non mi e' chiaro come potrei aggiungere argomenti ad un profilo o ad un contenuto. Sto facendo la versione da 3 punti, quindi (credo) gli argomenti sono un numero FISSO, pero' nonostante questo non penso sia il massimo fare una checkbox per ogni argomento ed inserirli cosi'. Cosa faccio, creo un profilo/contenuto senza argomenti e poi li aggiungo in un secondo tempo tramite inserimenti successivi? O mi sto solo complicando la vita e faccio 7 caselline per 7 argomenti (ad esempio)?
Confido nelle vostro aiuto, grazie 
Originally posted by nothingman7
2)nel caso in cui io decida di usare i file, come visualizzo i contenuti nell'applicazione?
nelle specifiche aggiuntive si richiede da parte degli amministratori l'iscrizione di nuovi utenti
vuol dire che non devo fare una pagina di registrazione??
come faccio a passare i dati all'amministratore?
e poi sempre nelle specfifiche aggiuntive parla di sessioni, ma in che senso? devo usare le session percaso?
Procediamo per ordine:
>nel caso in cui io decida di non usare veri e propri file come tratto l'attributo formato?
Il formato in questo caso potrebbe distinguere HTML da Plain Text per i testi piuttosto che il formato per le immagini (JPG, BMP, TIFF) etc. e sarebbe un campo del DB in base al quale l'applicazione potrebbe decidere di visualizzare il contenuto in maniera appropriata. Ad esempio se il formato è html i tag vanno interpretati e non visualizzati come testo normale.
>nel caso in cui io decida di usare i file, come visualizzo i contenuti nell'applicazione?
Ci sono varie possibilità, ad esempio usare textbox per i plain test, include per gli html, img per le immagini.
Io ho optato per usare gli iframe.
>Nel testo del progetto si dice che gli argomenti di un profilo sono in ordine di importanza. Fin'ora ho trascurato questo particolare ma ora che devo implementare mi chiedo cosa significhi.
Poniamo che ci siano questi 5 argomenti: moto, donne, fotografia, computer, cucina. Espirmere le preferenze in ordine di importanza significa 1° donna, 2° moto, 3° fotografia gli altri argomenti non sono tra i preferiti.
>Non mi e' chiaro come potrei aggiungere argomenti ad un profilo o ad un contenuto. Sto facendo la versione da 3 punti, quindi (credo) gli argomenti sono un numero FISSO, pero' nonostante questo non penso sia il massimo fare una checkbox per ogni argomento ed inserirli cosi'. Cosa faccio, creo un profilo/contenuto senza argomenti e poi li aggiungo in un secondo tempo tramite inserimenti successivi? O mi sto solo complicando la vita e faccio 7 caselline per 7 argomenti (ad esempio)?
Gli argomenti NON sono un numero fisso. L'idea di creare il profilo senza preferenze e poi lasciare all'utente l'onere di esprimere le proprie preferenze è unìottima scelta. Le checkbox sono un po' meno buone come scelta perchè le preferenze sono "ordinate" (si veda sopra).
>nelle specifiche aggiuntive si richiede da parte degli amministratori l'iscrizione di nuovi utenti
Un utente amministratore deve essere in grado di creare nuovi utenti, non si richiede un form di autoregistrazione ma una sorta di pannellino di controlla da cui gli amministratori possono creare e gestire gli utenti.
>e poi sempre nelle specfifiche aggiuntive parla di sessioni, ma in che senso? devo usare le session percaso?
Esatto.
Gli argomenti NON sono un numero fisso. L'idea di creare il profilo senza preferenze e poi lasciare all'utente l'onere di esprimere le proprie preferenze è unìottima scelta. Le checkbox sono un po' meno buone come scelta perchè le preferenze sono "ordinate" (si veda sopra).
In realtà le checkbox le puoi usare anche se il numero di argomenti è variabile (ad esempio con un array di checkbox). Quello che non riesci a fare è l'ordinamento delle preferenze che all'atto pratico della visualizzazione dei contenuti non ha alcun vincolo (ossia non sei obbligato da specifiche ad ordinarli per importanza anche se farlo potrebbe essere utile). Resta il fatto che è esplicitamente richiesto dalle specifiche e quindi obbligatorio. [TIPS MODE ON] Tale richiesta è ovviamente stata inserita per farti mettere un attributo all'interno di una associazione. [TIPS MODE OFF]
Originally posted by zonker
In realtà le checkbox le puoi usare anche se il numero di argomenti è variabile (ad esempio con un array di checkbox). Quello che non riesci a fare è l'ordinamento delle preferenze che all'atto pratico della visualizzazione dei contenuti non ha alcun vincolo (ossia non sei obbligato da specifiche ad ordinarli per importanza anche se farlo potrebbe essere utile). Resta il fatto che è esplicitamente richiesto dalle specifiche e quindi obbligatorio. [TIPS MODE ON] Tale richiesta è ovviamente stata inserita per farti mettere un attributo all'interno di una associazione. [TIPS MODE OFF]

Attenzione a leggere le specifiche: "Ogni contenuto è associato a uno o più argomenti"...quindi non esistono contenuti senza argomenti.
Originally posted by zonker
Attenzione a leggere le specifiche: "Ogni contenuto è associato a uno o più argomenti"...quindi non esistono contenuti senza argomenti.
Faccio un'altro reply giusto per dire che cmq il testo del progetto e' nebuloso.
Per esempio: ho (quasi) risolto il mio problema dei profili, ma solo nel caso che un profilo, una volta inserito, non possa essere piu' modificato.
Se la versione da 3 punti prevedesse la possibilita' di modificare un profilo (tipo cambiando gli argomenti) allora dovrei cambiare un po' di cose, ma nel testo non se ne parla.
Come non si parla di un milione di altre cose.
Originally posted by zonker
...
>nelle specifiche aggiuntive si richiede da parte degli amministratori l'iscrizione di nuovi utenti
Un utente amministratore deve essere in grado di creare nuovi utenti, non si richiede un form di autoregistrazione ma una sorta di pannellino di controlla da cui gli amministratori possono creare e gestire gli utenti.
...
Va benissimo, anche se è molto di più rispetto a quanto richiesto.
come avete representato questo fatto nel db?
Gli utenti amministratori hanno permessi illimitati su tutti i contenuti
e possono gestire l’iscrizione di altri utenti, cancellandoli, inscrivendone di nuovi
cioe e una cosa che va gestita via db o solo dall'applicazione web?
Originally posted by bledar
come avete representato questo fatto nel db?
Gli utenti amministratori hanno permessi illimitati su tutti i contenuti
e possono gestire l’iscrizione di altri utenti, cancellandoli, inscrivendone di nuovi
cioe e una cosa che va gestita via db o solo dall'applicazione web?

Non ho capito bene la tua domanda...
Le form web ti servono per raccogliere tutti i dati poi la pagina che metti in action si occuperà sulla base di questi dati di fare le dovute operazioni sul db.
Se mi spieghi meglio cosa non ti riesca di fare posso dirti di più.
Originally posted by zonker
Non ho capito bene la tua domanda...
Le form web ti servono per raccogliere tutti i dati poi la pagina che metti in action si occuperà sulla base di questi dati di fare le dovute operazioni sul db.
Se mi spieghi meglio cosa non ti riesca di fare posso dirti di più.
code:
CREA PROFILO Visibilita' nome utente [ ] cognome utente [ ] email utente [ ] Argomenti: +--------------+-+ | argomenti |v| [AGGIUNGI] +--------------+-+
| All times are GMT. The time now is 14:48. | Pages (4): [1] 2 3 4 » Show all 481 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.