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, let us know via the Play Framework Forum.
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.
[table] Table by Julien Richard-Foy
This module aims to simplify the code needed to display data in HTML tables.
[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.
[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.
[scalasecure] Scala secure by Aishwarya Singhal
This module provides basic security (authentication/ authorization) for Play applications written in Scala.
[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
[neo4j] logisima-neo4j by logisima
Integrate neo4j database into your play! project.
[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
[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.
[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
[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)
[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.
[ivy] Ivy dependency management by Peter Hausel
This module lets you manage your dependencies with apache ivy.
[html5validation] HTML5 Validation by Sebastian Hoß
Client-side form validation based on your Play framework
model annotations using HTML5 attributes.
[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
[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/
[oauth] OAuth Client by Erwan Loisant
This module provides tools to connect to an OAuth provider, such as Twitter or Google.
[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
[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
[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.
[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.
[ebean] EBean ORM support by Lyubomir Ivanov
Adds Ebean ORM to play!. Still in very experimental phase.
[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.
[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.
[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
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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
[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.
[googlecheckout] Google Checkout by James Gregory
Enable your Play application to integrate with Google Checkout as a merchant.
[gravatar] Gravatar by Matteo Barbieri
Integrate Gravatar into your Play application
[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/
[vhost] VHost by Lyubomir Ivanov
Adds some virtual hosts functionality with separate datasource and customizable application settings for each virtual host.
[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.
[migrate] Database migration by David Cardon
This module allows you to easily maintain database versions for your project.
[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:
- Static and strong typed pure Java template. Yes it’s like Japid and Jamon
- Razor like syntax
- Easy to integrate with Play and migrate your groovy template one by one
- Your existing controllers doesn’t need to be changed
- Your existing mailers doesn’t need to be changed
- Once an new template file under
app/rythm
folder created in the corresponding path, Rythm will take over; all other groovy templates still works - Great Error reporting on parsing, compilation and excuting errors, using Play-2.0 style!
- Automatic escape expression output, like Groovy and unlike Japid
- High performance at Japid level
- Support layout and tag, you get all you have in Groovy template, actually even more
- Support FastTags and JavaExtensions with constraints
- Support properties enhancement to template class
- Tag invocation decorations and chain them together
- Template content decorations and chain them together
- Invoke controller action method directly from within your template
- Include other template inline (not the same as tag invocation)
- New
Cache4
annotation to mark on controller action method - Support GAE
- String Interpolation Mode
- ToString Mode
- AutoToString Mode
- 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
[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.
[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
[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
[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.
[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.
[force] Force.com by Jesper Joergensen
Build Play! applications that integrates to Force.com. Provides OAuth authentication and REST API adapter.
[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.
[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.
[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.
[gae] Google App Engine by Guillaume Bort, Pascal Voitot
Create play application for the Google App Engine platform.
[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.
[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
[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.
[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!
[postmark] Postmark by Joel Söderström
Postmark module provides easy integration with postmarkapp.com for handling outgoing emails.
[accesslog] accesslog by Brian Nesbitt
A Play framework module that performs request logging similar to an access log file in nginx or apache.
[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
[i18ntools] i18ntools by naholyr
This module will add some tools to ease use of i18n in your Play! projects.
“i18n-extract” willparse your application’s files to find internationalized strings, and add missing strings to your messages files.
[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
[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.
[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/
[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:
- 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)
- Able to download all dependencies not provided by Play into lib folder, with src and javadoc
- 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:
- Long download time.
- Handle classpath.
- Change Play’s structure.
[paginate] paginate by Lawrence McAlpin
A replacement for #{list} tags that allows for easy pagination.
[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.
[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.
[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.
[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
[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.
[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.
[fbconnect] Facebook connect by Michael Murray
Easily integrate Facebook based authentication into any Play framework application.
[markdown] Markdown by Olivier Refalo
Easily bring markdown contents into your application.
see https://github.com/orefalo/play-markdown for version history
[heroku] Heroku by James Ward
This module makes it easy to deploy Play applications on Heroku.
[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.
[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
For more information, consult the documentation in this module's GitHub repository.
[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.
[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
[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.
[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.
[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.
[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.
[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.
[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
[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.
[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.
[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.
[playapps] playapps.net by Zenexity
playapps.net is a streamlined deployment environment designed to get your Play applications up and running quickly and efficiently
[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.
[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
[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.
[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).
[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)
[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.
[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
[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:
[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
[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.
[spring] Spring by Dominik Dorn, Nicolas Leroux
This module allows to use Spring managed beans inside your play! 1.x applications.
[cloudbees] CloudBees by Ivan Meredith
This module provides integration with CloudBees RUN@cloud PaaS, For a getting started guide go here
[menu] Menu by Green Luo
help app developer to easily implement navigation menu. Basically with the module what you need to do is:
- create menu structure file (_menu.yml) in YAML format
- put “#{menu.menu /}” tag in proper place of your main.html file
- for Rythm user, use @menu.menu() tag
Yes, that’s all!
for detail, please refer to document
Many thanks to [email protected] who test and report issues of this module
[jqueryui] jQuery UI by Peter Hilton
The jQuery UI module provides working examples of jQuery UI widgets, integrated with a Play application.
[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
[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.
[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.
[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.
[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 [email protected]
[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.
[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
[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.
[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.
[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.
[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.
[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.
[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 ...
[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
[jqvalidate] JQuery Validation by Michael Murray
Client-side form validation via jQuery, based on your
Play framework model annotations. Check the demo application
[stax] Stax by Erwan Loisant
Easy deployment to Stax cloud hosting platform (http://www.stax.net).
[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
[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.
[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
[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.
[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
[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.
[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
[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.
[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).
[bhave] bhave by Edward Southey
Web-based BDD Framework, for web apps, done in a funky way!
[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.
[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
[navigation] navigation by Erik Bakker
Define and display navigation menus in your Play
application.
Robust core, easily adaptable to suit your needs.
[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
[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
[cheese] Cheese by Lawrence McAlpin
Simplified API for integration Play! applications with the CheddarGetter subscription management service. (Sign up here: http://zfer.us/KIt2E)