Create GWT project with unique url - url

I am working GWT project which using History Class(com.google.gwt.user.client.History). Now the project work well. But the customer want the project run with unique url for security.
I tried to investigate the way to use the GWT History with a unique url but no luck.
If you know the solution, please give me the suggestion. Thank so much.

Well, the History implementation in GWT is based on hash fragments so if you remove that part (for instance overriding the nativeUpdate() method in HistoryImpl your app will never be notified when the state changes.
The solution I see is to override the History mechanism in GWT with your own based on the window.history.pushState() HTML5 API. It is supported by modern browsers (not IE9).
With push state you can change the state of the browser with and without changing the url.
There is an implementation of History based on pushState at gitHub. Johannes Barop gave a presentation of this project in the gwt-meetup 2013, videos are not avaliable yet (they will be in few days though). I think it does not implements your edge case of not changing the url, but probably it should be easy to add, or ask him at github.

Related

Linking to online help for my web app

I am using Electron for my web app but I want to create online documentation for the app rather than embedding the documentation within the app. The issue I have to deal with is the app's version number. As I release minor or major upgrades to the app, the documentation needs to reflect those changes. However, the person who is using app version 2.0 would see documentation that contains all the 1.0 stuff plus anything new that has been added in 2.0.
There are a number of ways of dealing with this. I could just have a link in the app to a url where each url is specific to a version. The downside to this is that I have to copy all the documentation from the 1.0 page to the 2.0 page and maintaining that could be a hassle.
Another approach is to just use one url but pass the version number in a query string and then hide/show those parts of the documentation that are relevant to their version.
If you've had to deal with this issue, what approach have you taken?

UI Dialog to search and add clients to a list

I need to implement a dialog for a web application (ASP.NET/C#) where users can search and select one or more clients from the company's database.
Actually an existing version is already used (see attached image) and I have to replace it with a new version (it comes from an external legacy software and will be dismissed).
The goal is to provide an intuitive and easy to use GUI, still providing the basic functionalities like: search for a client and add it or remove previously inserted.
My idea would be to develop the dialog with jQuery Dialog plugin and using web methods and Ajax/JSON to interact with them for interacting with the server and the DB. I cannot find a good solution yet for the contacts list, since I would avoid using GridViews or tables, if possible, for listing them.
Does anyone knows if further plugins or best patters exist for develop this UI and its functionalities?
I wanted to have the same in my application. After talking to the users i found that such dialog could easily be replaced by an Autocomplete with Multiple select.
See the jqueryUI demopage here.
If this does not fit your needs i would go with two lists <ol> or <ul>, a pagination plugin and perhaps a search plugin. But haven't done this so far.
Thanks for the hint, indeed for the search I also thought to a autocomplete for make the search easier.
My bigger concerns were about the Add and Remove selected Clients in a "modern" fashion.
I found this MultiSelect plugin that works perfectly for my needs (and maybe it could be useful for yours as well).
Not only it let use Multiselect to add/remove entries, but also have some auto-filtering capabilities when searching the entries. I will try to add this to my solution.

Display twitter feeds

For an event in a couple of weeks I'd like to make an web page/app which display tweets from a specific user, a specific hashtag and all #reply's at the first user in 3 boxes on the screen.
However I've never tried this. I want to use either .NET (C#) or HTML/CSS/JS since I'm proficient in those. Are there any libraries/API's I can use? Or is there an readily available freeware/open-source app I can use?
Have you seen TweetSharp?
Use Twitter's profile and search widgets. Profile for the first box, a search of the hash tag for the second box, and a search of to:username for the third box.
I actually just posted this as an answer to another question:
I just updated a plugin to work with the Twitter 1.1 API. Unfortunately, per Twitter's urging, you will have to perform the actual request from server-side code. However, you can pass the response to the plugin and it will take care of the rest. I don't know what framework you are running, but I have already added sample code for making the request in C#, and will be adding sample code for PHP, shortly.
The plugin makes a call to statuses/user_timeline, but you will likely want to look at statuses/filter or statuses/search, instead. All you will have to do is add your desired parameters (hashtag, replies, etc.) to the server-side code and it should work (with the addition of your security keys and tokens, of course).
Good luck! :)

How do I detect a mobile browser, and direct appropriate content to it?

I've read that its bad (not advised) to use User Agent Sniffing to send down the correct content for a mobile browser, so I'm wondering what IS the best way to do this?
I'm using ASP.NET MVC, and I've built my site and it works well on desktop browsers, so I'm looking to begin building a mobile version. When a mobile browser comes to my site, I'd like to use a different set of Views, which ideally posses the following attributes:
Link to pre-scaled images
Use minimal javascript
Remove all but essential content
My first thought was to sniff the user agent, and then send down a different .CSS file, but as stated above I've read that this is a bad way to do this, so I'm asking you for your thoughts.
The user agent is really all you have in a HTTP GET request, but you should let someone else maintain the list. We use the Microsoft Mobile Device Browser File with a custom view engine in a manner roughly similar to this Scott Hanselman post.
The best way to detect a mobile browser is to use this wonderful codeplex project:
http://mdbf.codeplex.com/
For background on how you could create targeted views read here:
http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx
The simplest approach could be use a separate domain "m.yourdomain.com" or "yourdomain.mobi" (Source) that way you can assume that the user is on a mobile device.
While I believe it's frowned upon to sniff for browser to determine capability and you should use capability sniffing, such as JQuery.support. When it comes to actually presenting significantly different layouts then I think you have to sniff for the browser ID and act accordingly.

What is a good openid selector control?

Now that idselector has been upgraded to RPXNow and you can't "just use" the selector code, what is a good replacement?
I want to implement OpenId on a new website that I am using, but the users are going to be just dumb when it comes to logging in unless I provide an easy way for them to.
As a reference, I will be using .Net Open Id for the background in an ASP.Net MVC web application.
EDIT
After some cheap thought, what about using the rpxlib?
Jarrett Vance made a "version" of open-selector that is much more developer/designer friendly.
This selector is different because it does not hide the markup details in javascript. Therefore, you can easily add new providers or rearrange the existing ones without digging into the javascript. The login form will still work for normal OpenID logins if javascript is disabled
The best of all, is that it comes with documentation, demo, and lots of images both cropped and as raw .pdn files (paint.net)
Jarrett Vance's openid-selector can be found here
(source: jvance.com)
PS: I would suggest reading this article before implementing RPX.
Another one to consider is http://code.google.com/p/openid-realselector/ (which is a rewrite/update of http://code.google.com/p/openid-selector/)
I have done an implementation with RPXLib and RPXNow, and it is really pretty straight forward.
I wanted to minimize the amount of work done in the OpenId format, and the RxpLib definately helped with that one.
RpxNow also has a nice feature of telling me new users, number of logins per day, etc...
I've made Open-selector, which you just add to your site and switches the regular OpenID box into a provider list and a username text input.
The code is pretty simple (in case you need extra customization) and there is an inline mode so it doesn't alter your original layout.
I was using that one, but then I found a few people using a different one which made me investigate, and I found this OpenID selector. There aren't any instructions per se other than the demo.html, but it shouldn't be too hard to figure out. Just include the css and js, then call the javascript function with the right parameter.
Edit about rpx: I chose to stay away from rpx because I didn't want to have a 'central point of failure,' and a site that isn't my own that users would authenticate to/through. It seems kind of counter-intuitive being that I'm using openid, but if you consider that the openid provider that the user is using as part of the user, then it kind of makes sense.

Resources