more entry and images
diff --git a/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-11-1.adoc b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-11-1.adoc
new file mode 100644
index 0000000..dd6d3c1
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-11-1.adoc
@@ -0,0 +1,48 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans 11.1 Released
+:author: Geertjan Wielenga
+:revdate: 2019-07-22
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+The Apache NetBeans team is pleased to announce the release of Apache NetBeans 11.1.
+Apache NetBeans is a full IDE for Java SE, Java EE, PHP and JavaScript development with some Groovy language support.
+
+Apache NetBeans 11.1 is the first Apache NetBeans release outside the Apache Incubator and the first release of the new quarterly release cycle.
+The LTS release of the Apache NetBeans 11 cycle is Apache NetBeans 11.0. The 11.1 release has not been as heavily tested as the LTS release.
+Use 11.1 to access the latest features and to provide feedback for the next LTS release, scheduled for April 2020.
+
+New & noteworthy features of the 11.1 release:
+
+xref:../../download/nb111/index.adoc[Apache NetBeans 11.1 Features page]
+
+Downloads:
+
+xref:../../download/nb111/nb111.adoc[Apache NetBeans 11.1 Download page]
+
+Feel free to share the good news!
diff --git a/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-11-2.adoc b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-11-2.adoc
new file mode 100644
index 0000000..74381cb
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-11-2.adoc
@@ -0,0 +1,48 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans 11.2 Released
+:author: Geertjan Wielenga
+:revdate: 2019-11-01
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+The Apache NetBeans team is pleased to announce the release of Apache NetBeans 11.2.
+Apache NetBeans is a full IDE for Java SE, Java EE, PHP and JavaScript development with some Groovy language support.
+
+Apache NetBeans 11.2 is the second Apache NetBeans release outside the Apache Incubator and the second release of the new quarterly release cycle.
+The LTS release of the Apache NetBeans 11 cycle is Apache NetBeans 11.0.
+The 11.2 release has not been as heavily tested as the LTS release.
+Use 11.2 to access the latest features and to provide feedback for the next LTS release, scheduled for April 2020.
+
+New & noteworthy features of the 11.2 release:
+
+xref:../../download/nb112/index.adoc[Apache NetBeans 11.2 Features page]
+
+Downloads:
+
+xref:../../download/nb112/nb112.adoc[Apache NetBeans 11.2 Download page]
+
+Feel free to share the good news!
diff --git a/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-has-graduated.adoc b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-has-graduated.adoc
new file mode 100644
index 0000000..d0925f2
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-has-graduated.adoc
@@ -0,0 +1,43 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans Has Graduated!
+:author: Geertjan Wielenga
+:revdate: 2019-04-25
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+We have graduated from the Apache Incubator and we are now a top level Apache project at The Apache Software Foundation (ASF).
+
+*"Being part of the ASF means that NetBeans is now not only free and Open Source software: it is also, uniquely,
+and for the first time, part of a foundation specifically focused on enabling open governance,"
+said Geertjan Wielenga, Vice President of Apache NetBeans.
+"Every contributor to the project now has equal say over the roadmap and direction of NetBeans. That is a new and historic step and the community has been ready for this for a very long time. Thanks to the strong stewardship of NetBeans in Sun Microsystems and Oracle, Apache NetBeans is now ready for the next phase in its development and we welcome everyone to participate as equals as we move forward."*
+
+
+The above is from the official Apache press release, all of which can be read here:
+
+link:https://blogsarchive.apache.org/foundation/entry/the-apache-software-foundation-announces51[https://blogsarchive.apache.org/foundation/entry/the-apache-software-foundation-announces51]
\ No newline at end of file
diff --git a/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-10.adoc b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-10.adoc
new file mode 100644
index 0000000..6aba529
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-10.adoc
@@ -0,0 +1,55 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans (incubating) 10.0 Released
+:author: Geertjan Wielenga
+:revdate: 2018-12-27
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 10.0.
+
+*Apache NetBeans (incubating) 10.0 constitutes all but the enterprise cluster in the Apache NetBeans Git repo,
+which together provide the NetBeans Platform (i.e., the underlying application framework),
+as well as all the modules that provide the Java SE, PHP, JavaScript and Groovy features of Apache NetBeans.*
+
+*In short, Apache NetBeans (incubating) 10.0 is a full IDE for Java SE, PHP and JavaScript development with some Groovy language support.*
+
+Read more on our download page:
+
+xref:../../download/nb100/nb100.adoc[Apache NetBeans (incubating) 10.0 Download page]
+
+New & Noteworthy features of the 10.0 Release:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+10.0+New+and+Noteworthy[https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+10.0+New+and+Noteworthy]
+
+See the below for the donation status of features that have not been donated or included in Apache builds yet, i.e., are not part of Apache NetBeans (incubating) 10.0, e.g., features for working with C/C++, and more:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition[https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition]
+
+Work is being done on bringing netbeans.org to Apache. In the meantime, refer to the below for all details related to Apache NetBeans:
+
+xref:../../index.adoc[https://netbeans.apache.org/]
\ No newline at end of file
diff --git a/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-11.adoc b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-11.adoc
new file mode 100644
index 0000000..2b49c5b
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-11.adoc
@@ -0,0 +1,46 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans (incubating) 11.0 Released
+:author: Geertjan Wielenga
+:revdate: 2019-04-05
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 11.0.
+
+*Apache NetBeans (incubating) 11.0 constitutes all clusters in the Apache NetBeans Git repo, which together provide the NetBeans Platform (i.e., the underlying application framework), as well as all the modules that provide the Java SE, Java EE, PHP, JavaScript and Groovy features of Apache NetBeans.*
+
+In short, Apache NetBeans (incubating) 11.0 is a full IDE for Java SE, Java EE, PHP and JavaScript development with some Groovy language support.
+
+New & noteworthy features of the 11.0 release:
+
+xref:../../download/nb110/index.adoc[Apache NetBeans (incubating) 11.0 Features page]
+
+Downloads:
+
+xref:../../download/nb110/nb110.adoc[Apache NetBeans (incubating) 11.0 Download page]
+
diff --git a/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-9.adoc b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-9.adoc
new file mode 100644
index 0000000..0936512
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-9.adoc
@@ -0,0 +1,58 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans (incubating) 9.0 Beta released
+:author: Geertjan Wielenga
+:revdate: 2018-02-16
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+
+
+The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 9.0 Beta.
+
+Apache NetBeans 9.0 Beta (incubating) constitutes all the modules in the Apache NetBeans Git repo, which together provide the NetBeans Platform (i.e., the underlying application framework), which was released as Apache NetBeans 9.0 Alpha (incubating), as well as all the modules that provide the Java SE-related features of Apache NetBeans. In short, Apache NetBeans 9.0 Beta (incubating) is a full IDE for Java SE development.
+
+See the below for the donation status of features that have not been donated to Apache yet, e.g., features for working with Java EE, JavaScript, PHP, C/C++, and more:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition[https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition]
+
+Note: Apache NetBeans (incubating) 9.0 Beta is primarily focused on IP clearance. Its functionality has not been tested the NetCAT (NetBeans Community Acceptance Testing) process will begin now that Apache NetBeans (incubating) 9.0 Beta has been released. Watch this space for upcoming announcements about NetCAT. When NetCAT completes, we will vote on the final release of Apache NetBeans (incubating) 9.0.
+
+Details on Apache NetBeans (incubating) 9.0 Beta:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+Beta[https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+Beta]
+
+Download not available
+
+Work is being done on bringing netbeans.org to Apache. In the meantime, refer to the below for all details related to Apache NetBeans:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS[https://cwiki.apache.org/confluence/display/NETBEANS]
+
+On behalf of the Apache NetBeans PPMC
+
+
+Geertjan
diff --git a/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-91.adoc b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-91.adoc
new file mode 100644
index 0000000..6af0692
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-91.adoc
@@ -0,0 +1,68 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans (incubating) 9.0 RC1 released
+:author: Geertjan Wielenga
+:revdate: 2018-05-29
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+
+
+The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 9.0 RC1.
+
+Apache NetBeans (incubating) 9.0 RC1 constitutes all the modules in the 'release90' branch of the Apache NetBeans Git repo (link:https://github.com/apache/incubator-netbeans[https://github.com/apache/incubator-netbeans]), which together provide the NetBeans Platform (i.e., the underlying application framework), which was released as Apache NetBeans 9.0 Alpha (incubating), as well as all the modules that provide the Java SE-related features of Apache NetBeans. In short, Apache NetBeans (incubating) 9.0 RC1 is a full IDE for Java SE development.
+
+Download not available
+
+Details on Apache NetBeans (incubating) 9.0 RC1, including a list of open issues to be resolved prior to the final release:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+RC1[https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+RC1]
+
+What must be done for the final version of Apache NetBeans (incubating) 9.0 to be released?
+
+. The items in the link above need to be fixed, e.g, new splash screen needs to be integrated.
+. Cherry picking of pull requests merged into 'main' for 'release90' branch.
+. Put together rc2 release, sanity test it via NetCAT, and publish it.
+. Community Acceptance survey.
+. Start Apache voting for the final release, incorporating input from the Community Acceptance survey.
+. Release 9.0, which will be an IDE for Java SE development only, the other features have not been donated yet by Oracle and are being audited and processed and be part of subsequent releases of Apache NetBeans.
+
+Take note of the Apache NetBeans release criteria:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS/NetBeans+9.0+Release+Criteria[https://cwiki.apache.org/confluence/display/NETBEANS/NetBeans+9.0+Release+Criteria]
+
+FYI, see the below for the donation status of features that have not been donated to Apache yet, e.g., features for working with Java EE, JavaScript, PHP, C/C++, and more:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition[https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition]
+
+Work is being done on bringing netbeans.org to Apache. We already have our Apache site set up, here:
+
+xref:../../index.adoc[https://netbeans.apache.org/]
+
+On behalf of the Apache NetBeans PPMC
+
+Geertjan
diff --git a/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-92.adoc b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-92.adoc
new file mode 100644
index 0000000..c99f21a
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/announce-apache-netbeans-incubating-92.adoc
@@ -0,0 +1,65 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans (incubating) 9.0 Released
+:author: Geertjan Wielenga
+:revdate: 2018-07-29
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+
+The Apache NetBeans team is proud to announce the release of Apache NetBeans (incubating) 9.0.
+
+Apache NetBeans (incubating) 9.0 constitutes all the modules in the Apache NetBeans Git repo, which together provide the NetBeans Platform (i.e., the underlying application framework), as well as all the modules that provide the Java SE-related features of Apache NetBeans. In short, Apache NetBeans (incubating) 9.0 is a full IDE for Java SE development.
+
+Read more on our download page:
+
+xref:../../download/nb90/nb90.adoc[Apache NetBeans (incubating) 9.0 Download page]
+
+New & Noteworthy features of the 9.0 Release:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+New+and+Noteworthy[https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+9.0+New+and+Noteworthy]
+
+See the below for the donation status of features that have not been donated or included in Apache builds yet, i.e., are not part of Apache NetBeans (incubating) 9.0, e.g., features for working with Java EE, JavaScript, PHP, C/C++, and more:
+
+link:https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition[https://cwiki.apache.org/confluence/display/NETBEANS/Apache+Transition]
+
+Also see:
+
+What's Happened to My Favorite NetBeans Plugins?
+
+Work is being done on bringing netbeans.org to Apache. In the meantime, refer to the below for all details related to Apache NetBeans:
+
+xref:../../index.adoc[https://netbeans.apache.org/]
+
+Disclaimer: Apache NetBeans is an effort undergoing incubation at The Apache
+Software Foundation (ASF), sponsored by the Apache Incubator.
+Incubation is required of all newly accepted projects until a further
+review indicates that the infrastructure, communications, and decision
+making process have stabilized in a manner consistent with other
+successful ASF projects. While incubation status is not necessarily a
+reflection of the completeness or stability of the code, it does
+indicate that the project has yet to be fully endorsed by the ASF.
diff --git a/netbeans.apache.org/src/content/blogs/entry/apache-netbeans-openjfx-and-adoptopenjdk.adoc b/netbeans.apache.org/src/content/blogs/entry/apache-netbeans-openjfx-and-adoptopenjdk.adoc
new file mode 100644
index 0000000..097b542
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/apache-netbeans-openjfx-and-adoptopenjdk.adoc
@@ -0,0 +1,41 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= Apache NetBeans, OpenJFX, and AdoptOpenJDK
+:author: Geertjan Wielenga
+:revdate: 2019-06-10
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: NetBeans at Oracle Code One 2019
+:description: NetBeans at Oracle Code One 2019
+:toc: left
+:toc-title:
+:syntax: true
+
+
+Check out a great series of articles on a killer combination, by Chris Lufg--Apache NetBeans, OpenJFX, and AdoptOpenJDK.
+
+In part one you see how to get a modular JavaFX application built and running from NetBeans. In part two, you look at generating, from Maven, a runtime to execute the application. In part 3, you learn about the distribution of the new application.
+
+Here are the three parts:
+
+* link:https://dzone.com/articles/adoptopenjdk-11-openjfx-netbeans[AdoptOpenJDK 11 + OpenJFX + NetBeans: Part 1]
+* link:https://dzone.com/articles/adoptopenjdk-11-openjfx-netbeans-part-2[AdoptOpenJDK 11 + OpenJFX + NetBeans: Part 2]
+* link:https://dzone.com/articles/adoptopenjdk-11-openjfx-netbeans-part-3[AdoptOpenJDK 11 + OpenJFX + NetBeans: Part 3]
diff --git a/netbeans.apache.org/src/content/blogs/entry/apache-netbeans-welcome-new.png b/netbeans.apache.org/src/content/blogs/entry/apache-netbeans-welcome-new.png
new file mode 100644
index 0000000..b0d151d
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/apache-netbeans-welcome-new.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/blogs/entry/lsp-client-demo-ba-sh.adoc b/netbeans.apache.org/src/content/blogs/entry/lsp-client-demo-ba-sh.adoc
new file mode 100644
index 0000000..f32d765
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/lsp-client-demo-ba-sh.adoc
@@ -0,0 +1,143 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= LSP Client demo - (ba)sh language server
+:author: Geertjan Wielenga
+:revdate: 2019-08-17
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: NetBeans at Oracle Code One 2019
+:description: NetBeans at Oracle Code One 2019
+:toc: left
+:toc-title:
+:syntax: true
+
+
+
+Below is a scenario by Jan Lahoda, the creator of LSP integration for Apache NetBeans, for how to integrate the bash language server with Apache NetBeans, including syntax highlighting.
+
+
+== Setting Up
+
+. Install npm (and node.js). On Ubuntu, e.g., do "apt install npm", though something different will be needed on Mac OS X.
+. Create a directory in which we are going to work, have a terminal opened in that directory.
+. Install the bash-language-server:
++
+[source,console]
+----
+ npm install bash-language-server
+----
++
+On Mac OSX:
++
+[source,console]
+----
+ npm install bash-language-server --unsafe-perm
+----
++
+This will install the server into the current directory.
+. Try the bash server:
++
+[source,console]
+----
+ ./node_modules/bash-language-server/bin/main.js --help
+----
++
+You should see something like this:
++
+[source,console]
+----
+ Usage:
+ bash-language-server start
+ bash-language-server -h | --help
+ bash-language-server -v | --version
+----
+. Create a NetBeans module. Create a File Type (Module Development/File Type), mime type: text/sh, file extension: sh
+
+== Syntax Coloring via TextMate
+
+. Download the TextMate grammar file here, and put it alongside the newly created DataObject:
+ link:https://raw.githubusercontent.com/microsoft/vscode/master/extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json[https://raw.githubusercontent.com/microsoft/vscode/master/extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json]
+. Add "TextMate Lexer" as a dependency of the module.
+. Into the DataObject add this annotation:
++
+[source,java]
+----
+ @GrammarRegistration(grammar="shell-unix-bash.tmLanguage.json", mimeType="text/sh")
+----
++
+GrammarRegistration is:
++
+[source,java]
+----
+ import org.netbeans.modules.textmate.lexer.api.GrammarRegistration;
+----
+
+
+This should lead to syntax highlighted source for .sh bash files taken from the TextMate grammar file.
+
+== Language Support via the Language Server
+
+Next, we need to add language support using the language server.
+
+
+. Add "LSP Client" and "MIME Lookup API" as dependencies of the module.
+
+. Create a new class, ShellClient, in the module, put this into it, (replacing " " with the absolute path to "node_modules/bash-language-server"):
++
+[source,java]
+----
+ import java.io.IOException;
+ import org.netbeans.api.editor.mimelookup.MimeRegistration;
+ import org.netbeans.modules.lsp.client.spi.LanguageServerProvider;
+ import org.openide.util.Exceptions;
+ import org.openide.util.Lookup;
+
+ @MimeRegistration(mimeType="text/sh", service=LanguageServerProvider.class)
+ public class ShellClient implements LanguageServerProvider {
+
+ @Override
+ public LanguageServerDescription startServer(Lookup lkp) {
+ try {
+ Process p = new ProcessBuilder("/bin/main.js", "start").start();
+ return LanguageServerDescription.create(p.getInputStream(), p.getOutputStream(), p);
+ } catch (IOException ex) {
+ Exceptions.printStackTrace(ex);
+ return null;
+ }
+ }
+
+ }
+----
++
+You may need to explicitly call node in the above code, i.e., as follows:
++
+[source,java]
+----
+ Process p = new ProcessBuilder(
+ "/usr/local/bin/node",
+ "/bin/main.js",
+ "start").start();
+----
+. Build and start the module.
+
+
+
+Caveat: the language server is started only for files that are inside a project, so create (any) new project, and inside the project, put a shell file. E.g. copy "bin/netbeans" as "test.sh" into the project. Open it in the editor - there should be syntax highlighting, Navigator, and code completion should show something, etc.
diff --git a/netbeans.apache.org/src/content/blogs/entry/nb112-php74-arrow-functions-2.0.png b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-arrow-functions-2.0.png
new file mode 100644
index 0000000..e50f988
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-arrow-functions-2.0.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/blogs/entry/nb112-php74-convert-closure-to-arrow-function.gif b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-convert-closure-to-arrow-function.gif
new file mode 100644
index 0000000..cac942b
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-convert-closure-to-arrow-function.gif
Binary files differ
diff --git a/netbeans.apache.org/src/content/blogs/entry/nb112-php74-null-coalescing-assignment-operator.png b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-null-coalescing-assignment-operator.png
new file mode 100644
index 0000000..45ce960
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-null-coalescing-assignment-operator.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/blogs/entry/nb112-php74-numeric-literal-separator.png b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-numeric-literal-separator.png
new file mode 100644
index 0000000..4f9ae64
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-numeric-literal-separator.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/blogs/entry/nb112-php74-project-properties.png b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-project-properties.png
new file mode 100644
index 0000000..dae25ef
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-project-properties.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/blogs/entry/nb112-php74-spread-operator-in-array-expression.png b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-spread-operator-in-array-expression.png
new file mode 100644
index 0000000..2222527
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-spread-operator-in-array-expression.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/blogs/entry/nb112-php74-suggest-using-combined-assignment-operators.gif b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-suggest-using-combined-assignment-operators.gif
new file mode 100644
index 0000000..8f08f18
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-suggest-using-combined-assignment-operators.gif
Binary files differ
diff --git a/netbeans.apache.org/src/content/blogs/entry/nb112-php74-typed-properties-2.0.png b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-typed-properties-2.0.png
new file mode 100644
index 0000000..a481450
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/nb112-php74-typed-properties-2.0.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/blogs/entry/netbeans-11-3-is-shaping.adoc b/netbeans.apache.org/src/content/blogs/entry/netbeans-11-3-is-shaping.adoc
new file mode 100644
index 0000000..67335a1
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/netbeans-11-3-is-shaping.adoc
@@ -0,0 +1,59 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= NetBeans 11.3 is Shaping up Nicely
+:author: lkishalmi
+:revdate: 2019-11-30
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+One month has passed since NetBeans 11.2 had been released.
+There are 82 new PR-s made it to the master branch so far.
+We usually have a, not necessary intentional, "theme" for each release. I'd say the theme is for 11.3 is: "Remove the Rust".
+
+Our code and libraries spent long time in the transit.
+Many of our modules were still compiling against Java 1.6 and/or used ancient versions of third party libraries.
+11.3 improved a lot on this front and there are still many PR are in the queue to carry that on.
+Without trying to be complete, here is a small list of changes what's coming:
+
+- Jgit Library Update
+- ASM, PostgreSQL, JUnit5 and Other Library Updates.
+- PHP Fixes
+- HTML Lexer Stability Improvements
+- JSF 2.3 Support
+- Gradle Tooling 6.0
+- Several Cleanups, Remove Compile Warnings
+
+On the UI Side:
+
+- Return of Dark Metal and Dark Nimbus Look and Feel
+- Experimental support for Flatlaf Look and Feel
+
+On Gradle Side:
+
+- Test Output is Channeled Back to the IDE
+- Added Project Reload Action
+- Elephant Icons Finally Replace the old Ones
\ No newline at end of file
diff --git a/netbeans.apache.org/src/content/blogs/entry/netbeans-at-oracle-code-one.adoc b/netbeans.apache.org/src/content/blogs/entry/netbeans-at-oracle-code-one.adoc
new file mode 100644
index 0000000..6105516
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/netbeans-at-oracle-code-one.adoc
@@ -0,0 +1,84 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= NetBeans at Oracle Code One 2019
+:author: Geertjan Wielenga
+:revdate: 2019-09-11
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: NetBeans at Oracle Code One 2019
+:description: NetBeans at Oracle Code One 2019
+:toc: left
+:toc-title:
+:syntax: true
+
+An Apache NetBeans schedule for those going to Oracle Code One 2019 next week!
+
+*Saturday, September 14*
+
+* 19:00 Hang out in the Thirsty Bear in Howard Street
+
+*Monday, September 16*
+
+* *Why You Should Be Coding with the NetBeans IDE* [BOF1321]
+ Mark Stephens, Developer, IDRsolutions
+ Ethan Price, Developer, IDRsolutions
+ 02:30 PM - 03:15 PM | Moscone South - Room 305
+
+* *Java IDE Wars* [DEV1375]
+ Ken Fogel, Teacher, Dawson College
+ Scott Selikoff, Software Developer, Selikoff Solutions, LLC
+ Jeanne Boyarsky, Developer, CodeRanch
+ 04:00 PM - 04:45 PM | Moscone South - Room 304
+
+* *Hacking the NetBeans IDE* [BOF1338]
+ Mark Stephens, IDR Solutions
+ 06:00 PM - 06:45 PM | Moscone South - Room 309
+
+* *Hacking the NetBeans Profiler* [BOF4170]
+ Ryan Cuprak, Formulation Applications R&D; Development Senior Manager, Dassault Systemes
+ 06:00 PM - 06:45 PM | Moscone South - Room 305
+
+*Tuesday, September 17*
+
+* *Getting Started with Deep Learning for Enterprise Java Developers* [DEV2126]
+ Zoran Sevarac, Associate Professor, University of Belgrade, Faculty of Organisational Sciences
+ Suyash Joshi, Developer Marketing Director, Oracle
+ 12:30 PM - 01:15 PM | Moscone South - Room 308
+
+* *Testing on Oracle Autonomous Database with Homomorphic Encryption, Using NetBeans and Java - BYOL* [HOL3196]
+ Simon Bain, Founder & CTO, ShieldIO
+ 12:30 PM - 02:30 PM | Moscone West - Room 3024C
+
+*Wednesday, September 18*
+
+* *Apache NetBeans: Its Status and Future* [DEV2506]
+ Geertjan Wielenga, Product Manager, Oracle
+ Mark Stephens, Developer, IDRsolutions
+ Ethan Price, Developer, IDRsolutions
+ 06:00 PM - 06:45 PM | Moscone South - Room 206
+
+*Thursday, September 19*
+
+* *Testing on Oracle Autonomous Database with Homomorphic Encryption, Using NetBeans and Java - BYOL* [HOL3196]
+ Simon Bain, Founder & CTO, ShieldIO
+ 09:00 AM - 11:00 AM | Moscone West - Room 3024C
+
+* 19:00 Hang out in the Thirsty Bear in Howard Street
\ No newline at end of file
diff --git a/netbeans.apache.org/src/content/blogs/entry/netbeans-pub-hangout-in-prague.adoc b/netbeans.apache.org/src/content/blogs/entry/netbeans-pub-hangout-in-prague.adoc
index 14323a7..5b1a230 100644
--- a/netbeans.apache.org/src/content/blogs/entry/netbeans-pub-hangout-in-prague.adoc
+++ b/netbeans.apache.org/src/content/blogs/entry/netbeans-pub-hangout-in-prague.adoc
@@ -28,7 +28,7 @@
:toc: left
:toc-title:
:syntax: true
-
+:imagesdir: https://netbeans.apache.org
A group of Java engineers gathered in a pub in Prague last night to celebrate many years
of their engagement in NetBeans, all having worked in Sun Microsystems or Oracle or both,
@@ -38,4 +38,4 @@
the years is more than welcome to attend or set up similar get togethers,
ideally in a pub, which is also where NetBeans started.
-image::netbeans-pub-hangout-in-prague-pic1.png[]
+image::blogs/entry/netbeans-pub-hangout-in-prague-pic1.png[]
diff --git a/netbeans.apache.org/src/content/blogs/entry/php-7-4-support.adoc b/netbeans.apache.org/src/content/blogs/entry/php-7-4-support.adoc
new file mode 100644
index 0000000..1c97533
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/php-7-4-support.adoc
@@ -0,0 +1,87 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= PHP 7.4 Support
+:author: Junichi
+:revdate: 2019-07-25
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: NetBeans at Oracle Code One 2019
+:description: NetBeans at Oracle Code One 2019
+:toc: left
+:toc-title:
+:syntax: true
+:imagesdir: https://netbeans.apache.org
+
+Hi all. Today, we will briefly show you about PHP7.4 support which will be available in the *next NetBeans* version i.e. *NetBeans 11.2*.
+
+First of all, I strongly hope that new features are tested by PHP users before NetBeans 11.2 is released because there should be bugs.
+Definitely, we need your help!
+
+If you are interested in them, please test it. You can download a dev version here.
+
+Then, we could merge new changes quickly thanks to our committer *Tomas Mysik*. Thanks a lot for your review, Tomas!
+
+== PHP 7.4 Support
+
+To enable it, you have to set PHP 7.4 as the PHP version of your PHP project. (Right-click your project node, click Project Properties.)
+
+image::blogs/entry/nb112-php74-project-properties.png[]
+
+NetBeans provides support for the new syntaxes for PHP 7.4.
+
+=== Null Coalescing Assignment Operator
+
+image::blogs/entry/nb112-php74-null-coalescing-assignment-operator.png[]
+
+=== Spread Operator in Array Expression
+
+image::blogs/entry/nb112-php74-spread-operator-in-array-expression.png[]
+
+=== Numeric Literal Separator
+
+image::blogs/entry/nb112-php74-numeric-literal-separator.png[]
+
+=== Typed Properties 2.0
+
+image::blogs/entry/nb112-php74-typed-properties-2.0.png[]
+
+=== Arrow Functions 2.0
+
+image::blogs/entry/nb112-php74-arrow-functions-2.0.png[]
+
+== New Hints
+
+Suggestion for converting a simple closure to an arrow function
+
+image::blogs/entry/nb112-php74-convert-closure-to-arrow-function.gif[]
+
+Suggestion for using combined assignment operators
+
+image::blogs/entry/nb112-php74-suggest-using-combined-assignment-operators.gif[]
+
+Of course, code completion, formatting, go to declaration, and mark occurrence features for the above syntaxes should also be fixed.
+
+That's all for today. As always, please test it. You can download a development version from
+Jenkins Build.
+If you find some issues or enhancements, please report them to JIRA with your exact steps to reproduce them.
+(Components: php - Editor). Thanks.
+
+
diff --git a/netbeans.apache.org/src/content/blogs/entry/released-netbeans-11-2-update.adoc b/netbeans.apache.org/src/content/blogs/entry/released-netbeans-11-2-update.adoc
new file mode 100644
index 0000000..4c17966
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/released-netbeans-11-2-update.adoc
@@ -0,0 +1,41 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= Released: NetBeans 11.2 Update 1
+:author: Geertjan Wielenga
+:revdate: 2019-12-03
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+This release is identical to 11.2 except for backported fixes for:
+
+link:https://issues.apache.org/jira/browse/NETBEANS-3257[NETBEANS-3257] Fixed issue on refactoring rename of java method (and potentially other nb-javac issues)
+
+link:https://issues.apache.org/jira/browse/NETBEANS-3335[NETBEANS-3335] Enhance robustness of HTML Lexer - enter key doesn't work in certain files
+
+link:https://issues.apache.org/jira/browse/NETBEANS-3290[NETBEANS-3290] Fix common.xml causing layer build problems in RCP applications
+
+Use the Plugin Manager under the Tools menu to update 11.2 to 11.2 Update 1.
\ No newline at end of file
diff --git a/netbeans.apache.org/src/content/blogs/entry/simplified-apache-netbeans-welcome-screen.adoc b/netbeans.apache.org/src/content/blogs/entry/simplified-apache-netbeans-welcome-screen.adoc
new file mode 100644
index 0000000..2bcb7a4
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/simplified-apache-netbeans-welcome-screen.adoc
@@ -0,0 +1,45 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= Simplified Apache NetBeans Welcome Screen
+:author: Geertjan Wielenga
+:revdate: 2019-08-24
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: NetBeans at Oracle Code One 2019
+:description: NetBeans at Oracle Code One 2019
+:toc: left
+:toc-title:
+:syntax: true
+:imagesdir: https://netbeans.apache.org
+
+
+To simplify the Welcome Screen and, in particular, replace all links to netbeans.org with netbeans.apache.org, I have created this issue and pull request:
+
+link:https://issues.apache.org/jira/browse/NETBEANS-3020[https://issues.apache.org/jira/browse/NETBEANS-3020]
+
+link:https://github.com/apache/netbeans/pull/1457[https://github.com/apache/netbeans/pull/1457]
+
+All references to netbeans.org are replaced with equivalents at netbeans.apache.org and the News column, which pointed to netbeans.org, is removed from the tab below, while the Blogs column is renamed to News, since newsworthy items now come from here, i.e., from this blog:
+
+image::blogs/entry/apache-netbeans-welcome-new.png[width=400,height=295]
+
+
+Also, the Featured Demo on the first tab is removed, best to have as few links to external places as possible, i.e., help reduce potential points of failure, especially here where having that demo in the page doesn't add all that much while removing it reduces the need for external URL calls that could cause problems and slow things down.
diff --git a/netbeans.apache.org/src/content/blogs/entry/towards-fair-trade-for-foss.adoc b/netbeans.apache.org/src/content/blogs/entry/towards-fair-trade-for-foss.adoc
index 99ec92e..72717d5 100644
--- a/netbeans.apache.org/src/content/blogs/entry/towards-fair-trade-for-foss.adoc
+++ b/netbeans.apache.org/src/content/blogs/entry/towards-fair-trade-for-foss.adoc
@@ -28,7 +28,7 @@
:toc: left
:toc-title:
:syntax: true
-
+:imagesdir: https://netbeans.apache.org
As part of being involved in Apache, I got the opportunity yesterday to go to Brussels
to attend the European Commission's link:https://ec.europa.eu/info/news/ec-open-source-workshops-computing-and-sustainability-2-december-2022-2022-oct-21_en[EC Open Source Workshops - Computing and Sustainability].
@@ -43,7 +43,7 @@
with all its institutions, etc, and, though I can't say I really have a full grasp on it all yet
(I doubt anyone really does), it was quite moving to be at one of the key pillars of that institution yesterday.
-image::towards-fair-trade-for-foss-pic1.png[]
+image::blogs/entry/towards-fair-trade-for-foss-pic1.png[]
To describe all the discussions that took place would be impossible,
since I could only physically attend a few of them because many happened in parallel,
@@ -52,13 +52,13 @@
as well as many other new people, there were just too many, from all different organizations,
NGOs, local administrations, governments, etc, from within the EU and beyond.
-image::towards-fair-trade-for-foss-pic2.png[]
+image::blogs/entry/towards-fair-trade-for-foss-pic2.png[]
Each workshop consisted of a panel that kicked off discussions,
with participants in the room being able to participate, ending with voting
on the most important topics to carry forward and recommend to the European Commission.
-image::towards-fair-trade-for-foss-pic3.png[]
+image::blogs/entry/towards-fair-trade-for-foss-pic3.png[]
== Themes
diff --git a/netbeans.apache.org/src/content/blogs/entry/what-to-do-with-javafx.adoc b/netbeans.apache.org/src/content/blogs/entry/what-to-do-with-javafx.adoc
new file mode 100644
index 0000000..372175f
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/what-to-do-with-javafx.adoc
@@ -0,0 +1,90 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= What to do with JavaFX and OpenJFX in Apache NetBeans?
+:author: Geertjan Wielenga
+:revdate: 2019-08-25
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: NetBeans at Oracle Code One 2019
+:description: NetBeans at Oracle Code One 2019
+:toc: left
+:toc-title:
+:syntax: true
+
+If Apache NetBeans runs on JDK 8, a range of Ant-based JavaFX sample applications are available in NetBeans to help you get started and learn about JavaFX.
+However, if NetBeans does not run on JDK 8, the available Ant-based JavaFX samples don't work (can't be created) but there's no point
+in working on fixing that since from JDK 11 onwards JavaFX is no longer part of the JDK and Maven/Gradle-based link:https://openjfx.io/[OpenJFX samples] are obvious
+candidates for integration into NetBeans instead.
+
+However, how should that be handled in NetBeans? Before Apache NetBeans 11.1,
+there was no integration with OpenJFX. Only JavaFX projects and samples were built into NetBeans,
+which led to a great deal of confusion since when someone sets up an environment from scratch today,
+they're unlikely to have installed JDK 8. Much more likely, they'll have JDK 11 or 12 and then those JavaFX projects
+ and samples in NetBeans cannot be used, i.e., when you try to create those samples, while running NetBeans on anything other than JDK 8,
+you're simply told in the wizard that you have the wrong JDK. And then you somehow need to find out that the best thing to do next is use
+the link:https://openjfx.io/openjfx-docs/[OpenJFX documentation] to set up the OpenJFX samples in NetBeans.
+
+That is suboptimal and so Gluon integrated their two sample applications into Apache NetBeans 11.1, i.e., in the most recent release:
+
+link:https://github.com/apache/netbeans/tree/master/javafx/openjfx.samples[https://github.com/apache/netbeans/tree/master/javafx/openjfx.samples]
+
+That is a step forward but still suboptimal, as explained here by Jaroslav Tulach:
+
+link:https://github.com/apache/netbeans/pull/1241#issuecomment-491357016[https://github.com/apache/netbeans/pull/1241#issuecomment-491357016]
+
+That entire new module is not needed. Literally, all that needs to be done is that this file needs to be updated with two new template registrations:
+
+link:https://github.com/apache/netbeans/blob/master/java/maven/src/org/netbeans/modules/maven/newproject/MavenWizardIterator.java[https://github.com/apache/netbeans/blob/master/java/maven/src/org/netbeans/modules/maven/newproject/MavenWizardIterator.java]
+
+And, literally, this is all that needs to be added there, since the two OpenJFX samples are on Maven Central and as pointed out above, "NetBeans has a nice support for creating wizards over Maven archetypes."
+
+[source,java]
+----
+@TemplateRegistration(folder = ArchetypeWizards.TEMPLATE_FOLDER,
+position = 925,
+displayName = "#LBL_Maven_FXML_Archetype",
+iconBase = "org/netbeans/modules/maven/resources/jaricon.png",
+description = "javafx.html")
+@Messages("LBL_Maven_FXML_Archetype=FXML JavaFX Maven Archetype")
+public static WizardDescriptor.InstantiatingIterator<?> openJFXFML() {
+ return ArchetypeWizards.definedArchetype("org.openjfx", "javafx-archetype-fxml", "0.0.2", null, LBL_Maven_FXML_Archetype());
+}
+
+@TemplateRegistration(folder = ArchetypeWizards.TEMPLATE_FOLDER,
+position = 926,
+displayName = "#LBL_Maven_Simple_Archetype",
+iconBase = "org/netbeans/modules/maven/resources/jaricon.png",
+description = "javafx.html")
+@Messages("LBL_Maven_Simple_Archetype=Simple JavaFX Maven Archetype")
+public static WizardDescriptor.InstantiatingIterator<?> openJFXSimple() {
+ return ArchetypeWizards.definedArchetype("org.openjfx", "javafx-archetype-simple", "0.0.2", null, LBL_Maven_Simple_Archetype());
+}
+----
+
+
+That literally is all that is needed to be added to the Java source file above, instead of having a completely new module,
+which doesn't integrate as neatly as the above with the Apache NetBeans infrastructure.
+(And this is a small tip for anyone else wanting to make their Maven archetypes available to NetBeans: the above is literally all you need to do.)
+
+However, the fundamental question remains: how do we notify users of Apache NetBeans that they should be using OpenJFX and not JavaFX?
+Maybe we should simply remove all JavaFX projects and samples, however that would be unfortunate for anyone using JDK 8.
+Or maybe the solution is to create a category named "Legacy" in the New Project dialog and then put all JavaFX projects and samples there,
+so that it's clear that they're not recommended, while still having them available for JDK 8 users?
\ No newline at end of file
diff --git a/netbeans.apache.org/src/content/blogs/entry/why-does-apache-netbeans-need.adoc b/netbeans.apache.org/src/content/blogs/entry/why-does-apache-netbeans-need.adoc
new file mode 100644
index 0000000..39fdb36
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/entry/why-does-apache-netbeans-need.adoc
@@ -0,0 +1,46 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+= Why Does Apache NetBeans Need Its Own Parsers?
+:author: Geertjan Wielenga
+:revdate: 2019-08-06
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: NetBeans at Oracle Code One 2019
+:description: NetBeans at Oracle Code One 2019
+:toc: left
+:toc-title:
+:syntax: true
+
+
+A question was asked on the link:https://lists.apache.org/thread/rdtcvc87pj1d8oj6qcwbm7bjkkr53m5s[Apache NetBeans mailing list]: "I was just curious about the theoretical aspect of parsing. Isn't there a unified parsing API, using ANTLR/lex/yacc which can parse any language given a grammar for it? Why do we use a different parsing implementation (like the Graal JS parser in this instance) when a unified approach will help us support lots of languages easily?"
+
+Tim Boudreau, involved in NetBeans from its earliest hours, responds, in the thread linked above:
+
+[quote,Tim]
+____
+First, in an IDE, you are *never* just "parsing". You are doing *a lot* with the results of the parse. An IDE doesn't have to just parse one file; it must also understand the context of the project that file lives in; how it relates to other files and those files interdependencies; multiple versions of languages; and the fact that the results of a parse do not map cleanly to a bunch of stuff an IDE would show you that would be useful. For example, say the caret is in a java method, and you want to find all other methods that call the one you're in and show the user a list of them. The amount of work that has to happen to answer that question is very, very large. To do that quickly enough to be useful, you need to do it ahead of time and have a bunch of indexing and caching software behind the scenes (all of which must be adapted to whatever the parser provides) so you can look it up when you need it. In short, a parser is kind of like a toilet seat by itself. You don't want to use it without a whole lot of plumbing attached to it.
+
+Second, while there are tools like ANTLR (version 4 of which is awesome, by the way), there is still a lot of code you have to write to interact with the results of a parse to do something useful beyond syntax coloring in an IDE. One of my side projects is tooling for NetBeans that *do* let you take an ANTLR grammar and auto generate a lot of the features a language plugin should have. Even with that almost completely declarative, you wind up needing a lot of code. One of the languages I'm testing it with is a simple language called YASL which lets you define javascript-like schemas with validation constraints (e.g., this field is a string, but it must be at least 7 characters and match this pattern; this is an integer number but it must be > 1 and less than 1000 - that sort of thing). All the parsing goodness in the world won't write hints that notice that, say, the maximum is less than the minimum in an integer constraint and offer to swap them. Someone has to write that by hand.
+
+Third, in an IDE with a 20 year history, a lot of parser generating technologies have come and gone - javacc, javacup, ANTLR, and good old hand-written lexers and parsers. Unifying them all would be an enormous amount of work, would break a lot of code that works just fine, and the end result would be - stuff we've already got, that already works, just with one-parser-generator-to-rule-them-all underneath. Other than prettiness, I don't know what problem that solves.
+
+So, all of this is to say: We use different parsing implementations because parsing is just a tiny piece of supporting a language, so it wouldn't make the hard parts easier enough to be worth it. And there will be new cool parser-generating technologies that come along, and it's good to be able to use them, rather than be married to one-parser-generator-to-rule-them-all and have this conversation again, when they come along.
+____
\ No newline at end of file