AEM Rockstar is back for a 3rd year!

Posted on Monday, December 17, 2018 By

 

Submissions Closed for 2019

 

…and just like that, we are back! Join us in Las Vegas at Adobe Summit 2019 for one of the most popular sessions from 2017 & 2018.

When Darin & Kaushal came up with the idea of AEMRockstar, they had one goal in mind: Give the vast AEM community a platform to show off their chops! If the last two years are any indication, the AEM Community loves AEMRockstar, and so do we!

Want to be up to date with all things AEM Rockstar?

Follow/add

Format Refresher

Below is a quick refresher on how things work.

  1. We ask that you submit your AEM (really, Adobe Experience Cloud) tips & tricks using this FORM before January 27, 2019. Submit as many ideas as you want.
  2. After submissions close, the AEMRockstar team will diligently go through each of the submissions and pick our semi finalists.
  3. We then setup a quick call with each of the semi finalist to go over their submission, let you ask questions and go over the session details.
  4. After having talked to all the semi finalists, we pick the finalists who get invited to Las Vegas to present their submission, including a live demo to the session attendees & a judging panel of Adobe heavy hitters, including last years winner, Brett Birschbach, should he choose to accept his mission.
  5. We pay for your Summit pass, but you are responsible for travel costs and handling all the fame that comes with being an AEMRockstar!

2018 Recap

  • We had over 100+ submissions and the following individuals were selected as finalists.
    1. Brett Birschbach
    2. Bryan Williams
    3. Joost van Dun
    4. Conrad Woeltge
  • Over 300 people attended the session at Adobe Summit
  • Our esteemed judging panel was
    1. Jean-Michel Pittet – VP, Engineering, AEM
    2. Jay Dettling – VP, Partners
    3. Robert Anderson – Director, AEM Practice, ACS
    4. Dan Klco – 2017 AEMRockstar winner
  • And they chose Brett and his submission of AEM Remote Assets as the winner. You can read more about his submission here. Brett walked away with a swanky new Oculus Rift!
  • Survey callouts
    • 80% of the attendees would recommend AEMRockstar to their peers.
    • Over 88% said that it either met or exceeded their expectations.
    • 76% said that the session was excellent or above average.
  • Social Media highlights

Tips for submission

  • https://aemrockstar2019.attendease.com/submission-guide/
  • The live demos last year were a HIT! Please think about how your submission demoes.
  • Submissions that cover multiple Adobe Experience Cloud offerings tend to do better with the varied audience and the judges.
  • Are you solving a problem that others deal with it as well? You’d be surprised how common the problem you are facing is and how you can help the community
  • Would it make people go “WOW!”?
  • Using older tools/versions are not favored by the judges (avoid classic UI if you want to win)
  • Look at past year’s submissions and winners
  • Lastly, KISS!

To be considered, all you have to do is SUBMIT your idea. We are looking for all things Adobe Experience Cloud! When you submit, please make sure you provide your complete shipping address, that ways we can send you the brand new AEMRockstar sticker. We had quite a few stickers returned last year.

The fine print

  • Adobe employees are not eligible to submit.
  • The finalists are responsible for paying for their own travel and lodging. The AEMRockstar team only pays for your Summit pass.
  • Last year’s (2018) finalists are not eligible to submit.

 

Submissions Closed for 2019

5:00 AM Permalink

Brett Birschbach #AEMRockstar 2018

Posted on Thursday, April 19, 2018 By

It’s a wrap! Adobe Summit NA 2018 is done, and we are excited to announce the winner of this year’s #AEMRockstar competition:

 

Brett Birschbach from HS2 Solutions

 

This year brought more outstanding submissions than ever, resulting in a fantastic field of semi-finalists. Congratulations to Brett and our other finalists, Bryan Williams, Joost van Dun, and Conrad Woeltge, who competed in front of an audience of 300 AEM enthusiasts! 

Brett (a previous CM guest blogger) has written a great post about his winning Rockstar Tip & Trick. He is the lead Adobe Marketing Cloud Solutions Architect for HS2 Solutions, a digital transformation company based in Chicago. He is a hands-on problem solver with experience leading large multinational, multi-site platform projects. Read on below: 

 

AEM Remote Assets –

Sync What You Need, When You Need It

 

Have you ever wanted to use AEM Assets on one server from AEM Sites on another? I bet you have, even if you don’t realize it. Until now, options to do so would have been custom and/or manual, so you may have simply blinded yourself to the idea. Here are some common uses cases that you’ve probably run into:

 

Use Case: Enterprise AEM Assets Instance

Ok, I admit this is probably not the most “common” use case, but for large enterprises in the digital age, it’s a critical use case. An enterprise DAM is a key part of an enterprise technology stack, often calling for a dedicated AEM server with DAM as its sole purpose. But then how do you use those assets for your AEM sites?

 

Use Case: Migrating Assets from Production to Non-Production Environments

Does your organization have Dev/QA/Stage AEM environments? Of course, it does. Are those environments consistently up to date with the latest set of assets from production? For almost everyone I talk to, the answer is almost invariably a resounding “No.” How can this be done in a way that is both automated and disk efficient?

 

Use Case: Site Assets for Local Developer Servers (i.e., localhost:4502)

Pulling down a copy of the production site pages to a local server is easy. Pulling down all of the assets associated with that site? Not so much. How can this be done in a way that leaves behind assets that are not applicable to the site?

A simplistic, brute-force solution might be to use AEM’s package manager to bundle up the entire DAM, copy it down to the Sites server, and call it a day, right? Not exactly. Assets are big…and numerous… Last I checked, numerous big things is rarely a simple situation. Copying the entire DAM can be problematic in terms of disk space, network transfer, and effective package sizes. And even if you can do it manually, as soon the first asset on the remote server changes, you’re out of date!

Ok, so why not just reference the assets directly from their remote location? This would be a nightmare for your authors and developers, no longer able to leverage simple OOTB tools like image components, DAM search, and the authoring sidebar. Ultimately, you’d no longer be able to leverage the full power of AEM sites.

In short, you need a solution that achieves all of the following objectives:

  • Access to all remote AEM Assets from the AEM Sites instance
  • Remote AEM Assets stored locally in AEM Sites for seamless authoring w/OOTB features
  • Copies of just the required remote AEM Assets, not the entire DAM
  • All accomplished in an automated fashion

 

Sync What You Need, When You Need It

AEM Remote Assets tackles this tricky problem in a unique way. The seemingly opposed objectives of “Access to all remote AEM Assets” and “Copy of just the required remote AEM Assets” are achieved by a “sync what you need, when you need it” strategy. What this means is the automated asset sync first copies the entire node structure from the remote DAM, pulling in the tags and metadata of all of the remote assets but leaving behind the large binary files in the source DAM. If and when any of these assets are requested for a real use case, only then does Remote Assets copy the binary files “just in time” via a second sync, leaving behind all of the other asset binary files that are not needed.

Let’s see how this works in practice. AEM Remote Assets first syncs in the node structure of the remote AEM Assets, substituting in a small, temporary binary file to keep all unused assets very small compared to their real counterparts.

Admin user viewing folder of remote assets on an AEM Sites instance.

As an admin user on the AEM Sites instance, I can see all of the “remote” assets that have been synchronized from the remote AEM Assets server. And though an asset may say it is 500+ KB in size, in actuality it is far smaller due to the temporary binary file.

Now the true magic begins. Because we have synchronized in all of the remote asset nodes and tags, we have everything we need as an author to search and use those assets, and AEM will take care of pulling over the binary files for the ones I want to use. Say for example I open a browser and search for “Bike” assets. The system finds the two assets, but as the request is being processed it first pulls over the associated binary files from the remote Assets server, making those two assets now “real” on the Sites server.

Right: Author user viewing two searched assets; Left: Admin user viewing folder with searched assets now made “real.”

The same thing happens if I pull up the page authoring sidebar to add an image to my page.

Right: Author user choosing asset from page authoring sidebar; Left: Admin user viewing folder with referenced asset now made “real.”

This is amazing for the “Enterprise Remote AEM Assets” use case, where authoring sites with remote assets is a critical business function. But what about the use cases of “Migrating Assets from Production to Non-Production Environments” and “Site Assets for Local Developer Servers” where largely we just want to be able to browse the site with all assets. Turns out that scenario (and any others you can think of) works as well.

