Recap of March 2017 Meetup: Distributed, Working Remotely at Automattic

Our thanks to Howard Dodd for taking notes from our March 2017 meetup.

Two Things About WordPress

  • WordPress 4.7.3 was released last week. Get updated quickly if you’re not on automatic updates. It includes important security & maintenance upgrades.
  • Two-factor authentication service Clef is closing down. If you are using it, you must seek an alternative before June 6, 2017.

Distributed, Working Remotely at Automattic

Our presentation was given by member George Hotelling, JavaScript Wrangler at Automattic, the company behind hosted WordPress.com, Jetpack, WooCommerce, Akismet, and other online services.

George spoke about remote work at Autommatic, how employees around the world communicate with each other, and work together in teams. Here are highlights from his talk:

Why work remotely?

  • There is a much wider job market
  • Quality focus time becomes available for deep thought work.
  • Structured flexible time can be very beneficial to the family.
  • The forgone commute has huge benefits in studied measures of happiness. The equivalent of a 67% raise for a $60,000 per year employee.
  • Automattic’s corporate culture is that all of the employees are fully remote.

Disadvantages of Working Remotely

  • Discipline can be difficult. Many potential distractions exist.
  • You must be diligent and thorough with communication. Document processes and write out thoughts so that details can be communicated.
  • Social isolation – you need to take the initiative to be social and make it a priority.

attendees listening to George Hotelling

Types of Remote Companies

  • Fully Remote – Employees are all over the world. The different time zones need to be considered. Space, autonomy, and authority needs to be distributed to keep things moving.
  • Partially Remote – Usually involves an office where colleagues have occasional meetings. In this scenario it is important to take the initiative to attend the meetings that are relevant.

Where is Remote Work Done?

  • Home
  • Coworking space. This was discussed at length, with many members recommending coworking spaces throughout metro Detroit. Randy Walker graciously published a post with coworking spaces in and around metro Detroit.
  • Wherever!
  • Traveling, out of town, hotel rooms.
  • Even on the road (as a passenger)

Communication is Oxygen!

  • Slack – This is a chat program for office and day to day work. Communication is generally asynchronous.
  • Screenhero (owned by Slack): Collaborative screen sharing tool. An invitation is needed to obtain it. It is highly functional and recommended, with high screen resolution.
  • Google Hangouts / Skype / Zoom – Video chats. It’s very important to understand text vs. video vs. audio. Text is easy to misinterpret. It lacks tone and nuance that could be essential to making a point.
  • IRL – In Real Life! Two or three company meetups are planned each year. Distributed companies travel a lot to encourage bonding and team building
  • P2 Theme: that is much like a Twitter feed. It is generally left open all day and serves as Automattic’s watercooler conversation point. Hashtags can be used to start a conversation thread and it is searchable!
  • Note that emails are minimized. – P2’s are the focus. All of the conversations are dropped into a searchable database and becomes a warehouse of accumulated knowledge.

Everyone who starts at Automattic does frontline support. It is part of the corporate culture and a lot is learned from this exercise.

Thank you to Grand Circus and A2 Hosting for their sponsorship of our meetups!

snowy view of Woodward and Grand Circus Park, Central United Methodist Church in the background
Our view from our meetup venue, snowy view of downtown Detroit

February 2017 Q & A Workshop Notes

At our February 2017 Q & A Workshop, several of our experienced WordPress users, developers, and designers helped answer questions from other members about their sites, configuration, and setup.

Before we started the workshop, I shared three recent news updates about WordPress.

Three things to know about WordPress

  1. If you haven’t updated to version 4.7.2 already, do it ASAP. Over 1 million sites WordPress sites have been defaced
  2. Starting in March 2017, the ads on the commenting plugin Disqus will no longer be free to disable.
  3. Have you seen it? Gutenberg, the first prototype of the new WordPress editor, has been released. Check it out and give your feedback.

Takeaways from Q & A Workshop

Discussion of custom post types & forms to publish a post.

  • Gravity forms is a powerful forms plugin. Can be used to “submit & publish” a post to a website. Note: would require a username/password field. Best for sites where your users get a basic membership/role.
  • https://wp-types.com/ Tool Set as a way to create, re-edit, delete blog posts that a user publishes. More edit features after publish than Gravity forms?

