Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Sulu Contact Account Extra Bundle Laravel Package

alengo/sulu-contact-account-extra-bundle

Adds a configurable Additional Data tab to Sulu CMS contacts and accounts, storing custom fields as a JSON column with no extra tables. Includes a generic GET/PUT REST API, built-in entities, and zero-config registration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature Expansion for Sulu CMS: Enables adding custom, flexible fields to Contacts and Accounts without schema migrations or complex entity extensions. Ideal for projects requiring dynamic data storage (e.g., CRM integrations, lead tracking, or user-specific metadata).
  • Roadmap for Modularity: Supports a "build vs. buy" decision by offering a lightweight, configurable alternative to custom development for additional data storage. Reduces technical debt by avoiding manual entity extensions.
  • Upgrade and Platform Longevity: The 1.1.0 release adds Symfony 8.1 support, reducing the risk of adopting the package on newer Sulu/Symfony stacks and supporting future framework upgrade planning.
  • Use Cases:
    • CRM/Lead Management: Store custom attributes (e.g., "source," "priority," or "custom tags") without altering core Sulu entities.
    • Multi-Tenant Systems: Attach tenant-specific metadata to Contacts/Accounts.
    • Compliance/Data Enrichment: Add audit fields (e.g., "last_updated_by," "data_consent_status") without schema changes.
    • A/B Testing: Track user segments or experiment variants via JSON fields.
  • API-Driven Workflows: Provides REST endpoints for programmatic access to additional data, enabling integrations with external systems (e.g., marketing tools, analytics platforms).

When to Consider This Package

  • Adopt When:
    • Your project uses Sulu CMS 3.x and requires flexible, schema-less data for Contacts/Accounts.
    • You are on Symfony 7.x or 8.1 (1.1.0 adds Symfony 8.1 support), giving a clearer path for newer framework versions.
    • You need zero-config integration (auto-registered tabs, no manual entity mapping).
    • Your team prefers declarative configuration (XML forms) over custom Doctrine entities.
    • You want to avoid database migrations for simple additional fields (uses a JSON column).
    • Your use case involves dynamic fields (e.g., fields that change frequently or are user-defined).
  • Look Elsewhere If:
    • You need strongly typed fields or complex relationships (this bundle stores data as raw JSON).
    • Your project uses Sulu < 3.0 or Symfony < 7.x.
    • You require validation rules beyond Sulu’s built-in types (e.g., custom business logic for fields).
    • You need multi-language support for field labels beyond Sulu’s default translations.
    • Your team lacks familiarity with Symfony/Sulu’s form XML syntax (configuration is form-driven).
    • You need real-time sync with other systems (the bundle provides REST endpoints but no WebSocket/subscription support).

How to Pitch It (Stakeholders)

For Executives: "This package lets us add custom fields to Contacts and Accounts in Sulu without writing code or running migrations—think of it as a no-code CRM extension. For example, we could track lead sources, user preferences, or compliance flags without bloating our database schema. It’s like adding sticky notes to customer profiles, but structured and API-accessible. Setup takes <30 minutes, and it’s fully configurable via simple XML forms. The latest 1.1.0 release also adds Symfony 8.1 support, which helps keep us aligned with newer framework versions. Ideal for quick iterations or projects where flexibility outweighs strict data modeling."

For Engineers: *"This bundle solves the problem of dynamic metadata for Sulu Contacts/Accounts with minimal overhead:

  • No entity extensions: Uses prepended Doctrine entities with a JSON column (additionalData).
  • Zero-config tabs: Auto-registers an ‘Additional Data’ tab in the Sulu admin panel.
  • Form-driven fields: Define fields in XML (like Sulu’s native forms) and store them as JSON.
  • REST API: Two endpoints per entity type (GET/PUT /admin/api/{type}-additional-data/{id}) for programmatic access.
  • Lightweight: No extra tables, no complex routing—just a JSON column and a tab.
  • Symfony 8.1 compatible: 1.1.0 adds Symfony 8.1 support, improving upgrade readiness on newer Symfony/Sulu stacks.

Tradeoff: Fields are untyped (stored as JSON), so validation/logic must live in your app layer. Perfect for projects where schema agility > strict data integrity."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
adachsoft/php-code-style