10 Unique And Creative Beverage Packaging Designs

Some of the coolest types of projects in the world of graphic design are package designs, and beverage packaging is perhaps the coolest of all.  Not only do designers get to showcase their artistic talents, they are challenged to do so in a way that facilitates function.  After all, beverage packages are also liquid containers...

The post 10 Unique And Creative Beverage Packaging Designs appeared first on DesignrFix.

WooCommerce 6.3 to Introduce New Product Filtering by Attributes

The WooCommerce development team released the first RC for version 6.3 this week. The upcoming major release is expected on March 8, 2022, and is set to introduce an exciting, long-awaited feature: a new lookup table that will offer the ability the accurately filter products by attributes.

Shop owners who sell variable items have been frustrated for years by WooCommerce’s broken filtering of variable products. Automattic developer Néstor Soriano explained the problem when the new lookup table went into testing last year:

The problem appears when there are variable products where some variations have stock and others don’t, and the “hide out of stock products from the catalog” option is set. What happens is that when an attribute is selected for filtering, all variable products having a variation that corresponds to that attribute will be displayed, even those not having stock for that variation (as long as at least one variation has stock).

Merchants who have experienced this have become frustrated because customers end up having to search through all the items to see if their selected variation is available. Sometimes they abandon the process after the first few items don’t have the one they are looking for.

The new lookup table in WooCommerce 6.3 solves this problem in a way that should improve performance – by creating a table row for each combination of product and attribute, including individual variations and stock status. This will be immensely helpful for any store owner who sells variable products, such as clothes, shoes, jewelry, etc.

This update will require a database migration. It will also introduce a new “Advanced” section under the Product Settings tab with options for the new product attributes lookup table.

New Advanced settings: WooCommerce – Settings – Products – Advanced

WooCommerce 6.3 has updated to the 6.9.0 version of the WooCommerce Blocks feature plugin and version 3.2.0-rc of WooCommerce Admin.

Shop owners who have variable products may want to give the update a test run during the next 12 days before the release lands. It is available for download from WordPress.org or via the WooCommerce Beta Tester plugin.

Recreating Onia: Building Brushstroke Backgrounds With WordPress Blocks

As I was looking over the latest releases from the WordPress theme directory this week, I came across one that caught my eye. Onia was clean and minimal while reserving its flourishes to bring attention to just a few elements across the page.

Could this be one of those diamonds in the rough I am always looking for in the free theme directory?

It had the potential, but it fell short. As I explored the theme, it felt like the author had spent 90% of their time designing an eye-catching front page. Diving into inner pages showed no attention to typography as the character count per line was pushing 150 and beyond, more than twice what it should be for comfortable reading.

That is the sort of thing that is easy to address. I was more disappointed that Onia was not a block theme. All the elements were there. It did not do anything particularly complex, and there was no evident reason for it to be a classic theme.

Yesterday evening, I sat down and recreated Onia as a block theme. Technically, I built its homepage directly from the editor on top of a base theme project I already had on hand. There were a couple of challenges, but I did the bulk of the work in roughly an hour. The other pieces took a little longer as I ran through possible solutions.

The following is a comparison of the two front pages (Onia is first, followed by my recreation):

I obviously took a few liberties with spacing, sizing, and coloring. I was not attempting an exact replica. Instead, it was a bit of a reboot with a few spins on the original.

Some Quick Notes

One of the things that often frustrates me with themes is that they show off these beautiful logos in the demo but offer no way for the user to work with the same font. I was unsure of what the original font family was used in the logo, but I added Sacramento as a cursive handwriting option:

Site header with a cursive site title, followed by a horizontal navigation menu.
Pretty font that users can customize.

These features can make a difference for the average user. Not everyone can load up Photoshop and create their own specialized logo. However, they can type their site’s name and select a font option for the plain text version.

Technically, there are two features currently in Gutenberg but not in WordPress 5.9 that I used. The first is the Read More block. Onia had this in its post grid. As a theme author, I would have simply waited for this feature if it was a holdup. Considering that both the featured image and post title link to the single post page, it was not a make-or-break element.

The second missing feature is the “show labels” option for the Social Icons block. A workaround for the original design would have been to use a Navigation block instead since the links were just plain text. Another option would have been a custom block style for Social Icons. Either way, this was not a blocker for this theme being released as a block theme.

Every other design element of the theme is possible through the block system.

Brushstroke Block Style

I said there were challenges, but I use that term to mean “the fun stuff.” These are the pieces where designers and developers can dive into a problem and attempt to innovate, and they are the solutions that I want to share.

One of my favorite design elements of the theme was its use of an SVG to create a brushstroke behind the intro heading:

Two columns: text + image.  On the left, the heading in the text has a gray brush stroke behind it.
Onia homepage intro.

