Coder Social home page Coder Social logo

ironsites's Introduction

ironsites ironsites

AEM better

Motivation

ironsites is not some grand, turn-key solution for orgs running on CQ, but rather a set of features that provides direction to CQ developers re-solving the same problems. The goal of ironsites is to provide meta 'framework'y patterns that CQ software architects infrequently have time to build, but have to roughly describe to developer/leads in design guidance, or worse, in code reviews. The project objectives are general because the scope should grow to capture new patterns as the need arises. To summarize the hopes of ironsites:

  • Desire to see out-of-box APIs used appropriately
  • Reduce boilerplate when possible
  • Establishing patterns and conveniences
  • Avoid building these patterns/conveniences again-and-again

Getting Started

To get started, ensure you have a running instance of CQ5.6 and can run mvn goals. Locate the parent pom.xml file for ironsites and edit the profile properties for local-author and/or local-publish. The default profile is local-author running on localhost:4502 with admin/admin credentials. Adjust this to suit your local environments.

To view a maven generated site with javadocs run the following goal then open a browser to the host/port mentioned in the output. This will help you navigate the features much better than this readme will.

mvn site:run

To deploy to a local author instance can be performed by running the 'install' maven goal.

mvn clean install -P author

To deploy to a local publish instance, qualify the environment.

mvn clean install -P publish

Dependencies

  • Adobe Experience Management (CQ) 6
  • JDK 1.7+
  • maven3
  • Patience required for exploring alpha-level software

AEM Interoperability

The 1.2-SNAPSHOT only supports AEM 6.0 -- no 6.1 support yet

Features

Internationalization (i18n) Helpers [wiki]

  • Sane patterns for content-managed i18n copy in AEM components with reasonable Sling supported fallbacks as well as low-effort access to the CQ out-of-box i18n translation helper.
  • Conveniences for supporting MessageFormat interpolation in i18n-ready copy.
  • Optional selector servlet to provide JSON serialzation of sling messages associated to a component/resourceType (e.g. /content/path/to/sling/resource.i18n.json) for usage with Javascript libraries

XSS Helpers [wiki]

  • XSS Utility methods as part of the core utility methods

WCMMode Helpers [wiki]

  • Elimination of scriptlet boilerplate for driving component display behavior based on WCMMode.
  • Taglib to establish a developer selected WCM mode within the tag body content; designed to work with new WCMModes found in AEM6 and beyond.

Simple Cache [wiki]

  • Basic application-level caching somewhere between a heavy Enterprise library and a basic ConcurrentHashMap.

Misc. [wiki]

  • Composable, flexible, and configurable alternatives to PageFilter which is commonly used to create navigation and sitemap components.
  • The WCMUtil singleton has several utility methods for link building which cover the most common AEM use cases. Externalizer, linking to Sling resources decorated with selectors and suffixes, XSS href sanitization, JCR path mangling, and much more.

Other great projects that improve AEM implementation

Author

site | twitter | gittip

Licence

unlicense

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.