From 12a5aaa859f807e705c13983b94d8c9f0a3e51a1 Mon Sep 17 00:00:00 2001 From: Max Rosenbaum Date: Fri, 28 Jan 2022 20:56:38 +1100 Subject: [PATCH 1/4] Remove old or abandoned play modules from documentation (cherry picked from commit f749dc4a898c633747b748b5a31c0f457930a594) --- documentation/manual/ModuleDirectory.md | 150 ++---------------------- 1 file changed, 7 insertions(+), 143 deletions(-) diff --git a/documentation/manual/ModuleDirectory.md b/documentation/manual/ModuleDirectory.md index 55016f210c4..458e8b5277f 100644 --- a/documentation/manual/ModuleDirectory.md +++ b/documentation/manual/ModuleDirectory.md @@ -12,66 +12,33 @@ To create your own public module or to migrate from a `play.api.Plugin`, please - **Website:** - **Short description:** Write a Swagger spec in your routes file -### mohiva/swagger-codegen-play-scala - -* **Website:** -* **Short description:** Swagger client generator which is based on the PlayWS library - ## Assets -### play2-sprites -* **Website:** -* **Short description:** play2-sprites is an sbt plugin that generates sprites from images. - -### Sass Plugin -* **Website:** -* **Short description:** Asset handling for [Sass](https://sass-lang.com/) files - ### Typescript Plugin * **Website:** * **Short description:** A plugin for sbt that uses sbt-web to compile typescript resources -### play-webpack Plugin -* **Website:** -* **Short description:** A plugin for sbt to handle webpack generated assets and library to render Javascript on the server with Java's nashorn engine. ## Authentication (Login & Registration) and Authorization (Restricted Access) ### Silhouette (Scala) -* **Website:** -* **Documentation:** +* **Website:** +* **Documentation:** * **Short description:** An authentication library that supports several authentication methods, including OAuth1, OAuth2, OpenID, CAS, Credentials, Basic Authentication, Two Factor Authentication or custom authentication schemes. -### Deadbolt 2 Plugin - -* **Website (docs, sample):** -* **Short description:** Deadbolt is an authorization mechanism for defining access rights to certain controller methods or parts of a view using a simple AND/OR/NOT syntax - ### Play-pac4j (Java and Scala) * **Website:** * **Documentation:** * **Short description:** Play client in Scala and Java which supports OAuth/CAS/OpenID/HTTP authentication and user profile retrieval -### Authentication and Authorization module (Scala) - -* **Website:** -* **Documentation(en):** -* **Documentation(ja):** -* **Short description** This module provides an authentication and authorization way - ### Play! Authenticate (Java) * **Website:** * **Documentation:** * **Short description:** A highly customizable authentication module for Play -### SecureSocial (Java and Scala) - -* **Website:** -* **Short description:** An authentication module supporting OAuth, OAuth2, OpenID, Username/Password and custom authentication schemes. - ## Datastore @@ -81,10 +48,6 @@ To create your own public module or to migrate from a `play.api.Plugin`, please * **Documentation:** * **Short Description:** Supports database migration with Flyway. -### MongoDB Jongo Plugin (Java) -* **Website (docs, sample):** -* **Short description:** Provides managed MongoDB access and object mapping using [Jongo](http://jongo.org/) - ### MongoDB Morphia Plugin (Java) * **Website (docs, sample):** * **Short description:** Provides managed MongoDB access and object mapping using [Morphia](https://morphia.dev/) @@ -93,18 +56,10 @@ To create your own public module or to migrate from a `play.api.Plugin`, please * **Website (docs, sample):** * **Short description:** Provides a Play 2.x module for ReactiveMongo, asynchronous and reactive driver for MongoDB. -### Play-Hippo -* **Website (docs, sample):** -* **Short description:** Provides a Play 2.x module for Hippo CMS. - ### Play-Slick * **Website (docs, sample):** * **Short description:** This plugin makes Slick a first-class citizen of Play. -### Redis Plugin (Java and Scala) -* **Website (docs, sample):** -* **Short description:** Provides a redis based cache implementation, also lets you use Redis specific APIs - ### ScalikeJDBC Plugin (Scala) * **Website:** @@ -116,16 +71,6 @@ To create your own public module or to migrate from a `play.api.Plugin`, please * **Short description:** Provides both blocking and asynchronous redis based cache implementation. It implements common Play's CacheApi for both Java and Scala plus provides a few more Scala APIs implementing various Redis commands including the support of collections. - -## Deployment - -### WAR Module - -* **Website:** -* **Documentation:** -* **Short description:** Allow to package Play! 2.x applications into standard WAR packages. - - ## Page Rendering ### Play Pagelets @@ -134,42 +79,23 @@ To create your own public module or to migrate from a `play.api.Plugin`, please * **Seed project:** -## Localization - -### FolderMessages plugin - -* **Website:** -* **Short Description:** Allows you to split localization messages files into separate manageable files. - ### JsMessages * **Website:** -* **Short description:** Allows to compute localized messages on client side. - -### Messages Compiler Plugin (Scala) - -* **Website:** -* **Documentation:** -* **Short description:** Provides type safety for the project's messages. - -### Play I18n HOCON - -* **Website:** -* **Documentation:** -* **Short description:** A Playframework module to use HOCON for i18n instead of Java Properties +* **Short description:** Allows to compute localized messages on client side. Play 2.7 support. ## Performance ### Google's HTML Compressor (Java and Scala) -* **Website:** -* **Documentation:** +* **Website:** +* **Documentation:** * **Short description:** Google's HTML Compressor for Play 2. ### Memcached Plugin * **Website:** -* **Short description:** Provides a memcached based cache implementation +* **Short description:** Provides a memcached based cache implementation. Support up to play 2.6. ## Task Schedulers @@ -179,13 +105,6 @@ To create your own public module or to migrate from a `play.api.Plugin`, please * **Documentation**: * **Short description**: Quartz Extension and utilities for cron-style scheduling in Akka -### play-akkjobs - -* **Website**: -* **Documentation**: -* **Short description**: A simple Play 2.5 module, which allows you to manage jobs - - ## Settings ### Remote Configuration @@ -196,12 +115,7 @@ To create your own public module or to migrate from a `play.api.Plugin`, please ### Google Closure Template Plugin * **Website (docs, sample):** [https://github.com/gawkermedia/play2-closure](https://github.com/gawkermedia/play2-closure) -* **Short description:** Provides support for Google Closure Templates - -### HTML5 Tags module (Java and Scala) -* **Website:** -* **Documentation:** -* **Short description:** These tags add client side validation capabilities, based on model constraints (e.g required, email pattern, max|min length...) and specific input fields (date, telephone number, url...) to Play templates +* **Short description:** Provides support for Google Closure Templates. Supports Play 2.4. ### Scalate * **Website:** @@ -225,17 +139,6 @@ To create your own public module or to migrate from a `play.api.Plugin`, please * **Repository:** * **Short description:** A library for Bootstrap that gives you an out-of-the-box solution with a set of input helpers and field constructors. -### Thymeleaf module (Scala) -* **Website:** -* **Documentation:** -* **Short description:** Allows to use [Thymeleaf](https://www.thymeleaf.org/) template engine as an alternative -to Twirl - -### Handlebars templates (Java and Scala) - -* **Website:** -* **Documentation:** -* **Short description:** [Handlebars](http://handlebarsjs.com/) templates based on [Java port](https://github.com/jknack/handlebars.java) of handlebars with special handlers for Play Framework. ### Play Form @@ -248,23 +151,6 @@ to Twirl * **Website (docs, sample):** * **Short description:** Provides an emailer based on apache commons-email -### Geolocation (Java) - -* **Website:** -* **Documentation:** -* **Short description:** Module to retrieve Geolocation data based on IP. - -### JSONP filter - -* **Website:** -* **Short description:** Enables JSONP on your existing HTTP API. - -### Sitemap Generator (Java) - -* **Website:** -* **Documentation:** -* **Short description:** Automatic [sitemaps](https://www.sitemaps.org/) generator for Play - ### play-guard (Scala) * **Website:** @@ -274,30 +160,8 @@ to Twirl ## Cloud services -### Amazon SES module (Scala) - -* **Website:** -* **Documentation:** -* **Short description:** SES (Simple Email Service) API wrapper for Play - -### Amazon S3 module (Scala) - -* **Website:** -* **Documentation:** -* **Short description:** S3 (Simple Storage Service) API wrapper for Play - ### Benji (Scala) * **Website:** * **Documentation:** * **Short description:** A reactive module for the Benji library, providing an Object storage DSL (AWS/Ceph S3, Google Cloud Storage). - -### Pusher -* **Website:** -* **Documentation:** -* **Short description:** Easily interact with the Pusher Service within your Play application. - -### Push Notifications module (Java) -* **Website:** -* **Documentation:** -* **Short description:** A stupid-simple module for creating, batching, queuing and sending push notifications. From f49be1c014c8c0c57b043e685030e5d32caeccb7 Mon Sep 17 00:00:00 2001 From: Max Rosenbaum Date: Fri, 28 Jan 2022 21:27:22 +1100 Subject: [PATCH 2/4] Update the removed modules to be under the "archived" section (cherry picked from commit d2030079414af0389abb59900e264e6752615cb7) --- documentation/manual/ModuleDirectory.md | 149 +++++++++++++++++++++++- 1 file changed, 148 insertions(+), 1 deletion(-) diff --git a/documentation/manual/ModuleDirectory.md b/documentation/manual/ModuleDirectory.md index 458e8b5277f..fab92c476f3 100644 --- a/documentation/manual/ModuleDirectory.md +++ b/documentation/manual/ModuleDirectory.md @@ -27,6 +27,12 @@ To create your own public module or to migrate from a `play.api.Plugin`, please * **Documentation:** * **Short description:** An authentication library that supports several authentication methods, including OAuth1, OAuth2, OpenID, CAS, Credentials, Basic Authentication, Two Factor Authentication or custom authentication schemes. +### Deadbolt 2 + +* **Website (Scala):** +* **Website (Java):** +* **Short description:** Deadbolt is an authorization mechanism for defining access rights to certain controller methods or parts of a view using a simple AND/OR/NOT syntax + ### Play-pac4j (Java and Scala) * **Website:** @@ -158,10 +164,151 @@ To create your own public module or to migrate from a `play.api.Plugin`, please * **Short description:** Play2 module for blocking and throttling abusive requests -## Cloud services +## Cloud Services ### Benji (Scala) * **Website:** * **Documentation:** * **Short description:** A reactive module for the Benji library, providing an Object storage DSL (AWS/Ceph S3, Google Cloud Storage). + + +## Archived or Unmaintained Modules + +If the status of any modules has changed, feel free to send a PR with an update +[here](https://github.com/playframework/playframework/blob/master/documentation/manual/ModuleDirectory.md). + +### mohiva/swagger-codegen-play-scala + +* **Website:** +* **Short description:** Swagger client generator which is based on the PlayWS library + +### play2-sprites +* **Website:** +* **Short description:** play2-sprites is an sbt plugin that generates sprites from images. + +### Sass Plugin +* **Website:** +* **Short description:** Asset handling for [Sass](https://sass-lang.com/) files + +## play-webpack Plugin + +* **Website:** +* **Short description:** A plugin for sbt to handle webpack generated assets and library to render Javascript on the server with Java's nashorn engine. + +### Authentication and Authorization module (Scala) + +* **Website:** +* **Documentation(en):** +* **Documentation(ja):** +* **Short description** This module provides an authentication and authorization way + + +### SecureSocial (Java and Scala) + +* **Website:** +* **Short description:** An authentication module supporting OAuth, OAuth2, OpenID, Username/Password and custom authentication schemes. + + +### MongoDB Jongo Plugin (Java) + +* **Website (docs, sample):** +* **Short description:** Provides managed MongoDB access and object mapping using [Jongo](http://jongo.org/) + +### Play-Hippo + +* **Website (docs, sample):** +* **Short description:** Provides a Play 2.x module for Hippo CMS. + +### Redis Plugin (Java and Scala) + +* **Website (docs, sample):** +* **Short description:** Provides a redis based cache implementation, also lets you use Redis specific APIs + + +### WAR Module + +* **Website:** +* **Documentation:** +* **Short description:** Allow to package Play! 2.x applications into standard WAR packages. + +### FolderMessages plugin + +* **Website:** +* **Short Description:** Allows you to split localization messages files into separate manageable files. + +### Messages Compiler Plugin (Scala) + +* **Website:** +* **Documentation:** +* **Short description:** Provides type safety for the project's messages. + +### Play I18n HOCON + +* **Website:** +* **Documentation:** +* **Short description:** A Playframework module to use HOCON for i18n instead of Java Properties + + +### play-akkjobs + +* **Website**: +* **Documentation**: +* **Short description**: A simple Play 2.5 module, which allows you to manage jobs + +### HTML5 Tags module (Java and Scala) + +* **Website:** +* **Documentation:** +* **Short description:** These tags add client side validation capabilities, based on model constraints (e.g required, email pattern, max|min length...) and specific input fields (date, telephone number, url...) to Play templates + +### Thymeleaf module (Scala) + +* **Website:** +* **Documentation:** +* **Short description:** Allows to use [Thymeleaf](https://www.thymeleaf.org/) template engine as an alternative + to Twirl + +### Handlebars templates (Java and Scala) + +* **Website:** +* **Documentation:** +* **Short description:** [Handlebars](http://handlebarsjs.com/) templates based on [Java port](https://github.com/jknack/handlebars.java) of handlebars with special handlers for Play Framework. + +### Geolocation (Java) + +* **Website:** +* **Documentation:** +* **Short description:** Module to retrieve Geolocation data based on IP. + +### JSONP filter + +* **Website:** +* **Short description:** Enables JSONP on your existing HTTP API. + +### Sitemap Generator (Java) + +* **Website:** +* **Documentation:** +* **Documentation:** +* **Short description:** SES (Simple Email Service) API wrapper for Play + +### Amazon S3 module (Scala) + +* **Website:** +* **Documentation:** +* **Short description:** S3 (Simple Storage Service) API wrapper for Play + +### Pusher +* **Website:** +* **Documentation:** +* **Short description:** Easily interact with the Pusher Service within your Play application. + +### Push Notifications module (Java) +* **Website:** +* **Documentation:** +* **Short description:** A stupid-simple module for creating, batching, queuing and sending push notifications. \ No newline at end of file From 98245eadd553790783533c31c4b15145a8ea9f62 Mon Sep 17 00:00:00 2001 From: Max Rosenbaum Date: Sun, 30 Jan 2022 21:49:44 +1100 Subject: [PATCH 3/4] Add disclaimer to archived modules (cherry picked from commit 3a02986b05c02d37d17f5f85831508262946972a) --- documentation/manual/ModuleDirectory.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/documentation/manual/ModuleDirectory.md b/documentation/manual/ModuleDirectory.md index fab92c476f3..21d8a2a375c 100644 --- a/documentation/manual/ModuleDirectory.md +++ b/documentation/manual/ModuleDirectory.md @@ -175,6 +175,10 @@ To create your own public module or to migrate from a `play.api.Plugin`, please ## Archived or Unmaintained Modules +These libraries are no longer maintained, so they may not support recent Play releases, and may also contain unpatched +bugs and security vulnerabilities. You might find them useful as examples, but you should avoid relying on them unless +you fully understand what they are doing and are willing to fork them to fix issues yourself. + If the status of any modules has changed, feel free to send a PR with an update [here](https://github.com/playframework/playframework/blob/master/documentation/manual/ModuleDirectory.md). From 05ebd6c6a0b78ae8fe1c6d1ba36e1d580c8dacb1 Mon Sep 17 00:00:00 2001 From: Max Rosenbaum Date: Mon, 31 Jan 2022 10:26:36 +1100 Subject: [PATCH 4/4] Updates to review (cherry picked from commit 5871ed7390c6c540df76c2a9242b81f72ee133e7) --- documentation/manual/ModuleDirectory.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/manual/ModuleDirectory.md b/documentation/manual/ModuleDirectory.md index 21d8a2a375c..d44f5eb4d44 100644 --- a/documentation/manual/ModuleDirectory.md +++ b/documentation/manual/ModuleDirectory.md @@ -23,7 +23,7 @@ To create your own public module or to migrate from a `play.api.Plugin`, please ### Silhouette (Scala) -* **Website:** +* **Website:** * **Documentation:** * **Short description:** An authentication library that supports several authentication methods, including OAuth1, OAuth2, OpenID, CAS, Credentials, Basic Authentication, Two Factor Authentication or custom authentication schemes. @@ -101,7 +101,7 @@ To create your own public module or to migrate from a `play.api.Plugin`, please ### Memcached Plugin * **Website:** -* **Short description:** Provides a memcached based cache implementation. Support up to play 2.6. +* **Short description:** Provides a memcached based cache implementation. ## Task Schedulers