Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 7 hours 52 min ago

Specbee: How to Navigate Automation Testing with the Power of Selenium and Python

Tue, 2023-12-12 00:41
Automation testing is indispensable for anyone involved in software or web applications. Developers love it because it makes the development process smoother, boosts code reliability, and speeds up feedback. Testers get a break as automation takes care of repetitive tasks, easing stress. Business clients save big on costs, thanks to time savings and reduced testing expenses, leading to improved efficiency and financial gains. It's a win-win all around! Selenium, the open-source testing framework for automating web browser interactions, is a powerful cross-browser testing tool that is widely used for functional testing. While it supports multiple programming languages like C++, Java, and C#, Python's readability and simplicity make it user-friendly for writing and maintaining test scripts, enhancing the overall efficiency of the testing process. In this article, we’ll dig deeper into automation testing and how you can use Selenium with Python for automated testing. What is Automation Testing Automation testing is a software testing technique used to automate the validation process or functionality of software to ensure it meets the requirements before releasing it to production. With the help of automation testing, large and repetitive test cases like regression and sanity testing can be made faster by reducing considerable human tester's effort and also achieving quality testing.Automation testing uses scripted sequences executed with the help of automation testing tools. It executes the scripts written to validate the functionalities, compares the results, and produces the Test results report. What can be automated? 1. Stable web applications.2. Applications with minimal changes.3. Repetitive testing like Sanity/ Regression testing. What cannot be automated? 1. Unstable applications (having many open issues/ frequent major changes).2. Automation will not be suitable for projects that are in the under-development stage because it will consume a considerable amount of time and resources to update and maintain the automation test scripts.3. To test a few applications that require specific attention and subject matter expertise. Manual testing will be suitable for these types of testing rather than automated testing.4. CAPTCHA – this requires human intervention to identify the correct match to pass it which is not possible by automation.5. Visual Testing – Applications that require you to validate how they display to the end users, which will need end-user experience that automaton scripts cannot fulfill. What is Selenium Selenium is an automation testing tool to validate the functional and non-functional requirements of web applications.  Selenium is one of the widely used automation testing tools because:  It is an open-source test automation tool. It can be coded in multiple languages like Java, Python, Javascript, C# etc. Selenium covers cross-browser testing like Chrome, Mozilla, Edge, and Safari. It can run using different IDEs like Pycharm, Eclipse, and Visual Studio. Different frameworks are available like Unit Testing, Pytest, and Robot along with keyword-driven or data-driven or hybrid frameworks. Using Selenium with Python As mentioned previously, Selenium accepts various scripting languages to automate the test scripts. Python is the most popular scripting language amongst them because: It is easy to learn and understand, and easier to code due to simple and clean syntax. The code flow of Python is easy to understand as it uses indentation instead of Curley braces at the start and end of the blocks. Python is easy to construct as it uses simple English words and is less verbose than other programming languages. The world is moving towards AI with Machine learning and Python plays a crucial role in implementing them. Installing Python  To install, you can visit their site, and then download and install the latest version of Python. Once Python is installed successfully, you will need to set Python home into system variables. Next, copy the path of python.exe and Script folder locations to: >> system environment variables>>Advanced>>Environment variables >> Add new path. PIP is a Standard package manager for Python (like jars in Java). It allows you to install and manage additional packages which are not part of Python's standard library. Pycharm Installation Pycharm is one of the editor tools used to script the test steps using Selenium with Python. It can be installed by following the steps mentioned below. Download Pycharm here. Download the community edition. Once downloaded and installed successfully, create a new project. Right-click on the project and add a new Python file (this will create a “.py” extension) Start writing your Python program. Browser Invocation To start web automation testing, browser invocation is the first step and this can be achieved with the below syntax based on the browser. For Edge browser: obj = Service() driver = webdriver.Edge(service = obj) driver.get(“webpage url”)For Chrome browser: obj = Service() driver = webdriver.Chrome(service = obj) driver.get(“webpage url”)For Firefox browser: obj = Service() driver = webdriver.Firefox(service = obj) driver.get(“webpage url”)For Safari browser: obj = Service() driver = webdriver.Safari(service = obj) driver.get(“webpage url”)Basic Selenium automation functionalities These functionalities form the foundation for creating Selenium test scripts and are crucial for automating interactions with web applications. Window Maximize: This will maximize the browser window. driver.maximize_window() Window Minimize(): This will minimize the browser window. driver.minimize_window() Page title: This will get the current page title. driver.title Page URL: This will get the current page URL. driver.current_url Closing the current window: This will close the current opened window driver.close() Closing the entire browser: This will close the entire browser opened by the automation  driver.quit() Refresh the current page: This will refresh the current browser driver.refresh() Moving to next screen: This will help to move next to previous screen. driver.forward() Moving to previous screen: This will help to move back to previous screen. driver.back() Selenium Locators Locators enable testers to identify and select the HTML DOM elements to act on. These locators help Selenium WebDriver interact with the specific elements needed for testing or automation.  Here are some common types of Selenium locators: Locating by ID: It is used to identify an element using the ID attribute. There may or may not be ID available for all elements but if it is available, it should be unique. Syntax:  find_element(By.ID, “value”) Locating by NAME: It is used to identify an element using the Name attribute Syntax:  find_element(By.NAME, “value”) Locating by Link Text: It is used to identify a link using link text. It is applicable only for the text having hyperlinks. Syntax:  find_element(By.LINK_TEXT, “value”) Locating by Partial Link Text: It is used to identify the link's partial text. It is applicable only for the text having hyperlinks. Syntax:  find_element(By.PARTIAL_LINK_TEXT, “value”) Locating by CSS_Selector: It is used to locate an element using the CSS selector. Syntax:  driver.findElement(By.cssSelector, “tagname[attribute=‘value’]”) Locating by XPATH: It is used to locate an element using XPath query. Syntax:  driver.findElement(By.cssSelector, “//tagname[@ttribute=‘value’]”) Headless mode: Running the application in invisible state(backend) Syntax:  oj = webdriver.ChromeOptions()oj.add_argument("--start-maximized")oj.add_argument('--headless')  Keyboard data – input: Input data needed to provide on run from the keyboard. Syntax: driver.get(input("Enter the application URL: ")) Final Thoughts By understanding the basics of Selenium automation functionalities, including browser invocation, key WebDriver commands, and the significance of locators, testers, and developers can harness the power of automation to create effective and reliable test scripts. If you're looking for a Drupal development company to seamlessly integrate these automation practices into your web projects, explore the possibilities with Specbee.
Categories: FLOSS Project Planets