Consider a plugin audit on your site. Review your plugins to determine:

  1. Are you still using the plugin? If no, uninstall it. Any plugin you’re not using on your site can be a liability.
  2. Does the plugin offer functionality that’s available in WordPress core? Consider uninstalling the plugin and using built-in functionality.
  3. Is the plugin updated to the latest version?
  4. Has the plugin been updated in the past two years? Plugins that haven’t been updated in two years can be a security risk. Consider another plugin that is being maintained. Or consider whether you want to adopt the plugin and take on the development

Thanks to Laura Eagin for contributing to the notes.

How to create a post with Gravity Forms, then use the REST API to pull those posts into a third party site

During our Quarterly Q&A Meetup a question was asked on how a site could be setup using Gravity Forms form to collect posts that then have those posts become available on a different WordPress installation.

For example, students could write an article about a topic that then publishes on site specific to that topic.  There maybe other ways to solve this problem, but for the sake of this article, here’s how you can use Gravity Forms to collect posts, then have those articles published on separate WordPress sites.

IMPORTANT: This is technical and requires the ability to write PHP for WordPress.

To start, you’ll need the Gravity Forms plugin (full disclosure, it is a paid plugin).  You can download it here: http://www.gravityforms.com

Next you’ll want to create a new Gravity Form form using the Post Fields.  See screenshot below:screen-shot-2017-02-14-at-1-59-50-pm

When setting this form up, let’s configure the new post options.  Expand the Post Title and make sure the Post Status is Draft.

Screen Shot 2017-02-14 at 2.03.53 PM.png

Let’s publish a page on our site with this form.

screen-shot-2017-02-14-at-2-05-44-pm

Now here’s the form where users can submit their posts.  Don’t worry, these posts won’t go live.  If you recall, we configured the form to only set the status of each post as a draft.

screen-shot-2017-02-14-at-2-05-58-pm

Now that we have the form to collect the posts, let’s use the WordPress REST API to grab the posts on a different WordPress site.

These next steps will be done on the third-party site reading the information from the site collecting the data above.

To do this, it will require some development.  In short, here’s what you need to do on the third-party website to import these posts using the REST API.

Create a wp_cron() job to look for new posts to import on a periodic basis.

When the cron job executes you’ll want to fetch the posts using wp_remote_request() with authentication.  With authentication means you pass along headers on the request.  Use this template below.  Replace YOUR_USERNAME and YOUR_PASSWORD with the credentials of the site where you’re collecting the posts (the site using the Gravity Forms we setup above). You will not be able to retrieve posts that are set as “draft” without authentication.

$args = array(
  'headers' => array(
    'Authorization' => 'Basic ' . base64_encode( YOUR_USERNAME . ':' . YOUR_PASSWORD )
  )
);
$post_results = wp_remote_request( $url, $args );

For the URL you’ll want to query posts by specific category and status.  Here’s an example:

http://YOUR-WEBSITE.COM/wp-json/wp/v2/posts?categories=6&status=draft

The request will return the post data.  Iterate over the results and use wp_insert_post() to add this post into the new site.

That’s it!

Couple things to note:

  • I choose to have the site that collects the posts set the post status as “draft” so that these posts are not public (or ever public on that site).
  • You may want to use the WP REST API to update the status or delete the post on the site where it was submitted.  You can learn more about modifying content using the REST API here: https://developer.wordpress.org/rest-api/
  • My suggestion would be to write a plugin that can be installed on third party sites that would be configurable (such as category) to import these posts.

Productivity & Workflow – WordPress Meetup (Notes)

5 “Getting Started” Productivity Hacks

(Download Slides)
Anthony Montalbano

@italianst4
ambrdetroit.com

It can be difficult to just get started and make an idea a reality. Anthony shared a few quick tips and methods for how to execute on your idea and ways to better hold yourself accountable. Let’s stop dreaming and start doing.

Do something

  • 1-3-5 Todo List
  • Today I will accomplish 1 big thing, 3 medium things, 5 little things

Keeps you on track with your tasks and helps to make sure you get the most important stuff done first.

Better Habits – Habit Forming/Breaking

  • Way of Life App
  • Every day the app asks you what you did to keep you on track with what you want to actually accomplish.

Keep tabs on you long term goals by making them your short term goals.

Zone Out

  • RescueTime App / Service
  • Flic button + IFTTT + Rescue Time
  • With the push of a button it locks the computer for productivity.

Keep yourself focused on the task at hand, block out the distractions.

Accountability

  • Google Calendar
  • When things are in a calendar they are more likely to get done.
    • Phone Calls
    • “Googling” / Research
    • Todo Items
    • Reading
    • Recreation Time
    • Meals
    • Meditation
    • Gym

