Rails dentro drupal, iframe embedding e javascript


#1

In una mail di alcuni giorni fa chiedevo come fare autoresizing di un
iframe
contente rails all’interno di drupal e in diverse persone mi hanno
mandato
del codice javascript per farlo.

il problema è che quando prendo un handle all’iframe e poi vado a
ispezionare i field del document contenuto nell’iframe… non ottengo
nulla…
eppure usando firebug quei field li vedo! ma dalla console di firebug
non
riesco comunque a estrarne il valore.

è un qualche sistema che cerca di proteggere i contenuti dell’iframe? i
due
siti (rails e drupal) stanno sulla stessa macchina. porte diverse.

avete qualche idea?

-k


#2

On 5/30/07, chiaro scuro removed_email_address@domain.invalid wrote:

il problema è che quando prendo un handle all’iframe e poi vado a
ispezionare i field del document contenuto nell’iframe… non ottengo nulla…

eppure usando firebug quei field li vedo! ma dalla console di firebug non
riesco comunque a estrarne il valore.

è un qualche sistema che cerca di proteggere i contenuti dell’iframe? i
due siti (rails e drupal) stanno sulla stessa macchina. porte diverse.

ach… credo che il problema sia che il documento embeddato è preso su una
porta diversa. mi sapete dire come posso mascherare le cose in modo che
risulti la stessa url, stessa porta e che non sputtani il routing di
rails?
al momento ho un apache che fa girare drupal e rails sotto mongrel su
una
porta differente.

ps: non capisco nulla di queste cose. usate parole semplici.


#3

chiaro scuro wrote:

ach… credo che il problema sia che il documento embeddato è preso su una
porta diversa. mi sapete dire come posso mascherare le cose in modo che
risulti la stessa url, stessa porta e che non sputtani il routing di rails?
al momento ho un apache che fa girare drupal e rails sotto mongrel su
una
porta differente.

Allora la cosa che puoi fare e’ usare apache “di fronte” a mongrel. Puoi
usare lo stesso apache su cui gira drupal.

trovi delle istruzioni dettagliate qui:

http://mongrel.rubyforge.org/docs/apache.html

devi usare una conf tipo:

Web: http://spazidigitali.com - http://thetyper.com
Email mailto://removed_email_address@domain.invalid
Skype callto://l.mearelli


#4

dicevo devi usare una conf tipo
<VirtualHost *:80>
ServerName myapp.com
ServerAlias www.myapp.com

 ProxyPass / http://www.myapp.com:8000/
 ProxyPassReverse / http://www.myapp.com:8000
 ProxyPreserveHost on

dove invece che fre proxypass di tutto il sito (ProxyPass / …)
lo fai solo per il tuo controller ProxyPass /controller
http://www.myapp.com:8000/controller

ciao,
Luca

Web: http://spazidigitali.com - http://thetyper.com
Email mailto://removed_email_address@domain.invalid
Skype callto://l.mearelli


#5

chiaro scuro ha scritto:

http://lighttpd.net :wink:


#6

On 5/30/07, Luca M. removed_email_address@domain.invalid wrote:

dicevo devi usare una conf tipo
<VirtualHost *:80>
ServerName myapp.com
ServerAlias www.myapp.com

se una scimmia ti chiedesse come imparare le basi della configurazione
di
apache, che link gli daresti?


#7

http://mongrel.rubyforge.org/docs/apache.html


#8

On 5/30/07, Stefano G. removed_email_address@domain.invalid wrote:

http://mongrel.rubyforge.org/docs/apache.html

proprio non riesco. vi chiedo un pò d’aiuto.

mettete che quando scrivete pippero.com/railsapp volete andare su
pippero.com:3000/ ma che vogliate preservare che con pippero.com/drupal
si
vada su pippero.com:80/drupal

come posso esprimere questo?


#9

On 5/30/07, Luca M. removed_email_address@domain.invalid wrote:

<VirtualHost *:80>
ServerName pippero.com
ServerAlias www.pippero.com

 ProxyPass /railsapp http://www.pippero.com:3000/
 ProxyPassReverse /railsapp http://www.pippero.com:3000
 ProxyPreserveHost on

ActionController::AbstractRequest.relative_url_root = ‘/railsapp’

