Hi, Alex

I'm including *.css and *.png by simply using link rel, like this:

    <link rel="stylesheet" type="text/css"
href="/assets/anjlab/cubics/css/cube.css" />

cube.css located here:

ping-service\war\WEB-INF\lib\cubics-renders-1.0.1.jar\anjlab\cubics\css\cube.css

I also set up regexAuthorizer:

    public void contributeRegexAuthorizer(Configuration<String> regex)
    {
        String pathPattern =
"([^/.]+/)*[^/.]+\\.((css)|(js)|(jpg)|(jpeg)|(png)|(gif))$";
        regex.add("^anjlab/cubics/css/" + pathPattern);
        regex.add("^anjlab/cubics/images/" + pathPattern);
        regex.add("^anjlab/cubics/js/" + pathPattern);
        regex.add("^anjlab/cubics/js/jquery-1.3.2.js");
    }

I can't say I have any problems with this.
At least right now in my error list at GAE Admin console I don't have any
assets related issues.

I have only one page actively using *.css, *.js, etc., here's the
declarations:

<head>
    <title>Job Analytics - Ping Service</title>
    <link rel="stylesheet" type="text/css" href="/css/all.css" />
    <link rel="icon" type="image/png" href="/favicon.png" />
    <link rel="stylesheet" type="text/css"
href="/assets/anjlab/cubics/css/cube.css" />
    <link rel="stylesheet" type="text/css" href="/css/analytics.css" />
    <script type="text/javascript"
src="/assets/anjlab/cubics/js/jquery-1.3.2.js"></script>
    <script type="text/javascript"
src="/assets/anjlab/cubics/js/cube.js"></script>
    <!--[if IE]><script language="javascript" type="text/javascript"
src="excanvas.min.js"></script><![endif]-->
    <script type="text/javascript" src="/js/jquery.flot.js"></script>
    <script type="text/javascript" src="/js/jquery.flot.pie.js"></script>
    <script type="text/javascript" src="/js/analytics.js"></script>
</head>

p.s.
One issue I have though is '/favicon.ico' problem :)

On Tue, Apr 13, 2010 at 17:20, Alex Kotchnev <akoch...@gmail.com> wrote:

