This article details building an example Java web application using Helidon MP libraries and deploying it on Google App Engine.
mvn archetype:generate -DinteractiveMode=false \
Anatomy of Folder Structure (listing only important files/folder):
|_pom.xml [primary maven build file]
| |_GreetingResource.java [JAX-RS resource with api paths]
| |_package-info.java [list…
Oracle changed Java licensing model for version after Java SE 8. This article details the available licenses and pricing model for enterprises to use Java.
This article is based on pricing models and available data as of April 29, 2020.
Oracle Java SE 8 remain free. Java SE 11 is available for free under Open Source license. And current version Java SE 14 is available for free for personal, development use.
For Production use, organizations need to pay. Oracle calls it Java SE Subscription.
We can build projects for AEM with a SPA(Single Page Application) as frontend (can use either Angular or React).
There is a specific folder structure that AEM requires projects to be built. Using an Archetype to build the codebase is the best and recommended option. Adobe has AEM SPA Project Archetype for this.
mvn archetype:generate \
Define value for property 'groupId' (should match expression '^[a-zA-Z0-9\.\-_]+$'): com.project.aem Define value for…
The recommended way (or best approach) to start a new project for AEM (Adobe Experience Manager) is to use an Archetype.
Adobe has a separate project AEM Project Archetype on Github for this.
Here’s the process to create a new project codebase:
$ mkdir projects
$ cd projects
2. Run this command
$ mvn -B archetype:generate \
-D archetypeGroupId=com.adobe.granite.archetypes \
-D archetypeArtifactId=aem-project-archetype \
-D archetypeVersion=23 \
-D aemVersion=6.5.0 \
-D appTitle="My Site" \
-D appId="mysite" \
-D groupId="com.mysite" \
-D frontendModule=general \
That’s it. A new project codebase is built with necessary folder and…
Because the default query does not search for value in a case-insensitive way. Which means if a value (say)
009A is saved in AEM, and search for
009a will not return the value. Sounds strange.. and this sounds so trivial for any developer. And this article is about this.
There are several ways we can achieve searching for content in AEM programmatically. One of the approach is to use Query Builder API.
There is a tool (somewhat hidden) in AEM to try search queries at http://localhost:4502/libs/cq/search/content/querydebug.html and looks like:
There are several options to develop queries
Default one would be
In Spring 5, a reactive web client was introduced that access REST API’s in a reactive, non-blocking way. An improvement over the much used RestTemplate. This can be also closed compared to RxJs or Angular’s
HttpClient to access REST API’s.
This article discusses about using Reactive programming to access API’s within Spring framework.
Spring Reactive Webas dependencies
2. Unzip the downloaded package, and run
$mvn spring-boot:run command at the root folder to make sure the default project builds and runs without any errors.
MongoDB has a great tools for using their database on the cloud services and my favorite part — accessing that database via API’s/Services.
Almost every website / web application needs a data store. To make it simple.. three primary needs/uses:
Either it is SQL or NoSQL. The typical process for dev-teams would be…
This article details the how-to add a heading text / help text / description in a component dialog box.
Show a help or information text for authors when they click on edit on a component.
Though it looks to be a simple ask, I have not seen such examples on the internet and had to struggle a bit to find the solution.
The simple answer t this is to use Granite UI’s Heading located at /libs/granite/ui/components/coral/foundation/heading in components’s cq_dialog’s .content.xml file.
<?xml version="1.0" encoding="UTF-8"?>