Ci sono quasi… ho anche settato la relative url… e ho messo il
routing a
un mio controller per “”
La prima pagina viene caricata no problem, ma per tutte le altre il
controller viene chiamato con uno / in più all’inizio. Ho giocato togliendo
lo slash dalla relative url o mettendoli e togliendoli sui ProxyPass ma
non
sono riuscito a togliere il malefico // che viene passato a rails.

any idea?


#10

chiaro scuro wrote:

On 5/30/07, Stefano G. removed_email_address@domain.invalid wrote:
mettete che quando scrivete pippero.com/railsapp volete andare su
pippero.com:3000/ ma che vogliate preservare che con pippero.com/drupal si
vada su pippero.com:80/drupal

<VirtualHost *:80>
ServerName pippero.com
ServerAlias www.pippero.com

 ProxyPass /railsapp http://www.pippero.com:3000/
 ProxyPassReverse /railsapp http://www.pippero.com:3000
 ProxyPreserveHost on

Queste istruzioni dicono ad apache di:

  1. per il virtual host di default
  2. che ha per nome pippero.com o www.pippero.com
  3. di mappare le richieste a /railsapp verso
    http://www.pippero.com:3000/
  4. di sostituire http://www.pippero.com:3000 con /railsapp nell’header
    HTTP (per evitare che le redirect non funzionino)
  5. di preservare l’hostname

dovrebbe essere sufficiente (non testato eh…), non sono sicuro se in
rails tu debba poi indicare che l’url pubblica e’ /railsapp usando
ActionController::AbstractRequest.relative_url_root

HTH
Luca

Web: http://spazidigitali.com - http://thetyper.com
Email mailto://removed_email_address@domain.invalid
Skype callto://l.mearelli


#11

On 5/30/07, David P. removed_email_address@domain.invalid wrote:

Di sicuro è necessario che il tuo Apache abbia una giornata buona perché
vada e a volte è depresso. Ballagli davanti per un po’ e forse gli
passa. O forse no.

Stavo per dirvelo… pare magia nera :slight_smile:
Domani compro un pollo e provo a sbatterlo contro il monitor.

proverò anche tutte le permutazioni di slash che mi suggerisce l’I-Ching…


#12

Ciao,
ti passo la configurazione che uso io :

  1. Prima di tutto devi aver installato mongrel
  2. dopodichè digita : mongrel_rails start -d -e production -p -c
  3. Nel file di configurazione di apache copia questo :

<VirtualHost *:80>
DocumentRoot
ServerName
ProxyRequests Off
ProxyPass / http://:/
ProxyPassReverse / http://:
ProxyPreserveHost on
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass /application !
## Risolvo il Bug Apache sul mod_proxy #39499 e #37770
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
Alias /images /public/images
Alias /stylesheets /public/stylesheets
Alias /javascripts /public/javascripts
Alias /application /public/application
ErrorLog /var/log/apache2/-error_log
CustomLog /var/log/apache2/-access_log common

  1. Fai ripartire apache
  2. Enjoy

Spero ti sia stata utile.

Ciao
Simone C.
Chiaro Scuro wrote:

On 5/30/07, David P. removed_email_address@domain.invalid wrote:

Di sicuro � necessario che il tuo Apache abbia una giornata buona perch�
vada e a volte � depresso. Ballagli davanti per un po’ e forse gli
passa. O forse no.

Stavo per dirvelo… pare magia nera :slight_smile:
Domani compro un pollo e provo a sbatterlo contro il monitor.

prover� anche tutte le permutazioni di slash che mi suggerisce l’I-Ching…


#13

On 5/31/07, Simone C. removed_email_address@domain.invalid wrote:

Ciao,
ti passo la configurazione che uso io :

  1. Prima di tutto devi aver installato mongrel
  2. dopodichè digita : mongrel_rails start -d -e production -p -c
  3. Nel file di configurazione di apache copia questo :

ah, stavo giusto per scrivere lamentandomi dei miei fallimenti delle
ultime
ore… ma prima proverò anche la tua configurazione…

anzi dai le mie disgrazie ve le racconto lo stesso, che magari qualcuno
mi
spiega cosa non va e impariamo tutti qualcosa.

al momento sto usando questa configurazione:

<VirtualHost *:80>
ServerName pippo
ProxyRequests off
ProxyPass /rails http://pippo:3000
ProxyPassReverse /rails http://pippo:3003
ProxyPreserveHost off

ActionController::AbstractRequest.relative_url_root = ‘rails’

le pagine le carica ma le immagini e i css no… la loro url viene
sputtanata
come segue:
/miocontroller/show/rails/images/Bannerone.png

anche il caricamento di javascript va a ramengo:

ah, inoltre anche i post mi vanno sui controller sbagliati

idee? consigli?


#14

Credo… Credo… Una terza volta: credo… che devi aggiungere uno
slash al proxypass.
Così:
ProxyPass /railsapp/ http://www.pippero.com:3000/

Oppure toglierlo sia prima che dopo:

ProxyPass /railsapp http://www.pippero.com:3000

Può darsi che vada fatto anche per il proxypassreverse.

Di sicuro è necessario che il tuo Apache abbia una giornata buona perché
vada e a volte è depresso. Ballagli davanti per un po’ e forse gli
passa. O forse no.


#15

On 5/31/07, Simone C. removed_email_address@domain.invalid wrote:

Ciao,
ti passo la configurazione che uso io :

  1. Prima di tutto devi aver installato mongrel
  2. dopodichè digita : mongrel_rails start -d -e production -p -c
  3. Nel file di configurazione di apache copia questo :

Simone, ho provato la tua soluzione e ho ottenuto risultati in parte
buoni
in parte non.

allora, intanto ho lanciato mongrel usando script/server --port=3000 che
dovrebbe essere la stessa cosa.

poi ho settato apache
così:
<VirtualHost *:80>
DocumentRoot /rails
ServerName pippo
ProxyRequests off
ProxyPass / http://pippo:3000/
ProxyPassReverse / http://pippo:3000
ProxyPreserveHost on

ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass /application !

SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1

Alias /images /rails/public/images
Alias /stylesheets /rails/public/stylesheets
Alias /javascripts /rails/public/javascripts
Alias /application /rails/public/application

in environment.rb ho docuto aggiungere la seguente:
ActionController::AbstractRequest.relative_url_root = ‘/rails’

ora… va tutto tranne:

  • ajax, javascript, alcune immagini

ovvero… mi saltano i caricamenti al materiale statico… incluso js

alcune delle url generate da rails vanno bene (quelle fatte con
image_tag
penso), altre no…

<<<<<<<<<<<
questa
è OK

<<<<<<<<<<<<<< questa scazza

hai idea di come correggere?

grazie mille, --kia


#16

Simone benvenuto nella mailing list!

Sono contento che ci abbia raggiunti: Simone è il sistemista interact
stressato da me personalmente per quanto riguarda il supporto
sistemistico su ROR :wink:

Bella

jeko


#17

Come hai fatto agenerare link del tipo /rails/images/… ?

jeko


#18

semplicemente scrivendo <img src=’/images/…’
la direttiva relative_url_root mi mette /rails davanti a tutto. va
benissimo
per la arte dinamica, ma mi salta per quella statica.

On 5/31/07, Stefano G. removed_email_address@domain.invalid wrote:

Subject: Re: [ruby-it] Re: Re: rails dentro drupal,iframe embedding e

applicazione ruby>
<VirtualHost *:80>
ProxyPass /application !


Ml mailing list
removed_email_address@domain.invalid
http://lists.ruby-it.org/mailman/listinfo/ml


Ml mailing list
removed_email_address@domain.invalid
http://lists.ruby-it.org/mailman/listinfo/ml


– Kia

therubymine.com | be a miner


#19

Porcapaletta, e mettendo le immagini solo con image_tag? O magari
url_for… jek


#20

eh, ma gli stylesheet ad esempio come me li risolve? e le librerie
javascript?

On 5/31/07, Stefano G. removed_email_address@domain.invalid wrote:

javascript

jeko
On 5/31/07, Simone C. removed_email_address@domain.invalid wrote:

ProxyRequests off
SetEnv proxy-nokeepalive 1

è OK
removed_email_address@domain.invalid
– Kia


– Kia

therubymine.com | be a miner