All Projects → adobe → Aem Core Cif Components

adobe / Aem Core Cif Components

Licence: apache-2.0
A set of configurations and components to get you started with AEM Commerce development

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Aem Core Cif Components

commerce-cif-magento-graphql
Magento GraphQL data models and query builders for AEM
Stars: ✭ 20 (-66.67%)
Mutual labels:  commerce, magento, adobe, aem
commerce-cif-connector
AEM Commerce connector for Magento and GraphQL
Stars: ✭ 42 (-30%)
Mutual labels:  commerce, magento, adobe, aem
aem-cif-project-archetype
Maven template to create new CIF Project AEM projects that follow best practices
Stars: ✭ 20 (-66.67%)
Mutual labels:  commerce, adobe, aem
magento2-checkout-success-misc-script
Add Miscellaneous HTML and JavaScript codes to Magento2 checkout conformation page
Stars: ✭ 26 (-56.67%)
Mutual labels:  magento, adobe
plugin-toolkit-react
Adobe XD plugin UI components for React
Stars: ✭ 30 (-50%)
Mutual labels:  components, adobe
aem-spa-project-archetype
Maven Archetype for creating new AEM SPA projects
Stars: ✭ 64 (+6.67%)
Mutual labels:  adobe, aem
aem-touch-ui-validation
AEM Touch UI Validation Library
Stars: ✭ 40 (-33.33%)
Mutual labels:  adobe, aem
Bem Core
BEM Core Library
Stars: ✭ 275 (+358.33%)
Mutual labels:  components, frontend
AEM-DataLayer
Simple DataLayer API for Adobe Experience Manager
Stars: ✭ 33 (-45%)
Mutual labels:  adobe, aem
React Storefront
Build and deploy e-commerce progressive web apps (PWAs) in record time.
Stars: ✭ 275 (+358.33%)
Mutual labels:  commerce, magento
Aem Project Archetype
Maven template to create best-practice websites on AEM.
Stars: ✭ 337 (+461.67%)
Mutual labels:  adobe, aem
Vuefront
VueFront Core. Turn your old-fashioned CMS website in to a SPA & PWA in 5 minutes
Stars: ✭ 316 (+426.67%)
Mutual labels:  magento, frontend
Uiengine
Workbench for UI-driven development
Stars: ✭ 349 (+481.67%)
Mutual labels:  components, frontend
aem-docker-getting-started
Getting started guide for development with Adobe Experience Manager and Docker.
Stars: ✭ 38 (-36.67%)
Mutual labels:  adobe, aem
Composer Assets Plugin
Composer plugin for copying of frontend assets into public directory.
Stars: ✭ 20 (-66.67%)
Mutual labels:  components, frontend
Aem Links
Adobe Experience Manager links, cheat sheets and solutions to common problems.
Stars: ✭ 254 (+323.33%)
Mutual labels:  adobe, aem
M2cert
Adobe Magento2 Certification Study Guides - 2020/2021 Updates for M2 2.3/2.4
Stars: ✭ 147 (+145%)
Mutual labels:  adobe, magento
cookbook-cq
Chef cookbook for Adobe CQ (aka AEM)
Stars: ✭ 20 (-66.67%)
Mutual labels:  adobe, aem
React Storefront
React Storefront - PWA for eCommerce. 100% offline, platform agnostic, headless, Magento 2 supported. Always Open Source, Apache-2.0 license. Join us as contributor ([email protected]).
Stars: ✭ 292 (+386.67%)
Mutual labels:  commerce, magento
Iview
A high quality UI Toolkit built on Vue.js 2.0
Stars: ✭ 23,930 (+39783.33%)
Mutual labels:  components, frontend

CircleCI codecov Maven Central npm GitHub

AEM CIF Core Components

The AEM CIF Core Components project serves as accelerator to get started with projects using AEM, CIF and Magento. The project contains re-useable Commerce core components which combine server-side rendered AEM components with client-side React commerce components (MPA) for dynamic experiences / data. The components use the Venia theme1.

This project is intended to be used in conjunction with the AEM Sites Core Components. AEM CIF Core Components use the AEM Sites Core Components as a foundation where possible and extending them.

For starting a new project please have a look at our archetype project. Also have a look at our Venia sample project that uses the WCM and CIF core components to deliver a stunning store-front experience.

Documentation

See our wiki for usage and configuration instructions of the AEM CIF Core Components.

Available Components

System Requirements

The latest version of the AEM CIF Core Components, require the below minimum system requirements:

CIF Core Components AEM as a Cloud Service AEM 6.5 AEM 6.4 Magento Java
1.8.0 Continual 6.5.7 6.4.4.0 2.4.0 8, 11

