What is a feature?
A featureis an aspect of software that is useful. Anything you can express, that is possible, and that you can afford, can be a feature. A bug is an aspect of software that isn’t useful.
Since we’re talking about development, we’re discussing software features that don’t exist yet. These are features that we would like to build, or existing features that we would like to make better. Describe a feature with should statements:
It should email all the clients once a month.
The client should have a setting page in the admin area.
The plugin should have a custom post type called GPS coordinates for each subscriber.
The div should show a timeline of Civil War battles in the footer area.
The next statement you should create is the reasonfor the feature you are requesting. What is the business value of this feature? Describe the reason by using a “Because”, or “So that” or “In or that”
This is the tale of the incredible vanishing checkbox, on WordPress versions 4.9.6 and 4.9.8.
This annoying checkbox was forced onto every WordPress site in the world as of 4.9.6:
As soon as I saw this monster I started making a plugin to roll it back. It was obvious to me that most sites wouldn’t want this, and that it served absolutely no purpose. It comes from a misunderstanding of the law, and a desire to be clever.
There is no requirement in GDPR for websites to display a check box for cookie use. None, totally false.
Then comes out 4.9.8 which removed the check-box that was just installed!
However! This revert also breaks functionality. Users who aren’t logged in have no way now of knowing that their comment was submitted.
So the situation as of 4.9.8 is that the comment cookie check box came and went, and now everybody’s site is broken.
You can solve the problem by re-activating the comment check box in the admin SETTINGS >> DISCUSSION, but then you’ll still have the checkbox. Or use this plugin to restore functionality to the way it was.
******** Recommend and install a WordPress plugin *********
I want to install a WordPress plugin, but I’m not sure exactly which one I should use.
Give me a very brief overview of what WordPress plugin(s) I should use, how much it will cost me (if anything), and what functionality it has. I’m not looking for a comprehensive overview of WordPress plugins, I’m looking for a specific plugin and someone who can execute installing it. You don’t need to submit credentials or previous projects, just know how to use the plugin you recommend and be able to install and set up the functionality.
Submit a simple text entry describing what plugin I should use, and you’re contact information. I will provide you with access. This is a guaranteed contest.
Functionality I need:
First of all, the word roles, has several meanings. This article refers to social roles human beings play in relation to one another during development.
On a WordPress site, there is a technical concept known as user roles and capabilities. The default ones are subscriber, contributor, editor, and administrator. This article isn’t referring to that use of the word roles.
Roles can be played by the same person, but usually aren’t in direct relation to the size of the project and organization.
business stakeholder – [aka the client, the product owner, the guy with the money] – This person wants software. It is from him the requirements flow, and hopefully the money.
project manager – [aka “Jobs”] Sharing financial awareness, and responsibility to a budget with the business stakeholder, the PM has overall responsibility for the project, usually including the ability to hire and fire people. This expert can, and must, throttle the efficiency of the project, and therefore should be paid in equity or a salary, not hourly.
developer – [aka “Woz”] the developer is a senior programmer. This person must have a global perspective of the project or at least on a major unit of the project. He can be paid a salary or hourly. Rates run from $20 – $150 hr based on experience.
architect – [QA architect, senior developer] This person sets up the development environment in conjunction with the PM and the developer. John Dee is an expert in WordPress plugin development architecture and can help you set up yours!
designer – In WordPress, a “designer” is a person who can modify themes. He can either be skilled at using a graphic page builder, or WYSIWYG editor, or they may know CSS and HTML. You should not employ a designer who cannot produce clean CSS and HTML code. Settings jockeys – designers who don’t know how to hard code things – should never be used. Rates are from about $7/hr to $20/hr
Using the –env flag in Codeception. Running tests against multiple versions of WordPress.
Suppose you want to run your test suite against multiple environments? Perhaps with different browsers or with different versions of WordPress or PHP? Codeception makes this easy with the –env flag.
This is a plugin I made that rolls back a new feature added to WordPress 4.9. I want to run an acceptance test against the latest version of WordPress, and also against a legacy version of WordPress.
Setup multiple environments
I use an Ubuntu laptop with apache2. Your mileage will vary. When I develop a website, say site.com, I setup my laptop to redirect site.dev to a local directory on my laptop. There I keep a copy of the production site to work on.
General Chicken publishes a plugin in the .org repo: Change Admin Email Setting Without Outbound Email
As of WordPress 4.9, the administrator cannot change the site admin email without outgoing email setup on the server, and recipient email credentials. This plugin restores the admin’s ability to change this setting without sending a confirmation email.
As a bonus, for developers I’m distributing some BDD Codeception tests with this plugin. The tests are designed to run via the WordPress module from Codeception. To run them, you’ll need composer, selenium, and chrome. To pull the framework, use the instructions here.
When building this, I used TDD / BDD by creating an acceptance test that worked on v3.9 so that I could run the same test against v4.9. This is overkill, but I wanted to show how to run tests against different environments.
Sign up to learn Behavior Driven Development in WordPress!
Hi! I’m John Dee. I’m the BDFL here at WordPress BDD. We have a MasterMind group to meet and do BDD in WP!
As a member of the MMG, you will have an opportunity to learn BDD in WordPress, and even get some free work done for your own projects. We take turns building classes and tests for each member of the MMG, so bring your development issues and we’ll solve them, the devops way!
We do a live screencast on Google Hangouts anytime I get 5 people who want to do TDD.