Drupal

ThinkShout: Meet Bene, an affordable, open-source website solution for nonprofits

Planet Drupal - 12 December 2017 - 3:00am

Bene is based on a simple goal: Smaller nonprofits deserve websites that are designed to increase their impact and grow alongside them. Sounds simple enough, but achieving it has always been a major challenge from both the nonprofit and agency perspective.

Nonprofits have traditionally been forced to choose their digital solutions from two extremes on a spectrum. On the one side, you have low cost do-it-yourself solutions like SquareSpace or Wix. While inexpensive and easy to launch, these solutions serve such a wide array of use cases that they have nothing unique to offer nonprofits in terms of best practices. The content strategy and designs are not intended to tell a nonprofit’s compelling story and drive engagement. In addition, as the needs of a nonprofit grow, out of the box solutions may not flex to meet those needs, forcing an organization to start over with its digital strategy.

On the other end of the spectrum are custom websites conceived through a rigorous discovery process and built on open source platforms like Drupal and WordPress. If done right, this approach yields the best results: a gorgeous responsive website that provides powerful storytelling tools, increases fundraising, advocacy, and other types of engagement, and serves as the hub of an organization’s digital ecosystem. But these projects take time and money, typically 6-9 months and upwards of $200k.

As ThinkShout has grown, our business has focused more on those larger projects. But in the process, it’s become harder to work with the thousands of organizations who can’t afford the time and cost involved in building a completely custom website. We wanted to find a way to partner with grassroots organizations, as helping them succeed is core to who we are and what we do.

Bene is our answer to this problem: A low cost website for small nonprofits bundling content management, mission critical features, a tailored user experience, hosting, and strategic support. All built on an open source Drupal distribution that can grow alongside the organization.

We first conceived of Bene during an open source “sprint for good” event nearly 2 years ago. This month, we’re proud to launch our first website on the platform for Free Geek, with two more on the way over the next few weeks. We do recognize there are other efforts to address this need, from Drutopia to WordPress.com. We support all of them, as the growing number of organizations working to make our world a better place have a wide range of requirements, and they need all the help they can get!

Learn more about Bene and please get in touch if you think it’s a good fit for you, or have some ideas on how to improve it. We realize we’ve only taken the first step.

Categories: Drupal

Commerce Chequeasy

New Drupal Modules - 12 December 2017 - 2:55am

This project integrates Chequeasy Cheque Payment system into the Drupal Commerce payment and checkout systems.

Categories: Drupal

Term split

New Drupal Modules - 12 December 2017 - 2:39am

Term split allows users to split taxonomy terms in two and to divide any referencing content between the new terms.

Dependencies

Hook event dispatcher
Term reference change

Categories: Drupal

Term reference change

New Drupal Modules - 12 December 2017 - 2:14am

Term reference change is an API module that provides functionality for modules that need to change term references in bulk. It provides no user interface or user facing functionality and should only be installed if another module depends on it.

Categories: Drupal

Amazee Labs: Defining work - Amazee Agile Agency Survey Results - Part 6

Planet Drupal - 12 December 2017 - 1:50am
Defining work - Amazee Agile Agency Survey Results - Part 6

This is part 6 of our series processing the results of the Amazee Agile Agency Survey. Previously I wrote about team communication & process. This time let’s focus on defining work. Who is involved in defining work and which tools are essential for organising your work?

Josef Dabernig Tue, 12/12/2017 - 10:50 Defining work

When asked about who is involved in defining work, we asked about which roles would be included in different phases of the ticket process.

  • “Creating tickets” is performed by these roles ordered by a number of selections: “PM / PO Proxy”, “Any Developer”, “Lead Developer”, “Client / Product Owner”, “UX/Design” and finally “The entire team together”.

  • “Refining/grooming/specifying tickets” is performed mostly by “Lead Developer”, “Any Developer” and “PM / PO Proxy” rated equally high, then “Client / Product Owner” and “The entire team together” rated equally high and finally “UX/Design”.

  • “Estimating tickets” is done by “The entire team together” followed by “Lead Developer” or “Any Developer” rated equally often, then “UX/Design”, “Client / Product Owner” and finally “PM / PO Proxy.”

It looks like there is an apparent tendency for Developers or Lead Developers to be involved in all parts of defining the work. It also makes sense that Clients / Product Owners or the internal counterparts in the agency PM / PO Proxies do participate in defining the work but don’t participate in estimating.

For us at Amazee, having the entire team estimate is essential to make sure there is common knowledge about the problem space and that we can get multiple views to validate our understanding of the client’s requirements. Any of our developers can take a leadership position in a particular project, that person would then be tasked to specify tickets together with the Project Owner (PO) or the client directly, and get estimated by the team later on.

Survey contestants also shared some additional insights about defining work/tickets. I’d like to quote a few of them.

