Joomlatools Platform
-
Upload
joomlatools -
Category
Software
-
view
4.567 -
download
2
Transcript of Joomlatools Platform
![Page 1: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/1.jpg)
http://developer.joomlatools.com @joomlatools
Joomlatools PlatformJoomla with Less Fluff and More Oomph!
v1.0
![Page 2: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/2.jpg)
Founding Fathers 2005
![Page 3: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/3.jpg)
LinuxWorld London 2006
![Page 4: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/4.jpg)
Joomla, not sexy anymore!
![Page 5: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/5.jpg)
Platform is the new sexy!
![Page 6: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/6.jpg)
Features
![Page 7: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/7.jpg)
1Improved directory structure
http://developer.joomlatools.com/platform/directory-structure.html
![Page 8: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/8.jpg)
2Slimmed down codebase
Counted using http://cloc.sourceforge.net/
75% lighter!
![Page 9: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/9.jpg)
3Slimmed down codebase
https://github.com/joomlatools/joomla-platform/releases/tag/v1.0.0
Site Admin Platform v1.0.1 CMS v3.3.6
Components 1 9 10 40+
Modules 5 8 13 40+
Libraries - - 4 11
Plugins - - 13 40+
![Page 10: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/10.jpg)
4Increased performance
Rendering blog sample data frontpage:
Joomla v3.3.6: 306ms
Joomlatools Platform: 167ms
![Page 11: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/11.jpg)
5Need more?
Out of the box support for Varnish Cache
![Page 12: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/12.jpg)
6Composer installer
$ cd /var/www$ composer create-project joomlatools/platform
Install the Joomlatools Platform in a single command.
http://developer.joomlatools.com/platform/getting-started.html
![Page 13: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/13.jpg)
12 Factor App Methodology
http://developer.joomlatools.com/platform/12-factor-app.html
![Page 14: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/14.jpg)
1Codebase
1 codebase, many deploys
http://developer.joomlatools.com/platform/12-factor-app.html#codebase
![Page 15: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/15.jpg)
1Codebase1 codebase supports many environments with unique configurations
http://developer.joomlatools.com/platform/configuration-files.html
![Page 16: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/16.jpg)
2DependenciesDeclare and manage dependencies via Composer
http://developer.joomlatools.com/platform/composer.html
![Page 17: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/17.jpg)
2
$ cd /var/www/joomla-platform$ composer require joomlatools/platform-content$ composer require joomlatools/platform-finder$ composer require joomlatools/platform-media
Install extensions using Joomlatools Composer plugin
Dependencies
http://developer.joomlatools.com/platform/composer.html
![Page 18: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/18.jpg)
3ConfigStore config in environment using PhpDotEnv
“Can you make your repository open source today?”
http://developer.joomlatools.com/platform/environment-variables.html
![Page 19: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/19.jpg)
4Backing ServicesTreat backing services as attached resources
http://developer.joomlatools.com/platform/12-factor-app.html#backing-services
![Page 20: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/20.jpg)
5Build, release, runStrictly separate build and run stages
Build
Release
Run
= codebase + dependencies + assets
= build + config
= execute, no code changes
http://developer.joomlatools.com/platform/12-factor-app.html#build-release-run
![Page 21: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/21.jpg)
5Build, release, run
Release new builds using the Capistrano plugin:
$ joomla plugin:install joomlatools/console-capistrano$ joomla capistrano:deploy myapp
https://github.com/joomlatools/joomla-console-capistrano
![Page 22: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/22.jpg)
6Processes
● One or more processes run the app
● Stateless:
○ Sessions are stored in backing service (MySQL)
○ Sessions do not autostart
● App shares nothing with other processes
http://developer.joomlatools.com/platform/12-factor-app.html#processes
![Page 23: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/23.jpg)
7Port Binding
Export services via port binding
● Application must be fully self-contained● Accessible via a URL● Run standalone or behind complex web server
$ php -S 127.0.0.1:8000 # Standalone at http://127.0.0.1:8000
http://developer.joomlatools.com/platform/12-factor-app.html#port-binding
![Page 24: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/24.jpg)
8Concurrency
Scale out via the process model:
● Processes are a first class citizen
● HTTP requests handled by web process
○ Apache, PHP-FPM can scale up out of the box
● Managed by operating system’s process manager
http://developer.joomlatools.com/platform/12-factor-app.html#concurrency
![Page 25: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/25.jpg)
9Disposability
Maximize robustness with fast startup, graceful shutdown
● New code can run right away
● No need for long restart of processes
● PHP-FPM, Apache automatically take care of this
http://developer.joomlatools.com/platform/12-factor-app.html#disposability
![Page 26: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/26.jpg)
10Dev/prod parity
Keep development and production as similar as possible:
● Vagrant machine runs on any OS (Mac, Windows, Linux)
● Same stack across organisation: Ubuntu 14.04, PHP
5.6, Apache 2.4, MySQL 5.5
● Re-usable Puppet configuration
● Developer tools pre-installed
http://developer.joomlatools.com/platform/12-factor-app.html#devprod-parity
Joomlatools Vagrant box
![Page 27: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/27.jpg)
10Dev/prod parity
http://developer.joomlatools.com/tools/vagrant.html
![Page 28: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/28.jpg)
11Logs
Treat logs as event streams
http://developer.joomlatools.com/platform/12-factor-app.html#logs
![Page 29: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/29.jpg)
12Admin Processes
Run admin/management tasks as one-off processes
● Admin tasks run in same environment, database and config● Joomlatools Console to execute platform management tasks
$ joomla cache:clear myapp$ joomla finder:index myapp
$ joomla plugin:install joomlatools/console-backup$ joomla site:backup myapp
http://developer.joomlatools.com/platform/12-factor-app.html#admin-processes
![Page 30: Joomlatools Platform](https://reader034.fdocument.pub/reader034/viewer/2022051707/58ed6dd41a28ab30738b4583/html5/thumbnails/30.jpg)
More Info:
http://twitter.com/joomlatoolsdev
http://github.com/joomlatools
http://facebook.com/joomlatoolsdev
http://google.com/+Joomlatools
http://developer.joomlatools.com