Eclipse RAP Web Application and Google AdSense Integration - adsense

I am planning to develop a website in Eclipse RAP, as I am a Eclipse fan and know bit of RCP. And I would like to make use of the Google AdSense so that commercial ads can be displayed in my web site. As RAP is bit different from regular web applications, I would like to know whether Google AdSense can be used in my RAP based web site.
Also I came across some news regarding the restriction on number of concurrent sessions in RAP based web applications. What is the maximum limit? Will it be improved in the newer versions in future? Kindly clarify the same. Thanks in advance.

I don't know about AdSense specifically, but you should have a look at the Browser widget. It's a widget that can contain any HTML/JS and renders as an IFRAME in the web browser.
Update: as a workaround, you could add an HTML element in a JavaScript snippet that you send to the client using JavaScriptExecutor. This snippet could append an element to the document using plain DOM API, or append an element to a RAP widget using the RAP client API. Have a look at rap.getObject() and Widget.$el.
Yet another approach would be to develop a custom widget.

Related

Cannot get JxBrowser to render in eclipse rcp JavaFx environment

I am currently evaluating JxBrowser 6.17 as an alternative browser technology for a eclipse RCP based data maintenance application, since the SWT Browser does not suit our needs.
What are our special needs anyways? Well, we need to embed an older solution into our new application, since we would not be able to add all required features into the new application in time. Since we have the required features in an older JSP based web application we need to embed it to make the functionality available to our customers. This comes with a lot of issues, but for most of them we already generated answers. The biggest issue we are currently facing is that the SWT Browser component does not support instance based Cookies which we need, since our web application has Cookie based session management.
I have also tried using the Mozilla implementation using different profiles, which unfortunately is not possible, since the profile management is just as static as the Cookie management.
Next step is to evaluate commercial frameworks with which I am currently facing some issues.
I requested an evaluation license for JxBrowser and tried to embed it into our eclipse 4 RCP application. I would like to embed it using JavaFX, since we already use JavaFX and would like to avoid AWT.
Using the following code will instantiate a JxBrowser and load the given URL. Actually the request does get fired, but the Browser does not render any content at all.
FXCanvas canvas = new FXCanvas(parent, SWT.NONE);
Browser browser = new Browser();
BrowserView browserView = new BrowserView(browser);
browser.loadURL("http://www.google.com");
canvas.setScene(new Scene(browserView));
Even when loading specific HTML it will not render any content.
There are no observable Exceptions or errors.
Does anybody have an idea on whats the issue in my case?
In a different scenario we use the JavaFX WebView embedding the CKEditor into our application and everything works (more or less) flawlessly, but I am not able to get the JxBrowser to render its contents.
I am sure, that I am doing something wrong (probably something pretty basic :))
What could I be missing?
Any idea or tip could do the trick ;)

Integrate liferay cms into existing java application

I have an existing java web application, servlet based. I plan to add a module to show news articles to visitors. So i choose liferay as our CMS. The solution in my mind is that using an iframe in my web site to show news articles managed by liferay CMS. If i do so, is it convenient for our news editor to manage news articles with liferay CMS? Shall he/she switched to liferay to do this? It seems that the preview function of liferay CMS could guarantee only the inline iframe's visual effect is nice, am i right here?
Besides, could you please advise me a better solution other than iframe based solution?
I am looking forward for your comments, any help here would be appreciated!
Maybe it's better that liferay includes the existing Web app.

Google web toolkits - multiple pages

On the google website there an example of a simple GWT appliatoin, following is a link:
http://code.google.com/webtoolkit/doc/1.6/tutorial/create.html
The above application has a host page:StockWatcher.html
and StockWatcher.java is the entry point.
If I wanted to add more html pages to this application, we keep one single host page and the entry point will add different panels depending on which link the user clicked on? In this case, how to know which link the user clicked on? If I create a navigation panel and each link has a request parameter, then after the user clicks on the link, How to get the request parameter?
Are there any tutorials available online on how to create a fully functional application? The one example google provides is too simple.
Thanks so much in advance
You have two options to have multiple page web application using gwt.
1) Use gwt history feature and listen for the history change. In this approach at the initial page load itself browser downloads all the javascripts(Including the widgets which are not useful in current link). Still this can be avoided by using gwt code splitting.
2) Create multiple modules. In this case you have to create multiple html pages and GWT entry points. For each major functionality create a gwt module and link that with [modulename].html file. In this approach browser downloads only particular feature's javascript. Not all the javascripts.
Based on your application requirement you can pick one of the option. IMHO I would suggesst second option.

Embedding Google Docs (-like) functionality

I'm looking for a way to embed Google Docs itself--or a Google Docs-like real-time collaboration of text documents--into a web platform built with Vaadin on top of Google Web Toolkit. Currently our users won't be creating Google IDs and, ideally, we wouldn't need them to (if embedding Google Docs itself). Thanks in advance!
Could you embed the document in an iframe as shown here? (in 5.17.3 Browser Frames)
If you just need a text editor, another solution can be to embed tinymce within you GWT client:
http://tinymce.moxiecode.com
We did it on our project and it works perfectly

how to integrate or call or interface with a 3rd party widget within a GWT app?

I am making an app in GWT. It is like a dashboard and will have out of the widgets.
Now when we ship this out, there is a use case that the customer might want to create their own GWT widget and use this in the dashboard app.
As I understand it, they will not be able to do this since we cannot ship our source code which is needed to compile the whole app again once tag of their widget/module gets into the gwt.xml file of my app.
I cannot use anything other that GWT to make this dashboard. And their widget could be say a flash heapmap, a jquery widget/plugin, another GWT module, a jsp page that renders a visualization from back end.
So far my thoughts have been to provide a widget in my app which is a wrapper in the form of an Iframe and call their main page (they will provide url), and have an api to let my app and their widget talk.
But I would like to know if there are other / better approaches?
This is exactly the problem solved by google's OpenSocial widgets. There are a few opensource implementations: http://shindig.apache.org/ is one. You can look into integrating that in to your app. An added bonus is that you can then display widgets from other applications (such as atlassian jira) that also serve opensocial widgets.
Depending on how closed source your application is (can custom JS/HTML be added to pages?), you could always provide a native Javascript (JSNI) API for some custom dashboard widgets. The simplest solution I'm thinking of would be a JSNI method which your customers could call to set the HTML content of said widget. This method would allow them to use a variety of options such as JQuery widgets, their own GWT widget generated HTML or even an IFrame pointing to their JSP pages etc... You could then provide additional JSNI API methods which would allow them to interact with your app/widget in other ways as well. This would be better than the IFrame method because you wouldn't have to deal with cross domain scripting security issues.