HistoryExtension (i.e. pushState support)

I got intrigued by the pushState HTML5 feature, so what better way is there to learn about something than making it into a Vaadin add-on!

It’s a JavaScriptExtension, which made the writing of code super simple, and it doesn’t even require a widgetset compilation!

The addon can be downloaded from
http://vaadin.com/directory#addon/history
and I also have set up a
live demo
to poke around at.

PS: i’m going to write a blog post about all this at some point, because the functionality isn’t all too trivial…

It seems like the files/artifact is either not existent or corrupted in the maven vaadin-addons repository, maven fails to resolve the dependency.

Looking forward to your post.

Sorry, i have next to zero knowledge regarding Maven :frowning: I hope it’s fixed at some point. If everything else fails, you can just copy HistoryExtension,java and historyextension.js
from GitHub
to your own project, and everything should work. Remember to put the .js file into the resources package.

That being said,
I updated the add-on
to support Vaadin Navigator, which should be pretty helpful to those who want a more ready integration.

The blogpost is still work in progress :frowning: I need to take another approach on it. Maybe I’ll tackle it tonight…

I just had a quick look and it seems like the 1.1.0 Version works again with Maven while the 1.0.0 version is still not reachable. (If you want it to be up again you might have to republish/reupload it. Disclaimer: I have only 0.000001 knowledge of uploading maven projects, i have more when it comes to downloading them :wink: )

The thing is, Vaadin Directory handles all this automatically. I haven’t uploaded anything manually, so I don’t really know what’s going on :confused:

When publishing packages that are already in the Maven form (with POM in the META-INF/…, optionally separate -sources and -javadoc JARs etc) Directory uses them as is. If the add-on is not in a Maven compatible form, Directory generates a minimal POM.

There were some problems with this recently affecting a few add-ons, Teemu worked on those and fixed some such cases.

Hi Paul and thanks for this extension. plesae how can i integrate your extension in my project without using Maven ? Thanks

Hi, it would be greate if the NavigationStateManager could degrade internally for Browsers that do not support pushState.
http://caniuse.com/#search=pushState

There’s a green button in the download page, you can find a downloadable zip file from there.

You’re right, it would be a nice feature. Unfortunately I don’t have the time/energy to maintain my add-ons anymore, so further development on those is quite unlikely. In case the project gets pull requests, it’d be easier for me to incorporate those changes into a new version, but that’s also, unfortunately, a funnily big effort from my part :frowning: