arunika/laravel-page-builder-v24

Standalone modular Page Builder v2.4 for Laravel 13.

Maintainers

Package info

github.com/andhika96/LaraPhoenix-Page-Builder

Language:Vue

pkg:composer/arunika/laravel-page-builder-v24

Transparency log

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0 2026-08-24 02:22 UTC

This package is auto-updated.

Last update: 2026-08-24 02:39:35 UTC


README

Standalone Page Builder v2.4 package for Laravel 13. It contains the complete 50-module catalog, editor and frontend runtime, Form/Dataset/Product Lead Form backend, prebuilt browser assets, and an isolated CKFinder instance.

Requirements

  • PHP 8.3 or newer;
  • Laravel 13;
  • PHP extensions: Fileinfo, GD, JSON, Mbstring, Session, and Zip;
  • a host Laravel authentication system with an authenticated user model.

The package does not create users, login pages, sessions, cache, jobs, or Spatie Permission tables. A completely fresh Laravel application must first configure its own authentication flow and a named login route for normal HTML redirects.

Composer installation

Once the package is available through a private Composer repository:

composer require arunika/laravel-page-builder-v24
php artisan arunika-page-builder-v24:install
php artisan migrate
php artisan storage:link
php artisan arunika-page-builder-v24:doctor

Composer downloads every hard PHP dependency automatically. The consumer does not need Node.js, NPM, or a frontend build command.

For a private ZIP artifact, place the archive in a directory registered as a Composer artifact repository, then run the same composer require command.

What the install command does

arunika-page-builder-v24:install:

  • publishes package config when it is not present;
  • publishes prebuilt assets under public/vendor/arunika-page-builder-v24;
  • activates bundled CKFinder under public/vendor/arunika-page-builder-v24/ckfinder;
  • creates package-owned CKFinder and rendition storage directories;
  • writes and validates a package ownership marker;
  • refuses to overwrite an unowned destination;
  • is idempotent and only reconciles changed owned payloads.

It deliberately does not run migrations or seed host data. Preview changes without writing by using:

php artisan arunika-page-builder-v24:install --dry-run

Database ownership

The package owns exactly three tables by default:

  • arunika_page_builder_v24_pages;
  • arunika_page_builder_v24_form_datasets;
  • arunika_page_builder_v24_form_submissions.

Table names are configurable before the first migration. An existing table is accepted only when its required columns, indexes, unique constraints, defaults, nullability, and unbound host-ID contract are compatible.

Authentication and roles

Editor, Dataset, module-asset, shared-control, preview, and draft-form routes use the host middleware configured in:

'routes' => [
    'middleware' => ['web', 'auth'],
],

The optional auth.guard setting is used consistently by the editor, ownership checks, role resolution, and CKFinder bridge.

Spatie Permission is optional. If the authenticated user exposes getRoleNames(), those roles are used. Otherwise the package uses the authenticated fallback. A host may replace Arunika\PageBuilder\V24\Auth\RoleResolver with its own binding.

Routes

Default editor prefix: /page-builder/v2.4.

Default public page route: /pages/{uri}.

All names use arunika.page-builder.v24.*. Route loading, prefixes, and middleware are configurable in config/arunika-page-builder-v24.php. Only published v2.4 pages and their public forms are accessible anonymously.

CKFinder isolation

The CKFinder payload is part of the Composer package, so composer require downloads it under vendor. The install command activates a separate copy and does not replace public/ckfinder or another existing CKFinder installation.

Isolation includes:

  • package-specific public and storage roots;
  • an ownership marker;
  • per-user resource directories;
  • a dedicated native session cookie;
  • namespaced authorization/user/role/expiry session keys;
  • Laravel host-session verification on every connector request;
  • local storage by default and fail-closed authentication.

Configure licensed CKFinder values only through environment/config:

ARUNIKA_PB_V24_CKFINDER_LICENSE_NAME=
ARUNIKA_PB_V24_CKFINDER_LICENSE_KEY=

Without valid licensed values, CKFinder identifies itself as a demo. CKFinder is proprietary; do not publish this package outside the licensed private or internal channel until redistribution rights have been verified.

Development verification

composer test
npm test
npm run build
php artisan arunika-page-builder-v24:doctor

The repository also contains a Testbench Laravel 13 workbench for disposable runtime verification. Workbench files, tests, backups, QA evidence, vendor, and node_modules are excluded from Composer release archives.

Versioned namespace

Runtime PHP classes use:

Arunika\PageBuilder\V24\

This prevents v2.4 classes, routes, tables, storage, browser globals, and CKFinder assets from replacing another Page Builder version.

License

Arunika package code is proprietary. Third-party components retain their own licenses; see THIRD_PARTY_NOTICES.md and the license files shipped with each payload.