DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Using a clean maven web-app.
Creating a new maven web-app:
mvn archetype:create -DgroupId=org.apache -DartifactId=shindig-app -DarchetypeArtifactId=maven-archetype-webapp
Configuring jetty:run plugin:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<tempDirectory>${basedir}/target/work</tempDirectory>
<webApp>${basedir}/target/${finalName}.war</webApp>
<contextPath>/</contextPath>
</configuration>
</plugin>
Adding shindig as dependence:
<dependency>
<groupId>org.apache.shindig</groupId>
<artifactId>shindig-features</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.shindig</groupId>
<artifactId>shindig-common</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.shindig</groupId>
<artifactId>shindig-gadgets</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.shindig</groupId>
<artifactId>shindig-social-api</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.shindig</groupId>
<artifactId>shindig-extras</artifactId>
<version>2.0.0</version>
</dependency>
Configuring web.xml:
<?xml version="1.0"?>
<web-app>
- configuration -->
<!-- If you have your own Guice module(s), put them here as a colon-separated -->
<context-param>
<param-name>guice-modules</param-name>
<param-value>
org.apache.shindig.common.PropertiesModule:
org.apache.shindig.gadgets.DefaultGuiceModule:
org.apache.shindig.gadgets.oauth.OAuthModule
</param-value>
</context-param>
<listener>
<listener-class>org.apache.shindig.common.servlet.GuiceServletContextListener
</listener-class>
</listener>
<!-- Render a Gadget -->
<servlet>
<servlet-name>xml-to-html</servlet-name>
<servlet-class>
org.apache.shindig.gadgets.servlet.GadgetRenderingServlet
</servlet-class>
</servlet>
<!-- Proxy -->
<servlet>
<servlet-name>proxy</servlet-name>
<servlet-class>
org.apache.shindig.gadgets.servlet.ProxyServlet
</servlet-class>
</servlet>
<servlet>
<servlet-name>concat</servlet-name>
<servlet-class>
org.apache.shindig.gadgets.servlet.ConcatProxyServlet
</servlet-class>
</servlet>
<!-- OAuth callback -->
<servlet>
<servlet-name>oauthCallback</servlet-name>
<servlet-class>
org.apache.shindig.gadgets.servlet.OAuthCallbackServlet
</servlet-class>
</servlet>
<!-- Metadata RPC -->
<servlet>
<servlet-name>metadata</servlet-name>
<servlet-class>
org.apache.shindig.gadgets.servlet.RpcServlet
</servlet-class>
</servlet>
<!-- javascript serving -->
<servlet>
<servlet-name>js</servlet-name>
<servlet-class>org.apache.shindig.gadgets.servlet.JsServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>js</servlet-name>
<url-pattern>/gadgets/js/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>proxy</servlet-name>
<url-pattern>/gadgets/proxy/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>concat</servlet-name>
<url-pattern>/gadgets/concat</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>oauthCallback</servlet-name>
<url-pattern>/gadgets/oauthcallback</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>xml-to-html</servlet-name>
<url-pattern>/gadgets/ifr</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>metadata</servlet-name>
<url-pattern>/gadgets/metadata</url-pattern>
</servlet-mapping>
</web-app>
Trying:
mvn clean package jetty:run
Now you can navigate to http://localhost:8080/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml&view=home
After this point you have a minimal requirement to use gadget renderer inside your web-app, have fun.
1 Comment
Martin Höller
With v2.5.0-beta4 the guice configuration from above results in "Guice creation errors", "No implementation for org.apache.shindig.gadgets.oauth2.OAuth2Request" and others.
You have to add some more guice modules to make it work:
<context-param> <param-name>guice-modules</param-name> <param-value> org.apache.shindig.common.PropertiesModule: org.apache.shindig.gadgets.DefaultGuiceModule: org.apache.shindig.gadgets.oauth.OAuthModule: org.apache.shindig.gadgets.oauth2.OAuth2Module: org.apache.shindig.gadgets.oauth2.OAuth2MessageModule: org.apache.shindig.gadgets.oauth2.handler.OAuth2HandlerModule: org.apache.shindig.gadgets.oauth2.persistence.sample.OAuth2PersistenceModule: org.apache.shindig.gadgets.admin.GadgetAdminModule </param-value> </context-param>