"We have in each team an estimation engineer, scrum master and an architect. Everyone is responsible for doing architectures and estimations, bit the QA goes through these roles. The scrum master is responsible for the 2 weekly process while also being part of the development team."

"Involvement across ticket lifespan evolves as project matures."

"Being the most verbose possible."

"You have not mentioned Acceptance Criteria. This is written in collaboration between our QA and Stakeholders client side, ideally the product owner."

"Again - depending on the project/the client and the PM. We had clients that created and defined tickets together with the PO at our side, so that they could be specified during planning and then estimated by the devs. Sometimes PM is doing it, and sometimes this is done by the lead dev (if PM/PO isn't able to do it). Estimation depends a bit on the time pressure and the team size. If possible we estimate with the whole team. But sometimes we only have the lead dev and the dev who is going to implement the feature estimate."

Organizing work 

We also asked which tools were how important when it comes to organizing work. As shown in the illustration above, the ones that had the most apparent tendency towards their importance were “Sprints”, “User stories”, “Acceptance criteria” and “Tasks”, whereas the graph looks more indifferent when it comes to “Epics”, “Definition of Done”, “Definition of Ready” and “Releases/Versions”.

For us at Amazee, two-week sprints are a crucial instrument for planning and deciding about the priorities of our work. We don’t use User Stories all the time but feel like they are a good way of allowing clients to explain their requirements to the team effectively. Acceptance criteria (AC) are a must for anything that the team will implement - this can be on the user story level or the task level. Our teams also follow a definition of done to make sure that everything is in the right place when it comes to browser testing or on which environment results should be available. Recently, we started using Epics to group requirements that we had earlier on put into components in Jira. This allows to easily track the progress per Epic which is a neat feature in Jira. Releases/Versions aren’t used too much in the teams I work with.

How do you define your work? Please leave us a comment below. If you are interested in Agile Scrum training, don’t hesitate to contact us.

Stay tuned for the next post where we’ll look at estimations.

   
Categories: Drupal

Altering Entity Routes

New Drupal Modules - 12 December 2017 - 1:07am

The Altering Entity Routes is based on Entity Construction Kit (ECK) . It can alter routes of entities created by eck.
As we know,the Entity Construction Kit (ECK) builds upon the entity system to create a flexible and extensible data modeling system both with a UI for site builders, and with useful abstractions (classes, plugins, etc) to help developers use entities with ease.

Categories: Drupal

SCSS Field

New Drupal Modules - 11 December 2017 - 2:12pm

Provides a 'SCSS' field type. Developers and site maintainers can enter SSCS code ("indented" SASS code is currently unsupported) into the field, and it will be compiled to CSS and attached to the page wherever the entity is displayed.

It is possible to "scope" the SCSS/CSS to the parent entity such that any CSS rules therein only apply to that entity.

This module is under active development and is not, by any means, ready for production use.

Categories: Drupal

Platform.sh: Watch your inheritance

Planet Drupal - 11 December 2017 - 1:39pm
Watch your inheritance Crell Mon, 12/11/2017 - 21:39 Blog

PHP 7.2 introduced a neat new feature called "type widening". In short, it allows methods that inherit from a parent class or interface to be more liberal in what they accept (parameters) and more strict in what they return (return values) than their parent. In practice they can only do so by removing a type hint (for parameters) or adding one where one didn't exist before (return values), not for subclasses of a parameter. (The reasons for that are largely implementation details far too nerdy for us to go into here.) Still, it's a nice enhancement and in many ways makes PHP 7.2 more compatible with earlier, less-typed versions of PHP than 7.0 or 7.1 were.

There's a catch, though: Because the PHP engine is paying more attention to parameter types than it used to, it means it's now rejecting more invalid uses than it used to. That's historically one of the main sources of incompatibilities between different PHP versions: Code that was technically wrong but the engine didn't care stops working when the engine starts caring in new version. Type widening is PHP 7.2's case of that change.

Consider this code: interface StuffDoer { public function doStuff(); } class A implements StuffDoer { public function doStuff(StuffDoer $x = null) {} }

This is nominally valid, since A allows zero parameters in doStuff(), which is thus compatible with the StuffDoer interface.

Now consider this code:

class A { public function doStuff(StuffDoer $x = null) {} } class B extends A { public function doStuff() {} }

While it seems at first like it makes sense, it's still invalid. We know that B is going to not do anything with the optional $x parameter, so let's not bother defining it. While that intuitively seems logical the PHP engine disagrees and insists on the parameter being defined in the child class, even though you and I know it will never be used. The reason is that another child of B, say C, could try to re-add another optional parameter of another type; that would technically be compatible with B, but could never be compatible with A. So, yeah, let's not do that.

But what happens if you combine them?

interface StuffDoer { public function doStuff(); } class A implements StuffDoer { public function doStuff(StuffDoer $x = null) {} } class B extends A { public function doStuff() {} }

There's two possible ways to think about this code.

  1. B::doStuff() implements StuffDoer::doStuff(), which has no parameters, so everything is fine.
  2. B::doStuff() extends A::doStuff(), which has a parameter. You can't leave off a parameter, so that is not cool.

Prior to PHP 7.2, the engine implicitly went with interpretation 1. The code ran fine. As of PHP 7.2.0, the engine now uses interpretation 2. It has to, because it's now being more careful about when you're allowed to drop a type on a parameter in order to support type widening. So this wrong-but-working code now causes a fatal error. Oopsies.

Fortunately, the quickfix is super easy: Just be explicit with the parameter, even if you know you're not going to be using it:

interface StuffDoer { public function doStuff(); } class A implements StuffDoer { public function doStuff(StuffDoer $x = null) {} } class B extends A { public function doStuff(StuffDoer $x = null) {} }

The more robust fix is conceptually simpler: Don't do that. While adding optional parameters to a method technically doesn't violate the letter of an interface, it does violate the spirit of the interface. The method is now behaving differently, at least sometimes, and so is not a true drop-in implementation of the interface.

If you find your code is doing that sort of stealth interface extension, it's probably time to think about refactoring it. As a stopgap, though, you should be able to just be more explicit about the parameters in child classes to work around the fatal error.

Enjoy your PHP 7.2!

Larry Garfield 13 Dec, 2017
Categories: Drupal

Accelerate Drupal 8 by funding a Core Committer

Dries Buytaert - 11 December 2017 - 1:15pm

We have ambitious goals for Drupal 8, including new core features such as Workspaces (content staging) and Layout Builder (drag-and-drop blocks), completing efforts such as the Migration path and Media in core, automated upgrades, and adoption of a JavaScript framework.

I met with several of the coordinators behind these initiatives. Across the board, they identified the need for faster feedback from Core Committers, citing that a lack of Committer time was often a barrier to the initiative's progress.

We have worked hard to scale the Core Committer Team. When Drupal 8 began, it was just catch and myself. Over time, we added additional Core Committers, and the team is now up to 13 members. We also added the concept of Maintainer roles to create more specialization and focus, which has increased our velocity as well.

I recently challenged the Core Committer Team and asked them what it would take to double their efficiency (and improve the velocity of all other core contributors and core initiatives). The answer was often straightforward; more time in the day to focus on reviewing and committing patches.

Most don't have funding for their work as Core Committers. It's something they take on part-time or as volunteers, and it often involves having to make trade-offs regarding paying work or family.

Of the 13 members of the Core Committer Team, three people noted that funding could make a big difference in their ability to contribute to Drupal 8, and could therefore help them empower others:

  • Lauri 'lauriii' Eskola, Front-end Framework Manager — Lauri is deeply involved with both the Out-of-the-Box Experience and the JavaScript Framework initiatives. In his role as front-end framework manager, he also reviews and unblocks patches that touch CSS/JS/HTML, which is key to many of the user-facing features in Drupal 8.5's roadmap.
  • Francesco 'plach' Placella, Framework Manager — Francesco has extensive experience in the Entity API and multilingual initiatives, making him an ideal reviewer for initiatives that touch lots of moving parts such as API-First and Workflow. Francesco was also a regular go-to for the Drupal 8 Accelerate program due to his ability to dig in on almost any problem.
  • Roy 'yoroy' Scholten, Product Manager — Roy has been involved in UX and Design for Drupal since the Drupal 5 days. Roy's insights into usability best practices and support and mentoring for developers is invaluable on the core team. He would love to spend more time doing those things, ideally supported by a multitude of companies each contributing a little, rather than just one.

Funding a Core Committer is one of the most high-impact ways you can contribute to Drupal. If you're interested in funding one or more of these amazing contributors, please contact me and I'll get you in touch with them.

Note that there is also ongoing discussion in Drupal.org's issue queue about how to expose funding opportunities for all contributors on Drupal.org.

Categories: Drupal

Dries Buytaert: Accelerate Drupal 8 by funding a Core Committer

Planet Drupal - 11 December 2017 - 1:15pm

We have ambitious goals for Drupal 8, including new core features such as Workspaces (content staging) and Layout Builder (drag-and-drop blocks), completing efforts such as the Migration path and Media in core, automated upgrades, and adoption of a JavaScript framework.

I met with several of the coordinators behind these initiatives. Across the board, they identified the need for faster feedback from Core Committers, citing that a lack of committer time was often a barrier to the initiative's progress.

We have worked hard to scale the Core Committer Team. When Drupal 8 began, it was just catch and myself. Over time, we added additional committers, and the team is now up to 13 members. We also added the concept of Maintainer roles to create more specialization and focus, which has increased our velocity as well.

I recently challenged the Core Committer Team and asked them what it would take to double their efficiency (and improve the velocity of all other core contributors and core initiatives). The answer was often straightforward; more time in the day to focus on reviewing and committing patches.

Most committers don't have funding for their work as Core Committers. It's something they take on part-time or as volunteers, and it often involves having to make trade-offs regarding paying work or family.

Of the 13 members of the Core Committer Team, three people noted that funding could make a big difference in their ability to contribute to Drupal 8, and could therefore help them empower others:

  • Lauri 'lauriii' Eskola, Front-end Framework Manager — Lauri is deeply involved with both the Out-of-the-Box Experience and the JavaScript Framework initiatives. In his role as front-end framework manager, he also reviews and unblocks patches that touch CSS/JS/HTML, which is key to many of the user-facing features in Drupal 8.5's roadmap.
  • Francesco 'plach' Placella, Framework Manager — Francesco has extensive experience in the Entity API and multilingual initiatives, making him an ideal reviewer for initiatives that touch lots of moving parts such as API-First and Workflow. Francesco was also a regular go-to for the Drupal 8 Accelerate program due to his ability to dig in on almost any problem.
  • Roy 'yoroy' Scholten, Product Manager — Roy has been involved in UX and Design for Drupal since the Drupal 5 days. Roy's insights into usability best practices and support and mentoring for developers is invaluable on the core team. He would love to spend more time doing those things, ideally supported by a multitude of companies each contributing a little, rather than just one.

Funding a Core Committer is one of the most high-impact ways you can contribute to Drupal. If you're interested in funding one or more of these amazing contributors, please contact me and I'll get you in touch with them.

Note that there is also ongoing discussion in Drupal.org's issue queue about how to expose funding opportunities for all contributors on Drupal.org.

Categories: Drupal

Isovera Ideas & Insights: Did You Say Taxonomy or Content Type? [NEDCamp 2017]

Planet Drupal - 11 December 2017 - 11:24am
Disseminating the difference between content and taxonomy, "Did you say taxonomy or content type?" was presented at NEDCamp 2017.
Categories: Drupal

Redfin Solutions: Controlling Facebook Preview Images with the Metatag Module

Planet Drupal - 11 December 2017 - 10:56am
Controlling Facebook Preview Images with the Metatag Module

Have you ever posted a link to facebook and wondered where the image comes from in the post preview? Ever wondered if this image is even correct or relevant to what you are posting?

Brett December 11, 2017
Categories: Drupal

Metal Toad: Sluggish Drupal 8 Adoption Lags Even D6

Planet Drupal - 11 December 2017 - 10:49am
Sluggish Drupal 8 Adoption Lags Even D6 Metal Toad Mon, 12/11/2017 - 18:49

We're just past the second anniversary of 8.0.0. To see how D8 is doing compared to prior releases, we put together the chart above, based on Drupal's usage stats page.

For versions 5.x, 6.x, and 7.x, each new release brought dramatically accelerated growth.

Comparatively, D8 has dropped off a cliff. Adoption is far below that of D7, and even behind D6.

Categories: Drupal

Google analytics server triggered events

New Drupal Modules - 11 December 2017 - 10:19am

Ever wanted to trigger a google analytics event when something happens server side? Like a node was saved, a user created or maybe a purchase completed? This module enables you to do that.

Categories: Drupal

Roy Scholten: Thanks to Dropsolid, my first Drupal contribution sponsor

Planet Drupal - 11 December 2017 - 7:19am
11 Dec 2017 Thanks to Dropsolid, my first Drupal contribution sponsor

Creating time and space to do the work

DropSolid in Belgium are the first organisation to sponsor some of my time to work on Drupal core.

It is very liberating to set apart dedicated time for tackling bigger chunks of Drupal core work instead of sneaking in bits and pieces at the edges of the day.

In the time available I was able to:

Many thanks to Nick Veenhof for reaching out and to DropSolid for supporting my work to help design a better Drupal!

I’m open to more organisations sponsoring me to work on the ux and product side of Drupal core. If that is something you are interested in, let me know.

Tags drupalplanet
Categories: Drupal

Ixis.co.uk - Thoughts: Last Month in Drupal - November 2017

Planet Drupal - 11 December 2017 - 7:00am
November saw the Drupal Association bring us the Q2 2017 Financial state summary. We were provided with an update as to what is new on Drupal.org, this included information regarding the community page being given its own place to live, it has now been given a proper section with its own blog.
Categories: Drupal

Toggle Editable fields

New Drupal Modules - 11 December 2017 - 6:36am
Categories: Drupal

Random Quotes

New Drupal Modules - 11 December 2017 - 2:23am

Random Quotes fetches random quotes from TV shows. It's really an entertainment module.

Categories: Drupal

TMGMT Translator TextMaster

New Drupal Modules - 11 December 2017 - 1:02am
Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal