Monthly Archiv: April, 2020

Site News: Blast from the Past – One Year Ago in PHP (04.30.2020)

Here's what was popular in the PHP community one year ago today:

PHP Web Push Notifications Server

Package:
PHP Web Push Notifications Server
Summary:
Queue and push notifications to Web users
Groups:
PHP 7, Web services
Author:
Stefan Kientzler
Description:
This package can queue and push notifications to Web users...

Read more at https://www.phpclasses.org/package/11632-PHP-Queue-and-push-notifications-to-Web-users.html#2020-04-30-05:00:49

LMSQL

Package:
LMSQL
Summary:
Connect and perform MySQL database queries
Groups:
Databases, PHP 5
Author:
Arash Soleimani
Description:
This class can connect and perform MySQL database queries...

Read more at https://www.phpclasses.org/package/11608-PHP-Connect-and-perform-MySQL-database-queries.html#2020-04-30-01:41:49

PHP Internals News: Episode 51: Object Ergonomics

PHP Internals News: Episode 51: Object Ergonomics

In this episode of "PHP Internals News" I talk with Larry Garfield (Twitter, Website, GitHub) about a blog post that he was written related to PHP's Object Ergonomics.

The RSS feed for this podcast is https://derickrethans.nl/feed-phpinternalsnews.xml, you can download this episode's MP3 file, and it's available on Spotify and iTunes. There is a dedicated website: https://phpinternals.news

Transcript

Derick Rethans 0:16

Hi, I'm Derick. And this is PHP internals news, a weekly podcast dedicated to demystifying the development of the PHP language. This is Episode 51. Today I'm talking with Larry Garfield, not about an RFC for once, but about a blog post that he's written called Object Ergonomics. Larry, would you please introduce yourself?

Larry Garfield 0:38

Hello World. My name is Larry Garfield, also Crell, CRELL, on various social medias. I work at platform.sh in developer relations. We're a continuous deployment cloud hosting company. I've been writing PHP for 21 years and been a active gadfly and nudge for at least 15 of those.

Derick Rethans 1:01

In the last couple of months, we have seen quite a lot of smaller RFCs about all kinds of little features here and there, to do with making the object oriented model of PHP a little bit better. I reckon this is also the nudge behind you writing a slightly longer blog post titled "Improving PHP object ergonomics".

Larry Garfield 1:26

If by slightly longer you mean 14 pages? Yes.

Derick Rethans 1:29

Yes, exactly. Yeah, it took me a while to read through. What made you write this document?

Larry Garfield 1:34

As you said, there's been a lot of discussion around improving PHP's general user experience of working with objects in PHP. Where there's definitely room for improvement, no question. And I found a lot of these to be useful in their own right, but also very narrow and narrow in ways that solve the immediate problem but could get in the way of solving larger problems later on down the line. So I went into this with an attitude of: Okay, we can kind of piecemeal and attack certain parts of the problem space. Or we can take a step back and look at the big picture and say: Alright, here's all the pain points we have. What can we do that would solve not just this one pain point. But let us solve multiple pain points with a single change? Or these two changes together solve this other pain point as well. Or, you know, how can we do this in a way that is not going to interfere with later development that we've talked about. We know we want to do, but isn't been done yet. So how do we not paint ourselves into a corner by thinking too narrow?

Derick Rethans 2:41

It's a curious thing, because a more narrow RFC is likely easier to get accepted, because it doesn't pull in a whole set of other problems as well. But of course, as you say, if the whole idea hasn't been thought through, then some of these things might not actually end up being beneficial. Because it can be combined with some other things to directly address the problems that we're trying to solve, right?

Larry Garfield 3:07

Yeah, it comes down to what are the smallest changes we can make that taken together have the largest impact. That kind of broad picture thinking is something that is hard to do in PHP, just given the way it's structured. So I took a stab at that.

Derick Rethans 3:21

What are the main problems that we should address?

Larry Garf

Truncated by Planet PHP, read more at the original (another 29525 bytes)

Free Video Conferencing Software

