Forum: Italian Ruby user group AuthoRails released

8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-23 20:34
Ciao a tutti, dopo un lungo periodo di tempo torno a scrivere su questo
forum, che tanto aiuto mi ha fornito per realizzare un'applicazione in
Rails come progetto d'esame.
Ora che l'esame è stato superato, e che la laurea è vicina, è arrivato
il momento di ripagarvi di tutto il supporto che mi avete dato: ho
realizzato come tesi sperimentale una gem (presente su rubyforge), che
partendo dalla gem
"rails-1.2.3" la estende aggiungendo:

- autorizzazione: accesso all'applicazione consentito solo dopo aver
eseguito il login. Inizialmente non sono presenti utenti, occorre
loggarsi da superutente andando su "administration" ed inserendo le
credenziali
username: admin
password: admin

- creazione delle tabelle e delle relative relazioni tra esse: tramite
interfaccia è possibile creare le tabelle, definendone il nome e i campi
dei quali si compone, e anche le relazioni tra esse (tipo di relazione -
1-1 1-n o m-n - e comportamento a cascata)

- gestione dei permessi da garantire agli utenti: quali attributi
visualizzare e/o modificare, concedere o meno la possibilità di
aggiungere o distruggere elementi, concedere o meno la possibilità di
creare/modificare/distruggere relazioni tra due elementi di due tabelle
correlate

-funzionalità estese a tutte le sezioni dell'applicazione: ricerca,
ricerca avanzata, ordinamento,ecc...

La gem può essere installata semplicemente attraverso il comando:

gem install authorails -y

E' necessario aver installato precedentemente RubyGems.

Una volta installato, per creare una applicazione AuthoRails eseguire

authorails APP_NAME

il resto viene spiegato tramite console.

Spero che AuthoRails vi possa essere in qualche modo utile, attendo i
vostri pareri (e numerosi suggerimenti) su come migliorarlo nelle
prossime versioni.
19cacf10e82daef5e586c7648915ac3e?d=identicon&s=25 Enrico Ballerini (ballero)
on 2008-06-24 16:32
Ciao!
Complimenti per questa gem è davvero interessante.
Ho provato a installarla e a creare un nuovo progetto ed è andato tutto
ok!

Ho creato una tabella 'todolists' composta da un campo di tipo text, uno
di tipo string e uno di tipo boolean.

Proprio sul campo di tipo boolean l'applicazione generava un errore
nella vista _form.rhtml

quando richiamava questa funzione:

<%= check_update(@todolist,"completed",(<select id="todolist_completed"
name="todolist[completed]"><option value="false">False</option><option
value="true">True</option></select>), @todolist.completed )%>

Semplicemente mettendo tra apici la 'select' il tutto a ripreso a
funzionare egreggiamente.

Volevo segnalarti la cosa!

C'è la possibilità di creare nuovi ruoli da assegnare agli utenti oltre
ad 'admin' e 'member'?

Complimenti ancora per il progetto!
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-24 17:31
Enrico Ballerini wrote:
> Ciao!
> Complimenti per questa gem è davvero interessante.
> Ho provato a installarla e a creare un nuovo progetto ed è andato tutto
> ok!
>
> Ho creato una tabella 'todolists' composta da un campo di tipo text, uno
> di tipo string e uno di tipo boolean.
>
> Proprio sul campo di tipo boolean l'applicazione generava un errore
> nella vista _form.rhtml
>
> quando richiamava questa funzione:
>
> <%= check_update(@todolist,"completed",(<select id="todolist_completed"
> name="todolist[completed]"><option value="false">False</option><option
> value="true">True</option></select>), @todolist.completed )%>
>
> Semplicemente mettendo tra apici la 'select' il tutto a ripreso a
> funzionare egreggiamente.
>
> Volevo segnalarti la cosa!
>
> C'è la possibilità di creare nuovi ruoli da assegnare agli utenti oltre
> ad 'admin' e 'member'?
>
> Complimenti ancora per il progetto!

Grazie per avermi postato il bug! Questi sono gli ultimi giorni prima
della consegna della tesi, ogni notifica è fondamentale!!
Ho corretto il bug, in modo che quando si crea un attributo di tipo
boolean, vengono aggiunti gli apici in modo da non generare l'errore. La
gem aggiornata è già online, ma occorre attendere che sia indicizzata
altrimenti verrà installata la versione precedente (oppure scaricarla
dal sito rubyforge su

   http://rubyforge.org/frs/?group_id=6423

ed installarla in locale

   gem install authorails -l)

