I had even played around with the development plugin Gary Pendergast was creating to solve this problem it was affectionately called x1f4a9 or 💩, I though this is cool, can I make this work on my local installation running trunk and oh my that Gary Pendergast is one funny dude.
Little did I know… Little did we all know…
Except for a couple people on the WordPress security team. No one really knew how important enabling emoji support were going to be to fixing the security with in WordPress until Andrew Nacin spoke at the recent Loop Conf.
I wasn’t able to attend Loop Conf in person but they had an amazing live stream which was completely free (major props organizers) and Nacin walks us through the Anatomy of a Critical Software Bug.
I had a hard time following the code in Nacin’s talk it was well over my head. Ryan D Sullivan tweet exemplifies this completely. But instead I tried following the story. As Nacin walks us through a two year journey to fix a vulnerability and it was a fascinating story.
A lot of patches in WordPress aren’t this hard… but they are similar rabbit holes of problem solving to make something better.
This blog post complements the WordCamp Vancouver 2014 Talk I gave called How to build your own robot.
I was working on a new website with a new collaborator who was literally 5,000 mile away for a client was 300 miles away. With all this long distance I’ve been using both Asana and GitHub to keep the team organized.
I wanted to but hadn’t tried to sync the commit message from GitHub to tasks in Asana. I was originally inspired by the svn-bot that appears in the WordPress core IRC chat.
You can set up the connection on your own Asana user account. But then all of the commits from everyone on the project will be attributed to you. What Asana support suggested was that I make a new user and call it git commit or commit. I took this one step further and gave my user the Octocat Icon. Once you have set up this user go into the account settings and grab the API Key.
The GitHub Sync is repo based and not user based and is located under the webhooks and services. Put the Asana API Key in the Auth token. You can also restrict it to just one branch if you like.
So whenever anyone commits to the repo all he have to do is grab the URL of the task from Asana and put it in the description of the GitHub commit and it will appear in Asana under the user Git Commit.
This method isn’t application specific any way you want to commit to Github will work. You can also add multiple tasks and the commit will be tracked in both tasks.
The git-bot will publish who made the commit, which branch and the account and repo name it also links back to the GitHub commit.
This really helped in both a contractor and client setting. Assigning tasks to contractors was easy and feedback on the commit as well. When the client found a bug on the beta launch of the site they recorded it on Asana and they knew when it was fixed. This really worked well in both regards as anyone involved could see the progress of the project.
The condensed workflow:
Create / get assigned Task in Asana
Code away upload via FTP
Commit the code with the Asana task url in the description of the commit.
See the commit in the Asana.
Couple side notes:
We weren’t using any auto deployment on upload. ( FTPloy, Beanstalk, Dandelion )
I didn’t want to track every single commit on Asana, just ones which either completed the task or which required review by another team member.
If my writings have helped you out, you can buy me a coffee or a beer via paypal:
You’re a WordPress developer and you attend WordCamps?
But I ask you? Have you ever attended a Contributor Day?
The reason I ask is many WordCamps now are actually two-day events. First day is the general conference with speakers and the second day is a contributor day. I have attended the contributor days at WordCamp Seattle for two years now and it’s a great place to learn, talk, discuss WordPress core and how you can contribute back to WordPress. (Hence the name)
Have you working with WordPress and said:
I wish I had time to suggest or submit an improvement to WordPress.
I think this is a bug but I am not sure and I am way to busy at work to investigate.
Why doesn’t the codex have updated documentation on this.
There are a lot of unanswered questions in the forums.
These are all great reasons to go to a contributor day and give back to the community!
You’ll also be able to meet and chat with other developer and often their are core contributors or committers to WordPress in attendance that you can converse with.
So if you love WordPress and want to start contributing but don’t know where to start. Then attend a contributor day and find a way to give back.
Although I went to school for web design I basically taught myself HTML and CSS. I am generally an organized person, so I always kept my CSS neat and organized. So if someone had to pick up where you left of they code without a huge amount of trouble.
Another Vancouver WordPress developer Joey Kudish had done the same for Christine’s blank themes and pickup up a lot of good habits from those two and many others.
This past month I had two examples of how important this truly is!
One site was small but needed to be professional and only had a three week timeline from start to finish. I took Christine’s Bold Headline theme from the WordPress Theme Directory, Changed the font, moved a few things around, added my own footer and a couple other style flourishes. The client love it, deadlines were met everyone was happy. But it all started with Christine’s Bold Headline (which originally started off as a Underscores default theme).
Christine had a good foundation with Underscores and made Bold Headline
I had a good foundation with Bold Headline and made my clients deadline.
The second example was less so.
It was a theme that was purchased from a theme house and I was contracted out to make a number of similar changes to this theme. A font change here, a new footer there and a couple other style flourishes to give the theme it’s own feel.
(Don’t judge a book by it’s cover some theme houses have great code and awesome developers working for them.)
After checking the support forums of the theme developer he didn’t provide any support if a single line of code was changed to his theme. If it wasn’t in the customizer. Don’t try it and if you do I can’t help you with it. Also it was said this theme could be used with the current version of WordPress btw.
I now know why he provides no support to making even slight changes to the theme. The theme’s is a mess of hacked code with no rhyme or reason why it was done. Italics tags with the italics removed, anchor tags with both absolute and relative positions to them (you should never apply a position to a anchor tag anyway) … I could go on but it makes me cringe and nothing was commented…
Now I am not without my abilities and I was able to modify the existing theme to suit the clients purposes and they are happy with there site.
But both themes have left me with two very different feelings on completion.
The first theme I’d gladly work on again. I can adapt change to the clients needs and anyone with WordPress, HTML and CSS knowledge could work on this. They need some plugin that changes the functionality of the site. Shouldn’t be a problem.
The second theme: I never want to see again… Not because the work I did was of poor quality, or I am ashamed of what I did. But because any small amount of code change could completely break the theme. Just to change a icon took over an hour and for no good reason. Who know what will happen if or more likely when you want to add something to the site.
Coincidentally both projects came out to similar prices.
So the moral of this story is to always start with a good foundation or else you’ll be living with a website that feels like this: