Expand my Community achievements bar.

SOLVED

Creating organization core components

Avatar

Level 2

Hello Adobe friends,

 

I am working on a new project of mine. I am contemplating creating an organization's core components based on WCM Core Components and adding an organization branding and style system. Now several questions in mind I'd like to raise:

 

  1. Where should the core components be located?
    1. Would it still be under apps/org-core or under core/org-core?
  2. If core/org-core, would it be possible to make it a maven dependency to another project?
    1. Are there any reference architectures to back this idea?
1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@blueboi 

You have to refer it in maven dependency for deploying and use resourceSuperType to extend your core components.

View solution in original post

5 Replies

Avatar

Community Advisor

Hi @blueboi , the best practice is to keep your organization core components library under apps/org-core which you can add it as a maven dependency in your applications.

Avatar

Level 2

But then again, is referencing from maven dependency a best practice, or should we extend the org-core components to another AEM project as a supertype/resourcetype?

Avatar

Community Advisor

resourceSuperType should be used. The intention behind this is whenever there is an update to the core components from Adobe, all your proxy components will be updated to the latest standards.

Avatar

Correct answer by
Community Advisor

@blueboi 

You have to refer it in maven dependency for deploying and use resourceSuperType to extend your core components.

Avatar

Community Advisor

Hi @blueboi 

 

The folder structure is always a good practice to follow and there ain't any mandatory folder structure to follow.

 

The best way to follow would be using the archetype-generated folder structure. As you were asking about the location of the core components, that's where we can organize our component folders. I am currently following this structure for one of the projects, where we hold multiple sub-projects under a parent. See if this aligns to your liking.

 

apps/
        my-project/
                        - clientlibs/
(all client libraries) - components/ sub-project content structure custom - config - i18 - templates - install

Under content, I have all my core components(proxy) + common components that could be used in all sub-projects.

 

I hope this helps.
Thank you,

Sravan