Drupal Core News: Coding standards proposals for final discussion on 2 January 2024

Mon, 2023-12-11 17:36

The Technical Working Group (TWG) is announcing two coding standards changes for final discussion. Feedback will be reviewed at the meeting scheduled for Tuesday 2 January 2024 2100 UTC.

Issues for discussion

The Coding Standards project page outlines the process for changing Drupal coding standards.

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

Talking Drupal: Talking Drupal #428 - Digital Nomads

Mon, 2023-12-11 14:00

Today we are talking about Being a Digital Nomad, common nomadic hurdles, and realized work/life benefits with guests Chad Hester and Shelley Goetz. We’ll also cover Flag as our module of the week.

For show notes visit: www.talkingDrupal.com/428

Topics
  • What does digital nomad mean?
  • When did you first start to think about this
  • What was your physical journey like
  • What do you do for work
  • What is the biggest win
  • How did this affect family dynamics
  • What was the biggest gotcha
  • Tips and tricks
  • Long term plan
  • Why not Europe or South America
  • Question from Stephen: As a Patriots fan what are your thoughts on the 2023 season, is Bill Belichick staying or going
Resources Guests

Shelley Goetz - shelleygoetz Chad Hester - chadkhester.com chadhester

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Ron Northcutt - community.appsmith.com rlnorthcutt

MOTW Correspondent

Martin Anderson-Clutz - @mandclu Flag

  • Brief description:
    • Have you ever wanted a simple way to let users bookmark, like, or even flag as inappropriate content on your Drupal site? There’s a module for that.
  • Brief history
    • How old: originally created in 2008 by quicksketch, who listeners may remember as the original author of Webform
    • Versions available: 7.x-3.9 and 8.x-4.0-beta4
  • Maintainership
    • Actively maintained, but no commits in the last year
  • Has a handbook, but it’s in the old documentation system
  • Number of open issues: 675, 132 of which are bugs against the 8.x branch
  • Usage stats:
    • Over 38,000 sites
  • Maintainer(s):
    • Recent releases by Berdir, who we recently mentioned as the maintainer of TMGMT in episode #426
  • Module features and usage
    • The Flag module provides a flexible system that can reference any kind of entity, so content, users, comments and so on
    • When you create a flag type, you set the target entity type, and then you can optionally choose specific bundles that can be flagged
    • Flags can be per-user, like bookmarks, or global, meaning that they’re the same for everyone
    • Links to Flag or Unflag content or other entities can be displayed in a variety of ways: in a field, in entity links, as contextual links, and more
    • By default flag links are rendered as AJAX links that flag or unflag content without reloading the page, but you can configure them to display in various ways, including a links to a field entry form, because flag types are also fieldable
    • There is extensive views integration, so it’s easy to list flagged content, for example to show a user content they’ve flagged as their favorites. The ecosystem of modules around Flag includes one called Views Flag Refresh that can trigger a view to automatically update via AJAX as soon as any content in that view is flagged or unflagged
    • Not long ago I used Flag as part of a lightweight task management system within Drupal, and anyone wanting to try that out can install the Tasks module
Categories: FLOSS Project Planets

ADCI Solutions: What a poorly drafted functional specification may cost the client

Mon, 2023-12-11 09:39

The client must carefully outline the project processes in the functional specification document before handing the project over to the development team—chiefly to save their own money and time. This post is about what happens if they don’t.

Categories: FLOSS Project Planets

The Drop Times: Empowering Women in Drupal

Mon, 2023-12-11 09:39

Let's dive into something awesome today—the fantastic women rocking the tech world, especially in our Drupal community. There's no fluff, just facts about how they're taking Drupal to new heights.

Women are making waves in the tech world, and right here in Drupal, they're levelling up the game. Their outstanding achievements shape the tech landscape, proving that women are forces to be reckoned with in technology.

Women are taking the lead in Drupal organizations, such as the Drupal Diversity and Inclusion Group, which aims to foster a more diverse and inclusive community by promoting diversity in leadership, speaking opportunities, and events.

Drupal's got your back with the "Women in Drupal," formerly DrupalChix. This program hooks women with mentors, resources, and chances to connect. It's all about building a community where everyone's voice is heard.

Women in Drupal are not just part of the community but driving it to new heights. As we applaud their achievements, let's acknowledge that there's more ground to cover on the path to gender equality in tech.

Let's continue championing diversity, fostering inclusivity, and supporting one another. Now, look back at what we covered last week at The DropTimes.

Alka Elizabeth, a sub-editor, wrote about a Reddit discussion on Drupal Dilemmas, addressing issues and seeking improvements. I ran two interviews, the first with Andrew Berry, Director of Technology at Lullabot, sharing his insights from Evolve Drupal Toronto and contributions to the Drupal community. Read the complete interview here. The second one featured the API Client Initiative led by Brian Perry, core maintainer, aiming to provide a comprehensive solution for Drupal. Click here to read.

And for the Drupal community, here's some important news: Drupal core committers and the Drupal 10 readiness initiative seek your feedback. They're proposing a new working group focused on contributed modules where maintainers haven't updated to the next major Drupal version.

In noteworthy announcements, Tag1 Consulting celebrated a milestone with Nathaniel Catchpole's collaboration with Chrome for Developers, marking a crucial development for Drupal 10.2. Drupal core version 10.3.0 introduces a new access policy API for assigning permissions in various ways. Dave Long announced a significant change in Drupal core version 10.2.0, adding autocomplete attributes to login and password reset forms.

On the events front, Open Source Summit North America is accepting proposals for its April 16-18, 2024 event in Seattle. NERD Summit 2024 announced Dr. David Weinberger as the keynote speaker for March 8, 2024, and encourages session proposals before January 15, 2024. Rod Martin, Lead Trainer at OSTraining, will conduct an Absolute Beginner's Guide to Drupal training session on February 23, 2024, at Florida DrupalCamp.

Now, onto organization news—Bounteous is celebrating a big win at the MarCom Awards 2023, receiving the prestigious Gold Award. Kevin Montgomery of SearchStax published a guide highlighting the seamless collaboration between SearchStax Studio, Drupal CMS, and React. Tag1 Consulting's Michael Meyers and Janez Urevc conclude their podcast series, addressing migration cost complexities with Lucas Hedding. DevBranch, a team from Lutsk, Ukraine, reveals their extensive contributions to Drupal.org. Annertech introduces a 40% discount on vulnerability management for LocalGov Drupal.

Tutorials cover a range of Drupal topics: Saranya Ashokumar's D4Drupal video delves into automated testing in Drupal, Idroot provides a guide for installing Drupal on Fedora 39, Prerna Trimurty Infotech offers a step-by-step guide for upgrading Drupal websites and Drupalize.Me present tutorial videos covering essential concepts for module developers. Additionally, Ritvik Tak provides a comprehensive guide on setting up Drupal 8 multi-site environments using Lando.

We've also featured some insightful case studies. Droptica shares its experience developing the digital content platform EM360, showcasing the strategic use of Drupal for an innovative user-generated content hub in the IT sector. Druid presents a case study on renewing Veikkaus, the Finnish Gambling Website.

In book-related news, Smile has released a comprehensive white paper titled "Drupal in 2024," highlighting Drupal's global prominence as an Enterprise Content Management System (CMS). Joe Shindelar of Drupalize.me plans to release a curated "Hello, world" guide for developers in the Drupal community. AcroCommerce offers a practical integration guide, combining BigCommerce e-commerce capabilities with the versatility of Drupal CMS.

Switching to the security front, Achieve Internet issues an urgent compliance warning for Apigee Legacy Developer Portal users, stressing the critical importance of upgrading.

There are more stories to discover, but we must stop here due to space constraints. Keep enjoying your Drupal journey!

To get timely updates, follow us on LinkedIn, Twitter and Facebook.

Thank you,

Sincerely

Kazima Abbas
Sub-editor, TheDropTimes.

Categories: FLOSS Project Planets

LN Webworks: Drupal Decoupled and Headless: All you need to Know

Mon, 2023-12-11 04:30

Traditional Drupal websites leveraged Drupal for both content rendering on the front end and content management on the back end as it wasn’t possible to separate the two. This implies that Drupal significantly affected their styling which wasn’t always appreciated. However, today companies have the complete freedom to separate their site’s Drupal-based backend from the frontend through headless Drupal. 

This new and innovative Drupal decoupled approach has bestowed websites with an added layer of functionality and immense customization capabilities. Developers can freely opt for the front end of their choice and ensure that the site possesses the desired styling. The front end communicates with the backend through an API. This blog digs into Drupal's headless architecture in detail and discusses why it is so effective. 

Categories: FLOSS Project Planets

LostCarPark Drupal Blog: Drupal Advent Calendar day 11 - Volunteer Coordination

Mon, 2023-12-11 02:00
Drupal Advent Calendar day 11 - Volunteer Coordination james Mon, 12/11/2023 - 07:00

Welcome back to day 11 of the Drupal Advent Calendar. Behind today’s door Surabhi Gokte (surabhi-gokte) talks about her journey as volunteer coordinator.

Seven years ago, if someone said I would travel out of my country and be a super active community contributor, I’d have laughed it off. But things changed, and it wasn’t an overnight transformation. It required time, energy, money, patience, belief, and much more.

My journey began with volunteering at Drupal Camp Delhi in 2016, my first step into understanding the Drupal Community. Back then, I didn’t even know non-code contribution was a thing…

Tags
Categories: FLOSS Project Planets

LostCarPark Drupal Blog: Drupal Advent Calendar day 10 - Smart Date

Sun, 2023-12-10 02:00
Drupal Advent Calendar day 10 - Smart Date james Sun, 12/10/2023 - 07:00

It’s day 10 of the Drupal Advent Calendar, and behind today’s door we find the Smart Date module. We are joined by its creator, Martin Anderson-Clutz (mandclu), to tell us about it.

I was originally inspired to create Smart Date by my own frustration at how tedious it was to input dates and time in a Drupal website. I noticed that popular calendar applications used a variety of conventions to make the process simpler for content creators, for example:

  • Automatically set the end date and time based on the start, and a configurable duration
  • Default the start time to the start of the next hour…
Tags
Categories: FLOSS Project Planets

The Drop Times: Deep Dive into Drupal's API Client Initiative with Brian Perry

Sat, 2023-12-09 13:59
Dive into the heart of Drupal's innovation as we explore the API Client Initiative with Brian Perry. Discover the vision, goals, and insights driving the development of a robust JavaScript API client, poised to revolutionize the Drupal experience for developers.
Categories: FLOSS Project Planets

LostCarPark Drupal Blog: Drupal Advent Calendar day 9 - Backdrop

Sat, 2023-12-09 02:00
Drupal Advent Calendar day 9 - Backdrop james Sat, 12/09/2023 - 07:00

Welcome back to day 9 of the Drupal Advent Calendar. Today’s door takes us in a slightly different direction, as we join Jen Lampton (jenlampton) to tell us all about Backdrop CMS.

Backdrop CMS is the Drupal fork. Its goal is to provide a more affordable platform that’s easier to use, but without compromising on flexibility. On January 15th, it will have been 9 years since Backdrop’s initial release.

At its core, Backdrop has retained nearly all of the powerful functionalities of its predecessor, but the standard installation also includes more than 75 additional features that a modern website…

Tags
Categories: FLOSS Project Planets

Drupal Association blog: Meet Lenny Moskalyk, the first Ukrainian Board Member of the Drupal Association Board

Fri, 2023-12-08 12:02

We're thrilled to introduce Lenny Moskalyk, one of the newest members on the Drupal Association Board. Lenny is a Senior Project Manager at Cocomore and is involved in organizing DrupalCamp Kyiv. She's actively engaged in the Ukrainian Drupal Community and serves as an Advisory Board Member of DrupalCon Europe, among other contributions to various Drupal events. Recently, Lenny received the Women in Drupal 2023 award in the ‘Scale’ category, given to those who boost growth in Drupal—her accomplishments that led to this award represent the value of growth within the Drupal Community. 

Lenny recently joined the Drupal Association Board, and she shares her insights on this exciting journey:

What are you most excited about when it comes to joining the Drupal Association Board?
The opportunity to help and contribute back to the community in an efficient meaningful way.

What do you hope to accomplish during your time on the board?
I aim to build connections with underrepresented communities and make sure their voices are heard.

What specific skill or perspective do you contribute to the board?
Being the first Ukrainian on the Board, I am representing one of the biggest and most active communities in Europe. I have experience in organizing Drupal events of various scales and being an experienced project manager, I have excellent communication skills.

How has Drupal impacted your life or career?
I started to work with Drupal around 10 years ago and from the day the ideas of open source and support within the community won my heart. It inspired me to try myself in new roles, such as co-organizing DrupalCamp Kyiv. Through Drupal, I have discovered many new things about different cultures and nowadays wherever around the world I would go—I know for sure where to find like minded people :)

Tell us something that the Drupal community might not know about you.
I am a passionate traveler who recently added sailing skills! Another thing that brings me joy is cooking for my loved ones and sharing meals with them :)

Share a favorite quote or piece of advice that has inspired you.
“Fortune favors the brave.”

We can't wait to experience the incredible contributions Lenny will make during her time on the Drupal Association Board. Thank you, Lenny, for dedicating yourself to serving the Drupal community through your board work! Connect with Lenny on LinkedIn.

The Drupal Association Board of Directors comprises 12 members, with nine nominated for staggered 3-year terms, two elected by the Drupal Association members, and one reserved for the Drupal Project Founder, Dries Buyteart. The Board meets twice in person and four times virtually annually, overseeing policy establishment, executive director management, budget approval, financial reports, and participation in fundraising efforts.

Categories: FLOSS Project Planets

LostCarPark Drupal Blog: Drupal Advent Calendar day 8 - Disclosure Menu

Fri, 2023-12-08 02:00
Drupal Advent Calendar day 8 - Disclosure Menu james Fri, 12/08/2023 - 07:00

It’s time to open door number 8 of the Drupal Advent Calendar, and today we’re joined by Chris Wells (chrisfromredfin) to tell us about the Disclosure Menu module.

The importance of a seamless and inclusive website navigation cannot be overstated. Creating digital environments where everyone feels welcomed and capable is a central ethos in the Drupal community. And that’s why we were surprised that after spending so much time with menus over the years, there still wasn’t a truly accessible menu module available for Drupal.

