[Grok-dev] Newbie question: adding static document at site root?
Uli Fouquet
uli at gnufix.de
Tue Sep 23 19:58:03 EDT 2008
Hi there,
Pete Hunt wrote:
> I'm developing a Flash/Flex application which communicates with Grok
> via AMF. The problem is, in order for the security to work, I need to
> add a crossdomain.xml file to the site root
> (http://host/crossdomain.xml). Unfortunately, I can only create views
> off of my application's path (http://host/myapp/blah), and I can't for
> the life of me figure out how to add a static file via the ZMI to the
> site root.
Michael told you already how to add a File-object to the root folder
using the ZMI. There are, however, also some non-ZMI ways available.
You could register a file in your `configure.zcml` like this::
<configure
...
<browser:resource
file="somedir/foo.xml"
name="crossdomain.xml" />
</configure>
which would make the file `foo.xml` located in the `somedir` directory
of your package available under the name `crossdomain.xml`.
The URLs
http://<host>/@@/crossdomain.xml
or
http://<host>/++resource++crossdomain.xml
would then deliver foo.xml with the correct filetype etc.
Another, 'dirtier', approach would be to define a new view on root
folders in your Grok application like this::
from zope.app.folder.interfaces import IRootFolder
import grok
class Crossdomain(grok.View):
grok.context(IRootFolder)
grok.name('crossdomain.xml')
def render(self):
self.response.setHeader('Content-Type',
'text/xml; charset=UTF-8')
return "<doc>Some XML</doc>"
Here you could get the file contents like this::
http://<host>/crossdomain.xml
which is the short form for
http://<host>/@@crossdomain.xml
Given you have no object named 'crossdomain.xml' in your root folder,
the short form would return your view, i.e. your XML content. Hm, there
are even more approaches, but that may help for now.
Best regards,
--
Uli
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
Url : http://mail.zope.org/pipermail/grok-dev/attachments/20080924/9c1a2861/attachment.bin
More information about the Grok-dev
mailing list