Per quanto riguarda la creazione di nuovi ruoli, non ho creato una
interfaccia per aggiungerne, l'unico modo (brutale) consiste
nell'aggiungerli nel file di migration (dopo aver generato
l'applicazione e prima di lanciare la migration): il file è

   003_create_roles.rb

Oppure si possono aggiungerli direttamente dal database, all'interno
della tabella "roles".
Grazie ancora per aver provato authorails, se dovessi riscontrare altri
bug segnalamelo!!
19cacf10e82daef5e586c7648915ac3e?d=identicon&s=25 Enrico Ballerini (ballero)
on 2008-06-24 18:13
Di nulla!
Se dovessi riscontrare altri bug te li segnalerò tempestivamente.

In bocca al lupo per la tesi!! :-)
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-24 19:11
Enrico Ballerini wrote:
> Di nulla!
> Se dovessi riscontrare altri bug te li segnalerò tempestivamente.
>
> In bocca al lupo per la tesi!! :-)

Crepi il lupo!!
Comunque il bug ne nascondeva un altro al suo interno: inizialmente ho
rimediato all'errore racchiudendo la select tra apici. Tuttavia ho
notato che rails salva gli attributi di tipo booleano come tinyint
(almeno in mysql, non so negli altri dbms), e quando il valore booleano
viene settato a true, tornando all'edit il valore della select torna a
false (come se non venisse riconosciuta la corrispondenza 0 -> false
1 -> true), e bisognerebbe ogni volta risettare a true tale valore.
Invece utilizzando una checkbox tale problema viene risolto: se il
valore dell'attributo booleano è false, la checkbox non è selezionata,
se invece è true la checkbox viene selezionata. Non so se tu utilizzi un
altro dbms e questo errore non ti veniva generato, oppure ti veniva
generato ma non te ne eri accorto. Comunque sia, grazie lo stesso perchè
senza il tuo avviso non avrei scoperto nessuno dei due bug.
Bye Bye
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-25 10:30
Mi piacerebbe sapere se qualcuno ha provato authorails su linux; ho
provato su windows e mac, sembra vada tutto ok. Ho provato su linux, ma
ho incontrato dei problemi e non so se dipenda da qualche impostazione
sbagliata sul mio pc.
0e17cafb81abc6febf4779d0710c2611?d=identicon&s=25 luca sabato (Guest)
on 2008-06-25 12:08
(Received via mailing list)
mi spiace dirti che ieri in una prova volante sul mio mac tiger con
mysql mi ha generato una "caterva" di errori generando una tabella
con due campi, se ho tempo oggi ti invio il log, cmq una prova  lampo
puo darsi che non abbia fatto le cose in modo giusto. :P

luca sabato
---
nope --- the [nomad code]
email: ilramingo@gmail.com
pensieri: http://sabatia.it
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-25 12:47
luca sabato wrote:
> mi spiace dirti che ieri in una prova volante sul mio mac tiger con
> mysql mi ha generato una "caterva" di errori generando una tabella
> con due campi, se ho tempo oggi ti invio il log, cmq una prova  lampo
> puo darsi che non abbia fatto le cose in modo giusto. :P
>
> luca sabato
> ---
> nope --- the [nomad code]
> email: ilramingo@gmail.com
> pensieri: http://sabatia.it

Spero che sia qualcosa di relativamente semplice da aggiustare, è strano
comunque dato che anche il mio relatore ha un mac ma non ha riscontrato
errori.
Intanto, approfittando della domanda di ballero, ho aggiunto la
possibilità di gestire i ruoli (aggiungerli, modificarli, cancellarli, e
visualizzare gli utenti che hanno il ruolo selezionato).
19cacf10e82daef5e586c7648915ac3e?d=identicon&s=25 Enrico Ballerini (ballero)
on 2008-06-25 13:12
Alessandro Montebello wrote:
> Intanto, approfittando della domanda di ballero, ho aggiunto la
> possibilità di gestire i ruoli (aggiungerli, modificarli, cancellarli, e
> visualizzare gli utenti che hanno il ruolo selezionato).

