Friday, July 15, 2016

What are you using for Kanban Columns?

Selecting the names of Kanban columns can be a challenge and your team should be aware of what each column means and what is expected out of them. Here's what we're using for a mid-size project (4-5 devs):

  • To Do – Current TODO for the Sprint
  • Selected For Development – Developer will read the Acceptance Criteria, ASK questions that pertain to user story development, architecture, and overall approach. A personal TODO list is often a best practice at this stage.
  • Blocked - There are dependencies that need to be resolved. Dependencies WILL be defined in the ticket. Once the dependencies are cleared, then the ticket can be worked.
  • In Progress – Actively being worked.
  • Peer Review – All code needs to be peer reviewed to ensure it works correctly. The best person to call out another developer is a developer. Does it work? Was everything checked in? In GitHub, we use Pull Requests to accomplish this task.
  • QA – Tester will test for normal flow and alternate cases that include browser compatibility, regression, and other aspects.
  • Pending Customer Acceptance – Did we build it right? Does it makes sense?
  • Done – Items in this column will be demoed every other Friday. Statuses that could be “done” include Done and OBE (Overcome by Events).

Please share what you use and help other customers understand what others use in the industry.

Tuesday, March 31, 2015

Avoid unnecessary AEM workflows

Avoid using workflows to handle basic operations by using a a Sling Post Processor. Workflows can be an unneeded burden because launchers can be painful to configure and too many workflows running can causes performance issues.

 import java.util.List;  
 import org.apache.felix.scr.annotations.Component;  
 import org.apache.felix.scr.annotations.Service;  
 import org.apache.sling.api.SlingHttpServletRequest;  
 import org.apache.sling.servlets.post.Modification;  
 import org.apache.sling.servlets.post.SlingPostProcessor;  
 @Component(metatype = false, immediate = true)  
 @Service  
 public class SamplePostProcessor implements SlingPostProcessor {  
      @Override  
      public void process(SlingHttpServletRequest request, List<Modification> modificationList) throws Exception {  
           // POST servlet had already made its changes but the session hasn't been commited yet  
      }  
 }  

Monitoring AEM

Programs we use to monitor AEM and send us alerts at night when things go bunk.


  • Monit - Used if AEM or Apache goes down for any reason and starts it back up again. Sometimes if your load balancer can still reach apache, it thinks everything is ok, so we turn off apache when AEM goes bunk and the load balancer moves all the traffic to the slaves.
  • Nagios - Alerts if memory, CPU utilization, or anything else I want to monitor in a dashboard environment.
  • Splunk - Real time log analysis and monitoring, alerts.

Links




Thursday, August 28, 2014

Finding out what components my page is using

There are a few ways to do this. One way is to go into the felix console: http://localhost:4502/system/console/bundles, and go under main, and click on the "Sling Resource Resolver" link. Enter the url you want to know more about and press enter. It will give you a list of possible pages it is using. Open up crx/de or the Eclipse plug-in and find the page, and find where the page or template is located.


A quicker way is to add ?debug=layout to the end of the url of the page in question. It will display where every component on your page is located.

Thursday, August 7, 2014

AEM Blogs in the Community worth reading - Work in Progress

I seem to continually go to these blogs for some reason...

Blog for How to in Adobe CQ or WEM by Yogesh Upadhyay
http://www.wemblog.com/

Jorg Hoh - Tips and tricks for CQ5 and Adobe AEM, trying to avoid BS
http://cqdump.wordpress.com/

AEM Operations
http://cq-ops.tumblr.com/

AEM 5.6 - Quick Reference
http://activecq.com/system/assets/46/original/quick-reference.html

Monday, August 4, 2014

AEM 6 - Asset Improvement Capabilities

Dynamic video
  • Preview and annotate videos (Notes at certain parts of videos)
  • Set video profiles for auto-encoding
  • Insight into viewer drop-off reporting to improve video content
  • Smart, responsive video players that automatically resize based on page break points
  • Video deliver in the cloud. Device optimized streaming on demand
  • Video Publishing. Easily add videos to web properties using sites components, URL or embed code
  • Social Video: Grow reach by publishing to YouTube and Social Sharing (Facebook, Twitter, Linked-in, etc…)
Dynamic media
  • Sizes, Formats, resolutions without knowing the device or browser. Creates multiple renditions based on one asset.
  • Dynamic Image Rendition 
    • Swap out colors dynamically
    • Create media sets for 360 degree views. Think of looking at a car from all angles.
Metadata, search, workflow, and share
  • Bulk Metadata Operations
  • Smart Collections - Think saved searches that update automatically
  • Easy Metadata Schema definitions with ability to set fields as required / visible
  • Search paths, mime types, last modified, file size, orientation, style, video height, video width, publish status, approval status. Much easier to add custom tags.
  • Saved Searches and share with other teams
Task and Workflow Management
  • Photoshoot-to-site workflow
  • PIM Integration (Product Information Management)
  • Organize Teams
  • Track tasks and Deadlines
  • Pre-configured workflows
  • Review and Approval
  • Dashboards and team assignments
Admin & Security
  • Reports
    • Added
    • Downloaded
    • Modified
    • Expired License
    • Published 
    • Custom
Creative Cloud integration

Significant Engine Improvements

  • TarPM and MongoDB as preferred repositories
  • Reads and Writes Improvements
  • Many Performance improvements