Sito simile a Wikipedia

Salve ragazzi,

invoco il vostro aiuto in quanto vorrei provare a fare un piccolo sitarello simile a wikipedia come idea.

Dove principalmente un utente registrato può modificare i contenuti di una pagina SENZA dover accedere alla solita sezioni di amministrazione (www.esempio.it/admin). Quindi va su una pagina -> preme modifica -> la pagina diventa modificabile -> fa le modifiche del caso -> salva il tutto senza nemmeno che la pagina si ricarichi o si refreshi.

Ora però avrei diverse domande:

  1. E’ possibile realizzare questa cosa in modo sicuro? Prevedere che ogni pagina sia modificabile “on the fly” non espone il sito web a più rischi di avere una unica sezione admin in cui tutto converge? Se si, come posso fare per rendere il sito sicuro e poco attaccabile dall’esterno?

  2. Mi servirà usare il JSON o mi basterà l’ajax (oltre che yii, js, jquery, css, html)?

  3. Cosa mi consigliate per realizzalo con yii? Ci sono extension o funzioni già esistenti che mi aiuterebbero?

Grazie ^_^

Ciao.

Potresti usare un editor WYSIWYG integrabile con yii per modificare un testo inserito.

Ad esempio: crei una pagina con uno o più articoli. Per ciascuno visualizzi un pulsante di funzione che attiva l’editor e lo rende quindi modificabile. il pulsante di salvataggio del testo (generalmente integrato negli editor) andrà a salvare sul db il testo modificato (o su file, dipende da dove leggi il testo).

Questo è un’esempio di integrazione dell’editor TinyMCE con yii ma ce ne sono anche altri. Personalmente non l’ho mai provato ma potrebbe essere uno spunto per integrare ciò di cui hai bisogno.

Si però non saprei come fare a livello della sicurezza? E non saprei nemmeno cosa usare per renderlo possibile… associo il link per modificare il testo ad un token univoco? ^_^

Usa una action apposta per la modifica, e a quella action dai il permesso nelle rules solo agli utenti autorizzati.

Dai una occhiata a questa extension, fa un update di un contenuto con ajax ( e ti serve anche json, ma non e’ niente di spaventoso).

Intendo dire, dai una occhiata, che non puoi semplicemente usarla perche’ non fa esattamente al caso tuo, ma puoi usare il codice della extension come spunto.

Capitan Ovvio: se ti serve qualcosa simile a wikipedia allora installa mediawiki, che oltretutto é opensource.

Se decidi di implementarlo con Yii considera anche la possibilitá di non usare un editor WYSIWYG bensí Markdown: gli utenti scrivono il loro testo in una semplice textarea e lo formattano in stile wikipedia, cioé con asterischi per il grassetto ecc…

poi puoi renderizzare tutto con Markdown in questo modo:


              <?php $this->beginWidget('CMarkdown');?>

              This is my markdown formatted content

              <?php $this->endWidget();?>