visiosoft/multiple-field_type
A field type addon for the Streams platform that adds a Multiple field type, letting you store and manage several values within a single field so editors can select or enter multiple items without extra scaffolding. A small convenience for Streams-based Laravel applications.
Architecture fit. This is not a general-purpose Laravel package — it is an anomaly/streams-platform addon (FieldType type) published under the visiosoft vendor namespace (the PyroCMS maintainers). It registers a multiple field type: a compound/repeater-style field that composes several sub-field types into one logical stream field, with the composed value persisted as a single serialized/JSON column. Fit is therefore close to binary:
The value it delivers is real but narrow: grouped, repeatable data in the control panel without designing custom Eloquent models/tables per shape.
Integration feasibility. Low effort inside Streams: composer require, service-provider registration via the addon manifest, streams:compile, and the field type appears in the admin picker. Practically zero feasibility outside Streams.
Technical risk. High, and driven by signal rather than code: 0 stars, 0 dependents, score 0.48. That pattern is consistent with either (a) an upstream mirror/fork of a package bundled transitively by PyroCMS, or (b) an effectively abandoned addon. Both imply no community backstop and a bus factor of roughly one. Specific risks:
Key questions to answer before committing.
anomaly/multiple-field-type, or the canonical source? Which one does PyroCMS 3.x actually resolve?require constraints — PHP, laravel/framework, anomaly/streams-platform?Stack fit. Confirm Laravel/PHP versions against the Streams version in use — PyroCMS 3.x pins differ by minor release, and this addon's constraint will be the binding one. Treat the Streams version, not the Laravel version, as the primary compatibility axis.
Migration path.
Compatibility. The slug/namespace (multiple) is global within Streams — check for collisions if any other addon registers the same field type. Also verify the CP view paths resolve under your theme overrides.
Sequencing.
multiple field; exercise create/read/update/delete end to end.multiple field (lossy, one-way) or the new field coexists.Maintenance. Assume you own it. With no upstream community, plan for roughly a few hours per quarter of proactive upkeep plus reactive work at each Streams major upgrade. The fork-with-changelog posture is not optional; it is the maintenance strategy.
Support. No docs beyond source, no issue traffic, no community. Onboarding cost is borne entirely internally — write a short internal README covering the payload shape and the field type's hooks (input view, presenter, modifier, query) so the knowledge is not single-person.
Scaling. Fine for low-cardinality repetition (2–10 groups per record). Degrades for high repeat counts, for reporting use cases, and for anything needing per-subfield aggregation — a JSON blob is invisible to SQL analytics. Watch row size and avoid putting large multiple fields on high-traffic list views where the presenter hydrates every row.
Failure modes to instrument.
Ramp-up. 1–2 days for a developer already fluent in Streams addons; 1–2 weeks for a strong Laravel developer with no Streams exposure. Pair a Streams-experienced engineer on the first integration and require the prototype spike (steps 1–4 above) as the gate before committing to the dependency. Given the opportunity score of 6.59 against a risk profile this thin, the recommendation is: adopt only if already inside the PyroCMS dependency tree; otherwise prefer a purpose-built custom field or a plain related table.
How can I help you explore Laravel packages today?