====== Cantata Version 3 ====== Worked on Cantata Version 3 starting mid-2016. Vacillated between different ways, current writing with these tools: * PHP 5.6 * Laravel * VirtualBox * Vagrant * PHPStorm IDE I set up the Oracle VirtualBox software, then ran some scripts under Vagrant which sets up a virtual machine with PHP, Laravel, MySql, and a micro web server. PhpStorm connects to this virtual box, and using its built-in SSH Session window, I can run command line functions against Laravel's Artisan. 9/8/2016. To start Vagrant: cd \Users\dan\Homestead vagrant up Then launch PhpStorm. ===== Launch an SSH Session within Virtual Machine ===== To launch an SSH Session and talk to Laravel, in PhpStorm, select Tools -> SSH Session ^Host|localhost| ^Port|2222| ^User name:|vagrant| ^Password|usual password| ==== Running Artisan Commands ==== Set up the SSH session as shown above. Do this: cd /home/vagrant/Code/cantata3 Then you can run artisan, e.g.,: php artisan -list ===== Requirements ===== * [[requirements|Requirements]] for version 3 ==== Javascript ==== * JavaScript basic info: https://developer.mozilla.org/en-US/Learn/Getting_started_with_the_web/JavaScript_basics ==== JQuery ==== * JQuery API Docs: http://api.jquery.com/ ==== PHP ==== === PHP File Upload Info === http://php.net/manual/en/features.file-upload.post-method.php ==== Ajax ==== * Tutorial, basic info: http://www.tutorialspoint.com/jquery/jquery-ajax.htm ==== File Upload Jquery Extension ==== * https://github.com/blueimp/jQuery-File-Upload (didn't work) * https://github.com/LPology/Simple-Ajax-Uploader ==== Database ==== * [[database|Database]] details Compared to Cantata2, this Cantata3 database information takes into account the move to Laravel. Also, when setting up the Model/DB Tables, noticed that the Keywords for Cantata2 only applied to the Song Level, but perhaps should have been at the File level as well. This would allow filtering or tagging for various people leading - to make it quicker to select keys, etc. ^Database Name|quizkidn_cantata3| ^User Name|quizkidn_can3| * create database quizkidn_cantata3; * create user 'quizkidn_can3'@'%' identified by 'cantatapass3'; * grant all on quizkidn_cantata3.* to 'quizkidn_can3'@'%'; * FLUSH PRIVILEGES; * select user from mysql.user; ==== User Security ==== http://usercake.com/docs.php ===== Performance ===== Noticed that just getting a MySQL connection from my workstation to the server ivan, took over 2 seconds.