.dsy:it. 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)


Posted by teo2k on 29-11-2006 14:01:

[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!


Posted by zonker on 29-11-2006 14:40:

In realtà l'ambiguità sta nel nome del progetto.
Richiedono di implementare un blog descrivendo quello che in realtà è uno share point.


Posted by teo2k on 29-11-2006 14:44:

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!


Posted by khelidan on 01-12-2006 08:57:

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.


Qualcuno ha capito per caso??

__________________
Khelidan


Posted by khelidan on 01-12-2006 09:09:

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


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!

__________________
Khelidan


Posted by teo2k on 04-12-2006 10:42:

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??


Credo intenda che per ogni news tu possa scegliere di associarne altre dal contenuto simile o sullo stesso argomento e visualizzarne i link nel dettaglio di quella che stai guardando in modo da renderne veloce la navigazione

__________________
Every passing minute is a chance to turn it all around!


Posted by teo2k on 04-12-2006 10:53:

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!



Ecco qui: BLOB (e CLOB)

Dici che si tratta solo di interpretarlo come possibili proprietà?

Io l'avevo inteso come vincolo sul modo di salvare i dati....

Ovvero, pensavo che dicendo che sono file, questi dovessero essere effettivamente caricati nel filesystem o nel DB e quindi accettare qualsiasi tipo di documento. (da qui il problema della visualizzazione su una pagina HTML)
Cosa che di solito in un blog si usa solo per i contenuti particolari (immagini/musica/ecc...) e non per i testi che sono semplicissime stringhe

__________________
Every passing minute is a chance to turn it all around!


Posted by khelidan on 04-12-2006 16:12:

guarda non saprei proprio,comunque domani dovremmo andare al ricevimento a chedere,vi faccio sapere!

__________________
Khelidan


Posted by uvaci on 11-12-2006 07:15:

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 ?


Posted by GiaXVI on 13-12-2006 15:04:

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?


Posted by GiaXVI on 13-12-2006 16:59:

....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?


Posted by khelidan on 15-12-2006 11:15:

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


Posted by teo2k on 18-12-2006 10:10:

Grazie, ora tutto comincia a prendere un'altra forma... ;-)

__________________
Every passing minute is a chance to turn it all around!


Posted by GiaXVI on 24-12-2006 01:35:

mysql nn supporta i trigger, quindi è sconsigliato, parola del prof...


Posted by darkAntAreS on 24-12-2006 11:38:

mysql 5 supporta i trigger

__________________
"Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh burzum-ishi krimpatul"


Posted by Diuzza on 29-12-2006 16:01:

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


Posted by khelidan on 04-01-2007 18:07:

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


Posted by zonker on 05-01-2007 11:08:

>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.


Posted by khelidan on 05-01-2007 15:18:

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.


Anche noi la pensavamo come te ma quello che ho scritto c'è lo ha detto il prof al ricevimento,tanto meglio è più semplice! ;)

__________________
Khelidan


Posted by ornati on 13-01-2007 09:33:

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.



diventa autore quando lo modifica o il semplice fatto di avere la possibilità di modificarlo lo rende autore?

Ad ogni modo questo schema è debole perchè basta che uno dia il potere di modifica ad un utente di cui si fida e questo può dare a sua volta il potere a tutti gli utenti...

Inoltre, stando alle specifiche:
"ma possono modificare e cancellare solo i contenuti di cui siano autori o su cui abbiano ricevuto l’autorizzazione da altri utenti."

Questo implica che essere autori e avere il permesso di modifica siano due cose distinte, e che l'ultimo "utenti" sia sinonimo di "autori".

Quindi, cercando di riassumere tutto in modo coerente:

1) Quando pubblichi un contenuto sei il suo autore, ma puoi specificare autori aggiuntivi (o eventualmente aggiungerli dopo)

2) ogni autore può dare il permesso di modifica ad altri utenti


Questo trascurando i "dettagli"... per esempio:

