Suggested Survloop Developer Workflows

Updated November 7, 2019 by Morgan Lesko

My first few projects on GitHub haven't had much interaction yet, and I am new to the community. Please contact me if you've got any key changes I should focus on to better invite contributions. Constructive criticism is warmly welcome.

 

Basic Flows

Copying Code Updates Into Place

I like to keep my repositories connected to GitHub in a separate directory from the full Laravel installation, etc. So I keep a shell script handy to copy updates from my working directory to the local virtual server, e.g. repopush.sh:

$ #!/bin/bash
set -x
cp -r ~/repos/survloop/src ~/homestead/code/survloop/vendor/rockhopsoft/survloop/
cp -r ~/repos/survlooporg/src ~/homestead/code/survloop/vendor/rockhopsoft/survlooporg/

So each time I make edits to the code base, I run this script:

sh ~/homestead/code/install-scripts/src/homestead/samples/repopush.sh
Applying Code Changes To Running Software

If you are only testing edits to Controllers, then the above step will apply the changes. But if you make any changes to Views or Models, you will need to also re-publish those files for the extra copies needed.

So you will very often need this command run from your project's root:

$ php artisan vendor:publish --force
or
$ echo "0" | php artisan vendor:publish --force

If you wanted, you could add this to the shell script and run it any time.

Updating System JS & CSS

To test changes to system-level JS and CSS files, after running the above command, you'll have either load these pages in the browser or the command line:

$ curl https://survloop.org/css-reload

... or saving the System Settings page, or forcing its refresh will also regenerate the system JS and CSS files:
http://survproject.local/dashboard/settings?refresh=1

The button at the top-right corning of that System Settings page will do a deeper refresh of all Trees' Javascript files, and might be needed after install, or big Tree changes:
http://survproject.local/dashboard/settings?refresh=2

That will rewrite some key files (called on most pages) which will need to be refreshing in your browser:
http://survproject.local/sys2.min.js
http://survproject.local/sys2.min.css
...and/or use your browser's hard refresh for the page your working on.

An open source project by Morgan Lesko as
Rockhopper Software Designs logo
Survloop.org content is under
Creative Commons
2015-2021