Can you cite an example metric of the SEO penalty you're experiencing?
For more than a 18mo now, if you use Google Webmaster Tools
https://www.google.com/webmasters/tools/home?hl=en and Fetch as Google,
you'll see your fully rendered GWT page with the async content loaded and
displayed. Given
RequestBuilder will return you the text of the response body. If, as you
say, A.jsp generates it's content via GWT, then you'll not find the
elements of interest. GWT is a client side JS technology. The content for
A.jsp will not be rendered, you'll only be getting the raw HTML created by
Magnus,
Since you want the image cached, but not cached, and to always have the
same URL, you're got very contradictory requirements.
Have you considered passing state to your app at startup with information
like the proper image URL to use and then dynamically setting it that way?
Then you
Same way you'd do it in JS; start a timer, request a resource with a
callback to stop the timer. Benchmark against various connections and
create your heuristics. Set a timeout as well, so if it's really slow,
there is no need to wait for it to return. Obviously you'd want to make
sure unique
I thought that Ray's reply on HN might interest folks. Some nice details
about Google's use of GWT.
https://news.ycombinator.com/item?id=8552434
-Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop
Check them out:
- mGWT
- GWTP with different device bindings (mobile/tablet/desktop)
-J
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
Have you tried using a timer within the Cell? You're going to need a timer
somewhere to achieve this.
-Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
Endi,
Looks neat and very professional! Your server in Istanbul is very slow
though. However, I noticed you've got some resources on Amazon S3.
You can serve the entire app from S3 and thus via CloudFront, which will
give worldwide players a great experience. It takes a little work, but we
Endi,
My apologies. I mean that you can allow S3/Cloudfront to serve all static
resources (html/js/img/tile/sound) so that your servers don't have to carry
this load. Given that GWT makes all of the UI into static resources, this
means your entire UI needs no dedicated machines. Since
Checkout the 174 posts
https://groups.google.com/forum/?fromgroups#!searchin/google-web-toolkit/crawl
about GWT and crawlers.
Also make sure that you can fetch the explicit page and see it rendered
correctly from the Google Webmasters Tools page for your site. I'd bet your
rewrite rules are
Error messages? Traces?
FWIW, code splitting in GWT-P has always worked 100% for me in DM and SDM.
-Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
I meant any errors in the browser. Usually you'll get at least something
the dev JS console. If not, you can compile in pretty mode and step through
your .nocache bootstrap JS file and see how far it gets through there
before failing, since you're not seeing it get to your entry point.
In
Don't depend on resources in the *public/* directory. Use resource bundles
and all downstream consumers of your library won't have a problem with
resources. They will just flow right through.
Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit
Thomas,
Have you tried looking at the PRETTY print version of this code to see
exactly what output JS is causing the problem in IE10?
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails
Create another .gwt.xml file that extends your base (testing) .gwt.xml
file. Override the property there. Now you're got a testing app you can
build for testing and a prod app you can deploy.
-Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit
This is not a GWT problem, but basic math. You've already computed the age
in milliseconds. Years are quite arbitrary in the West, so you'll need to
account for all those leap years, leap seconds, and edge cases.
You should use Joda Time. GWT *does support Joda Time You've already
calculated
Thanks Thomas. Google Groups ate it.
http://stackoverflow.com/questions/10311754/date-time-library-for-gwt
- Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an
Try using the Maven plugin, should be able to feed it any remote server
parameters you need:
mvn gwt:run-codeserver, and just pass the needed ports and hosts
http://mojo.codehaus.org/gwt-maven-plugin/run-codeserver-mojo.html.
Joe
--
You received this message because you are subscribed to
Neat implementation. I do fancy skipping all of the eventing boilerplate.
It does feel weird, however, having to cancel an event's propagation not by
an eventObj.cancelPropagation(), but via bus.cancelCurrentEvent(). I
suspect this would not work in a multithreaded environment outside of JS.
There are various ways to place links in UiBinder based UI's. The most
basic of these is to simply generate the UI and set the href property of
your target element. Static URL's can be directly inserted in the XML using
ui:with ... / as covered in the documentation
Just about any host. Nothing special needed for GWT. If you're using a Java
backend, then you'll need a host that can support a war/ear deployment or
get your own VPS. I usually use AWS, but you could do Digital Ocean or
DreamHost too. Just Google for hosting.
Joe
--
You received this
Anything client side can be compromised by spammers, so implement some
server side CAPTCHA or equivalent.
Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email
Curious, is there a way to enable compiler logging to note just how many
types you're RPC serializers are being compiled to handle? I think that
might provide clarity into these blackbox situations and draw attention to
the RPC type explosion problem from folks that would otherwise miss it.
As Thomas points out, you can test your tokenizers and mappers in JUnit.
Testing any higher level orchestration between them is more of an
integration test. I leave these to some basic Selenium smoke tests that
ensure that navigation between states works correctly.
Joe
--
You received this
Thanks for your efforts. Clearly you've been working on this for some time.
I'm curious what this framework does beyond the existing Spring annotation
driven integration with RPC. Using SpringGwtRemoteServiceServlet
Good points nestorjb, but I wanted to embellish a few:
2.- Because it behaves like a desktop app, when you test, you have to test
from the first page which leads to long testing cycles.
If you use a Places/Activities pattern, such as in GWTP (GWT Platform),
then you'll have page state
Amen Jens. If you're going to be a web developer, you'll need to know about
the web. GWT doesn't hide you from JS/CSS/HTML/HTTP entirely, it just makes
them work well with Java and Java patterns in a highly optimized way.
Sadly, many a manager I've championed about GWT don't want to hire expert
we would need to create some kind of redirection between # and not # urls if
users want to share urls.
That's the problem. The # and everything after it are not sent to the server.
It's only on the browser. So you can't redirect based on the octothorpe.
The only way to do things then would
But couldn't you fall forward in that case? In the no cache bootloader you see
that you've got pushState support, but a hash in the URL, so you do the reverse
and forward to the non-hash version of the URL and then load the pushState
permutation?
OR
You could do like GitHub does with their
Most browsers can scrape sites, even with the hash bang. You just need to
follow GWT best practices. No hashbang browsing could be possible, perhaps
with the HTML5 PushState API, but your app will only work on the most
recent browsers.
See
Jens beat me to the reply, so I'll just answer one of the questions:
how to update the app when either client side or server side code changes
are made. Joe says to cycle tomcat...what does that mean?
Just CNTRL-C to kill the tomcat and then run *mvn tomcat7:run-war* to
recompile and
Tim,
You might find the *Tomcat Maven Plugin* quite useful along with the
*Maven **GWT Plugin*. I don't know why you need to launch from Eclipse, but
you might find the command line just as useful. I've known people that live
by Eclipse to launch TC because of the configs they've saved to
I've been using a HistoryStack implementation attached to
History.addValueChangeListener() in my app. This works well, but it's not
truly a stack of Places.
If it were a true history stack, when a user hit back, then I'd pop off
that Place and it would no longer be on the stack. However,
Thanks Thomas.
I do embrace the web! The irony is simply that the browser has such a state
stack that we're free to see in the History list (forward/back), but it
stuck me as odd that the client code cannot reliably divine it. Obviously
page are meant to be stateless beyond their serialized
Use the Chrome DOM inspector to see just how many click listeners are
attached.
Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
Also wrote a bunch of map animations in SVG back in 2011. Used SMIL to
markup the animations and movements of viewports. Worked out quite well in
FF at the time, but IE was terrible. Chrome worked well, but there were a
number of SMIL methods that Chrome either didn't implement or did so
RPC utilizes class version specific compiled serialization policies. Any
modification to a DTO will cause failure if said DTO us used with a
non-compatible serializer. Thus the client and server code is coupled to a
given compile. Use of mismatched pairs will cause serialization failure.
There are many threads on this common topic. The most recent
https://groups.google.com/forum/?fromgroups=#!searchin/google-web-toolkit/devmode$20firefox/google-web-toolkit/QSEjbhhHB4g/aGH-6zhNiHgJ
.
We should add an EOL message to the Developer Mode page
Make sure you've got a plan for forcing mobile users to update their app
when you make new releases. Remember that RPC will break on the next
release. If you don't have a graceful means to fail up for users, they will
not have a good experience.
Since you're not MVP, now might be a good time
Bunk and bunk. It reminds me of when some Javascript Engineer consultants
sent out an email crapping all over GWT several years ago at a major global
bank I worked for that used GWT as their standard UI toolkit. They cited a
whole bushel of straw man and red herring arguments while only
There are many ways to contact a server in GWT. See the communications page
and async callback information:
http://www.gwtproject.org/doc/latest/DevGuideServerCommunication.html
Sincerely,
Joseph
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit
If that works for you. Personally, I expected idempotency in builds.
Sincerely,
Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
- Orkut.com
- bombermine.com
- aws.amazon.com - login and most dashboards are GWT (i.e. EC2)
- cyclingthealps.com
- gwtbootstrap.github.io
- wikiroutes.info/en
Sincerely,
Joseph
--
You received this message because you are subscribed to the Google Groups
Google Web
Thanks for the reply Thomas.
You're right, working with Anchor widgets rather than raw anchor tags does
not throw the warning as shown below.
ui:with field='extUrl' type='com.example.client.resources.ExternalUrls' /
...g:Anchor target=_blank href={extUrl.exampleFacebookPage}Follow us on
@Michael, welcome the the Chicken and the Egg problem.
In order to build the build number (I'm assuming you mean rev number from
git/svn), you've first got to commit that code. Then, you've got be build
it, but the code never had the commit number in it, since it could not be
known pre-commit.
Since the example supplied by Thomas does not quite work as written, I've
included the working code segment below:
In the UiBinder xml file:
ui:with field='mktRsc' type='com.example.i18n.MarketingResources' /
!-- Work around to insert SAFE URL's from messages --ui:with
field=facebookUrl
Curious if anyone knows how to create a resource bundle or message
interface to return URI's.
For my site, I have a set of ClientBundles and i18n message interfaces used
to generate different version of the product. I also have some external
URL's that are part of this customization. I
If you're irked, you can let the Chrome Team know on their NPAPI thread
https://groups.google.com/a/chromium.org/forum/#!msg/chromium-dev/xEbgvWE7wMk/D_07G2lftacJ.
It seems there have been a lot of people impacted, not just GWT users.
I also threw the above steps up online
I misspoke, *Fetch As Google *will show you the HTML and request headers,
what I was thinking of was *Labs Instant Previews*
In the example below you can see the rendered subpage of the site that is
totally AJAX driven:
Michael,
I know you said PayPal, but I'd offer that GWT
Stripehttps://github.com/ArcBees/gwt-stripehas been working pretty well for
me. The nice thing about Stripe it is that
it's completely transparent to the end user, so it looks like you're
handling the payment processing, and you don't
Zied,
GWT is not JSP. In JSP you're rendering tiles/facets/pages on demand, so it
makes sense to add authorization restrictions directly into the tags.
However GWT code is compiled down before runtime, so there is no
foreknowledge of whether a user will meet the needed security roles at that
Vendor scanners routinely complain about this href call, but such pattern
matching scanners lack the context of the other XSS mitigation protects put
in place by GWT. It pops up at lease yearly here. Use the tool properly and
you'll be fine.
Tom,
To assuage your healthy skepticism, get a Googlw Webmaster Tools account,
add your site, and then use the* Crawl Fetch as Google option*. I am able
to feed it my GWT home page and sub pages (based on history tokens in the
URL) and the returned page is the page as expected, filled with
Zied,
My apologies that my post was less than cogent. From you example, I thought
you wanted some compile time enforcement of roles. Given your example
UiBinder XML attribute: *visible={roles.admin} *, that would imply
foreknowledge of the roles at compile time given that *with* pulls in
FWIW, I've had Google crawling my GWTP based sites without a problem, and
I've added no such servlet. I think they've figured out how to do the JS
evaluation on their side. Using Googles Web Developer tools, they request
and display my page and sub pages just fine and they're all GWT.
--
You
I'm surprised more folks are not excited to jump ship to SuperDevMode.
I'd argue Eclipse DevMode is more pain than it's worth. Certainly, it is
very cool to have your backend and frontend breakpoints set and hit on the
same screen. Yet I've spent a lot of time trying to all of the *Run
Best practice is to only call *final* methods from constructors, or this
kind of unexpected behavior can ensue.
Sincerely,
Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from
Since Google officially is dropping IE9 for their Apps services, does that
help move the needle to IE10+ for GWT 3.0?
http://googleappsupdates.blogspot.com/2013/11/end-of-support-for-internet-explorer-9.html
Sincerely,
Joseph
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors
That sounds more like a full stack integration test, rather than a unit
test. You should disable auth for such tests as that is not part of the
test case. That's what we've done on ours. We only test the stack with
authorization in higher environments.
Sincerely,
Joseph
--
You received this
This is not a GWT question. If you want to access context parameters from
the servlet, use
WebApplicationContextUtilshttp://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/context/support/WebApplicationContextUtils.htmland
the HttpServlet that RemoteServiceServlet extends.
Carmen,
Can you elaborate on what you're trying to build and what it does? GWT is
intended for Web *Apps*, not Web *Sites*. So, typically GWT would not be
used for a blog, but it would be used for say an employee time tracking
application. Take this forum reader as a good example of GWT.
The
Thomas,
Sorry I didn't catch you at the GWTogether in SF last month. I owe you a
number of beers. :)
*That did the trick*. I'll bang out an article for GWTProject.org on AWS
(and similar) CDN deployments.
BTW, I shamefully plead ignorance on the *xsiframe* linker. I'd only used
the linkers
Hey All,
I know there have been
manyhttps://groups.google.com/forum/?fromgroups#!topic/Google-Web-Toolkit/PAaDf7a_5zI
CDNhttps://groups.google.com/forum/?fromgroups#!searchin/google-web-toolkit/cdn/google-web-toolkit/kuyQU4y0RTo/vDLANu9os2kJ
Made progress, but the GWTP app is acting flaky after any
deferredjs/hash/number.cache.js file is loaded. The error implied the
functions being called are not in scope. The file is loaded and the request
had the expected payload.
So, curious if anyone has run GWTP or similar split apps with
Seth,
Currently I can do this by setting ui:style
src='relativepath/MyCss.css in A and B and it works nicely, uibinder
takes care of injecting the styles and everything. However I'm not sure if
this is the best way. There's also the issue that if I move A and B then
the relative path
Thanks for sharing. That's what I was using before. A real *chicken and the
egg *problem while I sounds so simple in principle.
I've also pondered a direct string replacement against the compiles JS
files (i.e. $$BUILD_NUMBER) with filters in the war building plugin
as ostensibly strings are
Håvard Moås, checkout the Chrome Markdown
extensionhttps://chrome.google.com/webstore/detail/markdown-here/elifhakcjgalahccnjkneoccemfahfoa?hl=ento
format code for these forums. :)
Sincerely,
Joseph
--
You received this message because you are subscribed to the Google Groups
Google Web
Note that distribution of the compilation is likely not going to cut down
in memory much. The parallelization occurs at the permutation code
generation phase, however the construction of the AST must take place first
at the precompile phase. That phase is not distributed. I've not tested
this,
For various reasons you need to know the revision of the GWT app code. For
example to verify that the server API is not newer than the JS code (i.e.
if you deploy GWT JS to a CDN).
Some common approaches which I find to be rather hackish:
- Use Maven replacer to replace a sequence in a
Timea,
Not sure what the implementation trouble is:
1. User makes some interaction (i.e. button click) so you fire and event
(i.e. ShowSomethingEvent(id))
2. A listener sees the event and fires and RPC with the data from the
event
3. On returning the async handler for the call
Timea,
If you've got the case of waiting on a multiplicity of RPC's to complete
before continuing, something like Jen's suggestion is best. I've
implemented it before with a multibit latches.
However you get into the issue of syncing. For example, let's say you have
N RPC calls for a given
Thanks gents,
Your suggestions were helpful. After going the code generator route two
years ago, but I think this time I'll stick with resource filtering the
version into the index.html and bootstrapping it into the app via the entry
point.
Cheers,
Joseph
--
You received this message
POI has the limited ability to do this if you can create a standard
template pie chart for it to start from.
http://poi.apache.org/spreadsheet/limitations.html
Sincerely,
Joseph
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To
Ed,
Just curious if there is a framework that you consider an exemplar in this
respect? I've never seen that Hibernate blog in three years of doing
Hibernate, and its CSS nearly made me cry. So curious what framework has a
popular nexus of that sort that everyone rallies around.
I'm a huge
Early on in the presentation Erik also mentions a recently released GWT
Mockito setup that might benefit your non-GwtTestCase goals.
https://www.youtube.com/watch?v=kilmaSRq49g
Sincerely,
Joseph
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit
It is not clear what you're attempting here. By Offline I believe you
mean when not using the DevMode debugging plugin. You can only debug with
the debugger when running in debugging mode. You can however use source
maps and set breakpoints in the browser (i.e. Chrome Dev Tools) if you like
Curious if anyone has had experience hosting GWT app resources on S3?
There are two ways you can approach it:
- Host all of the compiled GWT output on S3 and relay dynamic requests
through S3 to your server (i.e. XHR/POST)
- Host your static resources on S3, but load the initial .html
When I disabled the RPC obfuscation option, everything started working
again. However, I still don't understand why RPC Obfuscation is failing
here. Clearly the deserializers created by GWT are using obfuscated maps,
but for some reason the serverside sending serializers are *not* using the
Kris,
Read the GWT Hibernate
docshttps://developers.google.com/web-toolkit/articles/using_gwt_with_hibernate,
they detail why you're having this problem and the solutions.
Sincerely,
Joseph
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit
I've seen many developers turned off MVP by this very issue. While not
prone to absolutes, I'd assert that no framework/pattern should be used as
a rule. Use it when it has benefits and makes sense.
In the case of MVP to the level of buttons, that might have a benefit at
some obscure point in
Folks,
I try to answer as many questions on the GWT forums as I can, but alas this
one has stumped me the last few evenings. I'm converting RunPartner.com, my
hobbist distance running site, from ExtJs to GWT having built GWT apps for
the last 2 years since GWT rocks.
I searched the old
You could try defining the CSS in a style element you've added to the DOM
and then remove it and add another. However I've seen this done before and
it can throw a lot of warnings and some DOM's don't like it. Better to
consider another approach as Steve limns.
Sincerely,
Joseph
--
You
Thanks as always Jens. I'll run through your suggestions tonight.
Joe
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
Well, seems things are quite odd. First, Tried all the suggestions:
- Now on newer GWTP v0.8.4
- Confirmed only gwt-servlet-2.5.0.jar present
- Confirmed that mvn (single prop is used) loads all GWT dependencies as
2.5.0
- Tested on Java6, Java7
Note: on Ubuntu 12.10, OpenJDK 6/7
Added a checkbox to automatically scroll the log.
I've been waiting so long for this!
Sincerely,
Joe
On Wednesday, February 13, 2013 1:54:49 PM UTC-5, Matthew Dempsky wrote:
Hi everyone,
We're excited to announce the GWT 2.5.1-rc1 release candidate! There will
be an announcement soon
Thanks Goktug! CSS3 and GWT have been the biggest issue for me in the last
year. I can't wait! And, as TBroyer pointed out in a post last
year,https://groups.google.com/forum/?fromgroups=#!searchin/google-web-toolkit/Closure$20Stylesheets/google-web-toolkit/jd5y7nHyUdU/m1tOVMJMSRkJonce
this is
All good points from Jens.
But, perhaps I'm missing something, but on most servers (Apache with
mod_php, Tomcat) set a session token in the cookie on the first request you
make to the server. Once the user logs in, you associate this session with
that user by persisting their data data in
Have you checked out gwt-exporter http://code.google.com/p/gwt-exporter/yet?
It should achieve what you're talking about with a minimal amount of
overhead.
Also, when exposing your widgets, I'd suggest using the ClientBundle so
that all images/css/resources are included. This way when non-gwt
Ran into this same issue tonight when setting my Spring/Hibernate GWT app
up on Kubuntu and Indigo. I removed the Eclipse.org Maven Integration for
Eclipse I installed from the Eclipse Marketplace and installed the m2e
plugin from http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/.
To detect when the user has left the window, you can also look as the new
page visibility API in HTML5.
See the explication/example here: http://davidwalsh.name/page-visibility
Sincerely,
Joseph
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit
A shot in the dark here, but have you seen the iOS6 Post Caching
issuehttps://groups.google.com/forum/?fromgroups=#!searchin/google-web-toolkit/ios6/google-web-toolkit/CWkgCXLi8tA/fpOWNVQ0q3YJ?
If your app was caching an earlier blank response, that could be the issue.
Sincerely,
Joseph
--
An update here. The external team writing in RequireJS was not so amicable
about sending RequireJS packing into the night.
So, we did 2 things:
- Had them use the feature in RequireJS to compile to a single file with
their Optimizer http://requirejs.org/docs/optimization.html.
- Had
David,
You might want to make the default on those pages for the *user-select* css
property to *none* so that people don't highlight random bits of the page
while tying to drag and drop around. Nice work.
Sincerely,
Joseph
--
You received this message because you are subscribed to the
You're looking to achieve two things here:
- Do a file upload
- Return an arbitrary object from an RPC
In that case, dig around on the forums as this has been asked and answered
before:
What linker are you using? With the xsiframe linker the GWT code is loaded
inside of its own frame and as such should not be susceptible to such
namespace pollution from other libs.
See the recent post that addressed this same issue as it is common:
Oh the irony. I had to componentize a widget created by another team
which uses RequireJs today and the first Google hit is my own answer. Given
that I wanted to just make a GWT module that could be inherited to use an
external widget, said module would not have an entry point and onModuleLoad
It does not appear that this is an option in the
SDKhttps://developers.google.com/web-toolkit/doc/latest/RefCommandLineTools#i18nCreator.
However, I don't know why you would want to ignore failures however as it
would leave you open to deploying a broken, unusable application where any
UI
What kind of 3rd party library? Are you wrapping a 3rd party JS library, or
Java library? Please elaborate.
Sincerely,
Joseph
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To view this discussion on the web visit
Sidney,
Yes, this is possible as I did with an application this year. I have a
landing page (GWT) that has links to other available GWT applications
(dynamic list loaded from server). This landing page acts as a frame
(header/footer). The sub applications (each individually compiled as a
My apologies for being unclear. Given that the revision number they built
with is potentially available, that could be used in some form in
$gwt_version such as 0.0.11367. There are plenty of sites where you can
find this rev number in their release JS/CSS/etc. Given that information
and the
1 - 100 of 496 matches
Mail list logo