For a list of requirements for previous versions, see Historical System Requirements.

AEM Commerce connector for Magento

For AEM on-prem installations, this project requires the AEM Commerce connector for Magento to improve the authoring experience by leveraging the product pickers, product assets view and consoles provided by the connector package. The AEM Commerce connector must be installed separately as part of the customer project.

AEM Sites Core Components

This project relies on the AEM Sites Core Components. They are typically installed as part of AEM. If you install AEM without sample content option you have to deploy them manually before using the AEM CIF Core Components.

GraphQL Caching with Magento 2.3.2

Starting with 2.3.2, Magento supports cache-able GraphQL requests and starting with version 0.2.1 the CIF core components will use it by default. To make the components work with Magento 2.3.1 you can manually disable this feature in the following locations:

Installation

  1. Clone this repository.
  2. Run a mvn clean install in the root folder to install the artifacts to your local Maven repository.
  3. Switch to the all project and run a mvn clean install content-package:install.

Here is a full video walk-through of the setup process.

Easy install with the "all" package

If you want to build all the modules yourself and get all the latest (yet) unreleased changes, just build and install all the modules with the following command at the root of the repository:

mvn clean install -PautoInstallAll

This installs everything by default to localhost:4502 without any context path. You can also configure the install location with the following maven properties:

  • aem.host: the name of the AEM instance
  • aem.port: the port number of the AEM instance
  • aem.contextPath: the context path of your AEM instance (if not /)

UberJar

This project relies on the AEM 6.4.4 cq-quickstart UberJar. This is publicly available on https://repo.adobe.com

For more details about the UberJar please head over to the How to Build AEM Projects using Apache Maven documentation page.

Include core components as subpackage into your own project maven build

The released version of the AEM CIF Core Components are available on the maven central repository. To include the AEM CIF Core Components package into your own project maven build you can add the dependency

<dependency>
    <groupId>com.adobe.commerce.cif</groupId>
    <artifactId>core-cif-components-all</artifactId>
    <type>zip</type>
    <version>x.y.z</version>
</dependency>

and sub package section

 <subPackage>
     <groupId>com.adobe.commerce.cif</groupId>
     <artifactId>core-cif-components-all</artifactId>
     <filter>true</filter>
 </subPackage>

to the content-package-maven-plugin.

You also need to add the AEM Commerce connector for Magento all package, see above. Make sure you add that as a dependency as well.

Configuration

To connect the AEM CIF Core Components with your Magento instance follow the configuration steps. For a multi store / site setup one additional step is needed to link an AEM site to a Magento store view.

Customization

For customizing CIF Core Components, we provide use cases and examples in our documentation at Customizing CIF Core Components.

Testing

Karma Unit Tests

The client-side JavaScript code of the components is covered using Mocha unit tests executed with Karma. Please make sure that for every contribution new client-side code is covered by tests and that all tests pass.

cd ui.apps
npm install
npm test

Karma will test with Chrome and Firefox. Make sure you have both browsers installed.

Code Formatting

Java

You can find the code formatting rules in the eclipse-formatter.xml file. The code formatting is automatically checked for each build. To automatically format your code, please run:

mvn clean install -Pformat-code

JavaScript & CSS

For formatting JavaScript and CSS we use prettier. The formatting is automatically checked when running npm test in the ui.apps project. To automatically format your code, please run the following command in ui.apps:

npm run prettier:fix

Packing Clientlibs with Webpack

We use webpack to build our clientlibs. Please read Packing Clientlibs with Webpack for more information.

Releases to Maven Central

Releases of this project are triggered by manually running mvn release:prepare release:clean on the master branch on the root folder of this repository. Once you choose the release and the next snapshot versions, this commits the change along with a release git tag like for example core-cif-components-reactor-x.y.z. Note that the commits are not automatically pushed to the git repository, so you have some time to check your changes and then manually push them. The push then triggers a dedicated CircleCI build that performs the deployment of the tagged artifact to Maven Central.

Important: this project does Maven reactor releases, do not trigger releases from sub modules!

Note: in case it is needed to update the version of a java bundle because of API changes and semantic versioning, one can easily update the parent POM version and all the POMs referencing the parent POM version by running the following command in the PARENT project folder: mvn versions:set -DnewVersion=x.y.z-SNAPSHOT. This will ensure all projects have the same version.

Contributing

Contributions are welcomed! Read the Contributing Guide for more information.

Licensing

This project is licensed under the Apache V2 License. See LICENSE for more information.


1: "Venia" is the name of the sample progressive web app development by Magento. It has a specific theme which has been applied to our project, event though we're using classic AEM components

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].