If you are looking for video conferencing software, either to conduct virtual meetings, online courses, or even just to collaborate on a project or document, take a look at these free open source software. With these, you don't have to rely on third-party online services over which you have little or no control.

WordPress 5.4.1

WordPress 5.4.1 is now available!

This security and maintenance release features 17 bug fixes in addition to 7 security fixes. Because this is a security release, it is recommended that you update your sites immediately. All versions since WordPress 3.7 have also been updated.

WordPress 5.4.1 is a short-cycle security and maintenance release. The next major release will be version 5.5.

You can download WordPress 5.4.1 by downloading from WordPress.org, or visit your Dashboard → Updates and click Update Now.

If you have sites that support automatic background updates, they’ve already started the update process.

Security Updates

Seven security issues affect WordPress versions 5.4 and earlier. If you haven’t yet updated to 5.4, all WordPress versions since 3.7 have also been updated to fix the following security issues:

  • Props to Muaz Bin Abdus Sattar and Jannes who both independently reported an issue where password reset tokens were not properly invalidated
  • Props to ka1n4t for finding an issue where certain private posts can be viewed unauthenticated
  • Props to Evan Ricafort for discovering an XSS issue in the Customizer
  • Props to Ben Bidner from the WordPress Security Team who discovered an XSS issue in the search block
  • Props to Nick Daugherty from WordPress VIP / WordPress Security Team who discovered an XSS issue in wp-object-cache
  • Props to Ronnie Goodrich (Kahoots) and Jason Medeiros who independently reported an XSS issue in file uploads.
  • Props to Weston Ruter for fixing a stored XSS vulnerability in the WordPress customizer.
  • Additionally, an authenticated XSS issue in the block editor was discovered by Nguyen the Duc in WordPress 5.4 RC1 and RC2. It was fixed in 5.4 RC5. We wanted to be sure to give credit and thank them for all of their work in making WordPress more secure.

Thank you to all of the reporters for privately disclosing the vulnerabilities. This gave the security team time to fix the vulnerabilities before WordPress sites could be attacked.

For more information, browse the full list of changes on Trac, or check out the version 5.4.1 HelpHub documentation page.

In addition to the security researchers mentioned above, thank you to everyone who helped make WordPress 5.4.1 happen:

Alex Concha, Andrea Fercia, Andrew Duthie, Andrew Ozz, Andy Fragen, Andy Peatling, arnaudbroes, Chris Van Patten, Daniel Richards, DhrRob, Dono12, dudo, Ehtisham Siddiqui, Ella van Durpe, Garrett Hyder, Ian Belanger, Ipstenu (Mika Epstein), Jake Spurlock, Jb Audras, John Blackbourn, John James Jacoby, Jonathan Desrosiers, Jorge Costa, K. Adam White, Kelly Choyce-Dwan, MarkRH, mattyrob, Miguel Fonseca, Mohammad Jangda, Mukesh Panchal, Nick Daugherty, noahtallen, Paul Biron, Peter Westwood, Peter Wilson, pikamander2, r-a-y, Riad Benguella, Robert Anderson, Samuel Wood (Otto), Sergey Biryukov, Søren Brønsted, Stanimir Stoyanov, tellthemachines, Timothy Jacobs, Toro_Unit (Hiroshi Urabe), treecutter, and yohannp.

A Guide to Using Commercial WordPress Themes and Plugins

The WordPress ecosystem is chock full of outstanding free software. Why, you could build an entire website using an attractive free theme and a selection of highly-functional plugins.

But free solutions aren’t always the best ones. This is especially the case for web designers who build sites for clients. Sometimes, commercial software is needed to achieve professional-grade results.

Investing in commercial themes and plugins can often be the right choice for your project. However, it also brings a certain set of responsibilities. These are things that designers often overlook. Unfortunately, doing so can lead to problems down the road.

Therefore, it’s important to think about what using commercial WordPress software means. Today, we’ll take a look how you can keep things running smoothly both now and in the future.

Licensing and Payment Issues

On the surface, the question of who pays for a particular piece of software may seem obvious. It should be the client’s responsibility, right? Well, it’s a bit more complicated.

If the software in question, let’s say a WooCommerce extension, is going to be used exclusively for the client’s website – they should be the one to pay. Whether you purchase the software and bill them later or have them buy it directly (the better option), your client should be the license holder in this case.

However, a lot of themes and plugins these days have developer licensing options. This allows a web designer to purchase a single license for use on a predetermined number of projects – sometimes even unlimited. This muddies the waters a bit.

At best, it can be a win-win situation. You get to utilize a trusted product without licensing hassles and your client reaps the benefits of it.

Still, there is the potential for future issues. As your work evolves, you may not necessarily use a particular theme or plugin forever. If that software has yearly license renewals, you may be stuck purchasing it anyway – just so your existing client websites don’t fall out-of-date.

A person holding a credit card.

Leaving Clients in a Lurch

One of the biggest issues with commercial software in the WordPress space isn’t the software itself – it’s mismanagement by designers.

If you’ve ever inherited a website from another designer, you may have witnessed this first-hand. A theme or plugin is in use, but incredibly outdated. Yet, the license key required to install an update is nowhere to be found. Or, worse yet, the software was directly customized by the previous designer – making an update even more precarious.

This may not be a big deal – at least not right away. But eventually something will go wrong. The more updates applied to your WordPress install, the more likely it is that the old software will break.

Nothing in the WordPress ecosystem is frozen in time. Things are constantly changing. In that sense, leaving a client with something that can’t be updated is akin to leaving a hidden trap. At some point, their site is going to become entangled in it.

And, when it involves critical components such as themes or page builder plugins, the effort and cost to make repairs can be significant.

A person holding a light in a dark tunnel.

Best Practices for Commercial Themes and Plugins

So, how can we take advantage of commercial offerings while doing right by our clients? Here are a few ideas:

Always Use Licensed Software

One of the biggest mistakes a designer can make is using unlicensed software on a client’s website. For example, taking a plugin that was licensed for one domain and installing it on another.

Functionally speaking, this puts the site at risk as the plugin can’t be updated. Beyond that, it’s also hurting that plugin’s author as well.

It should probably go without saying, but we’ll say it anyway: Only install plugins and themes if they are licensed for your project.

Inform Clients of Licensing Requirements

It’s important that clients understand their role in staying on top of software licensing. They should have all relevant license keys for software they’ve purchased. It will come in handy if they need to reference it later on.

In addition, clients should be aware of when licenses will renew and why it’s important to stay updated. At that point, it’s out of our hands. The best we can do is educate clients in hopes that they follow through.

Customize the Right Way

Like everything else in web development, it’s important to make any commercial theme or plugin customizations in a sustainable manner. This means using child themes and WordPress hooks as opposed to directly editing files.

This helps to ensure that any customizations won’t be lost during future software updates. Otherwise, your clients may be in for an unwelcomed surprise when a feature no longer works as intended.

Hand off Projects That Can Be Updated

Launching a website and handing it off to a client is a time of optimism. Everything is new, fresh and functional. But if a piece of commercial software can’t be updated in the future, that good feeling won’t last.

Make sure that any commercial themes and plugins can be upgraded via the WordPress dashboard. This helps to ensure that your client’s new website will receive the latest features, along with bug and security fixes.

If a particular component has to be updated manually, let your client know. This way, you can work as a team and plan ahead.

A person writing code.

A Little Effort; A Lot of Benefits

It may sound like using commercial software with WordPress is a hassle. Actually, it only becomes a problem if we neglect the accompanying responsibilities.

More than anything, the key to keeping things humming along is communication. Clients need to know what needs to be done, how much it will cost and why it’s important to keep up with licensing. This will prevent the vast majority of issues from ever popping up.

In addition, web designers must build and hand over their projects to clients with sustainability in mind. This means that every component of a website is able to be updated now and five years from now.

So, use your favorite commercial themes and plugins without hesitation. Just make sure that you’re utilizing them with the future in mind.

The post A Guide to Using Commercial WordPress Themes and Plugins appeared first on Speckyboy Design Magazine.

Powered by Gewgley