Keep yourself accountable, keep in in your schedule.

Record Everything

  • Evernote / Voice Recorder
  • Simple voice recorder
    • USB built in to offload to computer.
    • Separate by folders
      • Random Thoughts
      • Projects
      • Etc.

Keep a record of everything, much easier to recall and remember if you have notes.

 

Benefits of Using Harvest – Invoicing and Time Management

Deborah Edwards-Onoro
@redcrew
lireo.com

Harvest is an online application that simplifies time tracking and invoicing. It provides powerful reporting, real-time access to tracking time, and fast invoicing and payment.

For Small Business Owners

  • Easy
  • Dependable
  • Customer Invoicing
  • Time Tracking

Easily do the admin and billing stuff you need to with clients.

It’s Online

  • Access Anywhere

Web-based so it can be used anywhere with an internet connection as well as on a desktop, laptop, tablet or mobile device with ease.

Send Invoices to pay online

  • Or have a pdf emailed

Payments are easily handled online, or in a standard invoice format pdf for the client to print and mail a check.

Secure Online Payment Processing

  • Stripe Integration
  • PayPal Integration
  • Etc.

Plenty of payment processing options to integrate with.

Other Benefits

  • Customize invoices
  • Add personalized messages per invoice
  • Automatic late notices
  • Time Tracking Made Easy
    • Track by client, project, task
    • Create itemized invoices

Makes tracking, invoicing and collecting easy!

Integration

  • Asana
  • Trello
  • Slack
  • Basecamp

Plenty of integration options to choose from.

Apps

  • Android and iPhone
  • Chrome and Safari Extension

Use it on the go or in your workflow, great apps/extensions to use.

 

Task Management with Trello

Eric Malcolm
@eric_malcolm
malcolmdigital.com

Trello is an online task management application that uses boards (lists of lists), filled with cards to organize projects of any size as well as life.

Break it Down with Boards

  • Boards, Lists and Cards to break things down
  • Board for a “Project”
  • Board for “In-Progress” for the Week:
    • Days listed and tasks updated daily

Project Board

  • Resources
    • “Project A” – Link to Article
  • Ideas
    • “Project A” – We should do this
  • Features
    • “Project A” – Blogging Ability (categories, tags, etc.)
  • Tasks
    • “Project A” – Setup Theme
    • “Project A” – Install This Plugin
  • In-Progress
    • “Project A” – Setup WordPress
  • Blocked
    • “Project A” – Install This Plugin
      • Client hasn’t decide whether or not to use this plugin
  • Complete

In-Progress Board

  • Sunday
    • Relax
    • Do some Reading
  • Monday
    • “Project A” – Setup WordPress
    • “Project B” – This Task
  • Tuesday
    • “Project B” – That Task
    • “Project A” – Setup Theme
    • “Project A” – Install This Plugin
  • Etc.

Easily keep track of you daily tasks, project tasks, notes and more with Trello boards, lists and cards. Check out some Trello Board Inspiration to see what ways it is used by many, many people and organizations.

 

Pomodoro-ish

Amit Rathi
@amitrathik
ambrdetroit.com

Amit covered the traditional approach of Pomodoro, and how he adapted it into something that works with his day-to-day flow.

Use Time Tracking

  • Useful for billing
  • Useful to see where time is spent
  • Useful to make sure time is spent efficiently.

Always track your time, know what you are doing, how long it is taking you, etc.

Keep yourself accountable.

  • Time Track and “Bill” yourself, make sure you are doing what your time is worth

Bill yourself to keep yourself accountable.

What is pomodoro?

  • Time tracking technique
  • Set tasks that are doable within an allotted amount of time.
  • About single tasks and single focus for a certain amount for time.
  • Usually 25 minutes.
    • 25 minutes
    • 5 minute break
  • 4 times, then a 10 minute break.

Is this something I can get done in 25 minutes?

Website Header – 2 hours

Instead….

Website Logo – 25 minutes
Website Navigation Layout – 25 minute
Website Phone Number and Social Media – 25 Minutes
Website individual navigation – 25 minutes

Pros

  • Smaller, more completable tasks
  • Incorporate breaks
  • Makes it easier to stay focused
  • Works with time

Cons

  • Requires you to stick to a timer, even if you are done with a task
    only useful for individuals.
  • Difficult for team and collaborative tasks.

Getting started

  • Pick a task to do
  • Start the timer
  • Stop. Take a break
  • Repeat

Start by creating a task and a timer for 25 minutes. Tweak the time as needed on a case by case basis. Keep it simple. Make it flexible.

Thus, Pomodoro-ish..

Keep yourself accountable and productive with smaller tasks.

 

Troubleshooting a WordPress Site: Where Is My Sub-Menu?

How our members worked together to resolve an issue on a WordPress website

At our September 2016 meetup, we held a Q & A workshop where our Metro Detroit WordPress members can get answers about their WordPress site from other members. Or they can ask specific questions about WordPress features and functionality.

Because it’s community-focused, the Q & A workshop is one of my favorite meetup formats. It’s where we learn about each other sites and what members do.

Our Q & A workshops are casual, with people moving from table to table to help each other. Or just listen in to hear what other people are doing on their site.

What’s the Issue?

One of our members was having issues with her self-hosted WordPress website, where the sub-menu wasn’t displaying.

She was using the Divi theme on her site, one of the drag-and-drop premium WordPress themes, which has a lot of built-in functionality that’s usually provided through plugins.

Divi recently released version 3.0, which none of our Metro Detroit WordPress members had worked with.

Nevertheless, several people stepped up to the challenge to try to find a solution. Which they did!

Troubleshooting

Knowing others go through similar situations, trying to figure out why some feature isn’t working as expected on their site, we wanted to document the steps.

1. Backup the Site

Before making any changes, backup your site. That means backing up both the files and the database.

You can find lots of free backup plugins in the WordPress repository. Additionally, there are many premium backup solutions.

WP Beginner recently published a review of several WordPress backup plugins.

Luckily our member already had a backup plugin installed on her site, so a backup was quickly completed.

2. Update WordPress

You always want to have the most current version of WordPress installed on your site.

WordPress releases major updates and security updates regularly, it’s important that your site has the latest version to stay secure.

One of our members helped to get the latest WordPress version updated on the site. Still, the problem persisted.

3. Update Themes and Plugins

As with WordPress, you want to make sure you have the latest versions of the themes and plugins installed.

Developers update themes and plugins to incorporate new features from the latest WordPress version, to fix bugs, and to add new plugin functionality.

If you’re having an issue that is theme- or plugin-related, it’s possible the latest version will fix your problem. Why waste time searching for a solution when an update will resolve the problem?

Her site themes and plugins were updated, but the sub-menu still wouldn’t display.

4. Activate the Latest Twenty XXX Theme

This is a tried-and-true solution to many issues.

The latest Twenty XXX theme is the default theme installed with every new WordPress installation (at the time of this post, the latest is the Twenty Sixteen theme).

These themes are used to rule out any issues that might be theme-related.

Review in Other Browsers and Devices

At times, a browser or device might be the culprit.

Checking the site in different browsers or on different devices (tablets, smartphones, etc.) can help narrow down the cause of the issue.

This wasn’t the case for our member’s site.

Unfortunately, the sub-menu wouldn’t display in other browsers, nor in other devices.

Theme Options

Many free and premium themes have Theme Options that control fonts, CSS, menus, and other features in the theme.

Voilà!

That was where the issue was, a custom CSS (Cascading Style Sheet) setting was the reason the sub-menu wasn’t displaying.

The existing CSS code in her site was copied to a text file for safe keeping. The CSS was updated, saved, and the sub-menu displayed.

In Conclusion

Troubleshooting the WordPress theme on our member’s site only took a few steps. We were lucky it wasn’t a more involved issue, with conflicting plugins or an issue with the web host.

If you find yourself needing to troubleshoot your site, always start by:

  1. Backing up the site, both database and files
  2. Updating to the latest WordPress version
  3. Updating to the latest theme and plugins

Shoutout to our members Angela Samuels, Randy Wright, Andy Melichar, and Eric Malcolm for their help in troubleshooting the issue!

Photo credit: Randy Wright

WordCamp Cincinnati 2016 – Call for Speakers, Sponsors and Volunteers

WordCamps, which are held each year across the globe, are informal, community-organized events that are put together by enthusiastic WordPress users to share information regarding website design and best practices within the WordPress ecosystem. WordPress Cincinnati, 2016 is the first WordCamp to ever be held in Cincinnati.

WordCamp attendees will include website developers, bloggers, and business owners that cut across a broad spectrum of interests and experiences. During WordCamp we will discuss how WordPress can be used to build websites, blogs, and apps. Because WordCamp is run by a dedicated group of volunteers and subsidized by generous sponsors, we are able to offer two days of knowledge based sharing for just $40. Comparable events range in price from $400 to upwards of $1900.

We invite the local and regional community to contribute to the success of this first event by participating as outlined below.

Invitation to Speakers:

If you would like to support the WordPress community by sharing your WordPress insights, please submit your proposal at WordCamp Cincinnati Speakers. Application deadline is August 14, 2016. We look forward to hearing from you!

Invitation to Sponsors:

Sponsorship of WordCamp Cincinnati 2016 will provide exposure to a broad assortment of WordPress users – from agencies, businesses, developers, bloggers, and designers. We invite you to support the local WordPress community. Enroll to be a sponsor at WordCamp Cincinnati Sponsors.

Invitation to Volunteers:

If you would like to support the WordPress community by volunteering, please sign up at WordCamp Cincinnati Volunteers.

Invitation to Attendees:

If you’d like to guarantee a spot at this popular event, register to attend at WordCamp Attendees.

We look forward to your participation and support of WordCamp Cincinnati 2016!

Takeaways from Fixing a Hacked Site

Seth Alling

At last month’s Metro Detroit WordPress meetup, Seth Alling presented on hacked sites, discussing the causes and what you can do to prevent your site from being hacked.

Members shared some of their own stories of hacks as well as useful resources. It was a great discussion at the end of the talk; thanks to Seth for his presentation!

And thanks to new member Christine Zheng, we have a recap of Seth’s presentation. Here are Christine’s notes:

Fixing a Hacked Site

Hack Types

There are three common hacks:

  • WordPress plugin hack
  • Malware hack
  • Themes hack

There are many causes of hacked sites, including:

  • Poor hosting
  • Bad or poorly coded plugin
  • Out of date software, which can be targeted by malware
  • Improper file permissions

To find the cause:

Step 1: Use Shell commands

List file with improper file permissions
find .–perm 777

List php files modified within last day
find .-name”.php” –mtime 1 -print

List general-template.php files with base64
Find.-name “general-template.php” – exec grep –H”base64”{}\;

List general-template.php files with base64 in text file
find.-name “general-template.php” –exec grep-H”base64{}\;”>hacked.txt

Step 2: Establish Your Game Plan

Don’t just dive in, figure out the best solution. For example, if your host doesn’t provide shell access, contact your web host customer support.

Step 3: Remove Hack and Change Passwords

Find out what is really causing the problem.

Manually fix:

  • Take full back up if possible, of all files and the database
  • Delete unwanted corrupted files and replace hacked files
  • Search through pages and/or database for additional corruptions and remove
  • Change password of admin users(and possibly users with other role as well)
  • Test, test, test
  • Take full backup when complete

Use the Force Plugin Updates plugin when you reactivate plugins.

Fix in bulk:

  • Manually remove hack on 1 site
  • Write script to do what you need
  • Run script on one single site
  • Test, test, test
  • Run script across multiple sites
  • Example scripts from Seth you can use on a host with cPanel (you’ll need root access to your server)

Step 3: Increase Security

  • Make sure everything is upgraded
  • Make sure backups are working; run a test first to insure
  • Have a security plugin
  • Use a password manager, LastPass, Dashlane
  • Send passwords/logins with Onetime Secret, or keep info in a notebook or offline
  • Do not sent the passwords via email – but message
  • Use Two-factor authentication (2FA), Clef, Duo, Google Authenticator
  • Remove unused sites
  • Check file permissions-don’t set it to 777 permission
  • Use strong passwords
  • Consider changing WordPress structure, because most hackers are trying to hack in bulk
  • Depending on your time, or if all else fails, hire security company (such as, Sucuri Security)

Summary

Be prepared for hack. Consider using the iThemes Security plugin. Another option is to set up Cloudflare security.

You may want to consider not turning on all the features, IP login. Whitelist log in IP.
When you’re adding a new plugin to a site, validate the plugin. Read reviews and check star rankings.

Check out the slides from Seth’s presentation.

Thanks to Larisa for taking and sharing photos from the meetup.

Additional Resources

February 2016 Developer Code Share / Show and Tell

Attendees seated waiting for meetup to begin

For our February 2016 developer code share/show and tell, four Metro Detroit WordPress Meetup members shared their tips and insights on WordPress development. Continue reading “February 2016 Developer Code Share / Show and Tell”

January 2016 WordPress Q & A Workshop Recap

At last night’s Q & A workshop, we had lots of great questions about WordPress, how to use it, set it up, configure plugins, style, and troubleshoot issues.

Glad to see so many new faces interested in learning about WordPress! Continue reading “January 2016 WordPress Q & A Workshop Recap”