Apart from learning about wine, and that Napa is such an amazing place in the world, there were a bunch of stuff that I learned from the workshops I attended about security and performance, and from the conversations I had with the team from Automattic and the other attendees of this event.
Vagrant, and deploying virtual machines in minutes
Starting with setting up the work environment for the workshop, I had to install Vagrant to get all the materials, which is a solution that works with a virtual machine like VM VirtualBox to deploy lightweight development environments. In literally minutes I had a virtual machine with Ubuntu, configured with all the WordPress websites I needed to use as training materials for the event.
Grunt, the JavaScript task runner
I had heard about Grunt before, but hadn’t actually used it. With Grunt you can automate different procedures, like compiling LESS or SaSS files, minifying JS and CSS files, optimizing images and so forth. Grunt is installed and managed via npm, the Node.js package manager.
Elastic Search
There was a workshop about Elastic Search, but unfortunately I didn’t attend it. I had the opportunity to talk a little bit about that with some people, and I learned that it’s based on Apache Lucene, it’s similar to Solr but it has more advantages over it. There it is an article in Stack Overflow about Solr vs Elastic Search.
WordPress Multisites
I talked with several people in the event and found out that most of them run “multisites” in WordPress to manage multiple websites using a single instance of WordPress. There are different problems that they face when using multisites, related to security, maintenance and performance.
WordPress Security
Security issues are mitigated by auditing carefully the WordPress plugins that are used in the system, and not allowing users to use their own plugins or themes. There are some other measures that are taken in the server level too, like file permissions, restricting access to certain areas of the website and so forth.
WordPress Performance (front end and server)
Performance issues are mitigated both in the server and in WordPress. With the time, depending on the amount of traffic and growth of the community, the server architecture should evolve from a single server to multiple servers and load balancers; restrictions in file uploads are also important to avoid users to post large files, assuming that media files (videos, audio) are not supported. Performance can be improved in the front end by having lightweight and optimized themes. There are various methods to audit the performance of a website, like minifying CSS and JavaScript files, organizing the load of the resources in a website (social media, scripts, etc), and going even deeper with code inspectors ( like Chrome DevTools) to do a deep analysis in all the different resources used in the website and identify issues.