Community contributed extensions

Modules repository

These modules are for the Play 1.x series only and are now read-only. If you really need to provide an update, email the play-framework-dev group.

Play 2.0 modules can be hosted anywhere on any Ivy, Maven or Git repository.

Here you can find great modules contributed by the play community. Browse the catalog and add instant power to your application.

[accesslog] accesslog by Brian Nesbitt

A Play framework module that performs request logging similar to an access log file in nginx or apache.

Get details and versions

[akka] akka support by Dustin Whitney

akka (http://akkasource.org) is a platform for building simple, correct, fault-tolerant, concurrent, and scalable applications for the JVM. This module allows you to configure akka through The Play! framework’s conf/application.conf file; it provides a few command-line scripts to start akka when your application starts; and it has some examples of it in action.

Get details and versions

[antify] Antify by Heikki Uljas

Antify module allows you to generate a ant project file for your play application and run it with ant.

This module is no longer maintained. The antify support is now built-in since Play 1.2.2. Unofficial instructions here

Get details and versions

[associations] Associations by André Pareis

This module reduces the code to manage bi-directional associations. Instead of writing

forum1.posts.remove(post);
post.forum = forum2;
forum2.posts.add(post);

you can just write

forum2.posts.add(post);

and the module handles everything else for you.

Get details and versions

[bespin] Bespin online editor by Erwan Loisant

Bespin is a Mozilla Labs experiment on how to build an extensible web code editor using HTML 5 technology. The play bespin module allows you to edit all the application sources directly in the browser using bespin.

Get details and versions

[betterlogs] BetterLogs by Stephane Godbillon

This very simple module enhances the Play! Framework logs to bring some missing information such as the class name, the method name where the log has been called, its signature, the file name and the line.

Get details and versions

[bhave] bhave by Edward Southey

Web-based BDD Framework, for web apps, done in a funky way!

Get details and versions

[browserid] BrowserID by Olivier Refalo

BrowserID is an experimental new way of signing into websites. The goal with BrowserID is to design something safe and easy for users and the developers.

Get details and versions

[camel] Camel by Marc Deschamps

A EIP + Messaging module for the Play! Framework

- Integration done right

Include engine from:
- Apache-Camel => EIP engine
- Apache ActiveMQ => embedded JMS Broker

Get details and versions

[capistrano] capistrano by Pascal Voitot

Here is a draft module to deploy a remote play app using Capistrano + SSH + VCS and run it in nohup/background mode.
I’m complete noob in Ruby so this is for people who don’t want to write ruby as me yet having a few basic functions around play and this great Capistrano tool.
But this is also for those who know ruby and want to customize cap configuration.

Get details and versions

[carbonate] Carbonate migrations by Heikki Uljas

Module for creating and running database migrations for Play application. Uses Hibernate schema update to automatically generate SQL to the migrations.

For usage examples see this blog post

Get details and versions

[cargo] cargo by Damien Gouyette

This module helps you remotely deploy your Play! application.

The first version (0.1) only supports Tomcat, but 0.2 is coming soon
and will add jboss and glassfish supports.

Get details and versions

[cas] logisima-cas by Benoît Simard

This module is a CAS client for Play! application.

Features are :

  • CAS authentification (with Gateway feature)
  • Proxy CASification
  • CAS Attribut
  • CAS Mock Server

There is also a play application for testq purpose (with unit & selenium test) here: https://github.com/sim51/logisima-play-cas-test

Get details and versions

[casino] casino by Raphael André Bauer

This project provides a simple method to integrate sign-up and
password recovery to your project. The cool thing is that it is based on play’s security concept. So we don’t re-invent the wheel but simply add some stuff.

Get details and versions

[cheese] Cheese by Lawrence McAlpin

Simplified API for integration Play! applications with the CheddarGetter subscription management service. (Sign up here: http://zfer.us/KIt2E)

Get details and versions

[chronostamp] Chronostamp by Wayson Clown

Chronostamp enhances Models by adding magic timestamp fields (created_at & updated_at) and it will automatically record creation and update timestamps of database objects in an unobtrusive way.

Get details and versions

[cloudbees] CloudBees by Ivan Meredith

This module provides integration with CloudBees RUN@cloud PaaS, For a getting started guide go here

Get details and versions

[cloudfoundry] CloudFoundry by Benoît Courtine

In CloudFoundry, when a database resource is linked to an application, the credentials are put in an environment variable. This module automatically reads this variable and configures the Play database.

Get details and versions

[cms] cms by Jörg Viola

A very simple embedded CMS. I know about Sematic and Percont. But I needed to edit some of the “static” pages of my App (help, license, whatever) and wanted the business people do that in a fairly simple way.

Get details and versions

[cnm] Content Negotiation by Sebastian Hoß

The content negotiation module helps using content types which are not directly supported by the Play! framework such as VCard and Atom/RSS feeds using annotations.

Get details and versions

[cobertura] Cobertura by Julien Bille

Cobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage.

Get details and versions

[coffee] CoffeeScript by Rob Figueiredo

CoffeeScript is a great way to produce javascript. This module provides support for it (Java and Scala):

  • You can write coffee script directly into your templates with the tag #{coffee.inline}.
  • You can include coffee script files in your page without having to save the compiled versions.
  • The module generates nice error pages upon compilation errors.

Comments are welcome!

Get details and versions

[constretto] Constretto Play module by Sondre Eikanger Kvalø

Module thats make integration with the Constretto configration framework easy. Includes the ability to inject configuration in Play controllers using the standard Constretto @Configuration annotation.

Includes a sample application and a project Wiki

Get details and versions

[cream] JCR for Play! by Marc Fornos

A module that seamlessly integrates Apache Jackrabbit
(JCR 2.0) with Play framework. Provides:

  • OCM
    • Uses jcrom as the underlying object-to-content mapper
  • Full text search
    • Indexing PDF, MS Word, Excel, PowerPoint, OpenOffice, RTF, HTML and XML
  • Content versioning
  • Repository observers
  • play.db.Model support
  • CRUD support

Get details and versions

[crudsiena] CRUD for Siena by Pascal Voitot

The CRUD (Create, Read, Update, Delete) Siena module a fully usable web interface for your Siena Model objects with a few more features than default CRUD.

  • NEW: v2.0.x with support for GAE/MySQL/Postgres/H2 for Play! v1.2.1 and play-siena v2.0.x
  • v1.6_play1.2 works with Play! v1.2 but not v1.1
  • v1.6_play1.1 works with Play! v1.1 but not v1.2

Get details and versions

[db] Database module by Bisheng Liu, Nicolas Leroux

Export your Play! domain model to a DDL file and import a database into your Play! domain model. Please refer to the documentation for more information. The 1.1 version is for the Play! 1.1 branch while the 1.0 is for the 1.0 Play! branch.

Get details and versions

[deadbolt] Deadbolt by Steve Chaloner

Deadbolt is an authorisation mechanism for defining access rights to certain controller methods or parts of a view. It has a powerful but simple syntax that allows AND/OR/NOT relations. Both controller and view restrictions can be nested to allow for an elegant DRY approach to securing your application.

It’s also possible to specify pre-defined restriction trees for your controllers and thus be able to change security allowances without changing your code.

Finally, you can name controller classes, controller methods and views as resources and determine arbitrarily if access is allowed. This feature also integrates with the features above to provide specific/generic authorisation scenarios.

Get details and versions

[dotcloud] Dotcloud by Leif Singer

Usage

This module helps you deploy your Play! application to dotcloud.

Installation

First, install the module from the Play! module repository like so:

play install dotcloud

Prepare your Play! application

Tell Play! that you want your application to use the dotcloud module by adding it to your conf/dependencies.yml file. It might look like this:

require:
 - play
  - play -> dotcloud 0.3

Now run play dependencies to install the module into your application. Then, create a dotcloud.yml file in your application’s conf directory. The file might look like this:

www:
  type: java
db:
 type: mysql

Push to dotcloud

Use

play dotcloud:deploy

to push the current version of your application to dotcloud.

For more information, consult the documentation in this module's GitHub repository.

Get details and versions

[ebean] EBean ORM support by Lyubomir Ivanov

Adds Ebean ORM to play!. Still in very experimental phase.

Get details and versions

[ecss] Extended CSS by Guillaume Bort

This module allow you to use constants in the CSS files. It is very helpful when you work with large CSS files, to avoid to repeat yourself with color, fonts...

This module is no longer maintained. You should take a look at the sass module.

Get details and versions

[elasticsearch] ElasticSearch by Felipe Oliveira and Sebastian Gooren

Elastic Search is a Distributed Search Solution based on Apache Lucene. This module provides an embedded Elastic Server instance for Rapid Development. Documentation is available at http://geeks.aretotally.in/wp-content/uploads/2011/05/Play-Framework-ElasticSearch-Module.pdf.

Get details and versions

[excel] Excel module by Green Luo

Template based Excel report generator. ‘x’ version support xlsx format template but is much bigger than normal version (19MB vs. 3MB)

Get details and versions

[externalconfig] External Config by Edward Southey

Allows easy loading of external config / properties files. This allows for easy configuration of an app deployed in a war.

Get details and versions

[fastergt] Faster Groovy Templates by Morten Kjetland

This is a module for Play! Framework 1 applications which replaces the default groovy template implementation with GT-Engine which is faster and uses less memory.

GT-Engine is also used in the Play 2.0 module that enables legacy support for groovy templates.

Features

  • Almost 100% compatible with old Play Groovy template implementation (See note below for more info)
  • Run faster
  • Compiles faster
  • Can write generated source to disk so you can step-debug it
  • Uses less memory
  • Supports old FastTag
  • Supports new GTFastTag which is optimized for inserting rendered tag-body-content (without copying)

Please see documentation for more info

Get details and versions

[fbconnect] Facebook connect by Michael Murray

Easily integrate Facebook based authentication into any Play framework application.

Get details and versions

[fbgraph] Facebook Graph API by Eric Jacob

The FbGraph module now supports OAuth 2.0 for authentication.

FbGraph module enables your application to access all the features of the Facebook Graph API via Java and the Play framework. It uses the JavaScript SDK to provide simple login and signup.

Get details and versions

[featureflags] Feature Flags by Ben Verbeken

play-featureflags is a module for playframework that enables you to easily use ‘feature flags’ in your application. A feature flag is any piece of functionality in your application that you want to be able to switch ON and OFF at runtime, using an admin screen.
With this module, you can define feature flags by name, using a simple annotation on your controllers and/or a tag in your views.

This simple technique allows you to never have to branch your code again! You can safely deploy your HEAD multiple times a day to all of your environments for development, testing, production, whatever. Just use a different set of enabled features.
Feature flags are what Flickr uses to be able to do 10+ deployments to production per day. See http://code.flickr.com/blog/2009/12/02/flipping-out/ for more info.

Get details and versions

[force] Force.com by Jesper Joergensen

Build Play! applications that integrates to Force.com. Provides OAuth authentication and REST API adapter.

Get details and versions

[formee] Formee by Wayson Clown

Formee eases and helps out to build html forms designs, and also validates its data from both client-side and server-side based on model validation annotations.
Features:
- It has all the features of formee
- A form wraps an single model
- Automate validations from client-side based on Play model
annotations by using jquery.validate plugin.
- Homogeneous error messages from both client-side and server-side,
i.e., they appear in the same place.

Get details and versions

[gae] Google App Engine by Guillaume Bort, Pascal Voitot

Create play application for the Google App Engine platform.

Get details and versions

[googlecheckout] Google Checkout by James Gregory

Enable your Play application to integrate with Google Checkout as a merchant.

Get details and versions

[googleclosure] Google Closure by Pascal Voitot

This module is aimed at integrating Google Closure tools with play!.

For the time being, it ONLY provides javascript client templating based on Google Closure Templates.

v1.1 renders SoyException into web page

Other tools from Google Closure will be added later but don’t hesitate to ask if you need something first.

Get details and versions

[gravatar] Gravatar by Matteo Barbieri

Integrate Gravatar into your Play application

Get details and versions

[greenscript] Minimize javascript/css files by Green Luo

Play with your javascript/css files!

  • compress and merge (configurable)
  • cache minimized files (configurable)
  • js/css dependency management (configurable)
  • support runtime configuration (minimize/caching/dependencies)
  • simplest tag syntax: #{js ‘js1 js2’ /}
  • inline dependency declaration: #{greenscript.js ‘app < lib < jquery’/}
  • transparent compression zero configuration
  • support CDN
  • support inline js/css body
  • support resource and dependency management in modules
  • support in-memory file cache
  • support LESS
  • support Last-Modified and E-Tag
  • support Play.ctxPath
  • support deploy to cluster like heroku (new in 1.2.7)
  • support Rythm Template Engine (new in 1.2.7)
  • support coffeescript (new in 1.2.8)
  • support bootstrap 2.0 less compile (new in 1.2.8)
  • use google closure to compress js file (new in 1.2.8)
  • Anything else you want? send email to greenlaw110@gmail.com

Get details and versions

[grizzly] Grizzly network stack by Guillaume Bort

Experimental module that replace the Mina based network stack by the Grizzly one.

This module is no longer maintained. The grizzly support is now built-in since Play 1.1

Get details and versions

[guice] Guice by Peter Hausel

The Guice module helps you to inject Guice managed components into your play application. The injection points are defined by the upcoming @javax.inject.Inject annotation, which is bundled with play at the moment.

Get details and versions

[gwt] Google Web Toolkit by Rustem Suniev

This module provides a helper to simplify the integration of a GWT UI with Play as an application server.

Get details and versions

[gwt2] GWT2 by Vincent Buzzano

GWT2 Plugin for Play!
by Vincent Buzzano

Current version is 1.8 for play 1.2.3
Project Webstie: http://github.com/vbuzzano/play-gwt2

This module has been tested with gwt 2.2.x and 2.3.0

QUICK START:
Create a new application --with gwt2

> play new myGwt2App --with gwt2
> cd myGwt2App

That’s all .. you are ok to start your project !!

#################################################
WORKAROUND FOR:
VALIDATION COMPILATION ERROR due to missing Type and Sources
#################################################
Copy validation-api-1.0.0.GA and source to your project libs. You can find them into the GWT SDK Directory.

> cp $GWT_HOME/validation-api-1.0.0.GA* lib/

Get details and versions

[hazelcast] Hazelcast by Marc Deschamps

This module is a dropin replacement for EhCacheImpl or MemcachedImpl from Play. It allow your application to have a clustered cache when you can’t install a memcached server on your platform. It’s also a great free open source In-Memory Data Grid.

Get details and versions

[heroku] Heroku by James Ward

This module makes it easy to deploy Play applications on Heroku.

Get details and versions

[html5validation] HTML5 Validation by Sebastian Hoß

Client-side form validation based on your Play framework
model annotations using HTML5 attributes.

Get details and versions

[httpmock] HttpMock by Gaëtan Renaudeau

play-httpmock caches WebService requests to emulate them in order to overcome connection problems (lag, denial of service, HTTP errors) for fast developping.

Get details and versions

[i18ntools] i18ntools by naholyr

This module will add some tools to ease use of i18n in your Play! projects.

“i18n-extract” will parse your application’s files to find internationalized strings, and add missing strings to your messages files.

Get details and versions

[infoplay] InfoPlay by BLR

InfoPlay is a module which gives many informations like infophp in PHP language. It display useful informations about the running application, the framework, the virtual machine and the operating system.

Get details and versions

[ivy] Ivy dependency management by Peter Hausel

This module lets you manage your dependencies with apache ivy.

Get details and versions

[japid] Japid Template Engine by Bing Ran

A pure Java-based fast statically typed template engine for the Play! framework version 1.2.x.

Japid has been ported to Play 2: Japid for Play2.

Japid is about 2X – 20X times faster than the built-in Play! template engine and delivers 3X as much total web throughput with Play!. See a third-party benchmark . The Japid change-reloading cycle is 5-10X faster than that of the Groovy/Scala based templates, a big productivity boost.

It can be used as a super fast generic template engine as well. It also contains a Eclipse plugin that helps developing in Japid in the Eclipse IDE. Please go to ${PLAY_HOME}/modules/japid_xxx/eclipse-plugin for detail. The source code is hosted on Github/Japid Eclipse Plugin .

Please go to the project home page for the code.

Version compatibility:

japid-0.8.1.2 or older: play 1.1.x
japid-0.8.2 or newer: play 1.2.x

Get details and versions

[jelastic] Jelastic Deployment Support by Igor Yova

This module helps you remotely deploy your Play! application in to Jelastic Platform.

To deploy to Jelastic :
play jelastic:deploy [app name] \
--l [your login] \
--p [your password] \
--c [your context name] \
--e [your environment name] \
--a [your api hoster provider]

To publish to Jelastic :

play jelastic:publish [appname] \
--l [your login] \
--p [your password] \
--a [your api hoster provider]

To make it easier to deploy, those fields can be put in the projects application.conf file
jelastic.api.login= your login
jelastic.api.password= your password
jelastic.api.context= your context name
jelastic.api.environment= your environment name
jelastic.api.apihoster= your api hoster provider

play jelastic:deploy
or
play jelastic:publish

Get details and versions

[jersey] Jersey by Piero Sartini

Integrates Jersey into the Play! Framework. This enables you to use JAX-RS 1.1 annotations to define your endpoints.

Jackson is shipped with the plugin and used for all serialization/deserialization issues, but it should be pretty easy to provide custom providers and use whatever you want.

Get details and versions

[jpagen] JpaGen by Marc Deschamps

JPAGEN aim at generating JPA Entities and Composite keys (when needed) from metadata or a file containing a list of tables.

Get details and versions

[jpastats] jpastats by Erik Bakker

Record how many database queries were executed during a request. It has tags to show this and some other numbers on your pages. Additionally, it can also output these numbers in the response headers, so you can also see it for Ajax
requests etcetera.

Get details and versions

[jqueryui] jQuery UI by Peter Hilton

The jQuery UI module provides working examples of jQuery UI widgets, integrated with a Play application.

Get details and versions

[jqvalidate] JQuery Validation by Michael Murray

Client-side form validation via jQuery, based on your
Play framework model annotations. Check the demo application

Get details and versions

[jqvalidation] jqvalidation by Ahmed Mahmoud Mohammed Abd El-wahab

A jquery library API for validation, supports Ajax validation (per field or per Form). It saves info about the models and their fields' validation in a singleton created on Application Start Up. It’s also intended to extend the server side validation annotations as well. It’s time to make the daily routine automated, easier, and more efficient! Contributions, comments, or suggestions are welcome.
check demo for JPA & check demo for Siena & GAE

Get details and versions

[less] Less module by Erik Bakker

The less module automatically converts less (http://lesscss.org/)
to CSS, and handles error reporting in your Play application. This module supports Twitter Bootstrap 2.

Get details and versions

[linkedin] LinkedIn OAuth Authentication by Felipe Oliveira

Easily integrate LinkedIn’s OAuth authentication into your Play Framework application. Currently it feeds the following fields to the application: linkedin id, first name, last name, industry, headline and oauth token (linkedin doesn’t provide email).

Get details and versions

[liquibase] Liquibase by Erwan Le Goulven

"You never develop code without version control, why do you develop your db without it ? ™"

Liquibase (http://www.liquibase.org) is a simple, reliable and elegant solution for database refactoring management. It comes with main features :

  • multi dabase support (SGBDR)
  • structural / data changeset
  • safety check (on md5sum basis)
  • safety database upgrade process (cluster is liquibase friend)
  • contexts execution filter (you Player know what I’m talking about)
  • automation tooling provided (ant / servlet, and now PlayFramework !)

Liquibase module differs from Migrate module for the main following reason :

Database changes follow application changes just the same way code source does

Get details and versions

[log4play] Log4Play by Felipe Oliveira and Deepthi Rallabandi

Log4Play is a module that provides a log4j appender which publishes log entries to an EventStream. The module also provides an user interface which uses a WebSocket to create a live stream of log messages. You can use this user interface to look at the logs of your application without needing to login to the actual box.

Log4Play integrates with BetterLogs by Stephane Godbillon. Special thanks to Diogenes Buarque and Marc Deschamps.

Add configuration ‘log4play.disabled=true’ to turn off Log4Play.

Get details and versions

[logisimayml] logisima-yml by Benoît Simard

Logisima-yml helps you to export your database into an yml file, just with the following command line : ‘play yml:generate’ !

New features :
- compatible with embedded annotation
- compatible with temporal annotation

Adding a testing application. @See samples-and-tests ...

Get details and versions

[markdown] Markdown by Olivier Refalo

Easily bring markdown contents into your application.

see https://github.com/orefalo/play-markdown for version history

Get details and versions

[maven] Maven dependency management by Wang Yizhuo

This module lets you manage your dependencies with apache maven. Use head for Play 1.1, and 1.0 for Play 1.0.

Expected behavior this module:

  1. Allow declaration dependencies in pom.xml, without putting explicitly unless the transitive dependency does not work (for older version or depending on undesirable big jar file)
  2. Able to download all dependencies not provided by Play into lib folder, with src and javadoc
  3. Able to download source/javadoc artifiacts to depsrc folder for declared or transitive dependency which is provided by Play, for easier debugging (using command mvn:play-src)

There is something I am consciously trying to avoid:

  1. Long download time.
  2. Handle classpath.
  3. Change Play’s structure.

Get details and versions

[menu] Menu by Green Luo

help app developer to easily implement navigation menu. Basically with the module what you need to do is:

  1. create menu structure file (_menu.yml) in YAML format
  2. put “#{menu.menu /}” tag in proper place of your main.html file
  3. for Rythm user, use @menu.menu() tag

Yes, that’s all!

for detail, please refer to document

Many thanks to roymax@gmail.com who test and report issues of this module

Get details and versions

[messages] @messages by Heikki Uljas

Module messages provides a web based tool for managing your application’s localizations.

  • Forgetting the localizations as you code? This tool will look through your sources and lists the keys that have not been localized yet!
  • Forgot to remove the localizations when you refactoring? It also finds keys that are no longer in use and let’s you easily remove them!
  • Your messages file is a mess? The messages files are saved in alphabetical order so you can easily add keys to the files manually too!
  • Not sure where the key is used? No worries, the tool will show you a snippet from the source code where it found the key!

Check out the usage examples in this blog post

For bug reports and feature requests use the project home page at github.

Get details and versions

[migrate] Database migration by David Cardon

This module allows you to easily maintain database versions for your project.

Get details and versions

[mocha] mocha by Olivier GILBERT

Mocha module for Play! Framework is an implementation of mocha UI javascript interface for Play!. Aims of this module is to get windows Web interfaces easy to use. You don’t need to know javascript now to use this javascript interface. The implementation is only in HTML or tags for Play! Framework.

Get details and versions

[mockito] mockito by Erik Bakker

Mockito is a mocking framework that tastes really good. It lets you write beautiful tests with clean & simple API. Mockito doesn’t give you hangover because the tests are very readable and they produce clean verification errors.

Get details and versions

[mongo] MongoDB by Andrew Louth

This module provides a simple, elegant solution for using models stored in mongodb. For a more complex use cases, please take a look at the morphia module.

Version 1.3 addresses many issues raised by the community. Please read the documentation for usage.

Get details and versions

[morphia] Morphia - MongoDB Integration by Green Luo

IMPORTANT NOTE for those who use Long type ID: There is an urgent issue reported by Peksa: Version 1.2.11 and up reset Long id generation in production system

Seamlessly MongoDB access integration with Play’s Model interface.

Notes:

  • v1.2.7 does not support Play-1.2.3 or below, please use v1.2.6 if you are using play-1.2.3
  • v1.2.2beta1 does not support Play-1.1 or below. Please use v1.2beta6 if you are using play-1.1

Get details and versions

[multidb] Multiple Databases by David Cardon

Multiple Database module for the Play! framework. This module allows you to scale your Play! apps to multiple databases with a common schema.

Get details and versions

[mustache] Mustache by Michael Murray

Allows you to define logic-less template snippets that can be used server-side in your Play! views as well as client-side in your JavaScript. The snippets use Mustache, a logic-less template language that has compilers for both JavaScript and Java.

Get details and versions

[mybatisplay] MyBatisPlay by Bogdan Tanase

This module provides support for MyBatis persistence framework.

Latest version no longer includes MyBatis source code, since it’s no longer necessary. You must add MyBatis dependency to your project. See the docs.

Get details and versions

[navigation] navigation by Erik Bakker

Define and display navigation menus in your Play
application.

Robust core, easily adaptable to suit your needs.

Get details and versions

[nemrod] nemrod by Hugo Lassiege

This module provides integration with Nemrod. It helps to import and export translations from your application to a Nemrod instance automatically.

More information about Nemrod and www.localizeyourapps.com here : Nemrod

Get details and versions

[neo4j] logisima-neo4j by logisima

Integrate neo4j database into your play! project.

Get details and versions

[netty] Netty module by Lungisa Matshobam, Nicolas Leroux

Module that replaces the Mina based network stack by the Netty one.

This module has been integrated into Play core since 1.1

Get details and versions

[oauth] OAuth Client by Erwan Loisant

This module provides tools to connect to an OAuth provider, such as Twitter or Google.

Get details and versions

[objectify] Objectify by Dave Cheong

Objectify is a flexible abstraction on Google App Engine/J which makes data access simple and elegant. Together the Play Framework and Objectify provide a powerful technology stack for building fast and scalable applications on Google’s infrastructure.

Sample Application:
http://play-framework-objectify.appspot.com/

Get details and versions

[openebay] Open eBay by Kumaresan

This module provides the basic plumbing to create an Open eBay Application (http://apps.ebay.com/). More details about these applications can be found at eBay Developer Network (https://www.x.com/developers/ebay/products/open-ebay-apps)

Features in Version 0.1
- Gadgets Url request verification
- Username & Auth token decryption
- Open eBay parameter extraction
- Templates for Canvas, Default and Wide Views using Bootstrap.

Planned Features
- eBay Api Integration
- Subscription End point management & User Management
- eBay oAuth Integration for external pages

Get details and versions

[openshift] openshift by Sebastián Scarano @develsas

Openshift is Red Hat’s free, auto-scaling, cloud-based platform-as-a-service for Java, Perl, PHP, Python, and Ruby applications. With this module, you’ll be able to easily deploy and manage your play applications on Red Hat’s cloud platform, with just a couple of keystrokes from the command line.

Get details and versions

[orientdb] OrientDB by Marc Fornos

OrientDB for Play! Framework

Features

  • play.db.Model support
  • CRUD support
  • Embedded server for development
  • Injection of database sessions in controllers
  • Annotation-based transaction demarcation
  • Live class-reloading as usual
  • Basic support for RecordHooks and DatabaseListeners

Get details and versions

[paginate] paginate by Lawrence McAlpin

A replacement for #{list} tags that allows for easy pagination.

Get details and versions

[pdf] PDF module by Nicolas Leroux, Stéphane Epardaud, Stéphane Thomas

A module that allows you to render PDF document from your HTML templates. This module is based on the YaHP Converter library. You can find its source code at:

Get details and versions

[pegdown] PegDown Markdown by James Gregory

Integrate the pegdown Markdown (see: https://github.com/sirthias/pegdown) processor with your Play application; this module provides SmartyPants support, as well as the other Markdown extensions which ship with pegdown.

Get details and versions

[playapps] playapps.net by Zenexity

playapps.net is a streamlined deployment environment designed to get your Play applications up and running quickly and efficiently

Get details and versions

[playerrors] playerrors by Marius Andra

Playerrors gathers and informs you about the errors in your production webapps, so you can fix them before your visitors get a chance to complain

https://playerrors.com/

Get details and versions

[postmark] Postmark by Joel Söderström

Postmark module provides easy integration with postmarkapp.com for handling outgoing emails.

Get details and versions

[press] Minimize javascript/css files by Dirk

The press module is a JavaScript and CSS minimizer that is designed to be transparent to the application developer:
Simply replace script tags with #{press.script} tags.

It is a simplified version of the greenscript module, with the difference that the order of JS/CSS remains the same whether or not compression is enabled, making it easier to debug. Greenscript is more feature rich and may be more appropriate for some applications.

Press now supports Less CSS

Get details and versions

[pusher] pusher by Regis Bamba

This module lets you easily add realtime functionality to your Play applications with Pusher (http://www.pusher.com) using websockets.

Get details and versions

[qunit] QUnit by Florian Gutmann

The QUnit module provides integration of JUnit Javascript tests with the Play! Framework.

Features:

  • Use Play! templating syntax in QUnit tests
  • Friendly running and error reporting of QUnit tests directly from the application
  • Generated JUnit compatible XML test reports for continuous integration

Get details and versions

[rabbitmq] RabbitMQ by Felipe Oliveira

RabbitMQ offers a highly available and scalable, and yet lightweight, messaging system with predictable. RabbitMQ is the leading implementation of AMQP, and a great alternative to JMS. RabbitMQ supports Work Queues, Routing, PubSub, etc. This module allows your Play! application to produce and consume messages from RabbitMQ queues; it provides statistics and streaming through WebSockets; retry logic has been added on version 0.0.4.

Get details and versions

[recaptcha] Recaptcha by Olivier Refalo

Quickly integrate reCaptcha.com challenge-response test in your applications.
a 2 minutes integration !

1.3: support for HTTPS recaptchas

Get details and versions

[recordtracking] RecordTracking by Wayson Clown

RecordTracking unobtrusively tracks the creation, updating and
elimination events regarding to records.
When one of those events occurs, writes into a log:
- The name of the action
- The date when the action was invoked
- The user who invoked the event
- The name of the model
- The model data including association id’s

Get details and versions

[redis] Redis by Tim Kral

The Redis Play! module helps you easily use Redis in your Play! applications. The module consists of three parts:

1. A Redis client that lets you persist data to a Redis datastore.
2. A Redis implementation of the Play! cache interface. This allows you to choose Redis as your caching system.
3. A cache monitor that helps with debugging while using Redis cache.

Get details and versions

[resteasy] RESTEasy Play! module by Stephane Epardaud

The RESTEasy Play! module allows you to define JAX-RS RESTful web services in the Play! Framework using RESTEasy.

Get details and versions

[resteasycrud] RESTEasy CRUD module by Stephane Epardaud

The Play! RESTEasy CRUD module which allows you to automagically generate your RESTful CRUD resources for a given model. No boilerplate code needed anymore and 100% RESTful.

Get details and versions

[reverseproxy] ReverseProxy by Wayson Clown

ReverseProxy allows developers to configure web applications to automatically switch between the HTTP and HTTPS protocols per page when used behind a front end Reverse-Proxy server such as Apache, Nginx or Lighttpd.
Configuration is done in Controllers using annotations.

Get details and versions

[riak] Riak by Julien Bille

Allow to use riak-java-client in play! way. All java properties is encode in JSON and save in riak with bucket and key declare in Annotation.

Get details and versions

[router] Play Router Annotations by Nicolas Leroux, Leon Radley

This module allows you to add routes through annotations, allowing you to declare your routes in your controllers.

Get details and versions

[rythm] Rythm Template Engine by Green Luo

PlayRythm is yet another template engine for play v1.x. It’s built on top of Rythm template engine with the following features:

  1. Static and strong typed pure Java template. Yes it’s like Japid and Jamon
  2. Razor like syntax
  3. Easy to integrate with Play and migrate your groovy template one by one
    1. Your existing controllers doesn’t need to be changed
    2. Your existing mailers doesn’t need to be changed
    3. Once an new template file under app/rythm folder created in the corresponding path, Rythm will take over; all other groovy templates still works
    4. Great Error reporting on parsing, compilation and excuting errors, using Play-2.0 style!
  4. Automatic escape expression output, like Groovy and unlike Japid
  5. High performance at Japid level
  6. Support layout and tag, you get all you have in Groovy template, actually even more
  7. Support FastTags and JavaExtensions with constraints
  8. Support properties enhancement to template class
  9. Tag invocation decorations and chain them together
  10. Template content decorations and chain them together
  11. Invoke controller action method directly from within your template
  12. Include other template inline (not the same as tag invocation)
  13. New Cache4 annotation to mark on controller action method
  14. Support GAE
  15. String Interpolation Mode
  16. ToString Mode
  17. AutoToString Mode
  18. Customize template class by adding imports and methods source code

Rythm template at a glance:

@extends(main)
@args List<User> users
...
<ul>
@for(User user: users) {
    @if (!user.disabled()) {
        <li class="@user_parity">
            <span>@user_index</span>
            <a href="@url(User.show(user.getId()))">@user.getName()</a>
        </li>
    }
}
</ul>

Check documentation for more information
Check the live demo application

Get details and versions

[s3blobs] S3Blobs by James Ward

The S3Blobs Play Framework Module provides an easy way to read an write files from Amazon S3 from within JPA entities.

Get details and versions

[sass] Syntactically Awesome Stylesheets by Guillaume Bort

{style with attitude} - Sass makes CSS fun again. Sass is CSS, plus nested rules, variables, mixins, and more, all in a concise, readable syntax.

Read more at http://sass-lang.com

Get details and versions

[scaffold] scaffold by Lawrence McAlpin

scaffold will generate basic scaffolding for bootstrapping a project from your JPA or Senia entities. Unlike the CRUD module, scaffold statically generates the controllers and templates, and does not dynamically introspect your model at runtime.

Simply create your JPA or Senia models and run “play scaffold:gen --overwrite” to create controllers and CRUD templates for your models.

Get details and versions

[scala] Scala by Sadek Drobi, Guillaume Bort, Peter Hausel

Play Scala enables you to use the Scala language for your application keeping key properties of the Play framework. It uses a more functional and Scala idiomatic style of programming without giving up on simplicity and developer friendliness.

Check the dedicated website at http://scala.playframework.org.

Get details and versions

[scalagen] Scala Gen by Aishwarya Singhal

Scala code generators for the Play! framework

This module can be used to generate Scala code. It can generate JPA/ Siena based models, CRUD and associated test cases.

Options:

--scaffold-jpa [entity name] [attribute1:type1]* Generates the JPA based model and associated CRUD code.
--model-jpa [entity name] [attribute1:type1]* Generates the JPA based model.
--scaffold-siena [entity name] [attribute1:type1]* Generates the Siena based model and associated CRUD code.

Note: --scaffold and --model are shortcuts to generate JPA

These generators can only be used from inside a Scala Play! project.

Get details and versions

[scalasecure] Scala secure by Aishwarya Singhal

This module provides basic security (authentication/ authorization) for Play applications written in Scala.

Get details and versions

[scalate] Scalate by Peter Hausel

Scalate Template engine support (more info about scalate: http://scalate.fusesource.org ).

This module depends on the scala module, so you will need to enable both modules.

required play version: 1.1r956
required play scala version: 0.7.2

You can start a new project with the following command:
play new myapp --with scala,scalate

(assuming you have only scala-0.7.2 and scalate-0.7.2 installed)

Get details and versions

[search] Search by Jean-Francois POUX

Search allows you to have basic full text search functionalities to your JPA Model. It is based on Lucene, and requires a real file system to store its indexes.

Get details and versions

[securepermissions] Secure Permissions Play! module by Stephane Epardaud

The Secure Permissions Play! module extends the Secure module in Play! Framework to add permission checks based on the rule-based permissions in the Seam Framework (based on Drools rules).

Get details and versions

[securesocial] SecureSocial by Jorge Aliss

SecureSocial allows you to add an authentication UI to your app that works with services based on OAuth1, OAuth2, OpenID and OpenID+OAuth hybrid protocols. The following services are supported:

- Twitter (OAuth1)
- Facebook (OAuth2)
- Google (OpenID)
- Google (OpenID + OAuth Hybrid)
- Google (OAuth2)
- GitHub (OAuth2)
- Yahoo (OpenID + OAuth Hybrid)
- LinkedIn (OAuth1)
- Foursquare (OAuth2)
- MyOpenID (OpenID)
- Wordpress (OpenID)
- Username and Password

Get details and versions

[shibboleth] shibboleth by Scott Phillips

Allow users to login to your Play! application via Shibboleth.
Shibboleth is a federated identity management protocol popular in higher education. The protocol provides a single sign on service across multiple organizational boundaries with secure attribute delivery. Shibboleth support requires that your application be proxies behind a Shibboleth capable web server such as Apache, Lighttpd, or IIS with the corresponding Shibboleth module installed. For more information on the protocol visit:

http://shibboleth.internet2.edu/

Get details and versions

[siena] Siena by Vijay Kiran, Pascal Voitot, Alberto Gimeno

The siena module enables Siena support to map your Java entities to GAE/MySQL/PostgreSQL/H2 from your play application (at least since v2.0.0).

  • NEW: play-siena v2.0.6 with support for GoogleCloudSql
  • play-siena v2.0.5 provides support for Amazon SimpleDB (not yet fully tested)
  • play-siena v.2.0.x with support for GAE/MySQL/Postgres/H2 + SQL DDL + Play >1.2.1

Main github project is: https://github.com/mandubian/play-siena

Read more on Siena at: http://www.sienaproject.com/ + https://github.com/mandubian/siena

Get details and versions

[spocktests] Spock tests by Peter Lundberg

This module allows running Spock specifications. This provides the possibility to write BDD style tests (still wrapped as junit) with the expressive power of groovy and still have the tested application be in playframework. This can also be combined with Geb which provides The future of functional web testing.

See more description on github

Get details and versions

[spring] Spring by Dominik Dorn, Nicolas Leroux

This module allows to use Spring managed beans inside your play! 1.x applications.

Get details and versions

[springtester] spring tester by An Do

Used to write tests that can auto-magically inject mocks (using
Mockito) into Play applications wired up using the spring module.

Get details and versions

[statsd] statsd by Rich Kroll

The module is a wrapper over StatsD (https://github.com/etsy/statsd) which allow for dead simple statistic aggregation from within play.

Get details and versions

[stax] Stax by Erwan Loisant

Easy deployment to Stax cloud hosting platform (http://www.stax.net).

Get details and versions

[swagger] Swagger by Tony Tam

Creates a self-documenting meta-description for REST APIs which allows for code-gen, UI-sandbox, and test framework. See more at http://swagger.wordnik.com and at http://developer.wordnik.com/docs

Get details and versions

[table] Table by Julien Richard-Foy

This module aims to simplify the code needed to display data in HTML tables.

Get details and versions

[tabularasa] Tabula Rasa by Steve Chaloner

Tabula Rasa provides support for user-customisable tables in views. DataTables is used as the client-side table renderer. Loading data via AJAX into tables is also simplified, and can be used with or without personalized tables.

Get details and versions

[tests] Alternative Test module for Play by Guy Mograbi

Presentation

Get details and versions

[thymeleaf] Thymeleaf by Satoshi Takata

Play framework module to use Thymeleaf 2.0 (http://www.thymeleaf.org/) as a template engine.
This is NOT a whole replacement of the groovy template. It is rather an add-on, rendering thymeleaf only if the alternative template exists.

Get details and versions

[twig] Twig by Dave Jafari

Twig superpowers Google App Engine’s Datastore for Play applications. Get a fluid API, in-memory joins, and asynchronous queries out of the box.

Get details and versions

[twitterbootstrap] twitterbootstrap by Scott Clasen

Play module that bundles up the twitter-bootstrap stylekit and the play less plugin, so that you can use twitter-bootstrap, edit the .less files and have your changes picked up and dynamically rendered to css.

Get details and versions

[useragentcheck] UserAgentCheck by Olivier Refalo

UserAgentCheck provides an easy way to notify users when their browser is outdated. It displays a banner (blocking or non blocking) that drives the user to a page where he/she may download an upgrade.

Version 0.4: Fix Opera detection
Version 0.3: Fixes issues with IE10

Get details and versions

[vhost] VHost by Lyubomir Ivanov

Adds some virtual hosts functionality with separate datasource and customizable application settings for each virtual host.

Get details and versions

[webdrive] webdrive by Raghu Kaippully

WebDrive module provides Selenium 2 testing support for Play framework. You can use this module to test your application with any browser supported by Selenium WebDriver.

Get details and versions