Right: Web page as seen by an author user, all assets being made “real” simply by browsing to the page; Left: Web page with remote assets before access by an author user.

 

This is Awesome! Can I Has AEM Remote Assets Too?

You absolutely can! HS2 Solutions has contributed AEM Remote Assets to ACS AEM Commons, the most prominent open source feature library for AEM in the industry. You’re probably using this library already! We look forward to the community pitching in with their ideas on configuration options, additional functionality, and even direct code contributions!

For more on AEM Remote Assets, including a video demonstration, view my article on hs2solutions.com. You may also contact me via LinkedIn or email at brett.birschbach@hs2solutions.com.

All opinions are Brett Birschbach’s own and are not Adobe’s.

4:31 PM Permalink

Integrating Microsoft Azure Active Directory OAuth with AEM. Author and publish

Posted on Monday, March 26, 2018 By

On a recent project we were asked to implement an OAuth integration with AEM using Microsoft Azure AD as the server and use it on both the author and publish instances.

AEM OOTB provides Facebook and Twitter OAuth providers and Cloud Service configurations. More details for AEM 6.3 can be found here.

But, since we needed the OAuth to work on the author instance as well, the Cloud Service way won’t work. Our publish use case was to disable anonymous access and only allow access via OAuth, we stayed away from using Cloud Services for publish instances as well.

Below is a list of classes we implemented

  • Scribe classes
    • Azure AD OAuth API
      • AEM uses Scribe, this class extends the scribejava DefaultApi20 class.
      • After writing this class, I submitted a PR to the scribe java project and it’s now been merged . You can use this code as reference to create the same in your AEM code base.
    • Azure AD OAuth Service
      • Also included in the PR to the scribejava project
  • Thats all for the non AEM classes, below are all the AEM related classes.
    • Azure AD Provider
    • Azure AD Login Selector
      • This class is responsible for redirecting the user to the OAuth server login page, a URL with the format similar to http://localhost:4502/j_security_check?provider=xxxxxx&configid=my-granite-oauth-configid&state=/aem/start.html
      • The Service Ranking for this class needs to be higher than the OOTB LoginSelector
      • In the requestCredentials method, you will need get the client ID and the config ID from your Granite OAuth Provider configuration. You can use the ProviderConfigManager and the ProdviderConfig classes for this.
        • for example, providerConfigManager.getProviderConfig(my-granite-oauth-configid);
      • We had to ignore some URLs for being redirected as well, for example, if the request is for below URLs, you don’t want it redirected to the OAuth login screen
        • /libs/granite/core/content/login.html
        • /libs/granite/csrf/token.json
        • /callback/j_security_check
      • This class also replaces the need for having a Cloud Service configuration, but it only works if you want every AEM request to go through this auth provider. If you have a use case similar to allowing a “Social Login”, you will need to create your own Cloud Service configuration.
      • To create a custom Cloud Service configuration, follow the docs and reference the OOTB Facebook and Twitter Cloud Service configurations to create your own.
      • Don’t forget to include the state request parameter in your redirect URI to ensure the users are redirected to the appropriate page after successful login.

On the OAuth app side, the reply URL needs to be of the format https://host:port/callback/j_securitycheck.

As always, please let me know if there are any questions.

12:44 PM Permalink

Using a JSON file with the Dropdown widget on the Metadata Schema

Posted on Wednesday, January 3, 2018 By

Have to use where you need to setup a metadata schema with a dropdown widget where the options needed to come from a JSON file? Keep on reading…

First, the JSON file.

The JSON file needs to follow the same structure as below.

{
 "options": [
 {
 "value": "en-gb",
 "text": "English-United Kingdom"
 },
 {
 "value": "en-us",
 "text": "English-United States"
 },
 {
 "value": "fr-ca",
 "text": "French-Canada"
 },
 {
 "value": "fr-fr",
 "text": "French-France"
 },
 {
 "value": "de-de",
 "text": "German-Germany"
 },
 {
 "value": "es-mx",
 "text": "Spanish-Mexico"
 },
 {
 "value": "es-es",
 "text": "Spanish-Spain"
 }
 ]
}

There needs to be an “options” array and each element in the array needs to have a “value” and a “text”. The “text” value is what is displayed to the end user and the “value” value is what is saved in JCR.

Second, where to store the file.

