# need

Published articles for need.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Do not change the package name or class name of your AppWidgetProvider

DevFeed: [Do not change the package name or class name of your AppWidgetProvider](<https://devfeed.tech/articles/do-not-change-the-package-name-or-class-name-of-your-appwidgetprovider-37160.md>)

Original publisher: [Read original article](<https://arkadiuszchmura.com/posts/do-not-change-the-package-name-or-class-name-of-your-app-widget-provider/>)

Published: 2022-02-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Arkadiusz Chmura](<https://devfeed.tech/sources/arkadiusz-chmura.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [code](<https://devfeed.tech/tags/code.md>), [need](<https://devfeed.tech/tags/need.md>)

### AI overview

The article explains why changing the package or class name of an Android AppWidgetProvider can cause users' home-screen widgets to disappear. It examines how Android's AppWidgetService identifies providers and tracks their associated widgets.

### Source excerpt

If you do this, widgets that were placed on the home screen by your users will simply disappear.

## Running Node.js in Docker for local development

DevFeed: [Running Node.js in Docker for local development](<https://devfeed.tech/articles/running-node-js-in-docker-for-local-development-31292.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/run-your-node-js-apps-buildchains-via-docker>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2020-09-14T04:00:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Development](<https://devfeed.tech/topics/development.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [apps](<https://devfeed.tech/tags/apps.md>), [benefit](<https://devfeed.tech/tags/benefit.md>), [buildchains](<https://devfeed.tech/tags/buildchains.md>), [containers](<https://devfeed.tech/tags/containers.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [development](<https://devfeed.tech/tags/development.md>), [docker](<https://devfeed.tech/tags/docker.md>), [don-t](<https://devfeed.tech/tags/don-t.md>), [easy](<https://devfeed.tech/tags/easy.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [hassle](<https://devfeed.tech/tags/hassle.md>), [inside](<https://devfeed.tech/tags/inside.md>), [insights](<https://devfeed.tech/tags/insights.md>), [know](<https://devfeed.tech/tags/know.md>), [local](<https://devfeed.tech/tags/local.md>), [need](<https://devfeed.tech/tags/need.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [onboarding](<https://devfeed.tech/tags/onboarding.md>), [running](<https://devfeed.tech/tags/running.md>)

### AI overview

This tutorial explains how to run Node.js buildchains and applications in Docker containers during local development. It presents containerization as a way to isolate application dependencies, simplify onboarding, and reduce conflicts between projects.

### Source excerpt

You don't need to know Docker to benefit from running local dev Node.js buildchains & apps inside of Docker containers. You get easy onboarding, and less hassle.

## Flat Multi-Environment Config for Craft CMS 3

DevFeed: [Flat Multi-Environment Config for Craft CMS 3](<https://devfeed.tech/articles/flat-multi-environment-config-for-craft-cms-3-31286.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/multi-environment-configuration-for-craft-cms-3>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2020-02-29T15:29:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>), [.env](<https://devfeed.tech/topics/dotenv.md>), [Environment Variables](<https://devfeed.tech/topics/environment-variables.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [aliases](<https://devfeed.tech/tags/aliases.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [approach](<https://devfeed.tech/tags/approach.md>), [article](<https://devfeed.tech/tags/article.md>), [cms](<https://devfeed.tech/tags/cms.md>), [config](<https://devfeed.tech/tags/config.md>), [configs](<https://devfeed.tech/tags/configs.md>), [craft](<https://devfeed.tech/tags/craft.md>), [database](<https://devfeed.tech/tags/database.md>), [docker](<https://devfeed.tech/tags/docker.md>), [environment](<https://devfeed.tech/tags/environment.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [file](<https://devfeed.tech/tags/file.md>), [files](<https://devfeed.tech/tags/files.md>), [flat](<https://devfeed.tech/tags/flat.md>), [git](<https://devfeed.tech/tags/git.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [insights](<https://devfeed.tech/tags/insights.md>), [multi-environment](<https://devfeed.tech/tags/multi-environment.md>), [need](<https://devfeed.tech/tags/need.md>), [presents](<https://devfeed.tech/tags/presents.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [sorts](<https://devfeed.tech/tags/sorts.md>), [variables](<https://devfeed.tech/tags/variables.md>)

### AI overview

A tutorial on configuring Craft CMS 3 across development, staging, and production environments using aliases, environment variables, .env files, and configuration files. It presents a flat configuration approach and discusses keeping environment-specific credentials and secrets separate from source code and databases.

### Source excerpt

Multi-environment configs for Craft CMS are a mix of aliases, environment variables, and config files. This article sorts it all out, and presents a flat config file approach

## Creating a Custom Logger for Craft CMS

DevFeed: [Creating a Custom Logger for Craft CMS](<https://devfeed.tech/articles/creating-a-custom-logger-for-craft-cms-31252.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/creating-a-custom-logger-for-craft-cms>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2019-07-21T17:52:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [built-in](<https://devfeed.tech/tags/built-in.md>), [cms](<https://devfeed.tech/tags/cms.md>), [code](<https://devfeed.tech/tags/code.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [craft](<https://devfeed.tech/tags/craft.md>), [custom](<https://devfeed.tech/tags/custom.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [insights](<https://devfeed.tech/tags/insights.md>), [logger](<https://devfeed.tech/tags/logger.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logs](<https://devfeed.tech/tags/logs.md>), [need](<https://devfeed.tech/tags/need.md>), [needs](<https://devfeed.tech/tags/needs.md>), [saas](<https://devfeed.tech/tags/saas.md>), [send](<https://devfeed.tech/tags/send.md>), [service](<https://devfeed.tech/tags/service.md>), [sufficient](<https://devfeed.tech/tags/sufficient.md>), [third-party](<https://devfeed.tech/tags/third-party.md>), [want](<https://devfeed.tech/tags/want.md>)

### AI overview

A tutorial on customizing Craft CMS logging through Yii-based configuration and code, including changing built-in behavior and sending logs to third-party aggregation services such as PaperTrail or Sentry.

### Source excerpt

The built-in Craft CMS logging system is sufficient for most needs, but what if you need custom logging, or want to send your logs to a third-party service?

## How to write better emails

DevFeed: [How to write better emails](<https://devfeed.tech/articles/how-to-write-better-emails-37448.md>)

Original publisher: [Read original article](<https://iridakos.com/programming/2019/06/26/composing-better-emails>)

Author: Lazarus Lazaridis

Published: 2019-06-26T13:30:00Z

Content type: tutorial

Language: en

Sources: [Lazarus Lazaridis](<https://devfeed.tech/sources/lazarus-lazaridis.md>)

Topics: [email](<https://devfeed.tech/topics/email.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [communication](<https://devfeed.tech/tags/communication.md>), [email](<https://devfeed.tech/tags/email.md>), [examples](<https://devfeed.tech/tags/examples.md>), [featured](<https://devfeed.tech/tags/featured.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [need](<https://devfeed.tech/tags/need.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [programming](<https://devfeed.tech/tags/programming.md>), [tips](<https://devfeed.tech/tags/tips.md>), [write](<https://devfeed.tech/tags/write.md>)

### AI overview

A practical guide to writing clearer, more effective emails. It recommends emphasizing important text, using specific dates and bookmarkable links, structuring long messages with headings and paragraphs, and making requests explicit about who should act and by when.

### Source excerpt

Email communication is not my favorite but since I can't avoid it, I am trying to compose messages in a way that I think it makes it easier for both me and the recipient: to quickly address what is being communicated avoid misunderstandings save time Here are some tips. They don't apply to all type of messages, I provide before and after examples to better describe each case. Emphasize text with bold/underlined font Emphasizing the appropriate parts of a message, especially when it's a long one, you help readers quickly get an idea of what the email is about and easily locate the important stuff after going back to it at some point in the future. Examples Before Hello all, I noticed that there are many logs for blabla the last few days and I don't think that it is normal. I believe the problem is the updated version of gem blabla. I have opened an issue describing the case in Redmine (#455) in the current version. Feel free to change its priority in case blabla. Thanks, Lazarus After Hello all, I noticed that there are many logs for blabla the last few days and I don't think that it is normal. I believe the problem is the updated version of gem blabla. I have opened a Redmine issue (#455) describing the case in the current version. Feel free to change its priority in case blabla. Thanks, Lazarus Use specific dates instead of yesterday, tomorrow etc The moment you send an email is not the moment that it will be read by its recipients. Avoid using only temporal adverbs/nouns like yesterday, today, tomorrow, two hours ago etc but include also the specific dates/times otherwise they might be misunderstood or require from recipients to check the email's sent date/time to calculate the actual time. Examples Before Dear QA, Yesterday we released a fix for the bug 455 on staging and we plan to release it next Monday if you give us the green light by tomorrow end of day. Thanks, Lazarus After Dear QA, Yesterday, June 25th, 2019 we released a fix for the bug #455 on staging a

## Cutting the Cord: Removing Craft CMS 3 Plugins

DevFeed: [Cutting the Cord: Removing Craft CMS 3 Plugins](<https://devfeed.tech/articles/cutting-the-cord-removing-craft-cms-3-plugins-31256.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/cutting-the-cord-removing-plugins>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2019-03-19T13:56:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>)

Tags: [cms](<https://devfeed.tech/tags/cms.md>), [craft](<https://devfeed.tech/tags/craft.md>), [don-t](<https://devfeed.tech/tags/don-t.md>), [fantastic](<https://devfeed.tech/tags/fantastic.md>), [functionality](<https://devfeed.tech/tags/functionality.md>), [insights](<https://devfeed.tech/tags/insights.md>), [let-s](<https://devfeed.tech/tags/let-s.md>), [need](<https://devfeed.tech/tags/need.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [times](<https://devfeed.tech/tags/times.md>), [unplug](<https://devfeed.tech/tags/unplug.md>)

### AI overview

This tutorial explains how to remove unnecessary Craft CMS 3 plugins by using functionality available natively through Twig and Craft CMS services. It focuses on replacing three plugins with built-in capabilities while exploring Craft CMS's broader functionality.

### Source excerpt

Plugins are a fantastic way to add functionality to Craft CMS 3. However many times, you don't need them at all. Let's unplug!

## An Annotated webpack 4 Config for Frontend Web Development

DevFeed: [An Annotated webpack 4 Config for Frontend Web Development](<https://devfeed.tech/articles/an-annotated-webpack-4-config-for-frontend-web-development-31240.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/an-annotated-webpack-4-config-for-frontend-web-development>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2018-10-23T13:40:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Webpack](<https://devfeed.tech/topics/webpack.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [complete](<https://devfeed.tech/tags/complete.md>), [complex](<https://devfeed.tech/tags/complex.md>), [development](<https://devfeed.tech/tags/development.md>), [example](<https://devfeed.tech/tags/example.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [help](<https://devfeed.tech/tags/help.md>), [here-s](<https://devfeed.tech/tags/here-s.md>), [insights](<https://devfeed.tech/tags/insights.md>), [modern](<https://devfeed.tech/tags/modern.md>), [need](<https://devfeed.tech/tags/need.md>), [production](<https://devfeed.tech/tags/production.md>), [real-world](<https://devfeed.tech/tags/real-world.md>), [sophisticated](<https://devfeed.tech/tags/sophisticated.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [web-development](<https://devfeed.tech/tags/web-development.md>), [webpack](<https://devfeed.tech/tags/webpack.md>), [websites](<https://devfeed.tech/tags/websites.md>)

### AI overview

A tutorial presenting an annotated, real-world production webpack 4 configuration for modern frontend web development. It explains why the author adopted webpack and compares it with alternatives such as Laravel Mix, vue-cli, and Neutrino.

### Source excerpt

As web development becomes more complex, we need tooling to help us build modern websites. Here's a complete real-world production example of a sophisticated webpack 4 config