Saturday, 7 November 2020

Create AWS serverless workflows by using the AWS SDK for Java

 You can create an AWS serverless workflow by using the AWS SDK for Java and AWS Step Functions. Each workflow step is implemented by using an AWS Lambda function. Lambda is a compute service that enables you to run code without provisioning or managing servers.



Note: You can create Lambda functions in various programming languages. For this tutorial, Lambda functions are implemented by using the Lambda Java API.

In this tutorial, you create a workflow that creates support tickets for an organization. Each workflow step performs an operation on the ticket. This tutorial shows you how to use Java to process workflow data. For example, you'll learn how to read data that's passed to the workflow, how to pass data between steps, and how to invoke AWS services from the workflow.

For details, see https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/usecases/creating_workflows_stepfunctions


I (Scott Macdonald) am a Java Programmer at Amazon AWS. I work on AWS Java code that helps AWS developers. Included in this role is working with AWS Services such as S3, DynamoDB, EC2, Lambda functions, and so on.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

Thursday, 24 September 2020

Creating the DynamoDB web application item tracker

 You can develop a web application that tracks and reports on work items by using the following AWS services:

  • DynamoDB to store the data
  • Amazon Simple Email Service to send email messages
  • AWS Elastic Beanstalk to host the application

Note: The AWS SDK for Java version 2 is used to access Amazon SES and DynamoDB.

The application you create is named DynamoDB Item Tracker, and uses Spring Boot APIs to build a model, different views, and a controller. It’s a secure web application that requires a user to log into the application. 

This tutorial guides you through creating the DynamoDB Item Tracker application. Once the application is developed, you'll learn how to deploy it to Elastic Beanstalk.

The following figure shows the application.


See https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/usecases/creating_dynamodb_web_app.


I (Scott Macdonald) am a Java Programmer at Amazon AWS. I work on AWS Java code that helps AWS developers. Included in this role is working with AWS Services such as S3, DynamoDB, EC2, Lambda functions, and so on.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

Friday, 17 July 2020

Create a Sample AWS Photo Analyzer application using the AWS SDK for Java

You can create an AWS application that analyzes nature images located in a S3 bucket by using the Amazon Rekognition service. The application can analyze many images and generate a report that breaks down each image into a series of labels. For example, the following image shows a lake.



After the application analyzes this image, it creates this data.


  • Panoramic - 99.99971
  • Outdoors - 99.99971
  • Nature - 99.99971
  • Landscape - 99.99971
  • Scenery - 99.99971
  • Wilderness - 96.90007
  • Water - 93.501465
  • Lake - 87.28128

In addition, this application uses the Simple Email Service (SES) to send a report to a given email recipient. In this tutorial, you create a Spring Boot application named AWS Photo Analyzer. The Spring Boot APIs are used to build a model, different views, and a controller. For more information, see Spring Boot - Securing Web Applications.

This application uses these AWS Services:


  • Amazon Rekognition
  • Amazon S3
  • Amazon Simple Email Service
  • AWS Elastic BeanStalk

I (Scott Macdonald) am a Java Programmer at Amazon AWS. I work on AWS Java code that helps AWS developers. Included in this role is working with AWS Services such as S3, DynamoDB, EC2, Lambda functions, and so on.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

Tuesday, 2 June 2020

Creating the Amazon Relational Database Service item tracker

You can develop a secure Spring application that tracks and reports on work items by using the following AWS services:


  • Amazon Relational Database Service (Amazon RDS)
  • Amazon Simple Email Service (Java SDK v2 is used to access Amazon SES)
  • AWS Elastic Beanstalk

The application you create is named AWS Tracker, and uses Spring Boot APIs to build a model, different views, and a controller. It’s a secure web application that requires a user to log into the application. This tutorial guides you through creating the AWS Tracker application. Once the application is developed, you'll learn how to deploy it to Elastic Beanstalk.




