FLOSS Project Planets

Tag1 Consulting: Migrating Your Data from Drupal 7 to Drupal 10: Known issues

Planet Drupal - Wed, 2024-05-22 09:00

Series Overview & ToC | Previous Article | Next Article (coming May 29th) In the previous article, we talked about avoiding entity ID conflicts which is one of the primary known issues when migrating to Drupal 10. In this section, we will discuss other issues that might arise and some limitations of the API. As time passes, issues are fixed and new ones might get discovered. While we strive to keep this series up to date, refer to the official documentation for the latest community aggregated resources. Contact us to learn how we can help you with your migration. Schedule a Free Consultation ## Migrating Views The migration of views is not supported by the core Migrate API. Among other reasons, changes to the site architecture and views plugins not being available in Drupal 10 are some of the reasons behind this decision. Outside of what is provided by Drupal core, multiple contributed modules were created to attempt an automated upgrade path. As of this writing, the only supported one is the Views Migration module. It takes a best-effort approach to performing an automated migration. A few things to consider: * There are many modules that integrate...

Read more mauricio Wed, 05/22/2024 - 06:00
Categories: FLOSS Project Planets

Django Weblog: Django 5.1 alpha 1 released

Planet Python - Wed, 2024-05-22 08:40

Django 5.1 alpha 1 is now available. It represents the first stage in the 5.1 release cycle and is an opportunity for you to try out the changes coming in Django 5.1.

Django 5.1 brings a kaleidoscope of improvements which you can read about in the in-development 5.1 release notes.

This alpha milestone marks the feature freeze. The current release schedule calls for a beta release in about a month and a release candidate about a month from then. We'll only be able to keep this schedule if we get early and often testing from the community. Updates on the release schedule are available on the Django forum.

As with all alpha and beta packages, this is not for production use. But if you'd like to take some of the new features for a spin, or to help find and fix bugs (which should be reported to the issue tracker), you can grab a copy of the alpha package from our downloads page or on PyPI.

The PGP key ID used for this release is Natalia Bidart: 2EE82A8D9470983E.

Categories: FLOSS Project Planets

ThinkDrop Consulting: A new way to Multisite: migrating Aegir to GitHub for WSU Vancouver

Planet Drupal - Wed, 2024-05-22 07:16
A new way to Multisite: migrating Aegir to GitHub for WSU Vancouver Jon Pugh Wed, 05/22/2024 - 07:16

About 7 years ago, Washington State University, Vancouver set up their 11 websites on Aegir using a single Drupal 8 codebase. Thanks to Aegir, our client and friend Aaron Thorne was able to maintain all 11 websites by himself, despite not being a Drupal developer. Eventually, though, it was time for something new.

Last year, they contacted me to upgrade their sites and the hosting platform, but keep it inside their own private server infrastructure.

We took our time to figure out how we could design a new model for a multisite codebase, hosting, testing.

How can we implement reliable quality controls and automated delivery across all 11 sites? How can we make it as easy as possible for developers and system administrators to maintain? How can we leave WSU Vancouver with a system that they can use long term, so that they can update their codebase... forever?

The answer? A new self-contained system using DDEV, GitHub Actions, and clever usage of settings.php and Drush aliases.

I gotta be honest: as a developer, working this way has been a dream.

Categories: FLOSS Project Planets

Golems GABB: Simplifying Form Work in Drupal 10: Best Practices and Plugins

Planet Drupal - Wed, 2024-05-22 04:24
Simplifying Form Work in Drupal 10: Best Practices and Plugins Editor Wed, 05/22/2024 - 11:24

Whether it comes to e-commerce stores, blogs, or standard landing pages, using web forms for Drupal 10 is a traditional practice for many. Their purpose is to add more functionality to your system — you will need a separate form to let end users register on your platform, delete accounts, add data, and much more. 
Your task is to create a sitemap and understand what business services you are going to offer. Then, you will find the target form in Drupal 10 and make things work innovatively, smoothly, and straightforwardly — no old-school static pages.

Categories: FLOSS Project Planets

The Drop Times: DrupalCon Barcelona 2024 for Inclusion: Apply for Grants and Scholarships

Planet Drupal - Wed, 2024-05-22 03:42
The Drupal Association announces the opening of applications for grants and scholarships to attend DrupalCon Barcelona 2024, extending until June 28th.
Categories: FLOSS Project Planets

The Drop Times: DrupalCon Asia 2024: New Dates Revealed for Singapore Event

Planet Drupal - Wed, 2024-05-22 03:06
The Drupal Association unveils the updated dates for DrupalCon Asia, scheduled for December 9-11, 2024, in Singapore.
Categories: FLOSS Project Planets

Drupal Core News: Coding standards proposals for final discussion on 5 June 2024

Planet Drupal - Tue, 2024-05-21 23:38

The Technical Working Group (TWG) is announcing one coding standards change for final discussion. Feedback will be reviewed at the meeting scheduled for Wednesday 5 June 2024 UTC.