> Daniel,
>   I do try to watch out for T5/GAE related posts on this list and try to
> respond to the best of my ability. I would blog about this more if I
> weren't
> as swamped with things to do.
>
>   I would be interested in hearing from other folks (e.g. Dmitry) that have
> deployed on GAE - in previous questions relating to this issue, folks had
> mentioned that they don't have a problem w/ this, which makes me think that
> I might have something configured incorrectly (although I'm not doing
> special  here, other than having a few images loaded from the stylesheet).
> I
> do use the AssetAuthorizer (that was eventually added to 5.2) and that's
> another possible failure point (e.g. if for whatever reason, the
> authorization fails in some cases and denies access).
>
>   On the other hand, serving these assets as static content has dropped my
> CPU usage - I had an cron job watching the site and keeping it warm (so
> that
> GAE doesn't swap it out), which was using up about 40% of the free CPU
> quota
> - so far, the CPU usage should be about 20% lower.
>
> Regards,
>
> Alex Kotchnev
>
> On Tue, Apr 13, 2010 at 3:44 AM, Daniel Henze <dhe...@googlemail.com>
> wrote:
>
> > Hi Alex,
> >
> > thanks for that follow-up post. Since I'm going to develop with T5 on GAE
> > as well, this will be in the back of my head as a potential cave-at. I'll
> be
> > interested in any further findings regarding GAE since it seems that
> > Tapestry is better tailored towards this particular platform (compared to
> > Wicket).
> >
> > Best regards
> > Daniel
> >
> > Am 13.04.2010 06:23, schrieb Alex Kotchnev:
> >
> >  I spent some more time looking at this and I ended up removing the usage
> >> of
> >> the ${asset:context:css/foobar.css} from the main templates. After doing
> >> so,
> >> all of the issues related to the stylesheet (and the sub-stylesheets and
> >> images that it loads) were cleared up - now, the stylesheets load
> properly
> >> every time when they're not loaded through the asset service.
> >>
> >> I first thought that this might be an issue w/ how GAE handles static
> >> files
> >> - supposedly, all files in the web context are handled specially ( w/
> the
> >> exception of JSPs of course, but that's not relevant in T5), probably
> >> served
> >> up from outside of Jetty (which is what runs the app in GAE) and there
> >> might
> >> be something that is weird in GAE giving access to those static assets.
> >> However, after I switched to just using the raw path to the css (w/o
> using
> >> the asset:context binding prefixes), I continued having the same
> >> intermittent access issues for assets that are served from a component.
> >> Which on its own indicates that the issue is somewhere between the Asset
> >> service (which I haven't looked at the source code for yet) and the way
> it
> >> uses the servlet API and/or the filesystem to serve the assets that it's
> >> asked for.
> >>
> >> I haven't moved all my css / image serving out of the asset service - it
> >> has
> >> some cool ideas in terms of being able to package the app. However,
> >> considering that I'm dealing w/ a fairly simple app, and despite that I
> >> like
> >> the ideas behind the asset service, I'll probably move off of it - I do
> >> recall seeing some mentions of an alternative binding prefix to serve
> the
> >> assets in question from a CDN ; however, considering that the google
> >> static
> >> file serving infrastructure is probably as good as serving from a CDN,
> >> I'll
> >> probably just stick to static files.
> >>
> >> Anyway, I thought this might be useful to someone else that might run
> into
> >> issues with the Asset service and GAE. It would be interesting to look
> at
> >> the asset service implementation and see if there is an issue to be
> filed
> >> w/
> >> GAE re: accessing resources (classpath and web context).
> >>
> >> Regards,
> >>
> >> Alex K
> >>
> >> On Mon, Apr 12, 2010 at 1:27 PM, akochnev_chub<akoch...@commercehub.com
> >> >wrote:
> >>
> >>
> >>
> >>> I've been running into some issues w/ the asset service, in that at
> times
> >>> it
> >>> responds to service requests with 404s. After "warming up" the app by
> >>> reloading the pages in question a few times, the asset service
> eventually
> >>> responds w/ the assets. However, this results in a very unreliable
> >>> rendering
> >>> of the pages  - at times (if the app happens to be "warm"), the pages
> >>> render
> >>> just fine; at other times, I have to reload them a few times before
> >>> getting
> >>> to proper rendering. Below  are some more details on the issue, any
> >>> suggestions on how to deal w/ it would be highly appreciated.
> >>>
> >>>
> >>> There is a pretty good chance that this might be an issue w/ the
> >>> underlying
> >>> platform (GAE), and the way it chooses to swap the application in and
> >>> out;
> >>> however, if that were the case, I would have expected more of the
> >>> requests
> >>> to fail instead of the page content rendering fine and then the assets
> >>> not
> >>> returning in time.
> >>>
> >>> I think the issue is partially aggravated by the fact that I load the
> >>> main
> >>> stylesheet as a context asset (asset:context:/css/foo.css or something
> >>> similar), instead of just using the "naked" (e.g. /css/foo.css w/o a
> >>> context: prefix) path to the css in the layout; as a result, all of the
> >>> "other" css (using yaml for layout) and the images referenced by the
> main
> >>> css depend on the asset service (e.g.
> >>>
> >>>
> >>>
> http://zadachite-dev.appspot.com/assets/ctx/91328db67ddf7725/images/layout_v2/footer.jpg
> >>> )
> >>> instead of just being loaded as static files. I was thinking that
> >>> switching
> >>> the reference to the main stylesheet to not be a context: reference and
> >>> marking the web app context resources as static (in the GAE web config
> >>> file)
> >>> might resolve the issue.
> >>>
> >>> So, here's an example :
> >>> 1. go to http://zadachite-dev.appspot.com (this is the "dev" version
> >>> which
> >>> is unlikely to be warm right now)
> >>>
> >>> 2. Upon the initial loading of the pages, some of the graphics (more or
> >>> less
> >>> randomly) or stylesheets don't return as they get 404s:
> >>>
> >>> <html><head>
> >>> <meta http-equiv="content-type" content="text/html;charset=utf-8">
> >>> <title>404 Unable to locate asset
> >>> 'classpath:ctx/91328db67ddf7725/yaml/core/base.css' (the file does not
> >>> exist).</title>
> >>> </head>
> >>> <body text=#000000 bgcolor=#ffffff>
> >>> <h1>Error: Unable to locate asset
> >>> 'classpath:ctx/91328db67ddf7725/yaml/core/base.css' (the file does not
> >>> exist).</h1>
> >>> </body></html>
> >>>
> >>>
> >>> or for images, it's a straight 404 w/o any further response.
> >>>
> >>> 3. Browse to some of the other pages of the site - one by one, the
> >>> "missing"
> >>> assets start showing up one by one and eventually the layout renders
> >>> correctly. After the app is "warmed up" now, even if you refresh the
> page
> >>> including the initially cached assets, they load fine.
> >>> --
> >>> View this message in context:
> >>>
> >>>
> http://old.nabble.com/Asset-service-issues-in-GAE-tp28219164p28219164.html
> >>> Sent from the Tapestry - User mailing list archive at Nabble.com.
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >>> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>>
> >>>
> >>>
> >>>
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
>



-- 
Dmitry Gusev

AnjLab Team
http://anjlab.com

Reply via email to