Publick Apache Sling + Sightly blog engine

Adobe Experience Manager | AEM/CQ | Apache Sling

Publick Apache Sling + Sightly blog engine

This blog post is the unveiling of the Publick Sling + Sightly blog engine. The name of the project is in honor of Publick Occurrences Both Forreign and Domestick, the first multi-page newspaper published in the American colonies.

Anyone familiar with AEM will immediately feel comfortable with this project as the Publick blog engine uses the same technology stack as the latest Adobe Experience Manager. Publick uses the Sightly server-side templating language to render the markup. The restful Apache Sling framework is used to access the Apache Jackrabbit implementation of the Java Content Repository. Apache Felix is the implement of the OSGi framework and Apache Maven is used to manage the builds.

Screenshot of the asset upload capability of Publick.
I've wanted to write about my experiences, my work and my passion for quite some time. I could have used Blogger or Medium and I considered using Jekyll with GitHub Pages for more excitement. I could have had a WordPress site running in mere minutes. However, I came to the conclusion that using any of those platforms to blog about the Adobe Marketing Cloud and Adobe Experience Manager specifically, just didn't resonate harmoniously within. The virtuous platform would of course been AEM itself, however, I simply can't afford to purchase a license from Adobe - maybe it's the preposterous cost of renting in the San Francisco Bay Area. Therefore, I did the next best thing; I dedicated my free time to writing a custom blog engine that uses the same technology stack as Adobe Experience Manager.

I've made the code for the blog engine publicly available on GitHub. Likewise, I've done the same for the nateyolles.com implementation of Publick. The purpose of this website is to share my thoughts and experiences. However, it is also meant to be a living demonstration of the Publick blog engine. For that reason, I've created a read-only test account and published the credentials. You can log into the dashboard at nateyolles.com/admin with user demo and password demo.

For this project, I'm using a scaled down version of a similar setup that we're using to host Adobe's Document Cloud AEM marketing site. I'm using an EC2 instance running Amazon's Linux AMI to host the Sling server. Emails are sent through Amazon's Simple Email Service (SES). GoDaddy remains my DNS manager with the A record pointing to my Amazon Elastic IP address and the MX record remaining at GoDaddy to manage my personal emails. The next step is to implement Adobe's Dispatcher Apache web server module for added security and performance. At Adobe my project is using Akamai's CDN; for this project I want to try Amazon's CloudFront. Thanks to Amazon's free tier and the open source Apache projects, this entire setup is near cost free. My only expense is renewing my domain name.

This project, like all projects, is a work in progress and a learning experience. It's been a rich, rewarding, and enormously satisfying process getting into the lower levels of Sling and Jackrabbit, all of which is completely applicable to AEM. There's still very much left to accomplish and I look forward to its continued progress.

Publick Sling + Sightly blog engine on GitHub

nateyolles.com implementation of Publick on GitHub

Publick live example (user/pass: demo/demo)