6.7 KiB
🟢 Collaborate or ask for help 🌐 Visit Homepage
Introduction
PolarPress Pagebuilder is part of the PolarPress content management system developed by Arctic Software A/S. We've decided to publish this as a seperate package in order to open up the possibility for our end users and customers to customize and tailor their own design, functionality and layout for their webpages running our CMS software. You can download this package either as a standalone zip/tar.gz compressed file or through git and run the PageBuilder on your local machine in a development environment to make, improve, and test various page components and design ideas for your website.
As of 06.05.2025, this package comes bundled with a few page blocks/components to give you an idea how to make new ones. These components are based on the design of the Østfold Milsim website. There is also a Test ØMS website populated with test data, if you want to test the page builder in the full CMS proper. Keep on reading if you want to gain elevated privileges there to test out things.
Features
- Full WYSIWYG drag and drop page builder
- No limitation on what you can edit, as long as the block author have made provisions to edit what is intended to edit
- Pluggable and modular design that lets you also fetch external data from the CMS through Eloquent
Installation
Here is a step by step guide to install this software package and get a development environment running on your own machine
Requirements
Before you download this software package, make sure you have the following requirements installed. This software works on most operating systems (Windows, Linux, MacOS), as long as you have the other software requirements installed.
- PHP Version >= 8.2
- Composer, a dependency and package manager for PHP
- Node and NPM Node is a runtime environment for Javascript, and NPM is a dependency and package manager for Node
- Git Version control software. Not required, but recommended if you want to contribute and upload page components and designs to this repository
Installation & Configuration steps
Once you have installed and correctly configured all of these requirements (check that each software tool is accessible via path from your command line), you can download the Page Builder either as a compressed file or using git (from the command line):
git clone https://git.arcticsoftware.no/arcticsoftware/polarpress-pagebuilder.git
Change into the directory
cd polarpress-pagebuilder
and copy/rename the .env.example
to .env
This is the global environment variable file which contains all the settings needed to run the application. You do not need to edit this file, the default settings are fine. As standard, the page builder uses SQLite as a database backend (and that is fine for most intended purposes of this application), but if you want to use something like Mysql or PostresDB, you need to edit the environment variable file to facilitate this.
Next you need to generate a random key for cryptography operations (that will be stored in the .env file):
php artisan key:generate
If you get something like "'php' is not recognized as an internal or external command, operable program or batch file." you need to make sure that php is installed per the requirements, and that the operating system has the php executable accesible from within it's path environment variable. You might need to open and close your console to reload the environment path variable.
Next we want to update and fetch all package dependencies for PHP and Node with Composer and NPM:
composer update
npm update
Next we generate the neccessary database tables in the database with the migration command:
php artisan migrate
And that's it!
Running local development server
Make sure you're inside the directory where you downloaded/cloned polarpress-pagebuilder, and run the following commands:
php artisan serve
npm run dev
These commands needs to be run concurrently (in two seperate terminals). Go to http://localhost:8000 and you should be greeted with the welcome screen.
Serving images to the application
We haven't ported our the image handling, uploading and administration interface over from the CMS, so if you want to serve images to the application (that lets you pick and choose images you can use in the components), you need to use the pagebuilder:make-imagedb
artisan command from the command line to generate the database file system representation. Place the file/folder structure of your images inside the folder public/imagedb
and run the command:
php artisan pagebuilder:make-imagedb
And the images will become available for use inside the application.
FAQ
Q: Why isn't this software released as a composer package? Will it ever be? A: In order to get this ported and made available as fast as possible, we opted to port this from our Laravel 10 based CMS to Laravel 12, for now. If we had opted to make this into a composer package a lot more time would have to be spent coding the frontend for every possible Laravel scaffolding environment (Vue, React, Livewire) and the testing for each of those. We will release this as a composer package in the future, though.
Testing
Unit and Feature tests with PHPUnit are stored under tests
and can be run with
php artisan test
Unit and Featire tests with vite test are stored under resources/js/__tests__
and can be run with
npx vitest run
See the wiki/documentation for more information on how to make use of the test suites for development
Contributing
If you want to contribute by making new content blocks and functionality for either the PageBuilder itself or your organization's website, please join and collaborate on our Matrix Chat, and we will get you up and running with an account on this repository. Also, please take some time to read our documentation if you are considering contributing to the project.
License
This software, and the pagebuilder is copyrighted by Arctic Software A/S and Helge-Mikael Nordgård, licensed and opensourced under the GNU GPL V3 license. See "LICENSE" for more information.
Credits
Maintainer: Helge-Mikael Nordgård