Issues for discussion

The Coding Standards project page outlines the process for changing Drupal coding standards. Changes to the Drupal Coding Standards are announced via Coding Standard changes records.

Join the team working on Coding Standards

Join #coding-standards in Drupal Slack to meet and work with others on improving the Drupal coding standards. We work on improving our standards as well as implementing them in the core software.

Categories: FLOSS Project Planets

Spinning Code: Tool Building Mindset

Planet Drupal - Tue, 2024-05-21 20:15

Earlier this month, at Mid Atlantic Dreamin’ in Philadelphia, I gave a talk titled Software Super Heroes: Building the tools you wish you had. My goal with the talk was to convince people that should, can, and in fact do, built tools for themselves. If you work with technology, and your job involves repetitive tasks the same applies to you too.

What do I mean by “Tool” and “Tool builder’s mindset”?

I like to use a very expansive definition of tool: “A tool is anything that makes a task easier which would be repetitive, hard, or impossible without it.” In that sense just about anything you make that simplifies you work can be considered a tool: a project estimation spread sheet, a good set of directions for a complex task, a flow for a Salesforce admin, a piece of code to normalize a large collection of files, and more.

My intention with that expansive view is to help encourage people to take on a tool builder’s mindset.

To be a digital tool builder does not require knowing how to write complex software, it just requires you to do what you already do now, but with intention. When we use a broad definition of tools, it’s easier to see ourselves as tool builders, even if we’re just talking about a spreadsheet or a Salesforce flow meant to handle an administrator’s daily tasks. When we see ourselves as tool builders we are more likely to make something worth using more than once.

Why does this matter?

When we approach problems with a tool building mind set, instead of insurmountable challenges caused by gaps in our tooling, we see opportunity to create something new to make the impossible possible. Instead of facing hours of boring repetitive tasks, we have chance to build a more interesting special purpose solution.

Fight the Tool Building Excuses

There are several excuses I commonly hear from people when I encourage them to build their own tools. They range from concerns about not having the right skills, to assuming someone else already built that tool or that the time required isn’t worth the effort.

My general response to these concerns is that while people should indeed look around for tools that already solve their problem, and that some problems are very hard to solve completely, if you start to chip away at a complex problem you often will find that you can create tools that are good enough to save you time and effort.

Don’t try to build the perfect tool that solves all possible edge cases on your first go. Create a tool that takes out some annoying and repetitive task. Then create a tool that solves for another task, or builds on your first time. Chip away.

I often tell developers who are early in their career that I should never see them doing rote repetitive tasks for hours on end. Instead once they understand how a repetitive task is done, they should start thinking about how to build a tool to take over. But that’s not just advice for developers: we invented computers to do repetitive asks (calculating artillery firing tables and cracking codes), let them do that.

Pick Your Tool Building Path

When you set out to create a tool you have two main options: use something you already know, or use tool building as a chance to learn something new. I’ve used tool building as was to teach myself new features of Excel, Google Sheets, Salesforce Flows, Git, and several programming languages. This can be a great way to learn how to use the tool that’s just right for the job. But learning a new tool or technique takes time, and if you have a deadline you may need to move faster.

Personally I try to take both paths from time to time. I use things I know when: they are exactly the right tool, I am under time pressure, or I want to keep my skills sharp. I will take the time to learn something new when: it’s something I need to learn anyway, I am building on my own time, or it’s exactly the right tool for what I need to do.

Neither path is correct 100% of the time. By using them both I am able to create the tools I need, and broaden my skills over time.

Just Start Building

The next time you’re faced with a task that is repetitive or hard with the tools you have: create yourself something new. Don’t get hung up on being perfect, just create something that’s better than what you have at the start.

Then save your tool to use again later. Share it with colleagues, friends, or as an open source project.

When in doubt, just start building.

The post Tool Building Mindset appeared first on Spinning Code.

Categories: FLOSS Project Planets

Greg Boggs: Transitioning from Drupal 7 to Backdrop CMS

Planet Drupal - Tue, 2024-05-21 20:00

This is a guest post by Kana Patrick who is a world-class Drupal migration expert.

As the impending end of life for Drupal 7 draws near, the necessity for website owners to consider their migration options becomes increasingly urgent. While the prevailing trend in the Drupal community leans towards transitioning to Drupal 10 to leverage its modern features, some are hesitant due to the associated costs.

In this discourse, we advocate for a different approach by presenting compelling reasons to shift your website from Drupal 7 to Backdrop CMS if you have not already done so.

Embracing Backdrop CMS

Backdrop CMS emerges as a noteworthy contender in the realm of content management systems, originating as a fork from Drupal 7. Conceived in 2013 by Nate Lampton and Jen Lampton, this platform sought to streamline and enhance the foundational code of Drupal 7 while maintaining cost-effectiveness for users.

The reluctance of many website owners to depart from Drupal 7 may stem from financial constraints, sentimental attachment to the platform, or various other factors. However, the looming conclusion of Drupal 7’s lifecycle, coupled with the cessation of community support, prompts a reevaluation of alternatives.

A viable solution lies in transitioning directly to Backdrop CMS, offering a cost-effective migration path that preserves much of the original project’s structure since both systems share a common API rooted in Drupal 7.

Despite its nascent community, the Backdrop project signifies a supportive ecosystem that can aid in the growth of your endeavors, a valuable asset for those seeking assistance and collaboration.

Advantages of Migrating to Backdrop CMS
  • Backdrop CMS inherits the strengths of Drupal 7 while introducing distinct features.
  • It boasts modest system requirements, translating to affordable hosting solutions.
  • Unique functionalities absent in Drupal core are seamlessly integrated into Backdrop’s core framework.
  • Backdrop furnishes a robust foundation with extensive extensibility through contributed modules, harnessing the full capabilities of Drupal.
  • Scheduled updates and version releases provide a predictable timeline, mitigating uncertainties surrounding module updates.

In conclusion, Backdrop CMS emerges as a compelling alternative for Drupal 7 projects facing obsolescence. Evaluating the migration effort from Drupal 7 to 10 against a transition to Backdrop CMS presents an intriguing comparison. Should you require guidance or support in your migration journey to Backdrop CMS, do not hesitate to reach out for assistance.

Categories: FLOSS Project Planets

ListenData: 4 Ways to Correct Grammar with Python

Planet Python - Tue, 2024-05-21 18:21

This tutorial explains various methods for checking and correcting grammar using Python. Automatic grammar correction helps students, professionals and content creators to make sure their writing follows proper grammar rules.

To read this article in full, please click hereThis post appeared first on ListenData
Categories: FLOSS Project Planets

PyCoder’s Weekly: Issue #630 (May 21, 2024)

Planet Python - Tue, 2024-05-21 15:30

#630 – MAY 21, 2024
View in Browser »

Accessibility & Assistive Tech as a Python Developer

What’s it like to learn Python as a visually impaired or blind developer? How can you improve the accessibility of your Python web applications and learn current guidelines? This week on the show, Real Python community member Audrey van Breederode discusses her programming journey, web accessibility, and assistive technology.
REAL PYTHON podcast

Lessons Learned Reinventing the Python Notebook

Marimo is an open source alternative to Jupyter notebooks. This article is by one of marimo’s creators, talking about the design decisions made when creating it.
AKSHAY KAGRAWAL

Python Error and Performance Monitoring That Doesn’t Suck

With Sentry, you can trace issues from the frontend to the backend—detecting slow and broken code, to fix what’s broken faster. Installing the Python SDK is super easy and PyCoder’s Weekly subscribers get three full months of the team plan. Just use code “pycoder” on signup →
SENTRY sponsor

Scrapy vs. Crawlee

This article from the folks at Crawlee does a side-by-side comparison of Scrapy and Crawlee, two web scraping libraries.
SAURAV JAIN

Quiz: What Are CRUD Operations?

In this quiz, you’ll revisit the key concepts and techniques related to CRUD operations. These operations are fundamental to any system that interacts with a database, and understanding them is crucial for effective data management.
REAL PYTHON

PEP 667: Consistent Views of Namespaces (Accepted)

PYTHON

Django 5.0.6 and 4.2.13 Release

DJANGO SOFTWARE FOUNDATION

Articles & Tutorials HTML and CSS Foundations for Python Developers

There’s no way around HTML and CSS when you want to build web apps. Even if you’re not aiming to become a web developer, knowing the basics of HTML and CSS will help you understand the Web better. In this video course, you’ll get an introduction to HTML and CSS for Python programmers.
REAL PYTHON course

Homoiconic Python

One of the early features of Lisp was that it could be implemented in a short Lisp program. As Lisp isn’t the easiest to read language, and not as common as Python, Mohamed runs you through the Python equivalent program to implement a Lisp interpreter.
MOHAMMED JAMAL

Build Your Own Git, Redis, or BitTorrent — in Python

The best way to master your programming craft is to get extensive practice. CodeCrafters offers structured, real-world practice projects aimed at experienced engineers. Sign up, and become a confident programmer →
CODECRAFTERS sponsor

What Is the __pycache__ Folder in Python?

In this tutorial, you’ll explore Python’s __pycache__ folder. You’ll learn about when and why the interpreter creates these folders, and you’ll customize their default behavior. Finally, you’ll take a look under the hood of the cached .pyc files.
REAL PYTHON

Garbage Collectors Are Scary

You don’t have to deal with memory management in Python because it has a garbage collector built in. This article talks about the challenges of writing a garbage collector, including the different kinds you find in different languages.
FLORIAN WEIMER

Automatically Push Code Changes During Live Coding

When teaching, Rodrigo wants to automatically push changes to Git so his students can see the steps in the repo on the fly. This quick article shows you how he solved the problem with the GitPython library.
RODRIGO GIRÃO SERRÃO

Page Dewarping