The theme used an old-school method of wrapping a <span> element inside an <h1>. This applies the brush background to the last few words of the text. However, that implementation is problematic with smaller devices, not keeping up with the natural flow of text-breaks as the screen changes. There was also no way for users to control the color of the brushstroke or text.

I wanted to know if there was a better way of doing this while offering ultimate flexibility to users.

Fortunately, WordPress News recently relaunched with a brand-new design that leaned heavily on brushstrokes. Plus, the theme is licensed under the GPL, so its assets are freely available.

Honestly, I wish I had looked at its source code before reading over various CSS help and support sites. Our community’s designers had already solved the problems I was hitting. All I had to do was adjust their solutions to fit my needs.

After a bit of wrangling, I managed to create a customizable brushstroke background for Headings:

Users can adjust the text color as always. However, modifying the background color changes the brushstroke color. The stroke always aligns with the last line of text, so it will work regardless of the screen size. That may not always be desirable. However, other solutions exist for use cases like highlighting specific text.

The following screenshot is an editor view as I change the color:

Editor view that shows a media and text block.  The Heading on the left is selected and has a brushstroke background.  On the right, the background color tool is open.
Customizing the brushstroke background color.

To create the brushstroke background for Heading blocks, I added the following code to my theme’s functions.php file:

add_action( 'init', 'tavern_register_block_styles' );

function tavern_register_block_styles() {
        register_block_style( 'core/heading', [
            'name' => 'brush',
            'label' => __( 'Brush', 'tavern' )
        ] );
}

Then, I downloaded the brush-stroke-big.svg file from the WordPress News repo and added it to an /assets/svg folder in my theme.

The final step was adding custom CSS to my theme’s stylesheet. I covered adding styles in more depth in my previous Building with Blocks tutorial for those who need a refresher.

/* Cancel out WP's padding on headings with backgrounds. */
:is( h1, h2, h3, h4, h5, h6 ).is-style-brush.has-background {
    padding: 0;
}

/* Add default background to headings. Clip it to the text. */
:where( h1, h2, h3, h4, h5, h6 ).is-style-brush {
    position: relative;
    z-index: 1;
    background-color: #b5b5b5;
    background-clip: text !important;
    -webkit-background-clip: text !important;
}

/* Adds the brushstroke to ::before. Using ::after can conflict with editor. */
:where( h1, h2, h3, h4, h5, h6 ).is-style-brush::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: -1rem;
    left: -1rem;
    height: calc( 1.25em + 1rem );
    width: 100%;
    background-color: inherit;
    -webkit-mask-image: url('assets/svg/brush-stroke-big.svg');
    mask-image: url('assets/svg/brush-stroke-big.svg');
    -webkit-mask-position: left bottom;
    mask-position: left bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}

Most of those rules can be adjusted on a case-by-case basis. Some may need a bit of fudging, depending on the theme.

This solution could work for other blocks. I encourage theme authors to experiment and use other SVGs to see what they come up with.

Note: the Onia theme links to a CDN for its SVG background image, which is not supposed to be allowed on WordPress.org. I also could not find any licensing info on it. Being unsure if it was compatible with the GPL, I did not use the asset from the theme.

33 Unique And Creative Free Fonts

When you create a design project, typography is one of the first things that you take into consideration. Sometimes amazing illustrations or professional photo manipulations can’t deliver a proper message to the audience, whereas simple text can do a great job even without tricks. That is why, generally, well thought typography is an essential part...

The post 33 Unique And Creative Free Fonts appeared first on DesignrFix.

Distributed Tracing System (Spring Cloud Sleuth + OpenZipkin)

When we build a microservice architecture and the number of services keeps growing, we face the problem of debugging and tracing requests through our entire system. What happened when a user got a 500 error on his request? What service incorrectly processed his request? All these questions can be solved by the Distributed Tracing System. Let's take Spring Cloud Sleuth as an example.

How Spring Cloud Sleuth Works

To trace a request through a distributed system, the concepts TraceID and SpanID are introduced. TraceID is generated when a request enters our system and remains unchanged throughout its path. SpanID changes as the request passes from one service to another. If necessary, it is possible to generate new spans within one service to distinguish business processes.

Pulsar on KubeSphere: Installing Distributed Messaging and Streaming Platform

KubeSphere, an open-source container platform running on Kubernetes, provides users with an app-centric experience. In this connection, it features a comprehensive set of tools for developers to manage apps across their entire lifecycle. In this article, I will demonstrate how to install Apache Pulsar on a KubeSphere cluster as an example. Apache Pulsar, a cloud-native, distributed messaging and streaming tool, represents a go-to platform to meet the real-time event-streaming needs of enterprises.

Before You Begin

To install Pulsar on KubeSphere, you need to do the following beforehand:

The Basics of Screen Design

Let’s go back to basics of screen design for this article and explore what makes good screen design. It’s an important question as screen design incorporates everything from the text, to the images, to the layout, to the font you use, to how all those elements hang together as a whole.It’s that last point that’s...

The post The Basics of Screen Design appeared first on DesignrFix.

Log4Shell: A Case for Trusting Open Source – With Guardrails

Along with a host of frenzied updates and patches, Log4Shell brought something else to the table: an intense renewed scrutiny among business leaders and governments around “open source.” What most of these critics are not aware of is that much of the software powering their success isn’t created by commercial vendors, but is created by volunteers and that some of their most critical systems use open-source software. Furthermore, most critics can’t confidently point to a list of all the open-source software powering their own success. 

Similar to the response we’ve seen to major incidents like HeartBleed, Dirty Cow, and the Equifax experience with Apache Struts, governmental reviews are underway, and some are seeking to replace the “bad open-source component” – in this case, log4j – with a “more secure alternative.” But there is an important aspect of open source in modern society that is being overlooked in these scenarios – it’s highly trusted.

My white whale: A use case for will-change

 Nic Chan:

[…] the will-change property landed in major browsers in August 2015, and I’ve been on the lookout for when to use it ever since. It might seem self-evident to apply it to commonly animated properties such as transform or opacity, but the browser already classifies them as composite properties, thus, they are known as the few properties that you can already expect decent animation performance from. So, heeding the advice of the great developers who came before me, I was cautious and waited for the right opportunity to come along.

I was thinking-out-loud about this as well on ShopTalk not too long ago. I get the spirit behind will-change. It’s like responsive images or DNS prefetching: you give the browser extra information about what you’re about to do, and it can optimize it when it happens. But with will-changewhen? Why isn’t there a simple reduced test case demo to showcase something with bad performance, then will-change being applied, and it becomes good performance?

Well Nic found one little directly useful case where a hover-transformed pseudo-element leaves a little dingus of color behind in Safari, and that goes away if you use will-change. I tested it in the latest versions of Safari and found it to be true. Alrighty then, one use case!

I’d love to see a more obvious direct use case. I imagine the sweet spot is on lower-power devices (that still have GPUs) but are new enough to know what will-change is.

To Shared LinkPermalink on CSS-Tricks


My white whale: A use case for will-change originally published on CSS-Tricks. You should get the newsletter.

Expert: Bestpal (Chatting) Application Using Huawei Clouddb, Auth Service, Cloud Function, and Push Kit

Introduction

In this article, we will learn about chat options between two people, including how they can share texts with each other. The application needs to have instant messaging so once a user sends the message to a friend over the application, the friend will receive the push notification at the given time. The quintessence of an app like the instant application is available and reacts to ongoing actions. Also, push notifications can be an excellent promotional tool that can be used to inform users about updates and new functionalities.

Making a To-do List App in Vue

In this tutorial, we're going to be making a to-do list application with Vue. This is a follow on from my tutorial on creating your first ever vue application. Follow that tutorial if you need help getting started. Since the best way to learn is to try making something yourself, this guide should give you a good starting point to understand how Vue works.

Ultimately, our todo list app will look a little like this:

Amazon Dynamo DB Connector Operations Walkthrough in Mule 4, Part 1

Amazon Dynamo DB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. Dynamo DB lets you offload the administrative burdens of operating and scaling a distributed database so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling.

The following provides a quick example of how to use the “Amazon Dynamo DB Connector Operations – Mule 4” using Anypoint Studio. While there is a lot of documentation available on this connector usage, none could be found that specifically shows how to structure the JSON requests, required for multiple connector operations.

Why GitOps Is So Important to Businesses Today

Why Gitops Matters for Business Success

At a recent event, Weaveworks’ Chief Operating Officer Steve George explained exactly why GitOps is so important to businesses. It’s an important point to make because, as a fast-growing technological approach, GitOps is usually discussed from the perspective of the technologist. As a  result, most practitioners are now familiar with the concept of GitOps, if not the practical details. In the boardroom, however, knowledge levels remain low – despite the fact that a significant body of data now suggests that GitOps delivers measurable business value.

In the video, Steve explains three things:

How To Reuse Your Ansible Roles To Build Docker Images With Packer

In this article, I will show you how to reuse your Ansible roles to build Docker images using Packer.
If you are like me, you have probably used Ansible for a while. You probably have Ansible roles that you use to install and manage software on-premise and VM. Now you want to reuse those roles to build your own custom Docker images to use for development, testing, or production.

This is possible and very useful with minor changes to the Ansible roles. In fact, with Docker, you start with a very minimalistic environment and you can't take for granted some components that you will find preinstalled on major Linux distros.

Deploying Concourse CI on AliCloud Kubernetes

In this article, I'm going to show you how to deploy Concourse CI in the Alibaba Cloud-managed Kubernetes service with a Helm chart. After that, we will set up a simple pipeline in Concourse CI with Fly CLI. Concourse CI is a nice automation tool that brings YAML native CI/CD pipelines to your Kubernetes cluster.

High-level overview: