Welcome to the Post Status Draft podcast, which you can find on iTunes, Google Play, Stitcher, and via RSS for your favorite podcatcher. Post Status Draft is hosted by Brian Krogsgard and co-host Brian Richards.
In this episode, Brian is joined by guest-host Brian Casel. Brian runs Audience Ops, a productized service that offers all aspects of content creation for companies. Brian has been in the WordPress community for a long time, and for years has worked on creating processes around his business to enable him to get beyond a freelancer work life and into treating services like products.
Before Audience Ops, he ran Restuarant Engine — a niche WordPress site provider, where he really honed many of the processes his company still uses today — which he sold for six figures.
We dig in to why he decided to make a transformation with his businesses to be so process oriented, and how he turned that into the 30-person organization it is today, as well as the various courses and communities around Productize and Scale.
By the way, if you like this interview, Brian has an active job posting on Post Status for a blog content writer for Audience Ops.
- Audience Ops
- Productize and Scale newsletter
- Productize Podcast
- Productize Course
- Restaurant Engine
- Ops Calendar
- Tropical MBA DC
Yoast SEO Premium gives you 24/7 support from a great support team and extra features such as a redirect manager, recommended internal links, tutorial videos and integration with Google Webmaster Tools! Check out Yoast SEO Premium.
The Gutenberg team took questions from a full room users and developers this morning before diving into the specifics of the editor’s design, block creation, and how to further extend the new interface. The first question they addressed is the one everyone is asking: When will Gutenberg land in core?
The team said the editor is pretty close to feature complete and should achieve that in the next few months when version 3.3 is released. At that point the focus will be on refining the current experience. They estimate this to happen in June or the first week of July but also hinted at more information coming in Matt Mullenweg’s keynote address this afternoon.
Developers also asked about the criteria that will be used to decide that Gutenberg is ready for a WordPress release. The project has a scope and features MVP issue on GitHub that provides an overview for the major functionality that will be introduced in the first version of the new editor. It shows which features have already been shipped and which ones are remaining.
The team explained that many of the final features have come from developer and user feedback. Some features were not necessarily planned for V1, but it became more apparent that these were needed because they improved either the developer or user experience. For example, within the past four or five months the team found that the child blocks would be necessary to allow developers to be more expressive in extending the editor. A few of the remaining issues include inline images and post locking for concurrent users, but the team doesn’t anticipate any major new features on the horizon before V1 is released.
Gutenberg engineers also assured workshop attendees that the project is being built with backwards compatibility in mind. One person asked what will happen when the 5.0 release lands. The team explained that the Gutenberg update will not change all the content on WordPress sites. When users open a post in the editor they will have the option to convert that content to block format so it will work with the new editor. If it doesn’t quite work, users be able to fall back to the classic editor.
The team said they took great lengths not to alter how WordPress deals with data. Gutenberg does not change the content structure. One of the cornerstones for the project is providing an update that will not fragment the content structure. There will be a lot of resources available ahead of the release for helping everyone move forward together.
Gutenberg engineers said they are working to be conscious not to delay the project, because the longer the delay, the more potential users WordPress is losing because the software is not easy enough for them to build and customize content and websites.How Will Theme Building Change with Gutenberg?
Gutenberg designers and engineers also tackled questions about how the new editor will change the theme building experience. Design lead Tammie Lister emphasized the importance of theme developers first getting better at creating themes that do not try to do everything. The basic purpose of a theme is to style the frontend and provide an editor style. One potential way forward for theme developers is to provide additional features by releasing a suite of blocks via a plugin. Lister said she hopes that themes will become a lot lighter in the Gutenberg era and encouraged developers to utilize style guides.
The team also said that existing themes will continue to function and redesigning a theming API, without the hassle of editing a bunch of PHP files, may be possible in the future. However, it’s too early to know what that will look like. For now, the rendering engine is not changing. Theme developers interested in Gutenberg compatibility should start looking towards deconstructing their themes into individual elements and learn how to express a theme as a list of blocks.How Will Gutenberg Handle Customization?
Attendees asked several questions regarding the specific plan to implement customization, or live previewing, after Gutenberg is in core. The current phase 1 handles content editing and puts the infrastructure in place to support customization. There are some issues on GitHub for transforming widgets into blocks, which will be a step towards the site building experience. The team has already implemented direct manipulation on the WYSIWYG road but phase 2 will cover more aspects of customization.
Gutenberg is not ready to replace the Customizer anytime soon, but the next phase will explore what a block-based experience of customization will look like. When asked if Gutenberg will “kill off some of the page builders,” the team said the goal is for page building type applications to be able to use Gutenberg as a springboard for different implementations that extend the editor in ways that benefit different types of users.
An attendee asked how the team plans to enhance adoption once Gutenberg lands in core. The team said they are working on an experimental feature called ‘tips’ that offers a story walkthrough of the publishing workflow. It includes helpful nudges to assist users in getting better at navigating the interface. The wider ecosystem has already responded with courses and tutorials to help developers get on board. The WordPress training team is also working on some training materials to use at WordCamps with tutorials for developers to learn how to convert existing plugins and themes to be Gutenberg-ready.
In this episode, John James Jacoby and I are joined by Jack Lenox, Software Engineer at Automattic, to discuss his new project, SustyWP. Lenox explains how he built the site so that it only has 7KB of data transfer, what sustainability on the web means to him, and the relationship between sustainability and optimization to create a better user experience. We end the show discussing the latest WordPress headlines and share information on how you can watch WordCamp EU for free.Stories Discussed:
BabaYaga: The WordPress Malware That Eats Other Malware
Ten WordPress Plugins By Multidots For WooCommerce Identified As Vulnerable And Dangerous
Plugin Detective Wins WordCamp Orange County’s 2018 Plugin-a-Palooza
Next Episode: Wednesday, June 20th 3:00 P.M. Eastern
Subscribe to WordPress Weekly via Itunes
Subscribe to WordPress Weekly via RSS
Subscribe to WordPress Weekly via Stitcher Radio
Subscribe to WordPress Weekly via Google Play
Listen To Episode #320:
WordCamp EU 2018 is scheduled to take place this weekend in Belgrade, Serbia. Although the event is sold out, you can watch the event for free via livestream. Simply visit the WCEU tickets page and register a livestream ticket.
Sessions begin on Friday, June 15th. To see a list of sessions and speakers, check out the event’s schedule. Note that there is a six hour time difference between Eastern Daylight Time and Belgrade, Serbia.
As we near the halfway point of 2018 and no imminent release of WordPress 5.0 on the horizon, it will be interesting to see what information is shared during Matt Mullenweg’s keynote.
I think I met Ed Finkler at WordCamp Milwaukee in 2016. It was at the speaker dinner, and he sat across from me for a while. He seemed like a pretty normal WordPress developer and several weeks later I asked him to do a HeroPress essay. His answer surprised me. “Well sure, that sounds pretty cool, aside from the fact that I don’t really do WordPress anymore”.
As it turns out, he had mostly retired from active WordPress development. His every day world was now filled with working in different frameworks and languages, amongst people who help WordPress in disdain. But Ed’s view fascinated me. For all that he was working with more modern frameworks, WordPress is what made him a great developer. The empathy and compassion for the user that WordPress holds so dearly carried over into the rest of his life.
So what was he doing at WordCamp? Spreading the word about his cool new organization, which I will leave for you to read about.
WordCamp Orange County, CA, took place this past weekend and the winners of the Plugin-a-Palooza have been crowned. Nathan Tyler and Natalie MacLees took the first place prize of $3,000 with their submission, Plugin Detective.Creating a new case in Plugin Detective
When it comes to troubleshooting WordPress, disabling and re-enabling plugins is one of the first steps in the process. This is time consuming and involves browsing to the plugin management page multiple times to turn a plugin on or off.
Plugin Detective simplifies the process by quickly identifying the culprit. Once installed, a Troubleshooting quick link is added to the WordPress Toolbar. From here, users can open or continue a case. When a case is opened, a bot named Detective Otto asks users to navigate to the page where the problem is occurring.
After the location is identified, users inform Detective Otto which plugins are required for the site to function properly. Interrogations is the act of of disabling and enabling plugins. Multiple interrogation attempts are made until the culprit is identified through the process of elimination. The following video does a great job of explaining and showing how it works.
It can also be used to identify and fix White Screen of Death errors caused by plugins.
Plugin Detective is partly inspired by a software program from the 90s called Conflict Catcher.
“I used ‘Conflict Catcher’ to troubleshoot conflicts between system extensions on my Mac,” Tyler said. “I thought the concept was cool and would often run it for fun to try to figure out how it worked. Eventually, I learned that the computer science concept is a ‘binary search.’
“Applying the concept to WordPress plugins seemed like a good approach to the plugin conflict problem we all experience.”
“Basically, if an author opts-in, we can help the end-user file a support ticket right there in Plugin Detective after we’ve identified the problem,” he said. “The support team gets a helpful bug report with notes from the customer, along with system information, other installed plugins, active theme, etc.”
If you troubleshoot sites often or want an easier way to figure out which plugin is causing a conflict, consider adding Plugin Detective to your toolkit. Plugin Detective is free and available for download from the WordPress plugin directory.
As the traveller who has once been from home is wiser than he who has never left his own doorstep, so a knowledge of one other culture should sharpen our ability to scrutinize more steadily, to appreciate more lovingly, our own.Margaret Mead
WordCamp Europe debuted its new official mobile app today, providing attendees with a quick way to access the event’s schedule, maps, and announcements. Several unofficial apps have popped up over the years, but this is the first one produced and supported by WCEU organizers.
The team opted for creating a PWA (Progressive Web App), which loads inside a mobile browser while offering an experience similar to native apps. It’s also far less complicated than supporting multiple platform-specific mobile apps. Users don’t have to download anything, since it is loaded via the browser, and the site can be accessed offline in case of network failure.
The app was built using React on the frontend and is hosted on a node server. It uses WordPress for content management on the backend, along with the WordPress PWA plugin and OneSignal Push Notifications .
“This first iteration isn’t scalable for the community, but we wanted to test the possibilities and have the opportunity to explore what it would take to eventually make this available for all WordCamps,” WCEU team leader Jenny Beaumont said. “It’s a lofty goal, and we’re not there yet, but we’ve learned a lot along the way and looking forward to pursuing the ambition.”
Attendees can expect to find any last minute schedule changes in the app and may also opt to receive push notifications for important updates. The Favorites feature lets users to bookmark all the sessions they plan to attend and toggle them into view.
WCEU’s official PWA is lightweight and re-usable – it can easily be updated to display content for future editions of the WordCamp.
“We’ll only need to update our feeds, since WordCamps are issued a new website every year, but the basic functionality will be in place and can be developed on as browsers offer better support and new team members join the team with their great ideas,” Beaumont said.
The current theme is open source and available on GitHub. It can be rebranded for future events to reflect the design for that year and city. Beaumont said the long term goal is to have a PWA generated directly from WordCamp sites.New Tech for Badges Generates a Barcode for Sponsors to Scan
The technology for badge creation will be getting an overhaul as well this year. WCEU organizers are renting the materials from a Azavista, a Dutch event management company that provides badges, badge printers and scanning devices (iPhones). The new tech will make it more efficient for volunteers to process more than 2,000 attendees at registration.
The badge scanners also streamline attendee interaction with sponsors, replacing the signup sheets and tablets that sponsors usually have for collecting attendee information.
“It’s tied to attendees’ Attendee ID number, created when attendees register on our WordCamp site,” Beaumont said. “Say an attendee is visiting a sponsor booth and having a nice conversation, the sponsor can ask if they’d like to leave their name and email address to stay in touch. If the attendee agrees, then they show their badge to have it scanned by the sponsor using the closed-technology on devices provided by our vendor. “
After the event, WCEU organizers will send the names and email addresses of attendees to the sponsors based on the signups from scanned badges.
If attendee feedback is positive, Beaumont said organizers plan to implement the quick registration feature next year. This will allow attendees to receive a QR code via email and get it scanned in order to receive their badges. These tech improvements should relieve traffic bottlenecks at the registration desk and sponsor booths, freeing up more time for WCEU attendees to spend in sessions and networking activities.
Continuing my series about ScoutDocs and the process of building it, this week I’m talking about React.
What is ScoutDocs? ScoutDocs is a WordPress plugin that adds simple file-sharing to your WordPress site.
After the first iteration of ScoutDocs was built and none of the partners on the project were happy with its experience, it became clear that in order to deliver a clean, simple interface for file uploading and sharing we needed to leave the bounds of the WordPress admin. It didn’t take me long to decide that React would be the tool I used to build the new interface.
There is an incredible momentum behind React, and a rich ecosystem of libraries, tools, and educational resources. But beyond all that, React is just plain fun to code. Once you accept the central premise that a view layer and the controller that handles that view are inextricably linked, and once you get over the weirdness of quasi-HTML-in-JS that is JSX, coding in React is a joy.
Make no mistake, learning React is not a weekend project. It will take a while before it feels like home. But once you get it, you feel very powerful.
The first lesson I learned was don’t learn React by rewriting your app in React. I tried this. I read some tutorials about React and it felt straightforward, and I was like “let’s do this.”
This was a bad idea. I was overwhelmed. I had no idea where to start. Next, I tried following some of the interactive tutorials that required me to build a simple React app and then slowly add functionality to it, refactoring it multiple times, until I understood not just the code that I ended up with, but the process of creating it. This went much better.
Start small, and build a bunch of “toy” apps before you use React for your own apps. Once you are able to “think in React”, you’ll be nearly physically itchy to go re-code your app in React, and that’s how you know you’re ready. If you jump the gun, you are going to get stuck a lot, and it will be frustrating.
As you learn React and explore the React ecosystem, you will likely hear about Redux, which is a system for storing application state, and is commonly used with React apps. It looked complicated, and even its creator wrote a post saying you might not need Redux. So I skipped it. This was probably the right call when I was starting out. But as I fleshed out the ScoutDocs app and its complexity increased, I ran into a problem.
See, React breaks your app up into these nested chunks of UI and functionality called components. Data flows down through your components. So if a user updates their name, that change will flow down from higher up components like a Page component down to a PageHeader, down to a NavBar, down to a UserStatus. Once this is all set up and you update data in a parent component, the changes automatically flow downstream, and the UserStatus component updates and re-renders. It’s great. Except that there are a bunch of intermediate components that accept and “forward” that user name data to their children, without actually caring about it themselves. When you inevitably refactor something and need to add new data that flows through these components, every single intermediate one needs to be updated to pass it on. It is tedious. You will hate it.
Worse, because events in React flow upwards, if a user updates their name in the UserName component, that change needs to flow up to ProfileForm, up to Profile, up to Page, and then up to your main App component. When you refactor, you need to make sure this event forwarding chain stays connected. Yet more tedium that you will hate.
Redux solves this by letting your React components, no matter how deeply they are nested, subscribe directly to the data they need.
I really wish Dave Ceddia had written this excellent post about Redux two months earlier.
If you have a component structure like the one above – where props are being forwarded down through many layers – consider using Redux.
This is what I needed to hear, and knowing this would have saved me a lot of frustration and time that I now have to spend converting ScoutDocs to use Redux.
Use Redux when your React data flow starts to get unwieldy.
Another mistake I made early on was making the data my React components accepted too restrictive. For example, I wanted the ability to prefix a Row component with a clickable icon. So I let the component accept an icon and onClickIcon property. I just passed a Font Awesome icon name in, and a function I wanted to run when clicked. It worked great.
Then I needed to add a second icon in front, in some circumstances. Ugh. I certainly didn’t want to do otherIcon and onClickOtherIcon. Instead, what I should have done was let the component accept beforeRow which could be anything… like an array of <Icon> components or a single one or even other components altogether.
This can be used for many more situations than the one (“put an icon before the row”) that I’d originally envisioned.
Your React components should be flexible, so they can be reusable.
Other posts in this series:
- WordPress Rest API
- PHP 7
- Build tools
- Unit testing
To help your site be transparent to your visitors about using Akismet to process comments (think privacy and GDPR), our WordPress plugin now gives you the option to display a notice under your site’s comment forms. Site owners can decide if they want to display it, or not, on a per-blog basis.
But we’ve also given options to developers to extend the behaviour, and content, of said notice.WordPress option
The display of the notice itself, as well as the in-admin notice to set it for one’s site, all revolves around a new akismet_comment_form_privacy_notice option, which needs to be set to either display or hide.
If the option is not yet set, the front-end notice will not be displayed, but the in-admin prompting site owners to set it will.
Once set to either display or hide, the front-end notice will match the choice, and the in-admin notice will disappear.Filters
Overrides the returned value of the akismet_comment_form_privacy_notice option. This value can be display, or hide, and controls the display of the front-end privacy notice under comment forms.
Lets you customise the text and markup of the actual notice, which defaults to '<p class="akismet_comment_form_privacy_notice">' . sprintf( __( 'This site uses Akismet to reduce spam. <a href="%s" target="_blank">Learn how your comment data is processed</a>.', 'akismet' ), 'https://akismet.com/privacy/' ) . '</p>'. Note that if you choose to modify the markup, something needs to eventually point your users to https://akismet.com/privacy/, which will always display, or redirect to, our most up-to-date privacy related documentation.
If you have a lot of sites/blogs, you might also now be wanting to set the privacy display in bulk.
There are a few ways of doing that.
You can create a quick plugin that checks if the akismet_comment_form_privacy_notice option is set, and if it is not, set it for the current blog: update_option( 'akismet_comment_form_privacy_notice', $state ); where $state is either display or hide.
Or you could write a script that loops on your blog list, and set the same option, in one run.
In this episode, John James Jacoby and I are joined by Gary Pendergast, a WordPress core contributor, to discuss what’s new with Gutenberg. We find out what happened with WordPress 4.9.6, and discuss WordPress’ future. We also discuss Microsoft’s acquisition of GitHub and when WordPress core development might transition to GitHub. Last but not least, we share the news of the week.Stories Discussed:
Microsoft Acquires GitHub for $7.5B In Stock
Gutenberg 3.0.0 Released, 30th Release
Simple:Press Forum Plugin Is Up for Adoption
WordCamp for iOS Renamed to WP Camps, More Events Added
Sustainability + WordPress = SustyWP
Improving WordPress with Static Analysis
Next Episode: Wednesday, June 13th 3:00 P.M. Eastern
Subscribe to WordPress Weekly via Itunes
Subscribe to WordPress Weekly via RSS
Subscribe to WordPress Weekly via Stitcher Radio
Subscribe to WordPress Weekly via Google Play
Listen To Episode #319:
Simple:Press, a forum plugin for WordPress that has been around for more than a dozen years, is available for adoption. Developers Andy Staines and Steve Klasen announced their plans to shutdown operations last August on their customer support forum and have had little luck finding a suitable replacement.Simple:Press Forum in Action
Staines and Klasen will retire on August 1st. Everything related to the site, including the domain, plugin code, customer information, income, etc. will transfer to the new owner with no strings attached.
The forum plugin has been a labor of love for a long time. We don’t really want to see the plugin die because we have decided to retire. It has provided us a good secondary income for many years and has good potential for anyone who wished to make a go at it.
Simple:Press is not available on the WordPress.org plugin directory and generates revenue through memberships, themes, and plugins. Those interested in taking over the plugin or to find out more information can contact Klasen and Staines through the Simple:Press Forum contact form.
BuddyPress 3.1.0 is now available. This is a maintenance release that fixes 23 bugs and is a recommended upgrade for all BuddyPress installations.
Update to BuddyPress 3.1.0 today in your WordPress Dashboard, or by downloading from the wordpress.org plugin repository.
When Marcel Schmitz released his WordCamp for iOS app, there was concern that it violated the WordCamp Trademark policy. Schmitz has changed the name of the app to WP Camps, describes it as a companion app for WordCamps, and has added a number of upcoming events.WordCamp Kent, OH in WP Camps
In addition to these changes, Schmitz has also redesigned the app’s icon due to user feedback. Version 1.1 sets the stage for search, chat, a who’s on stage feature, and more.
If you’re organizing a WordCamp or WordPress event and want it added to the app, you can contact Schmitz on Twitter. You can also click on the About section within the App to send him an email.
WP Camps is an application for iOS devices and is available for free on the Apple App Store.
Settle in, because you are about to read some worst and some even worst experiences that I have had in my life and yet how I am still pulling myself together.
Before we get into it, I am going to tell you something about me. I am Libertarian, otaku. I LOVE to play with words. By profession I am an IT engineer but by passion I am a writer. I am writing about Microsoft & other Technologies for various publications. I am also writing about Exciting Technology & Mind-Boggling Science and am a co-founder of 2 sci-fi and technological news platform.
I was so engaged in the world of Computer and Technology since the school time. I was excited about HTML, CSS, C and other basic computer programming concept since school. Recently, I completed my Bachelor of Engineering study (result is yet to be declared, but I think I will pass in all subject). And as of now, I don’t have any plans for further studies. Phew.Talking about WordPress
My cousin introduced me with WordPress in 2010 when I completed 10th standard (grade). OMG! It’s been 8 years! However, at that time he gave me only basic WordPress work i.e.data entry. But later in college I was getting engaged in various freelancing work (mostly WordPress related) and that’s where the real journey with WordPress began!
As of now, I have designed & developed tons of websites with WordPress and modified up to dozens of themes. I enjoy working in WordPress so much that sometimes, I forget to take dinner. I am so committed to my work, it’s like passion to me.
Fast forward to September 2016, I submitted my first WordPress theme “Frindle” to WordPress theme directory. After waiting for nearly 5 months in theme review queue, in January 2017, the theme reviewer rejected my theme, because theme had “5 or more issues” (31 I remembered correctly). And I was back to square one. But after this setback I pushed myself and resubmitted theme again in the very next month. This time everything worked out and the theme was approved in April 2017 and went live on 1st July 2017.
A friend of mine from WordPress community set me up for an interview in her company. I got selected and they wanted me to join from very next day. I was so thrilled and excited but as I was still pursuing my engineering study. But, my college didn’t signed the NDA (for attendance) so I had to give up the opportunity.
Later on, I submitted 2 more themes to the official WordPress theme directory, Horkos & Ogee. Both of them are live right now and Ogee is getting significant user base. Later on, I joined a small web development company as a remote WordPress developer. And worked on so many projects.
While I was working on various freelancing WordPress projects, I was also doing content writing passionately. Now I am writing for several publication and news websites. Mostly I write about mind-boggling science and futuristic technology. Some of my anonymously written articles are featured on popular newsletter such as Slashdot.
While I was in the last year of study, my cousin set me up for an interview for internship/training program. Everything was going perfect. The interviewer was impressed from my resume, but all of sudden, he started asking questions about technology which I am not aware of. I straightly said, “With all due respect sir, I don’t know anything about it, but if it’s worth I am ready to learn.” God knows what he heard but within 2 minutes he ended up saying “You are just wasting your life. You can go now.” I was like, man, it took me 30 minutes to find your office, please hear me out.
But everything changed after this interview. When I was driving home from this interview, I got a call from an old friend and he asked me to write sci-fi articles for his new website. Wait! On the same day I got an email from a popular news website asking me to come onboard as a senior editor. I was like this is the worst best day of my life.So no WordPress?
Well, here’s something good. In addition to this, right now I am perusing internship for PHP/WordPress and front-end developer in an MNC company. I am learning so many things nowadays, collaborating with team, project management, communication with clients and more!Life nowadays
Every day, I wake up with a new task and go to sleep with a new idea. What is most aspiring in this is the platform that we all associated with. Even though I practice polyphasic sleep, I still need 5 extra hours in a day.
I don’t work for money, I just do it because I am so passionate about it. I mean money is important but work is not just about it. It’s about the satisfaction I feel when I see the impact I make on the community.
I am 22, but as of now, I don’t have a 9 to 5 permanent “job” nor a shoulder to cry on (you know what I mean). But I work a LOT. I love my keyboard. I’m highly sensitive. I spend my days immersing myself in the personal growth world. Maybe in some ways, I’m (definitely) not normal – some of the ways that I go against the grain of the society. And you know what? It’s okay.
So yeah, I’m comfortably okay with the basic skills which I possess. I wonder when people will understand that it’s okay to be “okay”. Everything that was still is. So, whether I like it or not, I pull myself together and I do it all again.
Jack Lenox, a Software Engineer at Automattic, has launched a new site called SustyWP that focuses on web sustainability using WordPress.
By removing the parts of Underscores he didn’t need, using one inline SVG image, no sidebars, limited CSS, and no webfonts, Lenox was able to launch a WordPress site that only has 7 Kilobytes of data transfer.
As you might expect, the site crushes page speed and performance benchmarks. The site is also hosted in a data center that uses 100% renewable energy. To learn how and why he built the site, check out his detailed blog post.
While only transferring seven kilobytes of data is commendable, these days, websites are feature-rich. I wonder how practical his methods are for large and complex sites.