Next Phase of the WordPress Theme Review Overhaul: Open Meeting and Call for Feedback

The WordPress.org Themes Team announced an open discussion and date for a Zoom meeting with theme authors. The team is proposing a new set of guidelines that reduces and simplifies what is currently in place. Comments on the proposal are open through July 26, and the meeting is set for July 28, 2 pm CET.

This is the next step in an ongoing plan to revamp the review system and make it easier for the WordPress community to submit themes. It comes after months of waiting to see the results of earlier discussions unfold.

In January, the state of the theme review system seemed to have reached a crossroads. The Themes Team, a group of gatekeepers that oversees submissions to the official WordPress.org theme directory, had been making strides in the previous couple of years. Its members had cleaned up most of the submissions backlog, but they still had a lot of work ahead to smooth out the review process. On the whole, a series of incremental improvements seemed to be working at the time, albeit slowly.

Then, WordPress project lead Matt Mullenweg dropped a bombshell via the Post Status Slack:

The .org theme directory is particularly bad when you compare it to any half-decent commercial theme marketing page, or the designs available on other site building services or Themeforest directories. The .org theme directory rules and update mechanism have driven out creative contributions, it’s largely crowded out by upsell motived contributions.

It was an age-old discussion of whether the theme review guidelines were too high of a barrier for entry into the directory.

Were WordPress users missing out on the best themes because the most innovative theme authors were not playing in the .ORG sandbox? If so, were the rules driving them away?

No one can know if a more lenient, free-for-all atmosphere would have unleashed a mountain of creativity paralleling or besting commercial theme producers. But, perhaps if the team opened things up, it would test the theory.

That initial post led to a series of discussions and a decision to overhaul the system. However, the Themes Team would need some help from the Meta Team to implement more automation of its grunt work, such as security and other code checks. Behind the scenes, pieces of that system have been put into place in the months since.

Guidelines Proposal and Questions

Decorative image that uses letters from the game of Scrabble to spell out 'RULES'.

Themes Team representative Carolina Nymark listed a set of 13 overarching guidelines, each with sub-guidelines of their own. The proposal significantly simplifies the current rules for submission into the directory.

She asks that theme authors review the proposal and answer the following questions in the comments ahead of the meeting:

  • Will the updated requirements make it easier for you to submit themes?
    – If no, what is making it difficult for you to submit themes?
  • Will the updated requirements make it easier for you to review submitted themes?
    – If no, what is making it difficult for you to review themes?
  • Are there requirements that need to be removed, and why?
  • Is there anything in the list of requirements that is unclear? Describe the issue.
  • Can the formatting of the page be improved to make it easier to read?

The current proposal is more expansive than the shortlist of guardrails WordPress executive director Josepha Haden Chomphosy mentioned in a post that laid out the next steps. Most of these were not meant as blockers for submission.

“Rather we should use the list to flag themes that have/don’t have each thing and show them in results accordingly,” she wrote. “Likely exceptions to this would be proper licensing, adherence to fair use of the trademark, and a ban on child pornography or other images of anyone unable to provide consent.”

The goal was to put more responsibility into the hands of users, granting them privileges to say whether a theme was working or not. This would take a lot of the work off the shoulders of the review team.

Another part of the original proposal was to mark themes with “quality tags” that went above and beyond the baseline for approval. For example, internationalization (i18n) and accessibility (A11Y) are items that do not stop a theme from technically working. Instead of making these requirements, themes would merely be tagged if they met those standards.

Presumably, there would be incentives for taking those extra steps for theme authors, such as higher search rankings, the ability to be featured, and more. It is not that i18n and A11Y standards are unimportant, but they are sometimes hindrances to first-time authors. And, they definitely fall within the range of things that end-users can dock themes for in the ratings.

Many will take a hard stance on i18n and A11Y, but they are merely examples. A less controversial guideline might be the one that proposes that themes can only recommend plugins directly hosted on WordPress.org. Why should that be a blocker for inclusion in the directory? Some will say there is no good reason for it since themes are disallowed from installing plugins anyway. There are no technical issues with allowing such recommendations.

It is these sorts of rules that have plagued the theme review process over the years. Often, it moves discussions into ideological territory that most users do not care about. They just want themes that work.

Under the new proposal, moving to 100% blocks would further reduce requirements for developers. Currently, classic themes have a more extensive list of rules they must adhere to. Many of these are unnecessary for block themes, essentially cutting everything back to including a few required files. Most of this can and should be automated in the long term since they are necessary for a functioning theme.

Right now, the 13 guidelines (and their sub-guidelines) are only a proposal. Theme authors have a voice, but they must use it. As is so often the case, decisions are made by those who show up. Far too often, the team is shouting into the void, awaiting a response that rarely comes.

For theme authors who are invested in the future of the WordPress theme directory, that July 28 meeting is a can’t miss opportunity. Early responses via the comments on that post will also help shape the conversation.

WooCommerce 5.5.2 Fixes Performance Issues Found After Forced Security Update

WooCommerce has shipped version 5.5.2 as a follow-up to the forced security update that patched a SQL Injection vulnerability last week. The vulnerability impacted versions 3.3 to 5.5 of the WooCommerce plugin, as well as versions 2.5 to 5.5 of the WooCommerce Blocks feature plugin. The team created a patch for more than 90 releases, which was sent as a forced security update from WordPress.org, due to the potential severity of impact for millions of WooCommerce installations.

Shortly after the automatic update rolled out, many store owners started reporting serious performance issues on both WordPress.org and GitHub. Some users reported database crashes after receiving the automatic security patch in 5.5.1. One user reported a painfully slow, endless query that was “crippling to our operations,” with similar reports on GitHub of this same query “causing the entire server to go down.”

Those with a large number of products in their databases were impacted more frequently. “We run a fairly big DB – 17k products,” one user said. “This has been a nightmare.”

Store owners affected by this issue had resorted to downgrading to the previous releases at WooCommerce’s recommendation. They shared temporary workarounds to disable the query while WooCommerce investigated the issue. The problem was reported so frequently that it became a high priority for the team to fix.

A week ago, WooCommerce developer Adrian Duffell reported back that they had determined the cause was twofold:

  1. A slow SQL query used to retrieve the products that are low in stock. This SQL has been in WooCommerce for a number of releases.
  2. A REST API request, which executes this SQL query, is called more frequently in WooCommerce 5.5 than in previous versions.

A combination of these factors was causing the degraded server performance when users updated to WooCommerce 5.5. A fix was released in WooCommerce Admin 2.4.4 three days ago, and the fix was also added to core today in 5.5.2. Users who had put workarounds in place are advised to remove them after updating to the latest release.

BDD-Based Integration Testing Framework for Nebula Graph: Part 2

In BDD-Based Integration Testing Framework for Nebula Graph: Part 1, I introduced the evolution of integration testing for Nebula Graph. In this article, I will introduce how to add a test case into the test set and run all the test cases successfully.

Preparing Testing Environment

At the beginning of building the testing framework for Nebula Graph 2.0, we developed some tool classes to help the testing framework quickly start and stop a single-node Nebula Graph cluster, including checking for port conflicts and modifying part configurations. Here is the original execution procedure:

What are the pros and cons of plain PHP or Classic ASP?

What are the pros and cons of plain PHP or Classic ASP?

PHP and Classic ASP are server-side scripting languages. What is wrong with having a website written in this instead of the trendy JavaScript Frameworks like React, Angular etc.? If memory serves me correctly, there is an issue with security where you can post in a text box some script and hack into a system.

Can we please discuss some pitfalls or drawbacks to having a website written entirely in PHP or ASP? What does a JavaScript framework or Node.js bring to the table that would otherwise be lacking?

I am just now venturing into a contract where I am tasked with updating and maintaining existing code. All I know right now is that it is written in PHP and Classic ASP. I am in the process of investigating these scripting languages and I want to know what the opinion of other developers are.

Improve Your Engineering Pipeline with Value Streams

Software development and delivery are critical. But how do you determine what value you get from all of that investment?

Value Stream Management helps companies improve, monitor, and manage value so they can better visualize how work flows from idea to realization.

On last week's episode of Dev Interrupted, I interviewed Helen Beal, Chair of the VSM Consortium, DevOps coach, author and "flowologist", to understand her research on Value Stream Management. Helen's research can also be found here.

Episode Highlights Include:

  • What is Value Stream Management?
  • How companies can best utilize VSM in their engineering pipeline
  • What is the VSM Consortium and what are it's goals?
  • Technical writing as a force multiplier in your career

Join the Dev Interrupted Server

With over 1200 members, the Dev Interrupted Discord Community is the best place for Engineering Leaders to engage in daily conversation. No sales people allowed. Join the community >>

How to Trademark a Business

A trademark protects your brand identity from copycats. If you have a unique and impactful name, slogan, or design, you need to make sure no other business can profit from your property.

Intellectual property theft costs US businesses $225 to $600 billion a year. Having a trademark will help prevent your business from suffering any losses.

Filing for a trademark is a complex legal process. But it’s certainly worth it. 

In this guide, we’ll take you through the process step by step.

The Easy Parts of Trademarking a Business

Apply Online

You don’t have to deal with a bunch of paperwork that may get lost in the post. You can apply for your trademark online via the United States Patent and Trademark Office (USPTO), making the process convenient.

An Information-rich Application

The people at USPTO must know how difficult and intricate their application is. For this reason, there’s lots of information and guidance directly within the application to help you along the way. What’s more, its website contains detailed guidance, such as tutorials.

Even though the process can be complex, they’re trying their best to make it easier.

The Difficult Parts of Trademarking a Business

A Lengthy Process

You may not realize that preparing to file your trademark application takes a ton of time. Performing a clearance search to check that no other marks are similar to yours will eat up most of this time. 

The reason being there’s no room for mistakes. You don’t want to risk having your application rejected or legal struggles at a later date.

Then, when you file your application, USPTO needs to perform checks of its own and forward your application to an examining attorney. This whole process can also take several months.

And the annoying thing is there’s no guarantee that you’ll even get the trademark.

You May Make Mistakes

There’s a lot of key information about your business and the trademark you need to put in your application. You really need to make sure you’ve dotted your i’s and crossed your t’s. Because if your application is rejected, you won’t receive a refund of the application fee.

Hence, it may be worth hiring a professional to file the trademark application for you. This will make the complicated process go smoother and likely quicker. 

You can talk to your legal counsel or find a business formation service that offers trademark filing services. 

MyCorporation, for example, provides this service and includes an extensive clearance search.

Step 1: Know What Kind of Application You Need

Before you do anything, you should make sure you’re familiar with the options available to you. If you file the wrong kind of application, you may be in for a lengthier and more expensive process.

Trademark vs. Patent vs. Copyright

Each of these terms is a form of intellectual property. You need to know the difference between them to ensure you properly protect yourself legally.

To put it simply, a trademark covers your name and logo. But it also can protect any slogan, design, word, symbol, or similar that’s unique to your business.

A patent protects the rights of an inventor. And if you’ve watched Shark Tank, you’ll know that you can apply for a utility and/or design patent.

Copyright covers an original work, e.g., software, literature, or images.

The Types of Trademark

You must know precisely which type of trademark you need before you register. The four different types are:

  1. Trademark – for businesses that sell goods.
  2. Service mark – for businesses that offer services.
  3. Collective mark – to separate goods and services sold by members of a particular group from non-members.
  4. Certification mark – proof that a business has met certain standards and regulations.

TEAS Standard vs. TEAS Plus

You can also file two types of trademark applications with USPTO, the TEAS Standard and TEAS Plus.

If you can make a complete application right off the bat, you can use the TEAS Plus filing option. It’s the cheaper option at $250 and is usually quicker to go through. 

But if you don’t have all of the information you need to fill in the form, you’ll have to go with TEAS Standard, which costs $350.

Step 2: Carry Out a Clearance Search

You need to make sure that no other business has a similar name and/or design to yours. 

The USPTO does its own search for each application, and if it finds something similar, your application will be rejected. Moreover, if your trademark resembles another too closely, you may face legal action down the line. That’s why you have to put in your due diligence here.

Know Exactly What You Want to Trademark

It may seem obvious. But you really can’t go into this kind of thing half-assed.

You must explicitly define what you want to trademark. Is it only words, such as your business name? Is it stylized words and/or design, e.g., your logo?

You also must define the goods or services the trademark will represent.

Search the USPTO Database

Use the Trademark Electronic Search System (TESS) to see if there are any existing or pending trademarks confusingly similar to yours. 

If you don’t do this, then there’s a big chance your application will be rejected. 

When you visit TESS, you’ll see that she has three different search options:

Basic Word Mark Search

Use this to search for the words in your business name, slogan, or whatever it is you hope to trademark. 

Type your words in the Search Term bar and hit Submit Query. You’ll then get a list of word marks related to your query, like so:

Word and/or Design Mark Search (Structured)

You can use this form if you’re new to TESS. Though, the process is still rather complex. Again, this is why you may want to look into getting help from a business formation service.

First, choose a field from the dropdown menu to decide which category you want to search in. 

For example, you’d select Goods & Services to search for businesses with a similar offering to yours.

If you want to search for similar design elements to your logo, you’ll need to enter a design code into the search box and choose Design Code from the field menu. 

Use the USPTO Design Search Code Manual to find appropriate design codes.

To build on your search, use search operators. For instance, you may wish to search for trademarks with a name AND design similar to yours.

For instance, let’s say you have a bakery called Cute Cakes with a cupcake in the logo. 

You’d need to select Basic Index from the Field section and type in “Cute” to find any other businesses with the term “cute” in the title.

Select AND from the Operator menu.

Then select Design Code from the next Field menu. Type in the code for cupcakes which you find in the design code manual. And you’ll end up with something like this:

It turns out there are a couple of similar trademarks in existence:

Word and/or Design Mark Search (Free Form)

This kind of search is the most efficient but requires expert knowledge of using the TESS platform.

Decide if It’s Worth Moving Forward

During this process, you should search for both marks that are exactly the same as yours and also similar marks. For instance, there may be another company with the same name, but it has a slightly different spelling.

This kind of thing could lead to legal problems. Plus, it’s just not a good idea business-wise. You want a brand that stands out from the crowd, after all.

If, after a comprehensive search, you think your mark is too similar to another, you may wish to go back to the drawing board.

Step 3: File Your Trademark Application

Now you’re ready to file your application with USPTO. Go through the application carefully, and make sure you are thorough.

Create a JPG Image

You must attach a JPG image of what you wish to trademark if your mark includes stylized wording and/or a design. 

If you’ve already used the mark, symbol, or logo in a commerce transaction, you must also submit a specimen of it in action—for example, a label or tag attached to goods.

You don’t need to attach a specimen right away if you file a TEAS Standard application, but it is necessary for the TEAS Plus. This is a good example of how the two differ.

File Your Application Online

To apply for a trademark online, you must first create an account with USPTO.gov. Then select the type of application you wish to file for, i.e., TEAS Standard or TEAS Plus.

Fill out all of the mandatory fields and any additional areas you may require.

The information you must fill in includes basic applicant information, such as the mark owner, and personal details, like your business address.

You’ll also need to select the type of mark you wish to apply for, Standard Mark (words only) or Special Form (stylized words and design)

For the former, you’ll simply type in your words. For a Special Form mark, attach your JPG image.

Another important page is the Goods & Services page. Here you’ll describe the goods and services you want to trademark.

Use the USPTO ID manual to find the proper terms to describe your goods or services.

The trick is to be as specific as possible. As you can see here, in some cases, the term “T-shirts” may not suffice:

Then there’s the Filing Basis section which refers to why you’re making a trademark application. 

Most applicants select either Actually using mark in commerce now or No use of mark yet, intending to use. In other words, are you selling stuff with your logo on it now? Or do you intend to in the near future?

If you’re using the mark now, this is where you’ll need to submit your specimen JPG.

When you’ve filled in all of your info, be sure to double-check everything on the Validation Page. The last thing you want is to delay the already lengthy process or even get rejected because of silly mistakes.

Step 4: Follow-Up on Your Application

Once you’ve filed your application, your journey doesn’t end there. You’ll want to monitor the progress of your application and take swift action if anything goes wrong.

Monitor the Progress of Your Application

It’s up to you to keep an eye on the status of your trademark application. You can do this by visiting the Trademark Status & Document Retrieval system (TSDR).

To check the status of your application, you’ll need to enter your serial, registration, or reference number.

You’ll first need to confirm that your application has been received within three weeks. After that, you should check its status at least every six months. That way, if there’s a problem with your application, you can act quickly to find a resolution.

Respond to Office Action

You’ll receive a letter from USPTO (office action) if they decide not to register your trademark. It’ll outline the “substantive reasons” for the rejection in the letter, including any errors made when you completed the application.

There are a few different “substantive reasons” why you might be rejected. For example, a confusingly similar mark:

Alternatively, there may be some minor corrections you can make to get your application back on track.

You have to respond to the office action within six months, or your application will be abandoned. You’ll receive an email to inform you that a letter has been sent. The email contains a link to the form you need to use to respond to the office action.

After your response, you’ll either receive notice that your application has been accepted or a final notice from USPTO that your mark will not be registered.

Knowledge Models and Causal Diagrams

A new term is floating around the Computer Science Artificial Intelligence circles that is catching on — “Causal Science” — and it seems this technique helps us better predict future behaviors. The father of Causal Science is none other than Judea Pearl, the same Judea Pearl that created Bayesian Networks. His work on Bayesian networks and causation was so profound that in 2011 Professor Pearl was awarded the highest honors in both Computer Science and Human Cognition. He was awarded the Allen Turing Award “for fundamental contributions to artificial intelligence through the development of a calculus for probabilistic and causal reasoning”. Additionally in the same year, he received the Rumelhart Prize for Contributions to the theoretical foundation of human cognition. 

When someone, in the same year, wins an award for contributions to theoretical foundations of Human Cognition and the equivalent to the Nobel prize for Computer Science, that person is probably on to something, and we should pay attention.

Mobile Testing Using TestProject

Introduction:

TestProject is a free cloud-based end-to-end test automation platform for web, mobile and API testing. TestProject is created on top of popular existing open-source test automation frameworks like Selenium and Appium.  It supports popular operating systems like Windows, Mac & Linux which helps us to test Web, Android, and iOS applications effortlessly.

The official website of TestProject is here.

CockroachDB + GeoServer = Horizontally Scalable Spatial Apps

CockroachDB is a relational database that looks very much like PostgreSQL but with the added benefits of horizontal scalability, zero-downtime upgrades, and the ability to survive the loss of a node, an availability zone, or even an entire cloud region. With its recently added spatial capabilities, which are very closely aligned with PostGIS, developers of spatial applications now have an option for when they need a scale out data store. GeoServer is a popular open-source server that allows users to edit and display spatial data. GeoServer is OGC compliant and interoperable with commonly used mapping software such as OpenLayers, Leaflet.js, MapBox, and Google Earth.

If you're curious about how to integrate these two technologies, please read on. The process is very much like adding PostgreSQL as a vector data source, with the exception of the two details I'll elaborate on below. First, you need to log into the CockroachDB instance via a SQL client as a user with "admin" credentials, then make the following change:

The Democratization of Development in the Enterprise

The software development process has been opening up to non-engineers through concepts like low-code and no-code, ushering in the age of the democratization of development. The people involved in making software are changing — anyone with an Internet connection can build an application, even without programming knowledge.

Plenty has been written about the implications for individuals. But what does this overarching trend mean for businesses? How does the democratization of development tend to play out when it comes to generating and delivering business value? And what does it look like at an enterprise level?

CircleCI vs. GitLab: Choosing the Right CI/CD Tool

He is a gifted driver. Famed for speed, reverse J, and drifts. He can breeze through the Moscow and Mexico traffic without sweating a drop. Of course, no one gets cracking on Bengaluru roads  But despite being so adept behind the wheels, he sometimes fails to champ the street races. Screeching tyres buzz in his head doesn’t let him sleep at times. I wish to tell him it’s not always about the driver, sometimes it’s the engine. That’s what happens when the right dev talent uses wrong, inefficient, incompatible CI/CD tools. The DevOps technologies you chose can abruptly break or smoothly accelerate your software development cycle. This article explores the Ford & the Ferrari of the CI/CD world in detail, CircleCI vs. GitLab, to help you pick the right one.

Why Is CI/CD Important?

Modern software development approaches prioritize automating repetitive processes. ‘Lean, modular, iterative development is the new mantra of the dev community.

A Secure Online Payment for Cloud Marketing

Introduction

With modern technology and innovations, businesses' have no limits. Even a small shop can go global using an eCommerce platform and third-party payment solutions. The biggest challenge for online businesses is accepting payments. Transferring money requires a FinTech solution, combining multiple solutions into a single website payment processing platform. 

eCommerce payment processing is a modern necessity now. So, when the customers get the facility to buy something with a touch of a finger sitting at home, the business gets tremendous benefits. The transaction volume of the online transaction has multiplied 2000 times in the last couple of years. Volume-wise it has increased more than 41 times. This highlights the growing penetration of online payment across the globe. 

Explaining Cloud Computing in Layman Terms

Defining Cloud Computing in Simple Terms

Cloud computing renders businesses increased efficiency, cost-saving, plus a seamless boost in performance and data security.

Before going further, let's start by defining cloud computing in layman terms: cloud computing is using the internet to store, access, and secure applications, data servers, and networking hardware and software. You can rent various cloud services, including applications, storage, and computing power, on a pay-as-you-go basis. As a result, you can save on the costs of owning local storage servers.

Applications of AI and ML in 2021 mHealth

The healthcare industry has undergone a significant transformation in the past few years. The expansion and influence of machine learning and artificial intelligence have given a rise to a new ecosystem. Still, most times, those two technologies are described as a magic wand that has come to change the system. 

The Rise of Health Mobile Apps: A Market Overview

Mobile health (shortly mHealth) refers to public health and medicine delivery services through mobile devices. With digitalization gradually covering all the segments, the healthcare industry has registered significant growth in mobile apps.

Automation of Business Transaction Reconciliation

Reducing time for disaster recovery is crucial for organizations needing to achieve operational resiliency. This article helps CIOs, CTOs and IT development teams understand the complexity of maintaining stateful transaction processing with participating applications, auto reconciliation and visualization. It also provides information for organizations setting up high recovery mechanisms for transaction reconciliation and settlement in case of failure, as well as transaction disruption events during a network failure.

Problem Statement

Many organizations spend huge amounts of time manually settling business transactions when there is a complete fail-over of an application or site zone failure to another application site zone. The fail-over condition arises due to uncontrolled network failure, OS failure, hardware failure or DR drill. The availability and processing of time-bound and business-critical transactions across application site zones are needed by many organizations, especially financial institutions. The automation of this requirement needs technical support and solution implementation.

The Utils for Repeated Item Scope Event Handlers

Introduction

In the article "Event handling of Repeater Item" we considered how to handle events in the repeater items and why we shouldn't nest event handler inside the Repeater loop. There we created a code snippet that encapsulates the logic for receiving item selector and item data.

Copying and pasting the snippet of code isn't comfortable. Therefore I moved these little helpers to npm package repeater-scope. You can install this package using Package Manager.