1) un autore può eliminarne un altro dalla lista?

2) se l'autore A permette all'utente X di modificare un contenuto, può l'autore B revocare il permesso?

... and so on ...

Ma alla fine credo che questi problemi non contino, e che basti implementare la soluzione più semplice.


Posted by zonker on 13-01-2007 09:42:

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.


Posted by khelidan on 15-01-2007 13:12:

Originally posted by ornati

Ma alla fine credo che questi problemi non contino, e che basti implementare la soluzione più semplice.


Infatti,io son d'accordo con quello che dici,solo che quello che ho riportato sono le parole del prof,se volete implementare una gestioni più efficente dei permessi siete liberissimi di farlo,quello che ho riportato è il minimo indispensabile per aderire ai requisti!

__________________
Khelidan


Posted by khelidan on 15-01-2007 13:14:

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.


Tu puoi farlo come vuoi,le parole del prof sono state"quando un autore da il diritto di scrivere ad un altro utente,quest'ultimo riceve automaticamente la condizione di autore"

__________________
Khelidan


Posted by attila79 on 21-01-2007 12:33:

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 ?


Posted by ornati on 21-01-2007 12:42:

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 ?


Prima devi consegnare il progetto.

E' tutto spiegato qui:
http://islab.dico.unimi.it/basi/mod...egna_BDLAB1.pdf

Se invece fai i compitini c'è una data, ma non mi ricordo quale.


Posted by bledar on 25-01-2007 13:17:

la data se fai i compitini e intorno al 10 aprile , piu o meno


Posted by tandrea85 on 30-01-2007 17:12:

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??


Posted by zonker on 30-01-2007 22:16:

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


Posted by Simeon on 03-02-2007 01:10:

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?


Posted by zonker on 05-02-2007 12:05:

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ù...


Posted by ornati on 05-02-2007 13:42:

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ù...


a me funziona:

http://islab.dico.unimi.it/basi/mod...egna_BDLAB1.pdf


Posted by zonker on 05-02-2007 13:48:

Grazie mille, il link che non va è sul sito del turno 2


Posted by khelidan on 07-02-2007 14:51:

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


Posted by zonker on 07-02-2007 14:59:

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.


Posted by khelidan on 07-02-2007 15:05:

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


Posted by zonker on 07-02-2007 15:08:

si anche io.


Posted by khelidan on 07-02-2007 16:19:

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


Potresti spiegarmi meglio questo?Quando vado a fare la select per visualizzare un documento chiamo la funzione per incrementare?E perchè su una vista?

__________________
Khelidan


Posted by zonker on 07-02-2007 16:33:

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.


Posted by khelidan on 07-02-2007 16:34:

Chiarissimo,mi hai tolto un bel dubbio! ;) grazie mille!

__________________
Khelidan


Posted by zonker on 07-02-2007 16:52:

figurati, e' un piacere.


Posted by Simeon on 07-02-2007 22:02:

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.


Posted by Simeon on 07-02-2007 22:24:

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 :asd:


Posted by Simeon on 08-02-2007 00:09:

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.


Posted by uvaci on 08-02-2007 07:28:

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.


Posted by khelidan on 08-02-2007 07:29:

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


Esattamente,l'utente ha vari profili,in uno puo far vedere l'email e non il nome e gli associa determinate preferenze,nell'altro cambia fa vedere il nome ed altre preferenze,noi lo abbiamo implementato così!


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).


Certo,un profilo un utente!Da una parte è 1:1 e dall'altra 1:N !

__________________
Khelidan


Posted by khelidan on 08-02-2007 07:30:

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 :asd:


Dipende,scelta implementativa,ne parlavo sopra qualche post con Zonker,noi facciamo in modo che anche gli admin partecipino all'applicazione come gli altri con i profili ed in più hanno poteri d'amministrazione!

__________________
Khelidan


Posted by khelidan on 08-02-2007 07:34:

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.


