Bad advice in EE tutorials + other questions/concerns


#1

I’ve been wondering if EE is actually going anywhere?

I mean, there is not much activity in the discussion area, very little news about the future, and I wonder how a free tool like this can be sustainable for the developers.

Don’t get me wrong, I absolutely love EE for local dev work right now, but there are quite a few worrying bits of advice in the docs/tutorials sections.

For example

This is terrible advice. To point out a few things:

  • using $global is extremely inefficient for this type of function, and is totally unnecessary
  • using wp_print_scripts is deprecated & should not be used. I mean, this stuff goes back to pre-2010 days, it is antiquated. Use filters!

Same with all of the following, this is just horrible:

  • wp_print_footer_scripts
  • admin_print_styles
  • wp_print_styles

Next:

  • the “tutorial” is advising people to use a priority of 999 to force the function to override everything. Terrible practice. Use the proper priorities and avoid conflicts. 15 is usually more than adequate for most custom functions.

Next:

  • You should not remove query strings from the admin enqueued scripts and styles. Admin scripts do not affect front end load times, and may be important to allow cache-busting while writing content.

I wonder if the EE developers ever read these posts?

The link above is one example, but there are more.

While I’m tremendously appreciative of the tool, and the fact it is free to use, it would be better to remove bad advice like this and rather pin solutions to questions in the community forum. At least then it would be more current. I mean, that type of coding is over 10 years old!

Example of a better method (other than installing a plugin):

function _remove_script_version( $src ){
    $parts = explode( '?ver', $src );
    return $parts[0];
    }
    add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
    add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );

But now to the final point. Query strings are important!

Google pagespeed tests don’t mean much in this regard. It is bad advice, and a myth that it helps speed up your site.

It also has zero negative effect on your actual SEO.

It’s important to remember that browser caching is happening for each user, on each browser/device they use. You can’t reach into their computer and make them clear their browser cache, and the average person doesn’t do that very often, if ever. So they will be unwittingly stuck with the old, stale, style.css.

Now, if you use a query string to version the filename, you can solve this problem.

So instead of style.css, you have style.css?ver=1

Then you make a change to that file and the filename changes to: style.css?ver=2

The browser sees it is a different file and gets the new version. Boom! Your spiffy new style is available for all to see.

So, having the query string serves an important purpose, and your site will not be faster if you remove it.

Of course there are cases where removing query strings is good, but it is a huge topic, and should not be added as a stale reference in some documentation never to be updated again.

I do hope you are reading this EE devs. You have a great tool here, but it seems to be lacking direction right now.


#2

Please understand that EE is more of a solo effort than a community.

This is just sad…

Finally, going by numbers, we did not get a single decent pull request in more than the year we spent on Python. source: https://easyengine.io/blog/easyengine-v4-insights-faq/

The decision to move towards wp-cli is an effort to broaden the base. We should respond by asking not what RT Camp can do for us, but what can we do for RT Camp.

That said, I think we have a branding problem… Easy Engine should be called Easy Wordpress.


#3

It would a terrible shame if such a useful tool withers on the vine.

I’m not sure how they will survive without appealing to a wide audience.

I’ve been recommending EE as a fantastic tool for localhost development, in combination with Vagrant.

It will be difficult to build a following without a marketing strategy though, and that needs to come from the side of RT Camp.

It would help a lot if the documentation was current, this is a big issue with garnering trust.

I also would have no problem paying for a subscription if this was available (and reasonably priced), but that would be dependent on them providing an API, since there are already other providers like ServerPilot who offer a similar solution.

The main reason I turned to EE for localhost servers, is because ServerPilot requires that you create a user that is tied to a real IP address, even if that is your own public IP provided by your ISP.

There is a real opportunity here for EE to flourish, because MAMP, WAMP, Desktop Server, and a whole host of other localhost environments are extremely restrictive or lacking in features and the ability to install your own custom environments.

Vagrant & VirtualBox are free, so I believe this is one area that could be explored and developed further.

Anyway, in the meantime, what can we do to help EE get on the map? I work full time, and I guess many others who use tools like this will be in a similar position where time to invest in opensource is always difficult.

It needs community input from many people, and that is where marketing definitely has a role to play.

Focusing on WordPress is a great idea, this is where a huge amount of interest lies, and getting online publications such as Wordpress Tavern to take an interest could really help get the word out.


#4

I personally think Docker is much better suited for localhost development. What attracted me to EE were the best practices on setting up NGINX production environments.


#5

I haven’t managed to get Docker working in my own workflow yet, but thanks for the tip, I will investigate again based on your comment.

Yes, EE is great for Nginx, although at this time I prefer ServerPilot for my production environments, which also uses Nginx. The biggest advantage with ServerPilot over EE at that moment is that it is fully supported, with a helpdesk, and an API, as well as allowing one to set up isolated users, and installs automatic security updates, and has excellent documentation.

I’m not comparing it directly to EE in this sense though because my interest in EE right now is definitely geared toward local dev environments.


#6

So you are worried about using a tool because the company that develops the tool put out a blog post in 2013 with a way to solve problem that you don’t agree with?

The aim of the tutorial is to remove query strings from static resources to remove a warning triggered by GTMetrix which ultimately comes from this blog post by performance guru Steve Souders https://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/

Tutorials are not documentation. The docs for EasyEngine are at https://easyengine.io/docs/commands/ They’re incredibly thorough and up to date.

EasyEngine seems to be born out of a need for an easy and reliable way for setting up server infrastructure for WordPress sites to help rtCamp’s consulting business. The fact that they shared it with the rest of the world is amazing! Without EasyEngine I would have never gotten in to servers and devops stuff. Just like how WordPress got me interested in PHP and backend programming.

I use EasyEngine for production sites as side projects and for my day job. It’s fantastic.


#7

Like many open source efforts you can help by:

  • Blogging about it
  • Writing tutorials
  • Answering questions on this forum or elsewhere where EasyEngine would be a good solution
  • Present about EasyEngine at meetups or WordCamps or conferences
  • File issues and pull requests https://github.com/EasyEngine/easyengine
  • Follow @EasyEngine and/or @rtCamp on Twitter

#8