Code Monkey home page Code Monkey logo

aem-core-wcm-components's Introduction

AEM WCM Core Components

Test Code Coverage Maven Central javadoc

Set of standardized Web Content Management (WCM) components for Adobe Experience Manager (AEM) to speed up development time and reduce maintenance cost of your websites.

Welcome

Documentation

  • Component Library: A collection of examples to view the components in their various configurations.
  • Component Documentation: For developers and authors, with details about each component.
  • Get Started:
    • WKND Tutorial: A two-day tutorial for building a new site.
    • Summit Tutorial: A two-hour tutorial for building a new site (from a Lab at US Summit 2019).
    • Gems Webinar: A guided tour of the Core Components (recorded on Dec 2018).

Features

  • Production-Ready: 28 robust components that are well tested, widely used, and that perform well.
  • Cloud-Ready: Whether on AEM as a Cloud Service, on Adobe Managed Services, or on-premise, they just work.
  • Versatile: The components represent generic concepts with which the authors can assemble nearly any layout.
  • Configurable: Template-level content policies define which features the page authors are allowed to use or not.
  • Trackable: The Adobe Client Data Layer integration allows to track all aspects of the visitor experience.
  • Accessible: They comply WCAG 2.1 standard, provide ARIA labels, and support keyboard navigation.
  • SEO-Friendly: The HTML output is semantic and provides schema.org microdata annotations.
  • WebApp-Ready: The streamlined JSON output allows client-side rendering, still with a possibility of in-context editing.
  • Design Kit: A UI kit for Adobe XD allows designers to create wireframes that they can then style as needed.
  • Themeable: The components implement the Style System, and the markup follows BEM CSS conventions.
  • Customizable: Several patterns allow easy customization, from adjusting the HTML to advanced functionality reuse.
  • Versioned: The versioning policy ensures we won't break your site when improving things that might impact you.
  • Open Sourced: If something is not as it should, contribute your improvements!

Template Components

  1. Page
  2. Navigation
  3. Language Navigation
  4. Breadcrumb
  5. Quick Search

Page Authoring Components

  1. Title
  2. Text
  3. Image
  4. Button
  5. Teaser
  6. List
  7. Download
  8. PDF Viewer
  9. Embed
  10. Sharing
  11. Progress Bar
  12. Separator
  13. Experience Fragment
  14. Content Fragment
  15. Content Fragment List

Container Components

  1. Container
  2. Carousel
  3. Tabs
  4. Accordion

Form Components

  1. Core Form container
  2. Form text field
  3. Form options field
  4. Form hidden field
  5. Form button

Roadmap

To learn about the main upcoming components and features, visit the roadmap wiki page.

Usage

To include the Core Components in a new project, we strongly advise to use the AEM Project Archetype; this guarantees a starting point that complies to all recommended practices from Adobe.

For existing projects, take example from the AEM Project Archetype by looking at the core.wcm.components references in the main pom.xml, in all/pom.xml, and in ui.apps/pom.xml. For the rest, make sure to create Proxy Components, to load the client libraries and to allow the components on the template, as instructed in Using Core Components.

System Requirements

Core Components AEM as a Cloud Service AEM 6.5 AEM 6.4 Java SE Maven
2.17.14 Continual 6.5.6.0+ (*) 6.4.8.4+ (*) 8, 11 3.3.9+

(*) - Since version 2.11.0 org.apache.sling.models.impl version 1.4.12 or higher is required (due to SLING-8781). This will be provided for AEM 6.4 and 6.5 in a future Service Pack. Until then, the Sling Models bundle is included in the core.wcm.components.all package.

For the requirements from previous Core Component releases, see Historical System Requirements.

The Core Components require the use of editable templates and do not support Classic UI nor static templates. If needed, check out the AEM Modernization Tools.

Setup your local development environment for AEM as a Cloud Service SDK or for older versions of AEM.

Building

To compile your own version of the Core Components, you can build and install everything on your running AEM instance by issuing the following command in the top level folder of the project:

mvn clean install -PautoInstallSinglePackage

You can also install individual packages/bundles by issuing the following command in the top-level folder of the project:

mvn clean install -PautoInstallPackage -pl <project_name(s)> -am

With AEM as a Cloud Service SDK, use the cloud profile as follows to deploy the components into /libs instead of /apps:

mvn clean install -PautoInstallSinglePackage,cloud

Note that:

  • -pl/-projects option specifies the list of projects that you want to install
  • -am/-also-make options specifies that dependencies should also be built

For detailed informations see BUILDING.md.

Configuration

The Core Components leverage both OSGi configurations and Sling context-aware configurations. For a description of defined configurations see CONFIGS.md

Known Issues

  • The provided oEmbed URL Processor configuration for Facebook and Instagram is not working at the moment as a new version of the endpoint was released by Facebook and now an access token needs to be passed in the request. A possible workaround is described in adobe#1225

aem-core-wcm-components's People

Contributors

adobe-bot avatar andreeadracea avatar bartoszglow avatar bmalecki avatar bpauli avatar brandonmaynard avatar cjelger avatar comanv avatar dependabot[bot] avatar gabrielwalt avatar gknobloch avatar glasert avatar hbacila avatar jakublamprecht avatar jckautzmann avatar joerghoh avatar kotisyamala avatar kwin avatar ky940819 avatar msagolj avatar oborysyu avatar patil2099 avatar philipmundt avatar raducotescu avatar rajramo61 avatar reusr1 avatar richardhand avatar shivanshmathur avatar stefanseifert avatar vladbailescu avatar

Watchers

 avatar

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.