Noi abbiamo fatto in modo che appena l'utente si icrive compili un profilo ed quello sarà l'attivo,sulla questione argomenti,noi abbiamo fatto in modo che quando si compila un profilo si scelgano anche gli argomenti di preferenza,quindi 1:N ma sono scelte!

__________________
Khelidan


Posted by Simeon on 08-02-2007 12:41:

Grazie mille a tutti (soprattutto a Khelidan in sto caso :asd: ), 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.


Posted by khelidan on 08-02-2007 17:19:

Originally posted by Simeon
Grazie mille a tutti (soprattutto a Khelidan in sto caso :asd: ), 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.


Questa cosa è ambigua,anchio l'avevo pensato ma se guardi c'è anche scritto che gli admin hanno permessi totali sui contenuti,quindi possono anche inserirli e inoltre non vedo il motivo ad un admin di non partecipare alla pubblicazione dei contenuti!

__________________
Khelidan


Posted by Simeon on 08-02-2007 22:11:

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?


Posted by khelidan on 09-02-2007 07:26:

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


Posted by Simeon on 09-02-2007 12:51:

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....


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.


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!


Ah, non avevo capito che un utente potesse visitare il profilo di altri utenti.


Posted by khelidan on 09-02-2007 14:30:

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.


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!

__________________
Khelidan


Posted by Simeon on 09-02-2007 19:03:

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!


Ma allora la delega e' gestita via applicazione web e non via DBMS, dico bene?


Posted by khelidan on 12-02-2007 10:45:

Originally posted by Simeon
Ma allora la delega e' gestita via applicazione web e non via DBMS, dico bene?


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!

__________________
Khelidan


Posted by Simeon on 12-02-2007 13:09:

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!


Questo credo di averlo afferrato. Intendevo: il bottoncino che ti permette di delegare un certo contenuto (che si occupera' suppongo di aggiungere una tupla alla tabella contenuto-autore con l'utente a cui deleghiamo e il contenuto che deleghiamo) lo troviamo nell'applicazione web no?


Posted by khelidan on 12-02-2007 15:16:

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


Posted by Simeon on 12-02-2007 21:59:

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! ;)


Penso d'aver capito un po' di piu, grazie ancora di tutto.


Posted by Simeon on 15-02-2007 00:20:

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?


Posted by Simeon on 15-02-2007 00:45:

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.


Posted by zonker on 15-02-2007 10:01:

"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.


Posted by zonker on 15-02-2007 10:06:

- 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.


Posted by Simeon on 15-02-2007 12:20:

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.


Scusami, ma il punto era un altro. La faccenda dell'utente collegato staticamente penso mi sia chiara, era quella del profilo attivo che mi mandava in confusione. Prima si dice che il profilo attivo di un determinato utente puo' essere cambiato da un utente amministratore, poi si dice che il profilo associato all'utente (quello attivo?) viene stabilito staticamente dall'applicazione. Tutto questo viene detto nella parte relativa al progetto da 3 punti. E' questo che non capisco.


Posted by Simeon on 15-02-2007 12:26:

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.


Si ma, voglio dire, la vista che creo staticamente nel DBMS dovra' cambiare a seconda degli argomenti che risultano nel mio profilo attivo. Devo crearla tramite funzioni e/o trigger e poi memorizzarla in un campo relativo al profilo? Non mi e' chiaro proprio come/dove possa esser creata una vista ad hoc in relazione al profilo attivo e dove essa debba essere memorizzata (per poi essere richiamata dall'applicazione web nel momento della visualizzazione dei contenuti).


Se usi postgres e vuoi gestire le foto nel DB documentati sul tipo OID e sulle funzioni lo_import e lo_export.


Molto bene.

Grazie anche a te :)


Posted by zonker on 15-02-2007 13:23:

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.


Posted by zonker on 15-02-2007 13:25:

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.


Posted by Simeon on 15-02-2007 13:32:

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.