You can upload this file to AEM as an Asset or upload it somewhere as a nt:file. Where its uploaded will define how the widget on the metadata schema needs to be configured.

Lastly, how to configure the widget.

The dropdown widget on the metadata schema lets you define a “JSON Path” property. This property needs to point to the nt:file node of the JSON file.

What does this mean?

If you have uploaded the JSON file as an Asset, this value needs to be set to the original rendition of the asset. For example /content/dam/myproject/myfile.json/jcr:content/renditions/original. If you have upload this file as an nt:file, the path would be something like /etc/myconfigurations/myfile.json.

At the time of writing this blog, there is a known issue where if the content of the JSON file changes, you need to open the schema again and hit save for the new changes to populate. 

12:05 PM Permalink

Are you ready for AEMRockstar 2018?

Posted on Monday, January 1, 2018 By

Its back for another year! Join us at Adobe Summit 2018 for one of the most popular sessions from Summit 2017. It’s one part tips and tricks and one part exciting “Shark Tank” experience where the winners are chosen in real time.

This year we’re focusing on not just presentations but live demos to really show the power of the tips and tricks that our contestants have come up with. Think you have an idea that is good enough to battle it out with other finalists in Las Vegas? Submission closed

If you’re chosen as one of our presenters, you’ll receive a free pass (valued at $1895) to Summit on March 25-29, 2018 in Las Vegas, and the opportunity to win cool prizes like airline tickets, laptop, or who knows what! And don’t forget about the bragging rights. 

 

Submission closed: January 29, 2018


Tips for submission:

  • Multi-Solution items (AEM + Analytics, IO, etc.) present better to the varied audience of Adobe Summit.
  • Think of the value proposition that your tip or trick is solving. Be prepared to defend it.
  • Does it “wow” when demoing?
  • Adobe customers using Experience Cloud or Adobe Partners with a customer co-presenter are highly desired.

To be considered, all you have to do is submit your tip using this online form. We’re looking for all things AEM. Sites, Assets, Mobile, Forms, anything and EVERYTHING! We want tips that you believe will show your fellow AEM marketers and technologists new things about AEM and help them to do their jobs more effectively and efficiently. Ultimately, your judges will be the session attendees, including leaders from the AEM Product and Marketing teams, as they vote for their favorite tips. Don’t be on the fence about submitting a tip — you might be surprised how useful things can be to others.

We’ll be screening your tips based on how innovative, practical, and valuable they are as well as how broadly they could be used by AEM marketers and technologists at other companies in different industries. We’ll select up to 5 finalists who will come to Las Vegas and present their tip to one of the largest audiences at the conference. This is a great opportunity to attend Summit and showcase your talents to the world!

We are giving away some swag to everyone who submits an idea as well. Every person who submits an idea gets the new vol 2 AEM Rockstar sticker (subject to availability)!

Eligibility Requirements (the fine print)

  • Adobe employees are not eligible
  • You are responsible for all expenses except the Adobe Summit registration.
  • Finalists from the previous year are not eligible.

2017 Recap

The first ever AEM Rockstar session was a resounding success. We were in the top 10 most attended sessions at Summit last year! As for prizes, last year, in addition to the free Summit pass, we gave away,

  • 1st – DJI Mavic Pro Drone
  • 2nd – $200 Amazon Gift Card
  • 3rd – $100 Amazon Gift Card

To get your creative juices flowing, below are our finalists and their submissions from last year.

Dan Klco, Perficient

“Integrating AEM with other Adobe Marketing Cloud solutions using data layers powered by Sling Models.”

Rima Mittal, Sapient

“Need a script to change existing production content? Sling Pipes to the rescue.”

Robert Langridge, Carphone Warehouse

“How Dixons Carphone gives their authors the ability to generate designs to be used in their AEM Mobile application.”

Ruben Ruesser, headwire, Inc.

“Making sure all your developers generate consistent files during AEM development.” – the AEM Developer Companion

Martin Fitch, Kaiser Permanente

“How Kaiser Permanente achieved their stringent approval requirements using AEM workflows.”

Congratulations to Dan Klco for being our inaugural winner.

 

Submission closed: January 29, 2018

 

 

 

6:57 AM Permalink
  • Authors

  • Archives

  • Developer Resources