Ottimo!
Ho fatto altre prove e non ho riscontrato alcun errore.
Purtroppo ho solo sistemi windows sui cui testare la gem quindi non
posso soddisfare la tua richiesta di test su linux.
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-25 14:43
Enrico Ballerini wrote:
> Alessandro Montebello wrote:
>> Intanto, approfittando della domanda di ballero, ho aggiunto la
>> possibilità di gestire i ruoli (aggiungerli, modificarli, cancellarli, e
>> visualizzare gli utenti che hanno il ruolo selezionato).
>
> Ottimo!
> Ho fatto altre prove e non ho riscontrato alcun errore.
> Purtroppo ho solo sistemi windows sui cui testare la gem quindi non
> posso soddisfare la tua richiesta di test su linux.

Bene, ho bisogno comunque di qualcuno che testi authorails su linux,
dato che è il SO utilizzato dal revisore esterno che dovrà valutare il
mio progetto. Speriamo bene... Intanto vi prego di consigliarmi dei
suggerimenti su come estendere l'applicazione.
0fe88a37fa0350899d1ea1ac24cbe5b8?d=identicon&s=25 Giovanni Nicolazzo (Guest)
on 2008-06-25 15:11
(Received via mailing list)
> Bene, ho bisogno comunque di qualcuno che testi authorails su linux,
> dato che è il SO utilizzato dal revisore esterno che dovrà valutare il
> mio progetto. Speriamo bene... Intanto vi prego di consigliarmi dei
> suggerimenti su come estendere l'applicazione.

Interessante progetto...
Testato al volo con linux, nessun problema di installazione e setup.
Per quanto riguarda i suggerimenti, ecco quelli che mi son venuti in
mente,
poi bisognerebbe utilizzarlo per un progetto reale per dire di
più:- possibilità di aggiungere chiavi/indici alle tabelle
- customizzazione dei campi delle tabelle (size, null, default,ecc,ecc)
- possibilità di creare relazioni su una stessa tabella (es.
categorie,sottocategorie =>acts_as_tree)
- possibilità di selezionare quali campi visualizzare in una relazione
- log dello scaffolding per vedere che succede e quali file genera
- tasto di logout un po più visibile
- route di default ad una pagina di start
Riguardo a quest'ultimo punto dopo aver creato 2 tabelle e un account
member,
dopo il login, non sono riuscito ad accedere a nessun controller.
Ciao
Giovanni.
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-25 15:28
Giovanni Nicolazzo wrote:
>> Bene, ho bisogno comunque di qualcuno che testi authorails su linux,
>> dato che � il SO utilizzato dal revisore esterno che dovr� valutare il
>> mio progetto. Speriamo bene... Intanto vi prego di consigliarmi dei
>> suggerimenti su come estendere l'applicazione.
>
> Interessante progetto...
> Testato al volo con linux, nessun problema di installazione e setup.
> Per quanto riguarda i suggerimenti, ecco quelli che mi son venuti in
> mente,
> poi bisognerebbe utilizzarlo per un progetto reale per dire di
> pi�:- possibilit� di aggiungere chiavi/indici alle tabelle
> - customizzazione dei campi delle tabelle (size, null, default,ecc,ecc)
> - possibilit� di creare relazioni su una stessa tabella (es.
> categorie,sottocategorie =>acts_as_tree)
> - possibilit� di selezionare quali campi visualizzare in una relazione
> - log dello scaffolding per vedere che succede e quali file genera
> - tasto di logout un po pi� visibile
> - route di default ad una pagina di start
> Riguardo a quest'ultimo punto dopo aver creato 2 tabelle e un account
> member,
> dopo il login, non sono riuscito ad accedere a nessun controller.
> Ciao
> Giovanni.

Non sei riuscito perchè evidentemente non hai gestito i privilegi.
Accedendo come superuser, dal link Manage privileges seleziona per ogni
tabella creata quali campi l'utente "member" può
visualizzare/aggiornare, e se può creare e/o eliminare le righe della
tabella.
0fe88a37fa0350899d1ea1ac24cbe5b8?d=identicon&s=25 Giovanni Nicolazzo (Guest)
on 2008-06-25 15:37
(Received via mailing list)
> tabella.
Come nn detto, probabilmente ho sbagliato banalmente la password più volte.
Ciao
Giovanni.
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-25 16:20
Giovanni Nicolazzo wrote:
>> tabella.
> Come nn detto, probabilmente ho sbagliato banalmente la password pi� volte.
> Ciao
> Giovanni.