This article shows the techniques behind a page flattening algorithm. It starts with images of a book’s page which are curled from the spine of the book, and creates a resulting PDF that is a flat version.
MZUCKER.GITHUB.IO

An Intro to Logging With Loguru

“Python’s logging module isn’t the only way to create logs. There are several third-party packages you can use, too. One of the most popular is Loguru.” This article introduces you to the Loguru library.
MIKE DRISCOLL

Why Do Prototypes Suck?

Nat weighs in on prototyping: “Why is it, exactly, that prototypes are so miserable to maintain and operate? And how can we avoid putting prototypes into production?”
NAT BENNETT

Clever Code Is Probably the Worst Code You Could Write

When you come across a clever bit of code, it is hard not to admire it, but often times, clear, readable code is the hardest code to write.
LEONARDO CREED

Show All Subclasses of a class

A quick demonstration of how to use recursion and the .__subclasses__() method to obtain all the subclasses of a given class.
ADAM JOHNSON

Projects & Code pyinfra: Automate Infrastructure Using Python

GITHUB.COM/PYINFRA-DEV

tab-pal: TUI to Add Custom Tableau Colour Palettes

GITHUB.COM/BEN-N93 • Shared by Ben Nour

An Easy Way to Set Up Regular Tasks

GITHUB.COM/POMPONCHIK • Shared by Evgeniy Blinov

bridge: Automatic Infrastructure for Django With Docker

GITHUB.COM/NEVER-OVER

hashquery: Query BI Models in Your Data Warehouse

GITHUB.COM/HASHBOARD-HQ

Events Weekly Real Python Office Hours Q&A (Virtual)

May 22, 2024
REALPYTHON.COM

PyCon Italia 2024

May 22 to May 26, 2024
PYCON.IT

PythOnRio Meetup

May 25, 2024
PYTHON.ORG.BR

GeoPython 2024

May 27 to May 29, 2024
GEOPYTHON.NET

Python Sheffield

May 28, 2024
GOOGLE.COM

PyLadies Amsterdam: NLP Projects With spaCy

May 29, 2024
MEETUP.COM

Happy Pythoning!
This was PyCoder’s Weekly Issue #630.
View in Browser »

[ Subscribe to 🐍 PyCoder’s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week >> Click here to learn more ]

Categories: FLOSS Project Planets

Drupal Association blog: Drupal GAAD Pledge 2024 Update

Planet Drupal - Tue, 2024-05-21 13:28

Posted on behalf of the Drupal accessibility maintainers and written by Mike Gifford.

Drupal has built a reputation around being standards compliant and accessible. Drupal made an early commitment to meeting the Web Content Accessibility Guidelines when building Drupal 7. In Drupal 8 this was expanded to support the Authoring Tool Accessibility Guidelines. Both times the release was delayed to help make it more accessible. The Drupal community is always working to be more inclusive, and accessibility is a big part of this. 

The GAAD Foundation nominated Drupal for the 2022 GAAD Pledge. Accessibility is a cornerstone of quality open source projects. Other winners have included OpenFL, EmberJS, React Native, and most recently Joomla! 

The GAAD Pledge committed projects to formally update their guidelines to WCAG 2.1. Drupal is currently developing to WCAG 2.2 AA, which is the latest W3C WCAG Recommendation

We have published a draft Accessibility Coding Standards, and we are still working to enhance this guidance. The Accessibility Team has documented many of the best practices that we have built into Drupal. Our Accessibility Coding Standard document has been useful in educating our community about best practices.

We have been tracking accessibility issues in Drupal Core and Contrib (themes and modules) under the accessibility tag. This is already a long-standing practice, and we have a total of 1063 open issues in our issue queue. If we look just at Drupal 11 accessibility bugs, there are 510. For Drupal Core, this includes known accessibility issues, but also issues which could affect accessibility. Bringing it down to those which have been tagged against a WCAG SC, there are only 188 issues. Even these issues are mostly edge cases which do not affect most users. 

These are still too many errors, but it is about proving progress, over perfection. Drupal is still evolving, as our Starshot project demonstrates. Our community is constantly striving to improve the user, developer and author experience. 

Let’s reach for the stars and bring the Open Web to all.
    — Dries Buytaert, creator and project lead of Drupal

The WCAG Success Criteria (SC) which fail most often in Drupal are: 

This has also helped us create an Accessibility Conformance Report (ACR) using the US General Service Administration’s OpenACR. Our current process is outlined Drupal and ACRs

We always need more members of the Drupal community to become involved. The earlier we catch accessibility issues, the cheaper it will be to fix them, and the more robust our solutions will become.  We also hope that everyone takes time to engage in Global Accessibility Awareness Day, where we can share best practices and learn from each other. 

Categories: FLOSS Project Planets

Real Python: Building a Python GUI Application With Tkinter

Planet Python - Tue, 2024-05-21 10:00

