BlogVault is one of my favorite tools. It makes daily backups quick and painless. Laravel Forge and DigitalOcean make server setup and maintenance a breeze. The only downside is Forge configures servers without password access, so “migrating” a website to a DigitalOcean server requires a few hoops to jump through, like configuring a public key […]
Author: Thai Yin
Gaslamp Media cofounder Thai Yin has been in the website and internet marketing industry since 2003, starting out as designer for a leading internet marketing and lead generation company before becoming a freelancer. Thai started his own design firm in 2006 (Yin Media Corp) with a small team of talented designers and developers and later formed Gaslamp Media in 2008. He currently oversees all web design and development projects for Gaslamp Media. A self proclaimed nerd, he stays up to date with the latest in Internet trends and passes that knowledge to his clients. Thai has a BS in Management Science from University of California, San Diego.
If you ever migrate a wp site with wordfence, it likely created a .user.ini and hardcoded a path to a file. But since we moved the site on the server, that path is wrong. Correct it and all should be good. The error will read something about not being able to find the required file […]
If you use Laravel Valet for local web development with Drupal, you may find that Valet won’t recognize Drupal inside of an “htdocs” folder. This edit will add support for this situation. Go to the .config/valet/Drivers folder in your user directoryex: /Users/dennis/.config/valet/Drivers Create a new fileCustomDrupalValetDriver.php Add the following scripts and save. <?phpclass CustomDrupalValetDriver extends ValetDriver […]
This process will have a few minutes of downtime while you run through the steps.Things you should have handy: Your ssh key The server’s sudo password 1. SSH into the server as forge. Rename the existing site to something else, so when we delete it from forge the files don’t get deleted!Very Important! mv /home/forge/{{oldSite}} /home/forge/old.{{oldSite}} 2. […]
Pantheon constantly changes the writable tmp folder location based on server load. This becomes a problem in the case of Views Data Exports with Batch mode set since the tmp files get lost along the way. There’s a discussion related to this here: https://www.drupal.org/project/views_data_export/issues/2352763 The solution is to override the vbo write directory from comment #3. […]
Here are a list of useful modules for testing and sending mail. Reroute Email This allows you to reroute all emails to a specified email address. I use this for all dev sites so that we don’t accidentally email live users. https://www.drupal.org/project/reroute_email Mail System This allows you to configure mail sending and formatting methods. Required […]
Geocoder caches geocoding results from an address. Sometimes that means it will cache an empty result that can occur from an error (ex API). Even after you fix the error, the address will not geocode correctly until you clear the cache using the following function.
Backing up to the DigitalOcean is easier than ever with their S3 clone called “Spaces”. Spaces are essentially S3 buckets. Since it’s an S3 compatible service, you can use the existing Amazon S3 libraries. Unlike Amazon, Spaces is available for a flat fee of $5/mo for up to 250GB. Additional data is only $.02 per […]
Bootstrap continues to be our favorite starter theme for Drupal 7. This is an update to our original guide on how to set up a Bootstrap subtheme with LESS. Many of the steps are the same but they’re repeated here for convenience. Bootstrap 7.x-3.4 introduces some new features and a restructuring of its subtheme starterkit folder. […]
Views Bulk Operation 7.x-3.3 breaks ubercart set order status operation. As a temporary fix we’ve created a module that will be able to change the order status. Download and enable the module, then enable the new operation Update Ubercart Order Status in VBO field settings. Download Module <?php //hook_action_info function vbo_ubercart_action_info() { return array( ‘vbo_ubercart_order_update_action’ […]