Ecco, quindi un utente amministratore, nella versione da 3 punti, NON PUO' cambiare il profilo attivo degli utenti? Sarei portato a pensarla cosi', ma di questa faccenda si parla nella parte generale e non in quella del progetto da 5 punti.


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.


Beh non so, se per esempio all'inizio il profilo attivo dell'utente ha come per argomenti sport e politica, allora dovro' fare una vista che estrapoli solo i contenuti che hanno come argomento sport o politica.

Ma se cambio il profilo attivo dell'utente dovro' cambiare di conseguenza anche la vista a seconda degli argomenti no?


Posted by zonker on 15-02-2007 13:54:

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.


Posted by Simeon on 15-02-2007 15:36:

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.


Non mi e' ancora chiarissimo sto punto ma vabbeh, ci pensero'. Perche io pensavo di mettere un flag booleano per indicare se un determinato profilo di un determinato utente era attivo o meno. Pero' questa cosa non ha senso se l'applicazione mi dice staticamente quale sia quello attivo (e quindi non avrei bisogno di controllare flag). Forse non capisco la storia dello "staticamente".

Comunque ci lavorero' su.

Per la vista ok, non mi venivano proprio in mente i join.


Posted by zonker on 15-02-2007 15:45:

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.


Posted by khelidan on 15-02-2007 17:21:

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.


In questo caso avrai ridondanza,per ogni argomento preferito avrai i campi di profilo ripetuti,stavo pensando anche io ad una alternativa,non si puo fare un count sul totale degli argomenti e fare una vista con i dati di profilo ed un campo per ogni argomento?E tecnicamente fattibile?

__________________
Khelidan


Posted by zonker on 15-02-2007 18:07:

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.


Posted by khelidan on 15-02-2007 18:14:

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.


Così è esattamente come ho fatto anche io,ma il testo non dice anche che bisogna avere una vista con dati del profilo attivo,dell'utente ed i suoi argomenti preferiti?In pratica bisogna unire in una vista le tre tabelle con solo i profili attivi?Per ora ho implementato facendo il join ma nei requisiti c'è scritto di fare tramite vista!

Per la vista che avevo proposto hai ragione è concettualmente errata!

__________________
Khelidan


Posted by khelidan on 15-02-2007 18:17:

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


Posted by zonker on 15-02-2007 18:19:

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


Posted by zonker on 15-02-2007 18:21:

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...


Posted by zonker on 15-02-2007 18:23:

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.


Posted by Gehur on 16-02-2007 12:45:

qualcumo mi fa un esempio di argomento-sezione-contenuti, come fa un contenuto ad avere + argomenti?


Posted by zonker on 16-02-2007 13:17:

Il contenuto "Fisica dimanica della motocicliette" può essere associato agli argomenti "fisica", "motori" e "hobbies personali"


Posted by Gehur on 16-02-2007 14:59:

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


Posted by zonker on 16-02-2007 15:02:

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.


Posted by Gehur on 16-02-2007 15:07:

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


Posted by Gehur on 16-02-2007 15:10:

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


Posted by zonker on 16-02-2007 15:12:

Ti faccio un esempio:
Argomenti possono essere fisica, animali, moto, sport, vacanze
Sezioni possono essere anno2005 anno2006 anno2007 quindi totalmente trasversali rispetto agli argomenti.


Posted by Gehur on 16-02-2007 15:13:

ok, mi sembra di aver capito, grazie mille per ora


Posted by zonker on 16-02-2007 15:32:

figurati


Posted by Gehur on 16-02-2007 19:35:

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??


Posted by khelidan on 16-02-2007 21:04:

Io sono andato dal prof e mi ha detto che è come dice zonker,le sezioni sono scollegate dagli argomenti,non devono essere sottoargomenti!

__________________
Khelidan


Posted by Gehur on 17-02-2007 08:27:

ok ho capito, grazie ancora


Posted by ornati on 19-02-2007 11:12:

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)


Posted by zonker on 19-02-2007 12:01:

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?


Posted by ornati on 19-02-2007 12:26:

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?


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).


Posted by Simeon on 19-02-2007 13:01:

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).


In effetti anche io ho lo stesso dubbio e la cosa e' ambigua.

Volevo interpretarmela come se avessero sbagliato a scrivere, cioe' "una sezione e' una raccolta tematica di ARGOMENTI" (e non di contenuti).

Bah.


Posted by zonker on 19-02-2007 13:14:

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.


Posted by Simeon on 19-02-2007 23:24:

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.


Posted by Gehur on 21-02-2007 15:14:

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?


Posted by zonker on 21-02-2007 15:16:

Relazione molti a molti tra la tabella contenuti e la tabella contenuti (se stessa).


Posted by Gehur on 21-02-2007 15:19:

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?


Posted by zonker on 21-02-2007 15:32:

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.


Posted by Gehur on 21-02-2007 15:40:

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


Posted by zonker on 21-02-2007 15:46:

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.


Posted by Gehur on 21-02-2007 15:54:

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?



Posted by zonker on 21-02-2007 16:01:

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.


Posted by Gehur on 21-02-2007 16:06:

ok grazie per ora


Posted by zonker on 21-02-2007 16:12:

e di che...


Posted by Gehur on 22-02-2007 10:54:

ma nelle vostre implementazioni gli amministratori hanno un profilo dello stesso tipo dei generici (visualizzazione dati personali e argomenti preferiti)?


Posted by Simeon on 23-02-2007 01:06:

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...


Posted by zonker on 23-02-2007 07:42:

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.


Posted by khelidan on 23-02-2007 11:27:

Originally posted by Gehur
ma nelle vostre implementazioni gli amministratori hanno un profilo dello stesso tipo dei generici (visualizzazione dati personali e argomenti preferiti)?


Se cerchi indietro nel 3d ne abbiamo parlato,io ho fatto che user ed admin partecipano alla stessa maniera all'applicazione,solo gli admin hanno qualche potere in più!

P.S:ma alla fine qual'è la data di consegna per chi ha fatto i compitini??

Ps2:Vero che non dobbiamo per forza consegnare il 1 marzo???

__________________
Khelidan


Posted by zonker on 23-02-2007 12:27:

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.


Posted by Simeon on 23-02-2007 13:18:

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.


Ecco, io invece intendevo proprio farlo a mano. Apro la tabella e inserisco a mano i dati. Era quello che mi lasciava perplesso (non so come farlo come dici tu, dovrei mettere delle INSERT INTO(etc etc) da qualche parte?).


Posted by zonker on 23-02-2007 13:25:

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 ....


Posted by Simeon on 23-02-2007 13:33:

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 ....


Il fatto e' che usando pgadmin non faccio l'inserimento via INSERT INTO ma ho un'interfaccia grafica dove inserisco i dati. Nel dump del database mi va a mettere una roba tipo

COPY nometabella (campi) FROM stdin;
<tupla 1>
<tupla 2>
etc...

Boh guarda ti ringrazio per le risposte, mi sa che lascero' cosi' e documentero'.


Posted by Simeon on 23-02-2007 13:42:

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.


Posted by zonker on 23-02-2007 13:51:

esatto!


Posted by khelidan on 23-02-2007 14:09:

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.


e dire che l'avevo pure letta quella pagina....

__________________
Khelidan


Posted by hannibal on 27-02-2007 07:55:

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.


Posted by uvaci on 28-02-2007 12:17:

il materiale del progetto va messo nella casella postale di Montanelli o di Messa?


Posted by Simeon on 05-03-2007 21:14:

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.


Posted by zonker on 06-03-2007 09:10:

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.


Posted by Simeon on 06-03-2007 13:10:

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.


Javascript, era proprio quello che volevo evitarmi.

Grazie per le info :)


Posted by zonker on 06-03-2007 14:47:

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.


Posted by Striker on 06-03-2007 17:40:

Originally posted by Simeon
Javascript, era proprio quello che volevo evitarmi.

Grazie per le info :)



Puoi anche ridurre al minimo il codice in javascript, se ti sta cosi' antipatico.
Ad esempio (in asp) per controllare che siano stati inseriti user e password:

If Request.Form("Invia") <> "" Then
'Verifico che siano stati indicati i campi obbligatori
user = Request.Form("user")
pass = Request.Form("pass")
If user = "" OR pass = "" Then
%>
<script>
alert("ERRORE\nInserire user e password");
history.back();
</script>
<%
Response.End
End If

Invia e' un campo nascosto della form di login; user e pass sono i due campi omonimi :D
Cosi' facendo usi js solo per generare il warning (un alert) e per tornare alla form di login senza perdere eventuali dati gia' digitati.

__________________
Under Construction


Posted by uvaci on 06-03-2007 18:17:

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 ...


Posted by Simeon on 06-03-2007 18:38:

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.


Grazie. Mi sembra strano che non ci sia una funzione equivalente all'alert in php pero'.


Posted by tandrea85 on 06-03-2007 21:31:

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 ...


è rosso anke il mio :shock: boh


Posted by uvaci on 07-03-2007 07:18:

è la divisione in gruppi... :)


Posted by nothingman7 on 07-03-2007 11:00:

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


Posted by zonker on 07-03-2007 15:47:

il formato del file: txt, doc, html ad esempio per i testi piuttosto che jpg, bmp, tiff per le immagini


Posted by nothingman7 on 07-03-2007 16:44:

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?


Posted by zonker on 08-03-2007 10:00:

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.


Posted by Gehur on 08-03-2007 15:23:

voi a che punto siete? io sono indietrissimo, mi sa che non mi basta il mese per finire


Posted by zonker on 08-03-2007 15:53:

praticamente finito, devo completare la documentazione.


Posted by nothingman7 on 08-03-2007 18:57:

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


Eppure khelidan dice che si può anche fare tutto sul db, infatti nelle specifiche c'è scritto che i contenuti "vanno intesi come file", non che "sono dei file".

Quindi ripeto le mie due domande:

1)nel caso in cui io decida di non usare veri e propri file come tratto l'attributo formato?

2)nel caso in cui io decida di usare i file, come visualizzo i contenuti nell'applicazione?

Scusate ma ho questo dubbio esistenziale e se non trovo una risposta entro breve impazzisco!!!


Posted by Simeon on 11-03-2007 16:11:

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 :)


Posted by Simeon on 11-03-2007 17:06:

Originally posted by nothingman7

2)nel caso in cui io decida di usare i file, come visualizzo i contenuti nell'applicazione?


Ecco, me lo son chiesto anche io proprio in sto momento. Per le immagini non dovrebbe essere complesso, ma per i testi non ho idea di come si faccia... sara' tutto un discorso di funzioni varie, boh.


Posted by Gehur on 12-03-2007 08:18:

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?


Posted by zonker on 12-03-2007 14:44:

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.


Posted by Simeon on 12-03-2007 16:07:


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).


Ma sarebbe impossibile usare le checkbox se gli argomenti non sono un numero fisso come dici tu. Cioe se ho un numero variabile di argomenti possibili da inserire nei profili/contenuti, come faccio a fare una checkbox per ognuno di essi se variano? Se avessi un numero fisso (tipo 7 argomenti) allora potrei fare 7 checkbox... Sto parlando della versione da TRE punti eh.

La questione dell'ordine mi e' ancora poco chiara purtroppo. Cioe io scelgo 3 argomenti tra quelli a mia disposizione per un certo contenuto. Che importanza ha il loro ordine nella query per la visualizzazione dei contenuti in base agli argomenti?

Credo siano gli ultimi dubbi che mi separano dal completare sto maledetto progetto... :\


Posted by zonker on 12-03-2007 16:15:

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]


Posted by Simeon on 12-03-2007 16:28:

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]


Afferrato. Resta il fatto che potevano risparmiarsela come cosa dato che non ha utilita' pratica :asd:

Ultima cosa: il trattamento di un profilo/contenuto privo di argomenti (ho deciso che li aggiungero' in un secondo momento dopo l'inserimento) e' sempre una scelta implementativa vero?

Stavo pensando ad esempio che un profilo senza argomenti visualizzi tutti i contenuti, mentre un contenuto senza argomenti sia sempre visualizzato (oppure mai, boh, devo deciderlo).


Posted by zonker on 12-03-2007 16:32:

Attenzione a leggere le specifiche: "Ogni contenuto è associato a uno o più argomenti"...quindi non esistono contenuti senza argomenti.


Posted by Simeon on 12-03-2007 16:37:

Originally posted by zonker
Attenzione a leggere le specifiche: "Ogni contenuto è associato a uno o più argomenti"...quindi non esistono contenuti senza argomenti.


Allora bisogna trovare un modo per obbligare l'inserimento contemporaneo di un nuovo contenuto e di almeno uno o piu' argomenti. Bon ci pensero' su.


Posted by Simeon on 12-03-2007 17:34:

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.


Posted by Gehur on 12-03-2007 19:17:

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.
...



io avevo pensato a una form di inserimento, poi se un utente vuole diventare amministratore, gli si cambia il profilo da generico ad amministratore (ovviamente glielo cambia un amministratore)


Posted by zonker on 13-03-2007 10:45:

Va benissimo, anche se è molto di più rispetto a quanto richiesto.


Posted by bledar on 13-03-2007 15:01:

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?


Posted by Simeon on 13-03-2007 19:30:

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?


Io via web.

Loggando come un utente amministratore posso accedere alle opzioni "iscrivi utente" e "cancella utente".

(ne approfitto per abusare ancora di zonker o di chi vorra' rispondermi al posto suo:asd:

E' possibile creare una form all'interno di un'altra form? Mi servirebbe per fare l'inserimento di un nuovo profilo utente e dei relativi argomenti di preferenza in una fase unica (al posto di 2 fasi separate), ma non so come sia possibile prendere in input un argomento alla volta all'interno di una form. Per ora ho pensato solo a robe assurde tipo form che rimandano alla stessa pagina passandosi un array con tutte le scelte precedenti, ma essendo un niubbo di html/php non so se sia realizzabile.)


Posted by zonker on 14-03-2007 09:52:

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ù.


Posted by Simeon on 14-03-2007 13:02:

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ù.


Tu hai parlato di quella roba dell'ordine di importanza che rende impossibile selezionare gli argomenti via menu/checkbox etc.

Per ora ho risolto come avevo gia detto: creo un profilo vuoto e poi in seguito aggiungo gli argomenti a parte. Pero' non mi piace.

Vorrei fare tutto assieme, ovvero creare il profilo e aggiungere gli argomenti all'interno di un'unica form, ma come si fa a creare all'interno di una form un "ciclo" che acquisisca piu' argomenti, uno alla volta, e che li memorizzi in un array da passare alla action page?

Come faccio in sostanza a fare in modo che cliccando su "crea profilo" mi appaia un menu che mi consenta di inserire le checkbox relative alla visibilita' dei dati dell'utente (nome, cognome etc) INSIEME agli argomenti, presi in input uno alla volta (da un menu, inseriti a mano, etc)?

code:
CREA PROFILO Visibilita' nome utente [ ] cognome utente [ ] email utente [ ] Argomenti: +--------------+-+ | argomenti |v| [AGGIUNGI] +--------------+-+


(dove il menu a tendina argomenti conterra' la lista degli argomenti disponibili e il bottone aggiungi permettera' di aggiungere tale argomento ad un array o qualcosa di simile)


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.