The disclosure menu in action (with minimum theming)

Our narrative begins with a standard website component: a hoverable menu…

Tags
Categories: FLOSS Project Planets

Drupal Core News: Request for comment: Project Update Working Group

Fri, 2023-12-08 01:07

The Drupal core committers and Drupal 10 readiness initiative are seeking feedback on a proposed new working group. The group's mission is to focus on contributed modules where a maintainer has not updated to the next major Drupal version. This includes modules where the maintainer has requested assistance as well as modules where the maintainer is no longer active. This effort will benefit the entire Drupal ecosystem.

This group will have elevated privileges on Drupal.org like those that exist for the Security Team and Site Moderators.

Background

Currently the Project Update Bot generates automated compatibility patches for contributed projects. These patches are reviewed and tested by Drupal community members and then set to the "Reviewed & tested by the community" status.

However, for some modules, these patches are not committed in a timely fashion. This creates a barrier to updating to the next Drupal major version for sites that use this module.

There are existing workarounds. One is the Composer Lenient plugin which allows affected sites to install a patched version of the module. However, this is not a substitute for having a compatible version of the module.

Proposal

Establish a working group that has the ability to appoint its members as a temporary maintainer of a project. The only task of the temporary maintainer is to review, test and commit a patch or merge request that makes the module compatible with the new Drupal major version and optionally create a new release. The group will be able to take this action in the following circumstances:

  1. The project MUST have a canonical issue for updating to the next major version of Drupal. This issue MUST have a patch or merge request. The issue MUST be marked "Reviewed & tested by the community" and MUST NOT have had feedback from a module maintainer within the past two weeks. The following proposal refers to this as the contributed project issue.

  2. An attempt MUST have been made by members of the community to contact the module maintainers via their Drupal.org contact form. Record of this attempt MUST be recorded on the contributed project issue.

  3. An attempt SHOULD be made by members of the community to contact the module maintainers via a messaging platform such as the Drupal community Slack. Record of this attempt MUST be recorded on the contributed project issue.

  4. If there is no response from the module maintainer for seven (7) days, a member of the community MAY escalate the module to the Project Update Working Group.  To escalate a module, create a separate issue in the Project Update Working Group issue queue. This is termed the project update group issue. An attempt SHOULD be made to notify members of the Project Update working group via a messaging platform such as the Drupal community Slack.

  5. The Project Update Working Group MUST make a subsequent attempt to contact the module maintainers via their Drupal.org contact form. This communication MUST outline that failure to respond within seven (7) days may result in the Project update Working Group committing the contributed project issue on their behalf. Record of this contact MUST be recorded on the contributed project issue. Any communication between the Project Update Working Group and the module maintainers MUST be recorded on the project update group issue.

  6. When the seven-day period from item 5 has elapsed, the maintainer has had two weeks overall to respond. At this point, a member of the Project Update Working Group MUST decide on the next step. The next step is to either intervene or not. If the decision is to intervene, then the group must also decide if a tagged release is to be made as well as committing the change.  When making the decision the Project Update Working Group member MUST do the following.

    1. Take into consideration recent activity from the maintainer in the project.

    2. Take into consideration the age of the contributed project issue.

    3. Take into account the complexity of the patch/merge request. They must work to avoid regressions. The level of automated test coverage for the project SHOULD be used to inform the likelihood of a regression.

    4. Take into account the quality of the reviews.

    5. Take into account the possible lifespan of the module and the needs of the community. For example, if the module duplicates functionality added to core or another module, then they may decide not to intervene.

    6. Consider if the module is looking for new maintainers and if anyone has nominated themself for the role. The Project Update Working Group SHOULD favor supporting a new maintainer over intervention.

    7. The Project Update Working Group SHOULD aim to achieve compatibility with the major version in a backwards-compatible way.

  7. If a member of the Project Update Working Group decides to intervene and commit the patch, then the following occurs:

    1. A record of the decision MUST be recorded on the contributed project issue.

    2. The member of the Project Update Working Group MUST nominate to make the commit and/or release. Record of this nomination MUST occur on the contributed project issue.

    3. The member of the Project Update Working Group MUST make a temporary change to the project's maintainers to add themself as a maintainer. Record of this change MUST be made on the contributed project issue.

    4. The member of the Project Update Working Group with temporary maintainer access will then commit the  patch or merge request. This MUST be recorded on the contributed project issue

    5. The member of the Project Update Working Group MUST acknowledge that the commit was made on the contributed project issue.

    6. If it was decided that a release should be made, a member of the Project Update working group will create a tag and add a release node for the tag on Drupal.org. The member making this action MUST make a record of this on the contributed project issue. The release MUST follow semantic versioning rules for backwards compatibility. The member SHOULD strive to make a new minor version to allow sites to install a compatible version without updating the major version of Drupal.

    7. If the module maintainer has not requested assistance from The Project Update group, a member of the Project Update Working Group MUST update the project node on Drupal.org to change it to 'No further development'. If the module has opted in to Security team coverage, the member of the Project Update group MAY opt the module out of this coverage.

    8. Any member of the Project Update Working Group MUST then mark the original contributed project issue as fixed. This action SHOULD NOT prevent opening of new issues for the project for major version compatibility.

    9. A member of the Project Update Working Group MUST revoke the temporary maintainer rights within fourteen (14 days). Record of this change MUST be recorded on the contributed project issue. 

    10. If the module was marked 'No further development' and if no such issue exists for the contributed project - a member of the Project Update Working Group MUST open a new issue in the project's queue seeking a new maintainer.

    11. If additional compatibility issues are found between the module and the next major version of Drupal, the process above repeats.

Working group membership

The working group will comprise community members who self-nominate. Interested community members must receive two seconding recommendations from other community members. Nomination and seconding will occur publicly on Drupal.org in the Project Update Working Group issue queue. Community members will be able to share their thoughts or concerns on the nominees' applications. Concerns relating to conduct of members of the group MUST follow Drupal's standard Community Working Group processes.

The initial membership of the group will comprise at least five (5) individuals. Members of the group should have a record of maintaining core or contributed projects and have the git-vetted role on Drupal.org. In addition the group may contain provisional members. These members will not have the ability to change project maintainers and will require the support of a full member to carry out their duties.

The initial make up of the group will be vetted by the core committer team and security team. Subsequent appointments will be vetted by the Project Update Working Group with a fourteen day period for veto from the security team and/or core committers.

Membership of the group is for a single major update. For example, from Drupal 10 to Drupal 11. The first major update in which the group is active will be from Drupal 10 to 11. At the end of each major cycle, members can opt to renew their membership for the next major update cycle. As with the original nomination, this process will happen in public and require two seconding recommendations from the community. 

Additional lifecycle option

To complement this process, it is proposed that a new Abandoned lifecycle status is added for project info files.

If this is successful, the following changes will be made;

  1. The process at (6) above will be amended such that the module's info file is updated to set the lifecycle value to 'abandoned'.

  2. A lifecycle link is added that points to the issue in the project's queue where a new maintainer is sought.

Comment period

Community feedback is sought on the proposed process. Please use this issue to add your input. The feedback period will last until Friday January 12th 2024.

Categories: FLOSS Project Planets

Promet Source: Exploring AI for Drupal Development

Thu, 2023-12-07 14:36
While 2023 appears to be the year that Artificial Intelligence emerged from the shadows and into the mainstream, the potential of AI has barely scratched the surface. AI is here and its impact on life and work is developing at an exponential pace.  As this disruptive technology is generating quick answers, streamlining processes, and creating vast new efficiencies, hundreds of possibilities for AI – ranging from healthcare diagnoses, to cybersecurity threat detection, content creation, software development, and many, many more – are taking shape.
Categories: FLOSS Project Planets

Promet Source: Exploring AI for Drupal Development and More

Thu, 2023-12-07 11:01
While 2023 appears to be the year that Artificial Intelligence emerged from the shadows and into the mainstream, the potential of AI has barely scratched the surface. AI is here and its impact on life and work is developing at an exponential pace.  As this disruptive technology is generating quick answers, streamlining processes, and creating vast new efficiencies, hundreds of possibilities for AI – ranging from healthcare diagnoses, to cybersecurity threat detection, content creation, software development, and many, many more – are taking shape.
Categories: FLOSS Project Planets

Pages