Skip to content

wwsh/oro-academic-task

Repository files navigation

Oro Platform Academic Task

An example academic task to create an application using the Oro Platform, maintained by WWSH.

Requirements

Oro Platform is a Symfony 2 based application with the following requirements:

  • PHP 5.4.9 or above with command line interface
  • PHP Extensions
    • GD
    • Mcrypt
    • JSON
    • ctype
    • Tokenizer
    • SimpleXML
    • PCRE
    • ICU
  • MySQL 5.1 or above
  • PostgreSQL 9.1 or above

Installation instructions

Using Composer

As both Symfony 2 and Oro Platform use [Composer][2] to manage their dependencies, this is the recommended way to install the Oro Platform.

If you don't have Composer yet, download it and follow the instructions on http://getcomposer.org/ or just run the following command:

    curl -s https://getcomposer.org/installer | php
    git clone https://github.com/orocrm/platform-application.git
  • Make sure that you have [NodeJS][4] installed

  • Install OroCRM dependencies with composer. If installation process seems too slow you can use "--prefer-dist" option. Go to crm-application folder and run composer installation:

php composer.phar install --prefer-dist --no-dev
  • Create the database with the name specified on previous step (default name is "bap_standard").

  • Install application and admin user with Installation Wizard by opening install.php in the browser or from CLI:

php app/console oro:install --env prod
  • Enable WebSockets messaging
php app/console clank:server --env prod
  • Configure crontab or scheduled tasks execution to run the command below every minute:
php app/console oro:cron --env prod

Note: app/console is a path from project root folder. Please make sure you are using full path for crontab configuration or if you running console command from other location.

Installation notes

Installed PHP Accelerators must be compatible with Symfony and Doctrine (support DOCBLOCKs)

Note that the port used in Websocket must be open in firewall for outgoing/incoming connections

Using MySQL 5.6 on HDD is potentially risky because of performance issues

Recommended configuration for this case:

innodb_file_per_table = 0

And ensure that timeout has default value

wait_timeout = 28800

See [Optimizing InnoDB Disk I/O][3] for more

PostgreSQL installation notes

You need to load uuid-ossp extension for proper doctrine's guid type handling. Log into database and run sql query:

CREATE EXTENSION "uuid-ossp";

Web Server Configuration

The Oro Platform application is based on the Symfony standard application so web server configuration recommendations are the [same][5].

Running tests

The application code is written using unit and functional tests. To make use of the test app framework, you need to perform additional preparation steps:

  1. Use the parameters_test.yml.dist template as parameters_test.yml. Update the db credentials to fit your requirements.

  2. Install the oro test app with the following command:

     php app/console oro:install --env test --timeout 1000
    
  3. Add the test user using the following command:

       app/console doctrine:fixture:load --no-debug --append --no-interaction --env=test --fixtures vendor/oro/platform/src/Oro/Bundle/TestFrameworkBundle/Fixtures
    

Package Manager Configuration

Github OAuth token should be configured in package manager settings [1]: http://symfony.com/doc/2.3/book/installation.html [2]: http://getcomposer.org/ [3]: http://dev.mysql.com/doc/refman/5.6/en/optimizing-innodb-diskio.html [4]: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager [5]: http://symfony.com/doc/2.3/cookbook/configuration/web_server_configuration.html

About

Oro Platform Academic Task

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published