Sonata Standard Edition
What's inside?
Sonata Standard Edition comes pre-configured with the following bundles:
- Bundles from Symfony Standard distribution
- Sonata Admin Bundles: Admin and Doctrine ORM Admin
- Sonata Ecommerce Bundles: Payment, Customer, Invoice, Order and Product
- Sonata Foundation Bundles: Core, Notification, Formatter, Intl, Cache, Seo and Easy Extends
- Sonata Feature Bundles: Page, Media, News, User, Block, Timeline
- Api Bundles: FOSRestBundle, BazingaHateoasBundle, NelmioApiDocBundle and JMSSerializerBundle
Quick Installation
The Sonata Project provides a build of the Sonata Project sandbox to quickly start with the project.
- Retrieve the code:
curl -L github https://github.com/sonata-project/sandbox-build/archive/master.tar.gz | tar xzv
- Configure default the
parameters.yml
file:cp app/config/parameters.yml.dist app/config/parameters.yml
- Load the data:
php bin/load_data.php
- You should should be ready to go ...
Composer Installation
Get composer:
curl -s http://getcomposer.org/installer | php
Run the following command for the 2.3 branch:
php composer.phar create-project sonata-project/sandbox:2.3.x-dev
Or to get the 2.3 develop branch:
php composer.phar create-project sonata-project/sandbox:dev-2.3-develop
The installation process used Incenteev's ParameterHandler to handle parameters.yml configuration. With the current installation, it is possible to use environment variables to configure this file:
DATABASE_NAME=sonata DATABASE_USER=root DATABASE_PASSWORD="" php composer.phar create-project sonata-project/sandbox:dev-2.3-develop
You might experience some timeout issues with composer, as the create-project
start different scripts, you can increase the default composer value with the COMPOSER_PROCESS_TIMEOUT
env variable:
COMPOSER_PROCESS_TIMEOUT=600 php composer.phar create-project sonata-project/sandbox:dev-2.3-develop
Reset the data
Fixtures are automatically loaded on the composer create-project
step. If you'd like to reset your sandbox to the default fixtures (or you had an issue while installing and want to fill in the fixtures manually), you may run:
php bin/load_data.php
This will completely reset your database.
Prepare
cd sandbox
php app/console doctrine:database:create
php app/console doctrine:schema:create
php app/console fos:user:create --super-admin admin admin@domain.com SECRETPASSWORD
Run
If you are running PHP5.4, you can use the built in server to start the demo:
app/console server:run localhost:9090
Now open your browser and go to http://localhost:9090/admin
and use your user and password defined previously
Tests
Functional testing
To run the Behat tests, copy the default configuration file and adjust the base_url to your needs
# behat.yml
imports:
- behat.yml.dist
# Overwrite only the config you want to change here
You can now run the tests suite using the following command
bin/qa_behat.sh
To get more informations about Behat, feel free to check the official documentation.
Unit testing
To run the Sonata test suites, you can run the command:
bin/qa_client_ci.sh
Enjoy!