Pericolo scampato, meno male ;-)
Stavo prendendo in considerazione alcuni tuoi suggerimenti, come ad
esempio la definizione di indici o di valori di default, not nul, ecc...
Spero di fare in tempo per la consegna della tesi
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-25 16:27
A proposito, come si fa per visualizzare il log dello scaffold generato?
Perdonate la mia ignoranza....
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-06-27 22:17
Volevo informarvi che ho aggiunto ad AuthoRails la possibilità di
definire l'unicità dei valori di un attributo (unique) e la loro
presenza (not null). Inoltre ho aggiunto due plugins per eseguire una
validazione lato server (schema_validations) e una validazione lato
client (live_validation). Se volete dare un'occhiata:

gem install authorails -y
19cacf10e82daef5e586c7648915ac3e?d=identicon&s=25 Enrico Ballerini (ballero)
on 2008-06-28 10:49
Alessandro Montebello wrote:
> Volevo informarvi che ho aggiunto ad AuthoRails la possibilità di
> definire l'unicità dei valori di un attributo (unique) e la loro
> presenza (not null). Inoltre ho aggiunto due plugins per eseguire una
> validazione lato server (schema_validations) e una validazione lato
> client (live_validation). Se volete dare un'occhiata:
>
> gem install authorails -y

Ottimo!
Aggiornerò la gem e proverò le nuove funzionalità!
Eff93e9bbe063b7136c9b6f218071a09?d=identicon&s=25 Marco Mastrodonato (marcomd)
on 2008-07-08 17:47
Sarebbe una bella cosa se potesse gestire le risorse nidificate cosa che
attualmente lo scaffold non fa ed è una gran rottura farlo a mano.
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2008-07-08 19:18
Marco Mastrodonato wrote:
> Sarebbe una bella cosa se potesse gestire le risorse nidificate cosa che
> attualmente lo scaffold non fa ed è una gran rottura farlo a mano.

scusami, cosa vuol dire? Quali sono le risorse nidificate?
8d58bde3c701eb1087fc53a05b086de7?d=identicon&s=25 Alessandro Mon (alexpescara)
on 2016-04-01 16:53
Ciao a tutti,
riesumo questo thread dove sono tornato (quasi) per caso, a quasi 8 anni
di distanza. Rileggendo mi sono reso conto di essere stato maleducato
nel non ringraziarvi ulteriormente dopo che mi sono laureato; non dopo 8
anni eh, sia chiaro!, la laurea c'è stata 8 giorni dopo l'ultimo post
inviato, tra festeggiamenti, meritato riposo, ecc... non ho più
aggiornato il thread. Volevo ringraziarvi visto che la tesi è andata
direi discretamente bene (laurea spec.stica in economia informatica a
23 anni, con 110 e lode grazie a una tesi sperimentale non credo sia
male), ora che di anni ne ho 31 lavoro da più di 7 anni in una grande
azienda di informatica e credo che una parte di questi traguardi sia
anche merito vostro! Mi ha fatto sorridere ritrovare e rileggere questo
thread, mi sono tornati in mente i sacrifici fatti e le ansie del
periodo; purtroppo non mi occupo di Ruby, ma di altro linguaggio di basi
di dati diciamo proprietario e più "popolare" tra le grandi aziende, se
però qualcuno avesse bisogno di una mano, per quello che posso
ricordarmi dopo così tanto tempo, sono qui.
Grazie a tutti :)

Alessandro
Eff93e9bbe063b7136c9b6f218071a09?d=identicon&s=25 Marco Mastrodonato (marcomd)
on 2016-05-04 16:00
Ciao Alessandro,

complimenti per il tuo importante traguardo. Non siamo in televisione e
potevi scriverlo il linguaggio :)
Dal quel che leggo non ti sei più aggiornato, 8 anni in informatica sono
un'eternità, è cambiato molto dai tempi di rails 1.2.3
This topic is locked and can not be replied to.