What is the use of Parbase component:

aem

Solution

As per the Day documentation, "The parbase allows components to inherit attributes from other components"

If you check under "/libs/foundation/components", most of the authorable and draggable components have 'parbase' set as their 'sling:resourceSuperType' so that they can inherit the image and text rendering properties when added to a Paragraph system (Parsys Component).

This is a standard followed by all the Out-Of-the-Box components in CQ5.

While creating your own components, you don't need to add 'parbase' as a supertype, unless your components need to be enabled with drag-drop in a parsys.

AFAIK, the parbase component is never used explicitly, but only facilitates the rendering of a component when added in the Parsys.

Problem

I couldn't understand the need for a parbase component in CQ5. From what I read in CQ5 documentation, parbase is a component that can extend from other components. But all the components can extend other components by specifying sling:resourceSuperType property. So what is the need for a parbase component?

Original source