The first step in creating your own Panopoly App is to build the content type(s) and entities that will drive most of your functionality. Most of this can be done through the Drupal UI. This is an area where the app developer will have a lot of flexibility to bring new functionality into the Panopoly Apps ecosystem. However, the developer should remember to not recreate entities, fields or content types that already exist within the Panopoly framework.

In order for us to build really useful tools for site builders and end users we cannot have every app adding their own versions of core components. This will make things unnecessarily complex while adding little value in terms of new functionality. A good rule of thumb is to not add new functionality unless it is completely lacking in the set of apps currently available. If you are interested in providing additional functionality to a component that already exists please post an issue to that project instead of building your own.

As a reminder, the following components and entities are already available as part of Panopoly or its apps (The full list is available here.) Please check to see if new components have been added within the Administrative interface as this documentation is not updated every time a new component is released.

Fieldable Panel Panes

  • Links
  • Files
  • Images
  • Text
  • Maps
  • Tables
  • Videos
  • Spotlights

Exportable Components

  • Editor and Administrator roles
  • Featured content field
  • Free tagging Categories vocabulary
  • Featured image field
  • Image size presets

Content Types

  • Basic Page
  • FAQ
  • News Article

Please also do the following to stay consistent with the rest of the Panopoly ecosystem:

Namespacing

All machine names should be namespaced with the title of your app. For example, all Panopoly News fields, content types and views have "panopoly_news" applied to them. This way we know where specific fields, entities and views are coming from.

Comments

pmackay’s picture

If creating a suite of apps to form a distro that is using Panopoly as a base distro, is it reasonable and/or recommended to put common fields used across several apps into a "Core" module?