Voglio provare rails e per farlo ho deciso di fare una copia del mio
sito (attualmente in python)
Il sito ha due pagine, una è la home e qua nulla di difficile, la
seconda è dinamica e gestisce una galleria di immagini. Qualcuno sa
darmi delle dritte o indirizzarmi su qualche tutorial per la gestione
delle immagini (con creazione di anteprime) in ruby con un occhio di
riguardo a rails?
Acts_as_attachment ti permette di fare l’upload di immagini e ti fa le
thumbnail automagicamente, anche se io preferisco usare Rmagck
(acts_as_attachment fa uso di questa libreria)
Per visualizzare le immagini viva viva lightbox 2.0 (anche se non
è strettamente correlato a rails )
Se non ho capito male, Acts_as_attachment si appoggia su un db. In
realtaà le immagini sono già presenti sul disco. Non voglio memorizzare
immagini su un campo BLOB.
Attualmente mi sono organizzato cosi.
Tutte le immagini sono salvate su hard disk. Ho uno script python che
crea le thumbnail e le salva in un’altra directory (mantenendo la
struttura delle directory delle immagini originale) e scrivendo sul db
le infomrazioni dell’immagini (*dimensioni per scalare l’immagine, il
tipo di immagine e come chiave il percorso della stessa).
Le gallerie sono le directory in cui sono presenti le immagini. Quando
un utente entra in una galleria io gli mostro le thumbnail già salvate
sul disco, cosi evito di dover creare dinamicamente ad ogni accesso le
thumbnail (anche di un’ottantina di immagini a galleria).
Se clicca su un’anteprima gli mostro l’immagine alla dimensione
migliore, cioè non quella originale, che raramente è inferiore al
monitor, ma quella che può visualizzare sullo schermo senza dover
scrollare su e giù (per visualizzare le immagini utilizzo jQuery ed una
sua estensione che ha preso spunto da Lightbox 2 ;o) ).
Quindi dovrei utilizzare qualche libreriea (probabilmente RMagick) per
creare le anteprime da salvare su disco e la stessa per visualizzare
l’immagine all’utente.
*Nel creare l’anteprima dell’immagine calcolo le possibili dimensioni
che posso ottenere scalando l’immagine senza deformarla.
P.S. se potessi darti l’indirizzo del sito… è più facile a dirsi che a
farsi.
Se non ho capito male, Acts_as_attachment si appoggia su un db.
Puoi anche usare il file system come storage. E scegliere quante
thumbnail di che dimensioni avere. Queste vengono generate quando
carichi l’immagine la prima volta sul server.
scrollare su e giù (per visualizzare le immagini utilizzo jQuery ed una
sua estensione che ha preso spunto da Lightbox 2 ;o) ).
Amo jQuery, ma non amo mischiare le tecnologie, quindi su Rails vado
sempre di prototype + scriptaculous. Come ti trovi con jQuery on Rails?
sempre di prototype + scriptaculous. Come ti trovi con jQuery on Rails?
sinceramente non capisco perchè sia stato scelto prototype.
è un framework vecchio, incompatibile con il resto del mondo.
pieno di bachi negli effetti. (effetto blind per esempio)
x marketing? è + famoso e allora… non so proprio.
Amo jQuery, ma non amo mischiare le tecnologie, quindi su Rails vado
sempre di prototype + scriptaculous. Come ti trovi con jQuery on Rails?
sinceramente non capisco perchè sia stato scelto prototype.
è un framework vecchio, incompatibile con il resto del mondo.
pieno di bachi negli effetti. (effetto blind per esempio)
x marketing? è + famoso e allora… non so proprio.
E’ stato scelto perché è stato scritto da uno che fa parte del core team
di rails
Cmq il baco nell’effetto blind, se è quello che penso io, lo correggi
racchiudendo il contenuto che vuoi blindare in un
.
Io prego ogni giorno che sostituiscano prototype con jquery ma la vedo
improbabile come cosa
Non uso ancora Rails (se non per fare i tutorial). jQuery l’ho usato con
python (mod_Python/Apach 2.2, per il template Cheetah e come db
Postgresql).
Mi sa che non sono all’altezza di Ruby on Rails. RMagick non ne vuole
sapere di funzionare ne su Linux (so che utilizzo sul server, distro
Debian etch) ne su Windows xp (sul quale ho provato per mera curiosità ).
Sto seriamente perdendo colpi. Faccio veramente fatica a capire anche il
funzionamento di Ruby, anche le base, ad esempio come faccio ad
includere una libreria (ad esempio ActiveRecord)?
Amo jQuery, ma non amo mischiare le tecnologie, quindi su Rails vado
sempre di prototype + scriptaculous. Come ti trovi con jQuery on Rails?
sinceramente non capisco perchè sia stato scelto prototype.
Io prego ogni giorno che sostituiscano prototype con jquery ma la vedo
improbabile come cosa
perchè non pensate di fare un contributo a rails? di certo non è sotto le
vostre
capacità.
Non uso ancora Rails (se non per fare i tutorial). jQuery l’ho usato con
python (mod_Python/Apach 2.2, per il template Cheetah e come db
Postgresql).
Se ti trovi bene con Python, magari ti conviene Django. Ho sentito
cose molto positive a proposito.
Mi sa che non sono all’altezza di Ruby on Rails. RMagick non ne vuole
sapere di funzionare ne su Linux (so che utilizzo sul server, distro
Debian etch) ne su Windows xp (sul quale ho provato per mera curiosità).
Sto seriamente perdendo colpi. Faccio veramente fatica a capire anche il
funzionamento di Ruby, anche le base, ad esempio come faccio ad
includere una libreria (ad esempio ActiveRecord)?
Se non ho capito male, Acts_as_attachment si appoggia su un db. In
realtaà le immagini sono già presenti sul disco. Non voglio memorizzare
immagini su un campo BLOB.
Se non ti serve che l’utente possa fare l’upload delle immagini,
allora secondo me non ti serve usare un plugin. Altrimenti, invece di
usare act_as_attachment prova il plugin “file_column”. Io l’ho usato
per un mio sito e, con qualche colpo di martello qua e là
(Extreme Enthusiasm), funziona bene, e salva i file
nel file system. Ti fa anche le thumbnail in automatico.
Non uso ancora Rails (se non per fare i tutorial). jQuery l’ho usato con
python (mod_Python/Apach 2.2, per il template Cheetah e come db
Postgresql).
Mi sa che non sono all’altezza di Ruby on Rails. RMagick non ne vuole
sapere di funzionare ne su Linux (so che utilizzo sul server, distro
Debian etch) ne su Windows xp (sul quale ho provato per mera curiosità).
Come mai? Su Linux non ho mai avuto problemi a fare funzionare
ImageMagick. Perché non ci spieghi in che maniera fallisce di
preciso? Hai verificato che a monte dell’installazione di RMagick ci
sia un’installazione funzionante di ImageMagick? Tipo, hai provato il
comando convert per vedere se funziona bene? per esempio
convert -geometry 100x100 foo.png thumb.png
M
Sto seriamente perdendo colpi. Faccio veramente fatica a capire anche il
funzionamento di Ruby, anche le base, ad esempio come faccio ad
includere una libreria (ad esempio ActiveRecord)?
Per Matteo V…
L’upload da parte dell’utente potrebbe essere un funzione che potrei
implementare più avanti. Ho letto il codice, ma per quel poco che ci
capisco non viene creata la thumb dell’immagine, o sbaglio?
Leggi la doc di file_column. Puoi aggiungere opzioni per fargli creare
le
thumb, ma solo se hai RMagick correttamente installato.
Matteo V. wrote:
Come mai? Su Linux non ho mai avuto problemi a fare funzionare
ImageMagick. Perch� non ci spieghi in che maniera fallisce di
preciso? Hai verificato che a monte dell’installazione di RMagick ci
sia un’installazione funzionante di ImageMagick? Tipo, hai provato il
comando convert per vedere se funziona bene? per esempio
convert -geometry 100x100 foo.png thumb.png
Non l’ho provato.
Prova allora
M
Ieri ho fatto alcune prove e RMagick si incanta quando
provato funzione. Ma “img = Magick::Image.read(loaded_image)[0]” non va.
Ho provato sia con ImageMagick che con GraphicsMagick (che dovrebbe
essere la sorella minore). In entrambe i casi rimuovendo e reinstallando
RMagick cosi da ricompilare i sorgenti… Non so che pesci pigliare…
P.S. utilizzo una debian etch ma non uso RMagick fornito con la distro
(ho provato anche quello).
no no, ci siamo capiti :).
Ho eseguito il comando convert dalla riga di comando e ha fatto il suo
dovere (ho creato la thumb 100x100 di un’immagine jpg).
E’ solo RMagick che non ne vuole sapere…
Per Matteo V…
L’upload da parte dell’utente potrebbe essere un funzione che potrei
implementare più avanti. Ho letto il codice, ma per quel poco che ci
capisco non viene creata la thumb dell’immagine, o sbaglio?
Matteo V. wrote:
Come mai? Su Linux non ho mai avuto problemi a fare funzionare
ImageMagick. Perch� non ci spieghi in che maniera fallisce di
preciso? Hai verificato che a monte dell’installazione di RMagick ci
sia un’installazione funzionante di ImageMagick? Tipo, hai provato il
comando convert per vedere se funziona bene? per esempio
non ho utilizzato Imagmagick. Con questa libreria (in particolare con
libmagick9 installato) la load delle immagini si bloccava **
ho deinstallato Imagemagick e le varie librerie (libmagic*) facendo
attenzione a non rompere l’equilibrio delle dipendenze
ho installato graphicsmagick, graphicsmagick-imagemagick e
libgraphicsmagick*
Ho installato tramite gem installa RMagick
FUNZIONA.
** si bloccava anche se rimuovevo ImageMagick e installavo
graphicsmagick.
Nell’esempio che avevo recuperato c’è l’istruzione “.strip!” che non è
ancora implementata in graphicsmagick.
Certo un dubbio rimane: sono andato sul sito di graphicsmagick
(http://www.graphicsmagick.org/) e l’ultimo aggiornamento risale ad
ottobre 2005… e la versione di imagemagick da cui ha “preso spunto” è
la 5.5.2, mentre imagemagick ha superato quota 6.
La domanda è molto semplice: siamo certi che graphicsmagick sia un
software attivo? O c’è da aspettarsi che da un giorno all’altro non ci
siano più sviluppatori?
Grazie a tutti per gli ottimi consigli. Spero che questo mio post possa
servire ad altri programmatori ruby.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.