Skip to content

Commit 851917c

Browse files
authored
Merge pull request #546 from mkurz/community_driven
Emphasize Play is Community driven + Offer Pekko AND Akka
2 parents 9d503c8 + c51274b commit 851917c

13 files changed

Lines changed: 89 additions & 77 deletions

app/assets/css/modules/_oneTrust.styl

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,6 @@ body .optanon-alert-box-wrapper .optanon-alert-box-bottom-top
33
body .optanon-alert-box-wrapper .optanon-alert-box-bottom-padding
44
padding-bottom: 20px
55

6-
.lightbend-privacy-cookie-footer
7-
padding: 1rem 0 1rem 0
8-
color: white
9-
vertical-align: middle
10-
p
11-
font-size: 0.875rem
12-
vertical-align: middle
13-
.optanon-show-settings-wrapper
14-
display: inline-block
15-
vertical-align: middle
16-
176
.optanon-cookie-policy-group-name
187
font-weight: 700
198

app/controllers/Outreachy.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class Outreachy @Inject() (components: ControllerComponents)(implicit
1212
reverseRouter: documentation.ReverseRouter,
1313
) extends AbstractController(components) {
1414

15-
def outreachy = Action(Redirect(routes.Outreachy.round15))
15+
//def outreachy = Action(Redirect(routes.Outreachy.round15))
1616

1717
def round10 = Action { implicit req =>
1818
Ok(views.html.outreachy.round10())

app/views/blog/graal.scala.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ <h1>@title</h1>
2323
<p>There is also another edition called the Enterprise Edition which is not open source and you need to acquire a license to use it in production, but according to the docs it’s safe to use for development and evaluation. The Enterprise Edition is currently available for macOS and Linux, it has further benefits (comes with a smaller footprint and has more sandbox capabilities).</p>
2424
<p>In the future the Graal team will probably present us with more options regarding the operating system. For our blog post we stick to the Community Edition on Linux.</p>
2525
<h3 id="play-production-mode">Play Production Mode</h3>
26-
<p>Running Play or any Scala application on Graal is probably as easy as just switching to another Java VM. We will build the <a href="https://example.lightbend.com/v1/download/play-scala-starter-example">Play example project</a>, via <a href="https://www.playframework.com/documentation/2.6.x/Deploying#Using-the-SBT-assembly-plugin">sbt-assembly</a> and copy the production JAR to a regular server.</p>
26+
<p>Running Play or any Scala application on Graal is probably as easy as just switching to another Java VM. We will build the <a href="https://github.com/playframework/play-samples/tree/HEAD/play-scala-starter-example">Play example project</a>, via <a href="https://www.playframework.com/documentation/2.6.x/Deploying#Using-the-SBT-assembly-plugin">sbt-assembly</a> and copy the production JAR to a regular server.</p>
2727
<p>After downloading Graal and unpacking it, one can just run the application via <code>$GRAAL_HOME/bin/java -Xms3G -Xmx3G -XX:+UseG1GC -jar play-scala-starter-example-assembly-1.0-SNAPSHOT.jar</code>. Keep in mind for a production run, one would use a service manager or run the application inside an orchestration system like Kubernetes.</p>
2828
<p>The Play application started without any problem and one could use <code>curl</code> to ensure it is running via <code>curl http://graalserver:9000/</code> and it will print the Play “hello world page”.</p>
2929
<h2 id="-performance-of-graal">“Performance” of Graal</h2>

app/views/commonSidebar.scala.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
<li><a href="@routes.Application.communityProcess">Community process</a></li>
2424
<li><a href="@routes.Security.index">Reporting security vulnerabilities</a></li>
2525
</ul>
26+
@*
2627
<@hn>Programs</@hn>
2728
<ul>
2829
<li><a href="@routes.Outreachy.outreachy">Outreachy</a></li>
2930
</ul>
31+
*@

app/views/getInvolved.scala.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ <h1>How you can help</h1>
2020
<div class="links">
2121

2222
<h3 class="opencollective">Donate to our Open Collective</h3>
23-
<a href="//opencollective.com/playframework#section-contributors">75+ backers</a>
23+
<a href="//opencollective.com/playframework#section-contributors">300+ backers</a>
2424
<p>
2525
Play uses <a href="//opencollective.com/playframework">Open Collective</a> to collect donations from sponsors. These funds are used to pay contributors and cover project costs, openly and transparently.
2626
Individuals and companies alike can support Play financially by <a href="@routes.Application.sponsors">becoming backers or premium sponsors</a>.

app/views/gettingStarted.scala.html

Lines changed: 59 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
11
@import controllers.documentation.ReverseRouter
22
@(examples: PlayExamples)(implicit requestHeader: RequestHeader, reverseRouter: ReverseRouter)
33

4-
@renderProject(project: ExampleProject) = {
4+
@renderBaseTech(version: String) = @{
5+
version match {
6+
case "2.9.x" => "Akka"
7+
case _ => "Pekko"
8+
}
9+
}
10+
11+
@renderProject(version:String, project: ExampleProject) = {
512
<tr>
6-
<td>@project.displayName</td>
13+
<td>@project.displayName.dropRight(9)</td>
714
<td><a href="@project.gitHubUrl" target="_blank">View on GitHub</a></td>
15+
<td><a href="https://github.com/playframework/play-samples/archive/refs/heads/@{version}.zip">Download zip</a> <small>then unzip and<br><code>cd ./@{project.gitHubUrl.split("/").last}/</code></small></td>
816
</tr>
917
}
1018

@@ -30,58 +38,82 @@ <h3><span>&raquo;</span> Learn whether Play Framework is right for your project<
3038
</div>
3139
</div>
3240
<div class="try-option">
33-
<h3><span>&raquo;</span> Try the Hello World Tutorial</h3>
41+
<h3><span>&raquo;</span> Try a Hello World Tutorial</h3>
3442
<div class="try-option-content">
35-
<p>The Java and Scala Hello World projects are self-contained tutorials that include a distribution of the sbt build tool.</p>
36-
<p>Play requires Java 8 or higher. Check your version with the <code>java -version</code> command and if needed, install it from <a href="https://adoptium.net/" rel="noopener">Adoptium</a>.</p>
37-
<p>To try the tutorial, first download the Java or Scala project:</p>
38-
<table>
43+
<p>The Play Java and Play Scala "Hello World" projects are self-contained tutorials that are part of the <a href="https://github.com/playframework/play-samples">play-samples repository</a>. To try a tutorial, you can either clone the repository and check out the respective branch or download its contents as a zip file:</p>
44+
<table>
3945
@examples.sections.map { case (version, section) =>
4046
<tbody>
41-
<tr><th><h4>Play @version Hello World Projects</h4></th></tr>
47+
<tr><th colspan="3"><h4>Play @version Hello World Projects (Built on @{renderBaseTech(version)})</h4></th></tr>
4248
@section.tutorials.getOrElse("java", Seq.empty).map { (project) =>
43-
@renderProject(project)
49+
@renderProject(version, project)
4450
}
4551
@section.tutorials.getOrElse("scala", Seq.empty).map { (project) =>
46-
@renderProject(project)
52+
@renderProject(version, project)
4753
}
4854
</tbody>
4955
}
5056
</table>
51-
<p>To run the tutorial:</p>
52-
<ol>
53-
<li>Unzip the project in a convenient location.</li>
54-
<li>In a command window, change to the top-level project directory.</li>
57+
<blockquote>
58+
<p>
59+
Besides replacing Akka with Pekko, Play 3.0 is identical to Play 2.9. If you don't know what Akka or Pekko is, we recommend using Play 3.0. For more details on which version to use, read <a href="@reverseRouter.latest(None, "General#How-Play-Deals-with-Akkas-License-Change")" target="_blank">"How Play Deals with Akka’s License Change"</a>.
60+
</p>
61+
</blockquote>
62+
<p>To run a tutorial follow the <code>README</code> file instructions in the respective folder. In short:</p>
63+
<ol>
64+
<li>Please check <a href="@reverseRouter.latest(None, "Requirements")" target="_blank">the requirements for using Play</a>: Java and sbt needs to be installed.</li>
65+
<li>Clone or unzip the repo in a convenient location.</li>
66+
<li>In a command window, change to the project directory of the desired tutorial.</li>
5567
<li>Enter <code>sbt run</code>.</li>
5668
<li>After the message <code>Server started, ...</code> displays, enter the following URL in a browser: <a href="http://localhost:9000">http://localhost:9000</a></li>
69+
<li>The tutorial welcome page displays.</li>
5770
</ol>
58-
<p>The tutorial welcome page displays.</p>
5971
</div>
6072
</div>
6173
</div>
6274

6375
<div class="try-section">
6476
<h2>Already know a bit about Play?</h2>
65-
<p>There are a variety of <a href="https://github.com/playframework/play-samples">Play example projects for Java and Scala</a> that are focused on a particular use case. These include everything you need, including <a href="//www.scala-sbt.org/index.html">sbt</a>, Play Framework, and an HTTP server. The examples also support <a href="//gradle.github.io/playframework/">Gradle</a>.</p>
66-
<p>If you are ready to start your own project and have sbt installed, you can create a Play project from the command line.</p>
77+
<p>There are a variety of <a href="https://github.com/playframework/play-samples">Play example projects for Java and Scala</a> that focus on specific use cases. To run these sample projects, please check <a href="@reverseRouter.latest(None, "Requirements")" target="_blank">the requirements for using Play</a>: Java and sbt needs to be installed.</p>
78+
<p>If you are ready to start your own project and have sbt and Java installed, you can create a Play project from the command line.</p>
6779

6880
<div class="try-option">
69-
<h3><span>&raquo;</span> Create a Play Java or Scala project using <code>sbt new</code></h3>
81+
<h3><span>&raquo;</span> Create a new Play Java or Scala project using <code>sbt new</code></h3>
7082
<div class="try-option-content">
71-
<p>In a command window, enter one of the following and respond to the prompts to create a new project:</p>
72-
73-
<h4>Java seed template</h4>
74-
<pre>sbt new playframework/play-java-seed.g8</pre>
75-
76-
<h4>Scala seed template</h4>
77-
<pre>sbt new playframework/play-scala-seed.g8</pre>
78-
79-
<p>After the template creates the project:</p>
83+
<p>In a command window, enter the following:</p>
84+
<pre>sbt new</pre>
85+
<p>
86+
In the interactive menu choose:
87+
<ul>
88+
<li><code>playframework/play-scala-seed.g8</code> for a Play Scala project</li>
89+
<li><code>playframework/play-java-seed.g8</code> for a Play Java project</li>
90+
</ul>
91+
</p>
92+
<p>
93+
Then respond to the prompts. After the project got created:</p>
8094
<ol>
8195
<li>Change into the top level project directory.</li>
8296
<li>Enter <code>sbt run</code> to download dependencies and start the system.</li>
8397
<li>In a browser, enter <a href="http://localhost:9000">http://localhost:9000</a> to view the welcome page.</li>
8498
</ol>
99+
100+
<h4>Using the Java seed template directly instead</h4>
101+
<p>Enter:</p>
102+
<pre>sbt new playframework/play-java-seed.g8</pre>
103+
To create a Play Java 2.9 project:
104+
<pre>sbt new playframework/play-java-seed.g8 --branch 2.9.x</pre>
105+
106+
<h4>Using the Scala seed template directly instead</h4>
107+
<p>Enter:</p>
108+
<pre>sbt new playframework/play-scala-seed.g8</pre>
109+
To create a Play Scala 2.9 project:
110+
<pre>sbt new playframework/play-scala-seed.g8 --branch 2.9.x</pre>
111+
112+
<blockquote>
113+
<p>
114+
Besides replacing Akka with Pekko, Play 3.0 is identical to Play 2.9. If you don't know what Akka or Pekko is, we recommend using Play 3.0. For more details on which version to use, read <a href="@reverseRouter.latest(None, "General#How-Play-Deals-with-Akkas-License-Change")" target="_blank">"How Play Deals with Akka’s License Change"</a>.
115+
</p>
116+
</blockquote>
85117
</div>
86118
</div>
87119
</div>

app/views/index.scala.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ <h1>Play Framework makes it easy to build web applications with Java &amp; Scala
5454
Play is based on a lightweight, stateless, web-friendly architecture.
5555
</p>
5656
<p>
57-
Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.
57+
Built on Pekko (Play 3) and Akka (Play 2), Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.
5858
</p>
5959
</article>
6060
<article class="feature developer">
@@ -91,12 +91,12 @@ <h6>Play instances usage</h6>
9191
</div>
9292
<h2>Scale predictably.</h2>
9393
<p>
94-
Underneath the covers Play uses a fully asynchronous model built on top of Akka. Combined with being stateless, Play scales simply and predictably.
94+
Underneath the covers Play uses a fully asynchronous model built on top of Pekko (Play 3) and Akka (Play 2). Combined with being stateless, Play scales simply and predictably.
9595
</p>
9696
<ul>
9797
<li>Stateless Web Tier</li>
9898
<li>Non-blocking I/O</li>
99-
<li>Built on Akka</li>
99+
<li>Built on Pekko (Play 3) and Akka (Play 2)</li>
100100
<li>Real-time enabled</li>
101101
</ul>
102102
</article>
@@ -124,7 +124,7 @@ <h2>Solid &amp; fast.</h2>
124124
<ul>
125125
<li>Code is compiled</li>
126126
<li>Runs on the JVM</li>
127-
<li>Java NIO via Akka HTTP or Netty</li>
127+
<li>Java NIO via Pekko/Akka HTTP or Netty</li>
128128
</ul>
129129
</article>
130130
<article class="feature techs small">

app/views/main.scala.html

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,19 +162,12 @@ <h3>Social networks</h3>
162162
</div>
163163
</div>
164164
<div class="credits">
165-
<a href="/" class="logo"><img src="@routes.Assets.versioned("images/logos/play_reverse.svg")"></a>
166-
<a href="//lightbend.com" class="partner"><img src="@routes.Assets.versioned("images/logos/lightbend-reverse.svg")"></a>
167-
<a href="http://zengularity.com" class="partner"><img src="@routes.Assets.versioned("images/logos/zengularity.png")"></a>
168165
<p>
169166
Play Framework is released under the Apache 2 License
170167
</p>
171168
</div>
172169
<div class="lb-legal">
173170
<p>
174-
&copy; Lightbend 2021 |
175-
<a href="https://www.lightbend.com/legal/licenses" target="_blank">Licenses</a> |
176-
<a href="https://www.lightbend.com/legal/terms" target="_blank">Terms</a> |
177-
<a href="https://www.lightbend.com/legal/privacy" target="_blank">Privacy Policy</a> |
178171
<a href="@routes.Application.cookie">Cookie Listing</a> |
179172
<a class="optanon-toggle-display">Cookie Settings</a>
180173
</p>

app/views/sponsors.scala.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ <h1>@title</h1>
1111
<article>
1212
<h1>Why sponsor Play?</h1>
1313
<p>
14-
At the end of 2021 <a href="//www.lightbend.com/">Lightbend</a>, the company that sponsored and lead the development of the Play Framework for almost a decade, <a href="//discuss.lightbend.com/t/on-the-future-of-play-framework/8920">handed over the project to the community</a>.
14+
At the end of 2021 <a href="//www.lightbend.com/">Lightbend</a>, the company that sponsored and lead the development of the Play Framework for almost a decade, <a href="//web.archive.org/web/20221219111211/https://discuss.lightbend.com/t/on-the-future-of-play-framework/8920">handed over the project to the community</a>.
1515
Since then the Play Framework uses <a href="//opencollective.com/playframework">Open Collective</a> to gather money to pay contributors and to cover other project expenses in <a href="//opencollective.com/how-it-works">the most transparent way possible</a>.
1616
</p>
1717
<p>
@@ -60,7 +60,6 @@ <h2>Who is responsible?</h2>
6060
These members are:
6161
<ul>
6262
<li><a href="//github.com/BillyAutrey">Billy Autrey</a></li>
63-
<li><a href="//github.com/octonato">Renato Cavalcanti</a></li>
6463
<li><a href="//github.com/mkurz">Matthias Kurz</a></li>
6564
<li><a href="//github.com/eloots">Eric Loots</a></li>
6665
<li><a href="//github.com/gmethvin">Greg Methvin</a></li>

conf/application.conf

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ documentation {
130130
{ from = "ProductionDist", to = "Production" },
131131
{ from = "Protocols", to = "https://lightbend.github.io/ssl-config/Protocols.html" },
132132
{ from = "PullRequests", to = "https://github.com/playframework/.github/blob/main/CONTRIBUTING.md"},
133-
{ from = "Samples", to = "https://developer.lightbend.com/start/?group=play" },
133+
{ from = "Samples", to = "https://github.com/playframework/play-samples" },
134134
{ from = "ScalaAnorm", to = "https://playframework.github.io/anorm/" },
135135
{ from = "ScalaEmbeddingPlay", to = "ScalaEmbeddingPlayAkkaHttp" },
136136
{ from = "ScalaFormHelpers", to = "ScalaForms" },
@@ -146,6 +146,14 @@ documentation {
146146
{ from = "JavaEbean", to = "https://github.com/playframework/play-ebean/" },
147147
{ from = "JavaDatabase", to = "AccessingAnSQLDatabase" },
148148
{ from = "ScalaDatabase", to = "AccessingAnSQLDatabase" },
149+
{ from = "JavaAkka", to = "JavaPekko" },
150+
{ from = "ScalaAkka", to = "ScalaPekko" },
151+
{ from = "AkkaIntegrations", to = "PekkoIntegrations" },
152+
{ from = "AkkaClusterSharding", to = "PekkoClusterSharding" },
153+
{ from = "AkkaHttpServer", to = "PekkoHttpServer" },
154+
{ from = "SettingsAkkaHttp", to = "SettingsPekkoHttp" },
155+
{ from = "AkkaTyped", to = "PekkoTyped" },
156+
{ from = "ScalaEmbeddingPlayAkkaHttp", to = "ScalaEmbeddingPlayPekkoHttp" },
149157

150158
]
151159
}

0 commit comments

Comments
 (0)