I (Scott Macdonald) am a Java Programmer at Amazon AWS. I work on AWS Java code that helps AWS developers. Included in this role is working with AWS Services such as S3, DynamoDB, EC2, Lambda functions, and so on.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

Tuesday, 15 October 2019

Developing a Spring MVC 4/5 project by using Maven and IntelliJ IDE

You can create a Spring MVC project by using Maven and IntelliJ IDE. In this development article, Spring version 4/5 and IntelliJ 2019 are used. This development article guides you through how to create a Spring MVC project, including how to configure the Spring DispatcherServlet. This servlet dispatches client requests to handlers. The default handler is a controller interface that lets you work with a ModelMap instance

The following illustration shows the web page that is created in this article.


The following illustration shows the files that you create in the IntelliJ project. 


In the previous illustration, notice the required files you need for a Spring MVC project, including the Java Controller class (named HelloController), the web.xml file and the JSP (named hello.jsp) that renders the view. 

To read this development article for Spring MVC 4, click this link https://drive.google.com/open?id=1-oQ5aXrSLjiZdIf0KXO5yD0EARKspzu4.

To read this development article for Spring MVC 5, click this link, https://drive.google.com/open?id=1kmc6RvwNicmr7PDD3BZDFcGp1zcdXQJy.

Saturday, 20 July 2019

How to compile LESS using Node JS

You can use Node JS to compile LESS files into CSS files. The first thing to do is to install Node JS on your computer, For information, see:

https://blog.teamtreehouse.com/install-node-js-npm-windows

Once you have Node JS installed on your machine, test the installation:

npm -version

If this command is successful, you will see the installed version.



In your working folder, place a LESS file named simple.less. For example, you can use this LESS code:

@primarycolor: #FF7F50;  
@color:#800080;  
h2{  
color: @primarycolor;  
}  
h3{  
color: @color;  
}  

Next, create an HTML file named index.html:

<head>      
 <link rel="stylesheet" href="simple.css" type="text/css" />  
</head>  
<body>  
 <h2>A simple example of Less</h2>  
 <h3>Hello World</h3>  
</body>  
</html>  

In this working folder, you have a simple.less and index.html. In the HTML file, notice the reference to simple.css. This file is produced by compiling the LESS file into a CSS file. To compile the LESS file into a CSS file, use this command:

lessc simple.less simple.css

In your working folder, you will now have simple.css.

h2 {
  color: #FF7F50;
}
h3 {
  color: #800080;

}

Open the HTML in a browser, and you will see the rendered HTML with the CSS.



You have now learned how to compile a LESS file into a CSS file by using Node JS. 


I (Scott Macdonald) am a Senior .NET Developer Writer at Sitecore with 20 years in the high tech industry. I am also a programmer with knowledge in .NET, Java, JavaScript, C#,C++, HTML, XML and ActionScript. 



Linked In: http://www.linkedin.com/in/scottmacdonald2010

Saturday, 13 April 2019

Last AEM Post in Scotts Digital Community

I have been running this blog for 8 years. The entry on March 2019 will be the last AEM entry on this blog. All content is located within the Adobe HELPX system. It's been great posting these how-to articles on using mainly AEM.

You can now find me at Amazon AWS, where I have been working as a Java programmer working on AWS Java code. If you want to learn about AWS, feel free to contact me via Linked In - linkedin.com/in/scottmacdonald2010

Thank you!


Tuesday, 19 March 2019

Building Experience Manager 6.5 Components using Granite/Coral Resource Types

When creating components for Adobe Experience Manager (AEM) 6.5, you use Granite/Coral resource types. These resource types are used in the component’s dialog. That is, the UI that makes up the dialog fields and lets an author enter information used by the AEM component.

Many AEM Developers are familiar with Classic UI xtypes based widgets such as text fields, path fields, drop-down fields, and so on. However, when it comes to working with the Touch UI, xtypes are not used. Instead, resource types are used to build Touch UI component dialogs. This article helps you become familiar with working with Granite/Coral resource types that can be applied in your day to day component development work.

