sproutcms / cms
Enterprise content management and framework
Installs: 548
Dependents: 2
Suggesters: 0
Security: 0
Stars: 24
Watchers: 13
Forks: 3
Open Issues: 10
Requires
- php: ^8.1
- ext-curl: *
- ext-dom: *
- ext-iconv: *
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- ext-pcre: *
- ext-zip: *
- davechild/textstatistics: ^1.0
- ezyang/htmlpurifier: ^4.17
- guzzlehttp/guzzle: ^7.9
- karmabunny/kb: ^3.38
- karmabunny/pdb: >=0.29|<1.0
- karmabunny/rdb: ^1.20
- karmabunny/router: ^2.7.12
- karmabunny/visor: ^1.0
- nyholm/psr7: ^1.6
- openai-php/client: ^0.10.1
- phpmailer/phpmailer: ^6.5
- psr/http-message: ^1.0
- setasign/tfpdf: ^1.32
- symfony/browser-kit: ^7.1
- symfony/css-selector: ^7.1
- symfony/dom-crawler: ^7.1
- symfony/http-client: ^7.1
- twig/twig: ^3.3
- vlucas/phpdotenv: ^3
Requires (Dev)
- karmabunny/nstrack: ^1.0
- phpcompatibility/php-compatibility: ^9.3
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9
- dev-master
- v4.2.25
- v4.2.24
- v4.2.23
- v4.2.22
- v4.2.21
- v4.2.20
- v4.2.19
- v4.2.18
- v4.2.17
- v4.2.16
- v4.2.15
- v4.2.14
- v4.2.13
- v4.2.12
- v4.2.11
- v4.2.10
- v4.2.9
- v4.2.8
- v4.2.7
- v4.2.6
- v4.2.5
- v4.2.4
- v4.1.4
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.4.x-dev
- v3.4.21
- v3.4.20
- v3.4.19
- v3.4.18
- v3.4.17
- v3.4.16
- v3.4.15
- v3.4.14
- v3.4.13
- v3.4.12
- v3.4.11
- v3.4.10
- v3.4.9
- v3.4.8
- v3.4.7
- v3.4.6
- v3.4.5
- v3.4.4
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.x-dev
- v3.3.21
- v3.3.20
- v3.3.19
- v3.3.18
- v3.3.17
- v3.3.16
- v3.3.15
- v3.3.14
- v3.3.13
- v3.3.12
- v3.3.11
- v3.3.10
- v3.3.9
- v3.3.8
- v3.3.7
- v3.3.6
- v3.3.5
- v3.3.4
- v3.3.3
- v3.3.2
- v3.3.1
- v3.3.0
- v3.2.x-dev
- v3.2.33
- v3.2.32
- v3.2.31
- v3.2.30
- v3.2.29
- v3.2.28
- v3.2.27
- v3.2.26
- v3.2.25
- v3.2.24
- v3.2.23
- v3.2.22
- v3.2.21
- v3.2.20
- v3.2.19
- v3.2.18
- v3.2.17
- v3.2.16
- v3.2.15
- v3.2.14
- v3.2.13
- v3.2.12
- v3.2.11
- v3.2.10
- v3.2.9
- v3.2.8
- v3.2.7
- v3.2.6
- v3.2.5
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.x-dev
- dev-feat/neon-forms
- dev-dependabot/composer/symfony/http-client-7.1.8
- dev-feat/timezone-helpers
- dev-fix/workers-in-transactions
- dev-dependabot/composer/twig/twig-3.11.2
- dev-feat/web-crawler
- dev-feat/encrypt-core
- dev-feat/files-s3-backend
- dev-feat/project-docs
- dev-feat/refine-bar-conditions
- dev-feat/secret-db-fields
This package is auto-updated.
Last update: 2024-11-22 08:05:09 UTC
README
SproutCMS is a flexible and feature rich cms and application framework, developed in PHP, designed to enable quick and agile custom development. SproutCMS was built to reward innovation and encourage developers to produce complex applications. It is built by developers, for developers.
Website: http://getsproutcms.com/
Development docs: http://docs.getsproutcms.com/
User manual: http://manual.getsproutcms.com/3.0
Requirements
-
PHP 8.1 or later
-
A web server, e.g. Apache or nginx
-
MySQL 8.0 or later, or MariaDB 10.3 or later
-
Composer 2 or later
Getting started
- Run
composer create-project sproutcms/site
- Run
composer serve
- Browse to http://localhost:8080/
This is a quick start example. For a detailed installation walk-through see INSTALL.md
Deployment
SproutCMS runs natively with git deploy.
- Set up your remote, e.g.
git remote add production "user@example.com:/apps/mynewapp"
- Run the setup task
git deploy setup -r "production"
-
No need to run
git deploy init
as this has already been done -
Push the code
git push production master
Development tools
To run unit tests, execute the following from the root directory:
$ composer test
To run NStrack, our namespace issue finder and fixer, run from the root directory, e.g.
$ composer nstrack
To add license blocks to recently added files, run the following from the root directory:
$ php tools/license_block/license_block.php
Publishing
(for contributors)
To publish a new version simply create a git tag with the next appropriate version. This is then automatically pushed to packagist.org via a web hook.
We've created a script to automate this:
./tools/publish.sh v4.x.x "My new changes"
For example, given the last version (from git log
) is v3.2.10
then tag and push v3.2.11
.
Please be careful and don't publish untested code. Keep your messy business in a branch and require it into your projects using the dev-
prefixes.
Such as:
composer require sproutcms/cms:dev-my-broken-branch
Or use the composer patch-locals
script to symlink the dependency while locally building your site.