tentapress / builder
0.6.14
2026-03-08 08:00 UTC
Requires
- php: ^8.2
- tentapress/admin-shell: <1.0
- tentapress/blocks: <1.0
- tentapress/pages: <1.0
- tentapress/posts: <1.0
- tentapress/system: <1.0
README
Visual drag-and-drop builder for TentaPress pages and posts.
Plugin Details
| Field | Value |
|---|---|
| ID | tentapress/builder |
| Version | 0.6.14 |
| Provider | TentaPress\\Builder\\BuilderServiceProvider |
Features
- Visual block canvas for pages and posts
- Drag/drop block ordering
- Inspector controls for block fields
- Essential presentation controls via
props.presentation - Live theme preview via non-iframe server document fragments
- Global content preview support for full-screen builder flows, including active theme assets
- Global content reference blocks show the referenced title in builder summaries
- Preview-safe block rendering for third-party embeds (thumbnail/placeholder instead of live iframe execution)
- Built-in starter patterns
- Undo/redo and keyboard shortcuts
Dependencies
tentapress/blockstentapress/pagestentapress/poststentapress/admin-shell
Data Model Integration
This plugin stores builder output in the blocks JSON column and uses editor_driver = builder.
Preview Transport
Builder preview uses non-iframe server fragments via:
/admin/builder/snapshots/{token}/documentJSON transport
Third-Party Theme Preview Contract
Builder preview renders using the active theme's normal layout view resolution. No preview-specific layout files are required.
Migration Guide (Legacy Theme -> Contract Views)
- Keep output compatible with CSS-only preview:
- include the same structural chrome (header/content/footer),
- do not depend on runtime JS behavior for editor fidelity.
- Validate block marker compatibility:
- builder injects
data-tp-builder-block-indexwrappers in preview output; - ensure these wrappers are not stripped by layout logic.
- builder injects
- Verify fallback parity:
- compare contract view output against standard public layout output for representative pages/posts.
- Rollout guidance:
- use fragment mode by default (
tp.builder.preview_mode=fragment); - keep iframe fallback only as temporary rollback if explicitly enabled in environments where needed.
- use fragment mode by default (
Verification Checklist
- Preview loads with no iframe dependency.
- Standard theme layouts render correctly for each supported layout key.
- Selected block highlighting/click mapping works in preview.
- No public front-end rendering regressions for pages/posts.
Asset Build
cd plugins/tentapress/builder
bun install
bun run build
If Bun is not available:
npm install npm run build
Development
php artisan tp:plugins sync
php artisan tp:plugins enable tentapress/builder