This article teaches you how to build Experience Manager 6.5 components by using Granite/Coral data types such as:



  • granite/ui/components/coral/foundation/form/textfield
  • granite/ui/components/coral/foundation/form/textarea
  • granite/ui/components/coral/foundation/form/checkbox
  • granite/ui/components/coral/foundation/form/select
  • granite/ui/components/coral/foundation/form/radiogroup
  • granite/ui/components/coral/foundation/form/multifield
The following illustration shows an AEM Component that uses these resource types. 





Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.





I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Cha


Wednesday, 6 March 2019

Getting Started with Adobe Experience Manager 6.5 Sites Development

This Adobe Experience Manager article walks you through the entire process of creating an Experience Manager site from scratch using the latest features, concepts, and best practices.
After you read this session, you can set up your own, editable templates, create components using HTML Template Language (HTL) with a style system, leverage core components, implement Sling Model Exporter and a lot more.

You will learn:




  • Create an AEM Project
  • Use of Editable Templates
  • HTL and dialog boxes in components
  • Benefits of AEM Core components
  • Determine advantage and use Style System


https://expleague.azureedge.net/labs/L767/index.html

Tuesday, 5 March 2019

[Webinar | March] Ask the AEM Community Expert: Learn how to debug AEM projects using JUNIT and MOCK



Title: Unit Testing with AEM Mocks


Description: Writing Java unit tests for your AEM applications may be painful and time-consuming. wcm.io AEM Mocks makes writing tests easy and effective using JUnit 4 or JUnit 5. In this session, you will get you a basic overview of the AEM Mock features, together with a set of coding examples to give you a quick start. We will also address some common problems and solutions. AEM Mocks is available as Open Source since 2014, and is based on Apache Sling Mocks.


Speaker: Stefan Seifert

Company: pro!vision GmbH, Germany - https://www.pro-vision.de/en.html

PlayBack




Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 


Monday, 18 February 2019

Creating an Experience Manager 6.4 YouTube Component

Displaying video content within a web site is a typical requirement for Experience Manager 6.4 authors. Furthermore, the video may not be located within the AEM DAM, but rather a YouTube video. To address this requirement, you can create a custom component that can display a YouTube video.

In addition, you can develop the component to retrieve information about the video and display the information within the component, as shown in the following illustration. The component developed in this article is built using HTL, which helps you to separate your design from your application logic. For more information, see Introduction to the HTML Template Language.







Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 

Saturday, 16 February 2019

Adobe Experience Manager SPA Webinairs

Becuase Single Page Applications is a hot topic for AEM, we have created these WEBINARS for the AEM Community: 




Watch all of these - they will answer any questions you will have!

Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.





I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 

Thursday, 14 February 2019

[Webinar | February ] Ask the AEM Community Expert: Best practice to query JCR data using QueryBuilder API



Session Details

Learn best practices around how to query JCR data using AEM QueryBuilder API. Learn about how indexing plays a role. This session is hosted by Lokesh, a global top AEM community member with a lot of AEM project experience. By joining this session, you will have a chance to ask query and index questions. We hope you can join us for this Ask the AEM Community Session.

Presenter: Lokesh shivalingaiah, Architect at TA Digital

Date: Tuesday, 26th February 2019
Time: 8:00 am PDT | 11:00 am EST | 8:30 pm IST
Duration: 60 Minutes


Direct Link:Adobe Connect Login

Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 

Thursday, 31 January 2019

Creating a NewsLetter component for Adobe Experience Manager 6.4

You can create an Adobe Experience Manager 6.4 HTL component that renders a newsletter that you can distribute to your business audience. For example, consider a digital marketer that wants to promote events around a specific product. By creating an AEM newsletter, they can raise awareness of the product.

As an Experience Manager developer, you can create an Experience Manager HTL component that lets an author set all content for a newsletter, including images, text, links to other content such as videos, and so on. The following illustration shows the newsletter created in this development article.


The following video shows you the component. 





Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 



Monday, 14 January 2019

Persisting Adobe Experience Manager 6.4 JCR data using a Custom Form Action

You can create an Adobe Experience Manager 6.4 application that persists application data in the Java Content Repository (JCR). When storing data within the JCR, each record can be saved as a separate node. A node can contain properties that store data values. To store data in Nodes, you can use the Node API.

For example, assume that your Experience Manager application to store your organization’s employee data. Each node can represent a different employee. In this article, a basic form is built by using Experience Manager Form components.

The following illustration shows employee nodes. Each time the form is submitted, a new node is created.


Each node contains properties that store employee details, such as the name value.


The following video shows this use case. 






Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 



Wednesday, 9 January 2019

Moving Digital Assets using Adobe Experience Manager Workflows

When working with Adobe Experience Manager 6.4 digital assets, you can use workflows to achieve business requirements. Not all business requirements can be achieved by using out of the box Experience Manager components. To achieve some requirements, you need to build custom workflows. In some cases, you need to build custom workflow steps by using the Experience Manager Workflow API.

For example, consider a business requirement where a digital asset has to be archived based on an asset property. That is, you want to place an asset into a archive folder if its archive property is true. Using out of the box workflow steps, you cannot achieve this use case. To achieve this requirement, you need to build a custom workflow step that moves the asset to a folder under /content/dam.

The following video shows the workflow model that moves a digital asset to the archive folder and then deletes it.





Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 



Tuesday, 8 January 2019

[Webinar |January] AtACE Session: Working with Single Page applications for Experience Manager



Session Details

Join Danial Gordon and David Gonzalez ( both AEM Engineers) for a discussion about working with Single Page applications for Experience Manager. In this session, React and Angular are used. You will learn about the Experience Manager SPA editor and best practice when working with Experience Manager and SPA. In addition, you will see a working solution and be able to ask Danial questions during the session. If you are interested in Experience Manager and SPA, then sign up for this session.

Date: Tuesday, 29th January 2019
Time: 8:00 am PDT | 11:00 am EST | 8:30 pm IST
Duration: 60 Minutes

Playbackhttps://communities.adobeconnect.com/px89fakx44f4/?proto=true

Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 

Tuesday, 18 December 2018

Creating a Custom Authentication Handler for Adobe Experience Manager 6.4

You can create a custom authentication handler for Experience Manager 6.4. A custom authentication handler improved security for your Experience Manager instance. To create a custom authentication handler, you create a custom Java class that implements Interface AuthenticationHandler.

In this article, to show an example of a custom authentication handler, two-factor authentication is used. That is, you can configure AEM to use a one-time password (OTP). An OTP is an automatically generated numeric or alphanumeric string of characters that authenticates the user for a single transaction or session.

The benefit of using an OTP is it's more secure than a static password. An OTP token is typically generated by a mobile application that displays a number. The number changes every 30 or 60 seconds, depending on how the token is configured.

When a user logs into Experience Manager, they enter their user name, password, and OTP value.


This article walks you through building a custom authentication handler using R7 annotations and a Maven Archetype 15 project. The following video shows you this use case. 





To read this development article, click https://helpx.adobe.com/experience-manager/using/twofactor64.html.   

Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 


Monday, 10 December 2018

Congratulations Arun Patidar - our 2018 AEM Community Member of the year

I want to extend my congratulations to Arun Patidar - our 2018 AEM Community Member of the year winner. Arun is a very involved AEM Community member and has addressed many questions in the AEM community this year.  This year, we are very pleased to award Arun with an IPHONE.



Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In: http://www.linkedin.com/in/scottmacdonald2010

YouTube: Subscribe to the AEM Community Channel. 

Friday, 7 December 2018