Python has a lot of GUI frameworks, but Tkinter is the only framework that’s built into the Python standard library. Tkinter has several strengths. It’s cross-platform, so the same code works on Windows, macOS, and Linux. Visual elements are rendered using native operating system elements, so applications built with Tkinter look like they belong on the platform where they’re run.

Although Tkinter is considered the de facto Python GUI framework, it’s not without criticism. One notable criticism is that GUIs built with Tkinter look outdated. If you want a shiny, modern interface, then Tkinter may not be what you’re looking for.

However, Tkinter is lightweight and relatively painless to use compared to other frameworks. This makes it a compelling choice for building GUI applications in Python, especially for applications where a modern sheen is unnecessary, and the top priority is to quickly build something that’s functional and cross-platform.

In this video course, you’ll learn how to:

  • Get started with Tkinter with a Hello, World application
  • Work with widgets, such as buttons and text boxes
  • Control your application layout with geometry managers
  • Make your applications interactive by associating button clicks with Python functions

[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

Categories: FLOSS Project Planets

Acquia Developer Portal Blog: Acquia SEO Content Insights powered by Conductor

Planet Drupal - Tue, 2024-05-21 09:43

Acquia’s partnership with Conductor marks another milestone in our journey to deliver the best-of-breed digital experiences for our customers. The collaboration between Conductor and Acquia will concentrate on incorporating the advanced SEO insights of Conductor's premier organic marketing platform into both Acquia's Open Digital Experience Platform (DXP) and its Drupal CMS. 

As part of this partnership, Acquia has developed a new Drupal module called Acquia SEO Content Insights powered by Conductor. Creating compelling content requires leveraging SEO insights and content intelligence, and the subsequent publishing and administration of this content are contingent upon a strong content management system (CMS). 

Categories: FLOSS Project Planets

The Drop Times: Enhancing Drupal 11: Transitioning Deprecated Modules to Contributed Alternatives

Planet Drupal - Tue, 2024-05-21 08:48
Drupal 11 will remove several deprecated modules from its core, including Actions UI, Activity Tracker, Book, Forum, Statistics, and Tour. These functionalities remain accessible through contributed modules, ensuring a leaner, more efficient core while allowing community-driven enhancements. Site owners should review dependencies and install necessary modules for seamless migration to Drupal 11.
Categories: FLOSS Project Planets

DrupalEasy: Drupal needs new, young developers

Planet Drupal - Tue, 2024-05-21 08:08

Image used with permission from Michael Richardson from Ironstar.io.

I took a lot away from DrupalCon Portland 2024, and while one of my lasting memories from the main keynote (the Driesnote) will be the introduction of Starshot, something that has occupied a good amount of space in my brain is what happened just prior to Dries’ Starshot announcement.

At the start of his presentation (the 21:15 mark of this video,) Dries asks everyone with at least one year of Drupal experience to stand up. He then asked everyone with less than three years of experience with Drupal to sit down. The results were scary. As Dries reacted:

Oh wow. Almost nobody sat down.

This really shouldn't surprise anyone who has been developing Drupal sites for more than a few years. Drupal 8+ (modern Drupal) was considerably more difficult to get started with, and definitely geared toward more experienced developers.

Another data point

The 2024 Drupal Developer Survey results were recently announced (thanks to Ironstar.io for the huge effort in making this happen) and while there's a ton of great data in there, I'd like to focus on the Age and Experience section, which shows that only 9.1% of the 648 respondents were under the age of 30, with no respondents under the age of 21 (insert standard disclaimer about survey size and sample and this not necessarily being a scientific survey.) This is troublesome.

Maybe we shouldn't be focusing on age, but rather experience. However; the How long have you been working with Drupal question results didn't make me feel any better. Only 9.6% of the respondents have been working with Drupal for less than 4 years. Yikes.

Is this as scary as it looks?

I really don't know the answer to this question. Both of the data points listed above are somewhat anecdotal. The first can be mitigated by the fact that you're probably much less likely to attend a DrupalCon if you're new to Drupal. The second can be accounted for by the assumption that only folks who are experienced enough with Drupal to be on the right mailing lists and/or follow the right social media accounts would know about the survey in the first place.

All that being said, I don't think the trend that the data is showing us is wrong: Clearly Drupal needs new developers.

What's the solution?

Obviously, there's not a single solution. I think there are a few things that we (yes you,) the Drupal community, can do to help entice new developers to Drupal.

  1. Keep Drupal's code modern - we do a pretty good job of this, but we can definitely do better by better integrating with front-end developer/designer tools like Storybook and whatever the cool Javascript front-end tools are this month (mostly kidding, of course.) These efforts are critical, but these types of solutions tend to be longer-term.
  2. Get more people using Drupal - the more people using Drupal, the more likely they'll become invested in the platform and likely to become full-time Drupal developers. We don't need to convert all Drupal users to developers, just a portion. Clearly, Drupal Starshot is a well-placed effort to do this, but again, I think it'll be a bit of time before this has a significant effect.
  3. Create programs that introduce Drupal to students - as a Drupal trainer who is active in the community, I've heard about a few attempts at this in local communities, but nothing at scale. This is definitely a long-term goal, and will take time, money and leadership from the Drupal Association, including a hopefully re-imagined and more ambitious Discover Drupal program. 
  4. Entice organizations that build Drupal sites to hire new developers - Money (in this case job opportunities) talks. If there are entry-level jobs in Drupal, then new developers will come. Of course, there are plenty of jobs in Drupal, but not the kind of entry level positions that are going to provide an on-ramp for aspiring Drupal developers. If jobs for those new to Drupal aren't there, then the effect of the first two items above will be muted. There is an exciting, thoughtful short-term solution to this called the Drupal IXP community initiative, which will (hopefully later this year) begin to incentivize organizations to hire new, inexperienced ("IXP") Drupal developers in exchange for Drupal community contribution credits. You can get involved with IXP today by completing this survey to help us figure out which skills a new Drupal developer should have (survey closes June 1, 2024). 
  5. Attract good Drupal developer candidates with a leg up  - Companies (like Palantir.net,)  who have become involved in scholarship programs, including (the currently dormant) Discover Drupal (which aimed to not just build the Drupal talent pool, but do it with an eye toward diversifying our ranks,) and providing their own training scholarships, initiating internship programs and providing mentors for newbies have had success in building their talent benches over time by training up the people that are a good fit their organizations. It takes a bit of investment and patience, but the returns are usually worth it.  
How can you help?

If this nagging issue of too few new Drupal developers is becoming a growing concern for you, like it is for me; then perhaps you’d like to get involved in one of the above efforts to help move things forward and, maybe even spread the word to help inspire others to get involved as well.   

Categories: FLOSS Project Planets

mark.ie: My LocalGov Drupal contributions for week-ending May 24th, 2024

Planet Drupal - Tue, 2024-05-21 07:54

Here's what I've been working on for my LocalGov Drupal contributions this week. Thanks to Big Blue Door for sponsoring the time to work on these.

Categories: FLOSS Project Planets

Interacting with mpv

Planet KDE - Tue, 2024-05-21 06:00

Haruna allows you to run any mpv command through it's Custom Commands settings page. The most useful command would be the set command which lets you set an mpv property to some value. For example to set the hwdec property to vaapi you use set hwdec vaapi in the command field of Haruna's Custom Commands page; if the value contains spaces wrap it in quotes.

Custom commands can be triggered either at startup or through a shortcut (this can be set when creating the custom command).

If you want to set multiple commands you can create an mpv config file and load it with set include "/path/to/config/file.conf".

mpv scripts can also be loaded, but they are more cumbersome to use. Create a custom command loading your script load-script "/path/to/script.lua".

If you want to interact with a script you must create another custom command script-message-to target arg1 arg2 ... script-message-to.

  • target - the filename of the script (without the file extension)
  • arg1 - the name assigned to a function inside your script by register_script_message, can be the same as the function name
  • arg2, arg3 etc. - arguments passed to the function

Example:

-- my_simple_script.lua function set_volume(volume) mp.commandv("set", "volume", volume) end mp.register_script_message("set_volume", set_volume) -- ............................^ name to use in the script-message-to call -- mp.register_script_message("set_volume", set_volume) -- .............................................^ name of the function
  1. create a my_simple_script.lua containing the code above
  2. create a custom command to load the script load-script "/path/to/my_simple_script.lua"
  3. create a custom command (triggered by a shortcut) to interact with the script script-message-to my_simple_script set_volume 56
  4. assign a shortcut to the script-message-to custom command
  5. trigger the script-message-to command after the script is loaded (depends on how you load the script, at startup or by shortcut)
Note

When running the flatpak version the scripts won't be able to access system programs/binaries/executables.

Categories: FLOSS Project Planets

Python Bytes: #384 Force push lightly

Planet Python - Tue, 2024-05-21 04:00
<strong>Topics covered in this episode:</strong><br> <ul> <li><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"><strong>Git: Force push safely with</strong></a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"> </a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"><strong>--force-with-lease</strong></a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"> <strong>and</strong></a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"> </a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"><strong>--force-if-includes</strong></a></li> <li><strong>Thoughts from PyCon 2024</strong></li> <li><a href="https://github.blog/2022-05-02-friend-zone-strategies-friendly-fork-management/"><strong>Being friendly: Strategies for friendly fork management</strong></a></li> <li><a href="https://github.com/gauge-sh/tach"><strong>tach</strong></a></li> <li><strong>Extras</strong></li> <li><strong>Joke</strong></li> </ul><a href='https://www.youtube.com/watch?v=aI0eYTu1ab8' style='font-weight: bold;'data-umami-event="Livestream-Past" data-umami-event-episode="384">Watch on YouTube</a><br> <p><strong>About the show</strong></p> <p>Sponsored by Mailtrap: <a href="https://pythonbytes.fm/mailtrap"><strong>pythonbytes.fm/mailtrap</strong></a></p> <p><strong>Connect with the hosts</strong></p> <ul> <li>Michael: <a href="https://fosstodon.org/@mkennedy"><strong>@mkennedy@fosstodon.org</strong></a></li> <li>Brian: <a href="https://fosstodon.org/@brianokken"><strong>@brianokken@fosstodon.org</strong></a></li> <li>Show: <a href="https://fosstodon.org/@pythonbytes"><strong>@pythonbytes@fosstodon.org</strong></a></li> </ul> <p>Join us on YouTube at <a href="https://pythonbytes.fm/stream/live"><strong>pythonbytes.fm/live</strong></a> to be part of the audience. Usually Tuesdays at 10am PT. Older video versions available there too.</p> <p>Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to <a href="https://pythonbytes.fm/friends-of-the-show">our friends of the show list</a>, we'll never share it.</p> <p><strong>Brian #1:</strong> <a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"><strong>Git: Force push safely with</strong></a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"> </a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"><strong>--force-with-lease</strong></a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"> <strong>and</strong></a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"> </a><a href="https://adamj.eu/tech/2023/10/31/git-force-push-safely/"><strong>--force-if-includes</strong></a></p> <ul> <li>Adam Johnson</li> <li>Using gentle force </li> <li>Avoid stomping on remote changes with a couple extra flags.</li> </ul> <p><strong>Michael #2:</strong> <strong>Thoughts from PyCon 2024</strong></p> <ul> <li>PyCon is special - the connections you make are always more than you expect</li> <li>Great to see many old friends</li> <li>Did a ”live” Talk Python episode that’ll be out in a few weeks.</li> <li>The talks look great, we’ll let you know when they land on YouTube.</li> <li>Masks were a mistake - universally heard complaints from fellow attendees. This is my two cents towards a more reasonable next PyCon.</li> </ul> <p><strong>Brian #3:</strong> <a href="https://github.blog/2022-05-02-friend-zone-strategies-friendly-fork-management/"><strong>Being friendly: Strategies for friendly fork management</strong></a></p> <ul> <li>That’s part 2. </li> <li>Part 1 is <a href="https://github.blog/2022-04-25-the-friend-zone-friendly-forks-101/">Being friendly: Friendly forks 101</a></li> <li>Lessley Dennington on GitHub Blog</li> <li>Examples of long running friendly forks <ul> <li>git-for-windows/git, microsift/git, github/git</li> <li>two public, one private</li> </ul></li> <li>Fork management strategies - when pulling changes downstream <ul> <li>merging rebase <ul> <li>git-for-windows/git uses this proactively and regularly</li> <li>fake merge + rebase</li> </ul></li> <li>new branch <ul> <li>microsoft/git uses this</li> <li>new branch from upstream major versions</li> <li>merge previous changes to new branch</li> </ul></li> <li>traditional merge <ul> <li>github/git uses this, conservatively, after a few point bug fix versions</li> </ul></li> </ul></li> </ul> <p><strong>Michael #4:</strong> <a href="https://github.com/gauge-sh/tach"><strong>tach</strong></a></p> <ul> <li>A Python tool to enforce a modular, decoupled package architecture.</li> <li>tach allows you to define boundaries and control dependencies between your Python packages. </li> <li>Each package can define its public interface.</li> <li>If a package tries to import from another package that is not listed as a dependency, tach will report an error. </li> <li>If a package tries to import from another package and does not use its public interface, with strict: true set, tach will report an error.</li> <li>Zero runtime impact.</li> </ul> <p><strong>Extras</strong> </p> <p>Brian:</p> <ul> <li><a href="https://pydantic.dev/logfire">Logfire - new observability platform from the pydantic team</a> - free for now</li> </ul> <p>Michael:</p> <ul> <li><a href="https://training.talkpython.fm/courses/getting-started-with-spacy">10% off the new spaCy course</a> throughout May</li> </ul> <p><strong>Joke:</strong> <a href="https://marketoonist.com/2023/01/evolution-of-smart-products.html">Evolution of smart products</a></p>
Categories: FLOSS Project Planets

Specbee: Starstruck by the Drupal Starshot Initiative

Planet Drupal - Tue, 2024-05-21 02:29
DrupalCon Portland ‘24 seemed to fly by, but its impact was so profound and memorable that every Drupal community member will remember this for a long, long time. Last week, Specbee proudly sponsored and hosted a booth at DrupalCon Portland '24. Our VP of Sales and Marketing, Jim Barnthouse, and Head of Operations, Michael Weaver, attended. Before Michael left, he asked if I had any questions for Dries (if he got a chance to talk to him, which he did by the way). I had a question about the future of Drupal. I wanted to know how Drupal plans to compete with other competitors like WordPress, Adobe Experience Manager, and Sitecore. As it turned out, Dries already had everything figured out! And in his Driesnote, he dropped the announcement of the Drupal Starshot initiative. While watching Driesnote, I was fascinated by the fact that Drupal predates a lot of prominent applications like Safari, Instagram, & WordPress. This makes Drupal special since it has been around for a whopping 23 years. But the innovation has never stopped. From the adoption of Symfony components to build Drupal 8 to supporting OpenAI within months of its release. This constant strive for innovation makes Drupal a great CMS. All thanks to the contributions and efforts of thousands of dedicated people, making Drupal better every day. What is Drupal Starshot? Since its inception, Drupal has been pitched as a CMS that can build web applications using various core components and contributed modules. Often while building a Drupal website, we need various features like setting up patterns for clean URLs for the contents, adding meta information, spam protection, a form-building UI, etc. The Drupal Starshot initiative aims to be the new default Drupal installer (maybe called as “Drupal CMS”) that will include these various common features packaged in it incorporating the best-used contributed projects and best practices. Apart from this, Starshot is also built on top of recent new Drupal initiatives like Project Browser, Automatic Updates & Recipes for faster innovation and execution. Drupal Starshot will introduce a new version of Drupal with great out-of-the-box experience. This doesn’t mean that Starshot will replace Drupal Core. The traditional Drupal core will still exist as it is for people to use and build applications with it. However, the “Drupal CMS” will be the recommended downloadable option over the traditional Drupal core to get started. Do we need Drupal Starshot? Drupal core provides a solid foundation for building a high-performance and innovative website. However, there is a steep learning curve when it comes to building a website using only Drupal Core. It often becomes overwhelming for new developers to get started because of the lack of certain general and common features in the strong foundational Drupal core. This significantly reduces the adoption and appeal of Drupal among beginners. Though this factor improves as people progress in the game and become more proficient, they learn how to leverage the different contributed modules and best practices to build a website using it. But still, this remains a downside factor for Drupal for new people coming in; the adoption and ease of use. To keep up with the highly competitive market of growing CMSes Drupal has to grow to compete with them. This is where the Drupal Starshot initiative comes in that aims to ensure that a strong foundational Drupal core, combined with the refined common features with contributed projects, utilizing the best practices in the industry and new innovative initiatives, is easy to use out-of-the-box and make a lasting first impression on people who are trying it out for the first time. Drupal Starshot Highlights A recommended Drupal CMS The recommended option to get started with the “Drupal CMS” will come packaged with default and pre-configured modules and configuration for basic setup of functionalities. This can include: Drupal SEO functionalities like Pathauto for pretty URLs of contents, Metatag to add meta information for pages, and XML Sitemaps Content authoring features like the Linkit module that provides an autocomplete interface for internal and external linking in rich-text editors Content schedulers to schedule publishing and unpublished contents Improving the authoring experience by adding Simple Add More or Type Tray A further improved administrative theme like Gin Spam protection using Honeypot or ReCaptcha These modules can highly improve the out-of-the-box experience of a user to start building websites using Drupal. This significantly decreases the development time and cost to launch a Drupal website. Not another Drupal distribution Starshot is NOT another Drupal distribution or an installation profile. Although Drupal distributions are a great starting point for building a Drupal website for a purpose, there were certain challenges that came along with it. For example, they are difficult to keep updated, can’t be removed easily, and cannot be added after starting your project. To overcome this, the Drupal Recipes initiative was introduced to developers & site builders to incorporate Drupal functionality from predefined packages quickly and easily that can be added at any point of a project lifecycle. Starshot will be built using Recipes that provide more flexibility and robustness to the Drupal CMS including various functionalities using contributed projects. Using recipes doesn’t lock you in like a distribution does. So, users will have the liberty to choose and include the functionalities that are required for a project. Experience Builder The “Experience Builder” is the new initiative to further enhance the page-building capabilities of Drupal replacing the Layout Builder page builder. The out-of-the-box experience of the page builder that Drupal core provides that is the Layout Builder lacks heavily in the authoring experience. Though it can be improved, it requires several modules and tweaks to make it user-friendly. This poses a huge bottleneck for the adoption of Drupal. The new Experience Builder addresses this issue by stitching in the best of Layout Builder, Paragraphs, In-Browser theming & SDC (Single Directory Component) with a JavaScript framework like React to provide a seamless experience for authors and site builders to build landing pages. Future of Drupal With the announcement of Starshot, Drupal cements its place to compete with the big names in the marketplace, making it easy to adopt and build beautiful web applications. This is definitely a big initiative that will change the paradigm of how Drupal is being seen and utilized. Since Starshot is not tied to the Drupal core release cycle it opens up opportunities for faster innovation and new features incorporating contributed projects to release more often. New to Drupal? Check out this article to help you decode some of the Drupal jargon we have used in this article (like recipes, distributions, SDC). Final Thoughts Dries made a great point in his Driesnote: if we want to be a part of the web race, which is going to happen anyway with or without Drupal, we need our Moonshot moment. And that moment is now. Drupal needs your help in bringing this initiative to life. Specbee has pledged to contribute to the Starshot initiative as much as possible to reach its goal. You can do so too by taking the Starshot pledge here.
Categories: FLOSS Project Planets

Pages