AuthoRails released


#1

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.


#2

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”,(FalseTrue), @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!


#3

Enrico B. 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”,(FalseTrue), @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!!


#4

Enrico B. wrote:

Di nulla!
Se dovessi riscontrare altri bug te li segnalerò tempestivamente.

In bocca al lupo per la tesi!! :slight_smile:

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


#5

Di nulla!
Se dovessi riscontrare altri bug te li segnalerò tempestivamente.

In bocca al lupo per la tesi!! :slight_smile:


#6

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

luca sabato

nope — the [nomad code]
email: removed_email_address@domain.invalid
pensieri: http://sabatia.it


#7

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.


#8

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

luca sabato

nope — the [nomad code]
email: removed_email_address@domain.invalid
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).


#9

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


#10

Enrico B. wrote:

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


#11

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.

#12

tabella.
Come nn detto, probabilmente ho sbagliato banalmente la password più volte.
Ciao
Giovanni.


#13

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


#14

A proposito, come si fa per visualizzare il log dello scaffold generato?
Perdonate la mia ignoranza…


#15

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


#16

Alessandro M. 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à !


#17

Sarebbe una bella cosa se potesse gestire le risorse nidificate cosa che
attualmente lo scaffold non fa ed è una gran rottura farlo a mano.


#18

Giovanni N. wrote:

tabella.
Come nn detto, probabilmente ho sbagliato banalmente la password pi� volte.
Ciao
Giovanni.

Pericolo scampato, meno male :wink:
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


#19

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


#20

Ciao Alessandro,

complimenti per il tuo importante traguardo. Non siamo in televisione e
potevi scriverlo il linguaggio :slight_smile:
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