Giter Site home page Giter Site logo

deltaworld / aem-project-archetype Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ethomasjoseph/aem-project-archetype

0.0 2.0 0.0 835 KB

Maven template to create a new AEM project as starting point to develop your own functionality.

License: Apache License 2.0

Java 57.47% CSS 11.51% HTML 20.29% JavaScript 10.73%

aem-project-archetype's Introduction

AEM 6.2 project archetype

Build Status

This archetype creates a minimal Adobe Experience Manager project as starting point for your own projects. The properties that must be provided when using this archetype allow to name as desired all parts of this project.

This project has a number features that are intended to offer a convenient starting point for new projects:

  • 2 Pages
    • English and French pages with filler text
  • 2 Templates
    • For homepage and content pages
    • Homepages are only allowed on top level, and content pages below
  • Page component
    • Built with HTL templates and simple server-side JavaScript logic
    • The CSS class on the body element changes based on page template
    • Internationalized footer text as example
  • Structure Components
    • Topnav: simple custom HTL component
    • Logo: based on foundation
  • Content Components
    • helloworld: example of custom HTL component with SlingModels for the logic
    • colctrl, textimage, text, image, title: use the HTL foundation components
  • Configurations
    • Device emulators displayed in the authoring interface
    • Allow direct drag & drop of assets from the content finder into parsys (6.1 TouchUI)
    • Dictionary structure for internationalizing hardcoded strings
  • Client libraries
    • Responsive layout with colctr that break for narrow pages
    • CSS class names follow BEM naming conventions
    • Component-specific styles stored within each component
    • Master ClientLib under /etc/designs merges all client libraries into one file
  • Bundle with some examples
    • Models: Models for more complex business logic of components
    • Servlets: Rendering the output of specific requests
    • Filters: Applied to the requests before dispatching to the servlet or script
    • Schedulers: Cron-job like tasks
  • Tests
    • Unit tests
    • Integration tests
    • Client-side Hobbes tests within developer mode

Usage

To use a released version of this archetype:

Either use the AEM Eclipse extension and follow the New Project wizard (choosing AEM Sample Multi-Module Project)...

Or use your mvn skills:

mvn archetype:generate \
 -DarchetypeGroupId=com.adobe.granite.archetypes \
 -DarchetypeArtifactId=aem-project-archetype \
 -DarchetypeVersion=10 \
 -DarchetypeRepository=https://repo.adobe.com/nexus/content/groups/public/

Where 10 is the archetype version number that you want to use.

Available properties

groupId Maven GroupId
groupId Base Maven groupId
artifactId Base Maven ArtifactId
version Version
package Java Source Package
appsFolderName /apps folder name
artifactName Maven Project Name
componentGroupName AEM component group name
contentFolderName /content folder name
cssId prefix used in generated css
packageGroup Content Package Group name
siteName AEM site name

Requirements

  • Adobe Experience Manager 6 or higher
  • Apache Maven (3.x should do)

Building

To compile and use an edge, local version of this archetype:

mvn clean install

Then change to the directory in which you want to create the project and run:

mvn archetype:generate \
 -DarchetypeGroupId=com.adobe.granite.archetypes \
 -DarchetypeArtifactId=aem-project-archetype \
 -DarchetypeVersion=11-SNAPSHOT

aem-project-archetype's People

Contributors

bpauli avatar deltaworld avatar eglistefan avatar ethomasjoseph avatar feikevisser avatar gabrielwalt avatar heervisscher avatar jsedding avatar justinedelson avatar khakiout avatar mszu avatar rombert avatar steeleforge avatar stievena avatar wimsymons avatar

Watchers

 avatar  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.