P

Pimcore Expert Pro

Enterprise-grade agent for expert, pimcore, development, assistant. Includes structured workflows, validation checks, and reusable patterns for expert advisors.

AgentClipticsexpert advisorsv1.0.0MIT
0 views0 copies

Pimcore Expert Pro

Your specialized agent for building enterprise Digital Experience Platforms with Pimcore — covering CMS, DAM, PIM, e-commerce, and data management with Symfony-based architecture.

When to Use This Agent

Choose Pimcore Expert Pro when:

  • Building Pimcore-based CMS, PIM, or DAM solutions
  • Implementing Pimcore data objects, documents, and assets
  • Customizing Pimcore with Symfony bundles and event listeners
  • Designing Pimcore data models for product information management
  • Integrating Pimcore with external systems (ERPs, CRMs, e-commerce platforms)

Consider alternatives when:

  • You need general Symfony development — use a Symfony agent
  • You need WordPress or Drupal — use a CMS-specific agent
  • You need standalone e-commerce — use a Shopify or WooCommerce agent

Quick Start

# .claude/agents/pimcore-expert.yml name: Pimcore Expert Pro model: claude-sonnet tools: - Read - Write - Edit - Bash - Glob - Grep description: Pimcore DXP specialist for CMS, PIM, DAM, data modeling, and Symfony-based enterprise solutions

Example invocation:

claude "Design a Pimcore PIM data model for a B2B product catalog with hierarchical categories, multi-language attributes, variant products, and automated data quality scoring"

Core Concepts

Pimcore Architecture

LayerComponentPurpose
ContentDocumentsWeb pages, snippets, links, emails
DataData ObjectsStructured business data (PIM, MDM)
AssetsAssetsFiles, images, videos (DAM)
LogicSymfony BundlesCustom business logic
IntegrationData Hub, REST APIExternal system connectivity
PresentationTwig TemplatesFrontend rendering

Pimcore Data Object Model

DataObject\Product
ā”œā”€ā”€ Attributes
│   ā”œā”€ā”€ name (Localized Input)
│   ā”œā”€ā”€ description (Localized Wysiwyg)
│   ā”œā”€ā”€ sku (Input, unique, indexed)
│   ā”œā”€ā”€ price (Numeric)
│   ā”œā”€ā”€ category (Many-to-Many Relation → Category)
│   ā”œā”€ā”€ images (Image Gallery)
│   └── specifications (Structured Table)
ā”œā”€ā”€ Classification Store
│   └── Dynamic attributes by category
ā”œā”€ā”€ Variants (Object Brick)
│   └── Color, size, material combinations
└── Workflow
    └── Draft → Review → Published

Configuration

ParameterDescriptionDefault
pimcore_versionPimcore version11
php_versionPHP runtime version8.2
data_model_focusPrimary data model (pim, cms, dam, combined)combined
api_typeAPI integration (datahub-graphql, rest, both)datahub-graphql
deploymentDeployment target (docker, kubernetes, managed)docker

Best Practices

  1. Design your data object class hierarchy before building anything. Pimcore's data objects are the foundation of PIM and CMS. Map out class inheritance, field types, relation types, and classification stores on paper first. Restructuring data objects after data is loaded is expensive.

  2. Use Classification Stores for dynamic attributes. When products in different categories need different attributes (electronics have voltage, clothing has fabric), use Classification Stores instead of putting all fields on one class. This keeps the data model clean and scalable.

  3. Implement data quality workflows with Pimcore's workflow engine. Define quality gates (required fields, image resolution, translation completeness) and workflow states (draft, review, published). This prevents incomplete data from reaching production.

  4. Use Pimcore's Data Hub for GraphQL APIs instead of custom endpoints. Data Hub provides auto-generated GraphQL schemas from your data objects, with built-in authentication, pagination, and filtering. Custom REST endpoints should supplement Data Hub, not replace it.

  5. Leverage Symfony events for business logic, not Pimcore hooks. While Pimcore maintains some legacy hooks, Symfony event listeners are the standard pattern. Use preUpdate, postUpdate events on data objects for validation, enrichment, and synchronization.

Common Issues

Data object class definitions conflict between environments. Pimcore stores class definitions as PHP files and database schemas. When multiple developers modify the same class, merge conflicts occur. Use a single development branch for class changes and apply them sequentially.

Asset processing (thumbnails, metadata extraction) is slow. Large media libraries with thousands of assets create processing bottlenecks. Configure background processing for thumbnails, use Redis for caching, and offload heavy processing to queue workers.

Multi-language content management becomes unwieldy with many locales. Supporting 20+ languages creates complex editing interfaces and translation workflows. Use Pimcore's localized fields selectively (only on fields that actually need translation), and integrate with translation management systems for automated translation workflows.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates