Forum: Italian Ruby user group rails dentro drupal, iframe embedding e javascript

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Chiaro S. (Guest)
on 2007-05-30 13:31
(Received via mailing list)
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
Chiaro S. (Guest)
on 2007-05-30 14:11
(Received via mailing list)
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.
Luca M. (Guest)
on 2007-05-30 15:00
(Received via mailing list)
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
--
Luca M. (Guest)
on 2007-05-30 15:02
(Received via mailing list)
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
   </VirtualHost>

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
--
Chiaro S. (Guest)
on 2007-05-30 17:19
(Received via mailing list)
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?
Giovanni I. (Guest)
on 2007-05-30 17:20
(Received via mailing list)
chiaro scuro ha scritto:

http://lighttpd.net ;)
Stefano G. (Guest)
on 2007-05-30 17:21
(Received via mailing list)
Chiaro S. (Guest)
on 2007-05-30 17:40
(Received via mailing list)
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?
Luca M. (Guest)
on 2007-05-30 18:05
(Received via mailing list)
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
   </VirtualHost>

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
--
Chiaro S. (Guest)
on 2007-05-30 20:35
(Received via mailing list)
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
>    </VirtualHost>



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?
David P. (Guest)
on 2007-05-30 21:14
(Received via mailing list)
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.
Chiaro S. (Guest)
on 2007-05-31 02:59
(Received via mailing list)
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 :-)
Domani compro un pollo e provo a sbatterlo contro il monitor.

proverò anche tutte le permutazioni di slash che mi suggerisce l'I-Ching..
Simone C. (Guest)
on 2007-05-31 13:31
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 <Porta> -c
<path
   applicazione ruby>
3) Nel file di configurazione di apache copia questo :

<VirtualHost *:80>
        DocumentRoot <path applicazione ruby>
        ServerName <nome sito web>
        ProxyRequests Off
        ProxyPass / http://<nome sito web>:<Porta>/
        ProxyPassReverse / http://<nome sito web>:<Porta>
        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           <path applicazione ruby>/public/images
        Alias /stylesheets      <path applicazione
ruby>/public/stylesheets
        Alias /javascripts      <path applicazione
ruby>/public/javascripts
        Alias /application      <path applicazione
ruby>/public/application
        ErrorLog /var/log/apache2/<nome sito web>-error_log
        CustomLog /var/log/apache2/<nome sito web>-access_log common
</VirtualHost>

4) Fai ripartire apache
5) 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 :-)
> Domani compro un pollo e provo a sbatterlo contro il monitor.
>
> prover� anche tutte le permutazioni di slash che mi suggerisce l'I-Ching..
Chiaro S. (Guest)
on 2007-05-31 13:43
(Received via mailing list)
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 <Porta> -c
> <path
>    applicazione ruby>
> 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
</VirtualHost>

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:
 <script src="rails/javascripts/prototype.js?1178804629"
type="text/javascript"></script>

ah, inoltre anche i post mi vanno sui controller sbagliati

idee? consigli?
Chiaro S. (Guest)
on 2007-05-31 14:59
(Received via mailing list)
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 <Porta> -c
> <path
>    applicazione ruby>
> 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

</VirtualHost>

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

<img src='/images/scheda.gif' style='float:right; '/>    <<<<<<<<<<<
questa
è OK
<h1>
    <img alt="" border="0" src="/rails/images/Bannerone.png?1180104630"
/>
<<<<<<<<<<<<<< questa scazza
</h1>

hai idea di come correggere?

grazie mille, --kia
Stefano G. (Guest)
on 2007-05-31 16:14
(Received via mailing list)
Come hai fatto agenerare link del tipo /rails/images/... ?

jeko
Stefano G. (Guest)
on 2007-05-31 16:17
(Received via mailing list)
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 ;-)

Bella

jeko
Chiaro S. (Guest)
on 2007-05-31 16:41
(Received via mailing list)
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
Stefano G. (Guest)
on 2007-05-31 16:51
(Received via mailing list)
Porcapaletta, e mettendo le immagini solo con image_tag? O magari
url_for... jek
Chiaro S. (Guest)
on 2007-05-31 16:59
(Received via mailing list)
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
Stefano G. (Guest)
on 2007-05-31 17:03
(Received via mailing list)
Li metti a mano o usi javascript_include_tag e stylesheet_link_tag?
Perché a rigor di logica questi ultimi dovrebbero essere corretti...

j
Chiaro S. (Guest)
on 2007-05-31 17:06
(Received via mailing list)
On 5/31/07, Stefano G. <removed_email_address@domain.invalid> wrote:
>
> Li metti a mano o usi javascript_include_tag e stylesheet_link_tag? Perché
> a rigor di logica questi ultimi dovrebbero essere corretti...
>
>
uso loro.. ma non sono corretti...
Simone C. (Guest)
on 2007-05-31 18:02
Ciao ChiaroScuro,
ti ringrazio per gli ottimi consigli li provo subito comunque
puoi provare a togliere l'impostazione da enviroment.rb
(ActionController::AbstractRequest.relative_url_root = '/rails') e
inserire il path competo nelle voci Alias?
Se non dovesse andare così prova a mettere il seguente codice e commenta
tutti gli Alias e i ProxyPass relativi a
Images,Stylesheets,javaScripts,Application:
ProxyPreserveHost on
applicazioni rails
RewriteEngine On
RewriteRule "^/(images|stylesheets|javascripts)/?(.*)" "$0" [L]
RewriteRule ^([^.]+)$ $1.htm [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* http://pippo:3000%{REQUEST_URI} [P,QSA]

Inoltre in più aggiungi i Deflats ovvero la compressione dei contenuti
lato server in modo da risparmiare banda.
Il server comprime i contenuti e il browser (ovviamente quelli vecchi
non la supportano) decomprime il tutto in modo da ottenere un sensibile
risparmio di banda.
Fammi sapere come va.
Ciao a presto.
Simone

Chiaro Scuro wrote:
> 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 <Porta> -c
>> <path
>>    applicazione ruby>
>> 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
>
> </VirtualHost>
>
> 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..
>
> <img src='/images/scheda.gif' style='float:right; '/>    <<<<<<<<<<<
> questa
> � OK
> <h1>
>     <img alt="" border="0" src="/rails/images/Bannerone.png?1180104630"
> />
> <<<<<<<<<<<<<< questa scazza
> </h1>
>
> hai idea di come correggere?
>
> grazie mille, --kia
Simone C. (Guest)
on 2007-05-31 19:53
Grazie Jek,
anch'io sono contento di essere quì e devo dire che mi sono sentito
subito a mio agio nella mailing list.
Quì è fantastico perchè ognuno di noi scambia informazioni utili con gli
altri senza segreti perchè siamo una fratellanza.

Ciao grandeee!!!
Simone



Stefano G. wrote:
> 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 ;-)
>
> Bella
>
> jeko
Chiaro S. (Guest)
on 2007-06-01 13:50
(Received via mailing list)
Ho finalmente trovato una soluzione che funziona. Non sarà bella
(aiutatemi
a migliorarla) ma funziona!

l'app rails viene avviata con l'opzione in config:
ActionController::AbstractRequest.relative_url_root = '/rails'

e  il server apache su cui gira drupal viene ritoccato con questa entry:

<VirtualHost *:80>
  ServerName pippo
  ProxyRequests off

  #redirige robba dinamica
  ProxyPass /rails http://pippo:3000
  ProxyPassReverse /rails http://pippo:3000

  ProxyPreserveHost on

  #redirige robba statica
  ProxyPass /images http://pippo:3000/images
  ProxyPass /javascripts http://pippo:3000/javascripts
  ProxyPass /stylesheets http://pippo:3000/stylesheets

  # ma serviranno? boh.. io non li tolgo
  SetEnv force-proxy-request-1.0 1
  SetEnv proxy-nokeepalive 1

</VirtualHost>


ora dupal si trova sotto http://pippo/drupal e rails sotto
http://pippo/rails
ora posso embeddare rails in un iframe di drupal e accedervi via js
perchè
appaiono entrambi sotto lo stesso dominio e la stessa porta, condizione
essenziale per poter fare accessi cross-frame.

a breve articolizzo tutto su trm!

grazie grazie grazie a tutti per il vostro tempo e i consigli

-Kia
Stefano G. (Guest)
on 2007-06-01 15:36
(Received via mailing list)
Come direbbe simone

MI-TO-LO-GI-CO!

Bella kia!

jek
This topic is locked and can not be replied to.