Feed aggregator

Roy Scholten: Drupal UX meeting, 13 September 2016

Planet Drupal - Wed, 14/09/2016 - 00:35

Another fun live hangout with Drupal UX peoples. We review and discuss current issues and provide feedback or guidance where needed. These hangouts are recorded and available on YouTube. I try to link to the right segment in the recording when updating issues with team feedback.

Discussed today: A separate queue for Ideas

I marked Agile process for bigger changes in core (Part A: Ideation) RTBC today. It’ll be open for final thoughts for a few more days. Looks like we’ll have a dedicated place to work through ideas soon.

Sort of like a Display Suite lite in core

Or as we say: Add ability for entity view modes to switch between two hard-coded layouts.

Eaton called it, this is very inside baseball, but adding layout options for arranging the fields in your content type is super exciting.

Media library design

We have an issue going that collects examples of media library features in other systems. Super useful. We (you!) can start sketching out Drupal specific user interface screens and flows now and post them there. (This is one of those issues that would start in the above mentioned Ideas queue).

Sample content

There’s Lee’s post about what it means to provide the tools that enable you to add your sample content to your flavour of Drupal installation. And then there’s adding some (hardcoded?) sample content to core itself, because, well, onboarding. Starting with the latter, that means figuring out what sample content to add in the first place.

The brand new Drupal user guide uses the example of a website for a farmer’s market. Wouldn’t it be great if our sample content and configuration would support that scenario? Yes, yes it would.

Tags: drupaluxproductdrupalplanetSub title: “Kevin, talk sample content to me”
Categories: Elsewhere

Palantir: The Secret Sauce, Ep. 31: Understanding Your Company’s Purpose

Planet Drupal - Tue, 13/09/2016 - 17:14
The Secret Sauce, Ep. 31: Understanding Your Company’s Purpose The Secret Sauce manley Tue, 09/13/2016 - 10:14 George DeMet with Allison Manley Sep 13, 2016

We want to make your project a success.

Let's Chat.

As a company, knowing what you do and why you do it is essential, but so is being able to communicate that vision to others.

In this week’s episode of The Secret Sauce, Palantir Founder and CEO George DeMet dives into the importance of being in tune with your company’s purpose.

iTunes | RSS Feed | Download| Transcript

Subscribe to all of our episodes over on iTunes.

We want to make your project a success.

Let's Chat. Transcript

Allison Manley [AM]: Welcome to The Secret Sauce, a short podcast by Palantir.net, that offers a quick piece of advice to help your business run a little bit better. 

I’m Allison Manley, an Account Manager at Palantir, and today we’re talking with our Founder, George DeMet. He’s going to share why it’s so critical to understand your company’s purpose. It sounds like a basic concept, but it’s important to give clarity around why a company exists.

George DeMet [GD]: In a previous installment of the Special Sauce a couple of months ago, I talked a little bit about my personal history with family-run businesses and some of the values and principles that have helped guide some of the world’s most enduring companies. Values and principles are important because they help answer the question of how we as a company strive to interact with each other, with our customers, and with the world around us.

Today, I’d like to talk about the importance of understanding your company’s purpose, or why it is that we do what we do. 

Being able to say what it is that gives your company direction and purpose is vital to attracting motivated employees and helping prospective customers understand why they should choose to work with you. Knowing what you do and why you do it is essential, but so is being able to communicate that vision to others. 

A core purpose can be articulated in many ways. If you’re a very small company, everyone on the team probably already knows and understands your core purpose, and you may not even need to articulate it. But as your company grows and evolves, chances are that not everyone will come in with that shared understanding, and you’ll need to find a succinct and understandable way to describe to others the reason why your company exists.

Now the flip answer is “because getting a paycheck is what puts a roof over my head and food on my table”, but I think we can all agree that that’s not enough. There are a lot of different ways to make money, and we make a deliberate choice to do what we do. Fundamentally, a core purpose is an organization’s most fundamental reason for being. It does not change, but it inspires change. And most importantly, it must be authentic to the organization’s values and culture. 

Many companies have a mission statement, which is a (usually) brief and aspirational statement describing what it is that the company seeks to do. The difference between a mission statement and a vision statement is that a mission statement focuses on a company’s present state while a vision statement focuses on a company’s future.  Some companies tend to blend these statements, and in most cases, that’s okay. What’s important is that there’s an easy way for people to understand what the company is about and its approach. This is usually something that appears in the company handbook or field guide, and it’s often on the website as well. To be clear, a mission statement or purpose is something that should be distinct from your tagline or marketing slogan.

It’s my belief that regardless of what form it takes, a statement of purpose is not one of those things that you can just knock out in a workshop over an afternoon. It needs to come from deep inside you, and it needs to “feel” right. It’s also really important that the stated mission, vision, and values are be aligned with the actual culture of the company, or else they’re just lip service. 

For example, Enron advertised Communication, Respect, Integrity, and Excellence as their core values, yet the actions of their senior leadership created a culture of greed that encouraged unethical behavior at all levels, using a variety of deceptive, bewildering, and fraudulent accounting practices to make the company appear more profitable than it actually was. The company’s traders were also actively involved in manipulating the energy market in California, illegally cutting power to the state and causing rolling blackouts in order to keep prices artificially inflated. Enron’s CEO, Ken Lay, even bragged to the Chairman of the California Power Authority that "In the final analysis, it doesn't matter what you crazy people in California do, because I got smart guys who can always figure out how to make money." 


I would argue that one of the most important things that the executive leadership of a company can do is to reinforce the company’s vision and values. They need to hold other leaders in the organization accountable and accept ultimate responsibility for the company’s actions. As Harry Truman famously put it, the buck stops here.

At Palantir, our purpose is to strengthen humanity by helping others discover, create, and share knowledge. This informs the kinds of projects and clients we choose to work with, and along with our values and principles, it informs the approach our team takes to helping solve problems. It’s important to note that our purpose is not connected to any specific technology or even to the web itself; we just happen to believe that at this time and place in human history, the web is the primary conduit by which knowledge is discovered, created, and shared, and that we at Palantir have a role in helping others use the web in a way that helps strengthen humanity.

Especially during times of economic and political uncertainty, it’s especially important for companies to understand why they exist. Market conditions and technology change all the time, and if you’re going to be successful in the long term, you need to root yourself in something that is more stable. In our case, that means being able to help customers understand, articulate, and solve their problems in a holistic way. We have always defined our success by the results we help our customers achieve, not by the names of the brands we work with, or the amount of profit we make.

At the end of the day, I believe that companies are most effective when they can communicate who they are and why they are here. That’s something that we try to do at Palantir every day, and I think it’s a big part of what’s contributed to our success for the last twenty years.

AM: Thank you George! For more great tips, follow us on Twitter at @palantir, or visit our website at palantir.net. Enjoy your day.
 

Categories: Elsewhere

Acquia Developer Center Blog: Drupal 8 Content Workflow Initiative - Part 1

Planet Drupal - Tue, 13/09/2016 - 17:09

Part 1 of 2 - I got the chance to talk with Dave Hall and Dick Olsson from Pfizer at DrupalCon New Orleans about the Drupal 8 Content Workflow Initiative. This post includes the video and full transcript of our conversation, as well as links to many of the people and topics we touched on!

Mentioned in the conversation
Conversation Video - 23 min.

Transcript - Welcome to DrupalCon New Orleans!

jam: So – yes. Looking around us (and my joke of the week), we are in beautiful, glamorous New Orleans. Home of great food, which I haven’t had time to partake of this week, and amazing music, which I haven’t heard at all either, but that’s why we called it work, right? We’re here at the New Orleans cConvention Center on the sprint day of the North American DrupalCon 2016. Dick Olsen, how many DrupalCons have you been to and how was DrupalCon New Orleans for you?

Dick: DrupalCon New Orleans has been lovely for me, really. I’ve been at DrupalCon since Paris 2009. I’ve lost ...

jam: The whole time?

Dick: The whole time except San Francisco, which I missed due to the ash cloud.

jam: That was a fun con.

Dick: Yes, that was a – no, it wasn’t a fun ...

jam: No. So I had made it. So we all – we live in Europe, you live in Australia.

Dave: I made it.

jam: You made it. I made it because I went early, but a whole bunch of people couldn’t come right until the end of the week because they weren’t allowing any airplanes to fly because of the unpronounceable volcano in Iceland that was going on. So you have been to several DrupalCons?

Dick: Yes. I think I missed – maybe Washington in there. Was that after San Francisco or was it before?

jam: No, that was 2009. That was before.

Dick: Yes, that was before. Okay. So I’ve been more or less in all of them since 2009. It’s been a long journey.

Meet Dick Olsson!

jam: You’ve been in Drupal for ages as well, right?

Dick: Yes. So I’ve been in Drupal since 2007 – 2008, yes.

jam: Were you doing Drupal before you worked at NodeOne in Stockholm?

Dick: Yes, I did Drupal as a freelancer.

jam: What would you say your specialty is? What’s your Drupal thing?

Dick: I worked a long time on just general contribution to core, but my thing has really been focusing on content workflow and various topics within that. So, Deploy Module has been something that I’ve been involved with since early days of Drupal 6. I took over maintenanceship of that module for Drupal 7. That ecosystem also includes the UUID module and a few other bits and pieces. So the content workflow, content staging, previewing, content type of thing, that’s been what I’ve liked to play with in the community.

jam: UUID’s actually really great and important. That’s something that’s in Drupal 8 core now, and that means every piece of content that you create ever, has a unique identifier, which means that you can merge federated systems of sites, organize better search results, and you never get a conflict where your NID – your node ID is 20 or 200,000, and therefore, boom! Your database breaks, right? Like everything has a completely unique identifier.

Dick: Right. Which is very important when we stage content and move content around between various environments. So that was one of the first big contributions that myself and Dave did for Drupal 8. We got UI ...

jam: Segue to Dave!

jam: But that also helps you solve the problem of live comments happening while you’re updating a site in the background and – yes.

Dick: Yes.

Meet Dave Hall!

jam: Dave Hall! How long have you been doing Drupal and what is your first Drupal memory?

Dave: Okay. So I started with Drupal 4.6. I messed around with it. I first used 4.7 in anger. So I think that was around 2008 – yes, about 2008 probably.

jam: I think it was a little earlier, but talk about using Drupal 4.7 in anger?

Dave: Yes. So I had a client who wanted some content and an online store and I looked around and I already knew about Drupal. I’d done a CMS evaluation for another client and recommended Drupal. They decided to go with WordPress and I said, “See you later guys.” So yes, for this other client, I started using Drupal Commerce – Drupal eCommerce from Gordon Hayden back in.

jam: Yes. Yes. You remembered Drupal eCommerce, which is before Ubercart, which was before Drupal Commerce.

Dave: Yes. I’m one of the grumpy old men of the Drupal community these days.

jam: Get off my shopping cart!

Dave: Yes, exactly. Or get off my site, full stop. Yes. So I’ve been doing lots of stuff with Drupal over for the years. Me and Dick Olsen have actually been stalking each other for years. We both applied for the same job at one point. We co-authored the report to get the Symfony components for HTTP routing into Drupal 8 Core.

jam: Thank you. Thank you. Thank you for that.

Dave: So all of these OO stuff is actually our fault. I know Larry likes to take the credit for it but ...

jam: Oh, here we go ... Okay. I like this. Now, we can get a sort of a rap battle style, diss competition going.

Dave: Yes, I actually heard him take in credit for it when we were in Mumbai and pulled him up on it, and he didn't seem too impressed, but ...

jam: So I have to ... – I will also thank him but I have to thank you guys because not only do we get a really powerful up-to-date, standards based, great core that we can work with for years and years now, which is amazing, but that has also been a great excuse for me, personally, to go out and get really involved, meet a lot of people in the PHP community, go to a ton of great conferences, and really – so thank you. I’ve personally benefited from this.

jam: You, Grumpy Old Drupal Man, what made you stick with Drupal all these time?

Dave: I’d got into dealing with developer workflow and deployment issues around Drupal. So back in the days of Drupal 6 for a single client, I deployed 2086 production Drupal 6 sites using Aegir. That was a crazy project, and ever since then, I’ve been really interested in how do we get code, content, and configuration through the sausage factory that is Drupal development? So really trying to dig into that problem space. So, I do some stuff with content staging but Dick has dug into that a lot more, but I look at ... once you’ve got your content staging solution, how can you automate that? How can you make your config and your code and all of that stuff be able to move around in a coordinated way?

jam: So, deployment in every sense.

Dave: Yes.

What do you like about Drupal 8?

jam: Tell me, please Dick. We’ve been working on Drupal 8 for the last five plus years. What’s your favorite thing about Drupal 8, and where do you think – what sort of horizons does it open for us?

Dick: The biggest and the most important change – I think with Drupal 8 is not necessarily that it’s object-oriented and all of these things. It’s that we have changed our mental model of how we develop Drupal. Semantic versioning in our release process, because that’s absolutely going to set us up for innovating quicker and faster, engaging more people and that ...

jam: Did you see – you’re reading my session notes from what I talked about yesterday.

Dick: I didn’t, but I know how you think sometimes. No, so that’s really I think the biggest impact. Along with that comes Composer - that, I know that you talk about a lot, semantic versioning and Composer. So those things. I think if we have those, everything else will come naturally. More object orientation, more features that we want, more UI improvements. That iterative approach is what I’m most excited about in Drupal 8.

jam: Okay and how about you?

Dave: Well, there’s a strange thing that happens between me and Dick. It’s like I’m thinking something and it comes out of his mouth or the other way around. So I agree with everything that Dick said, but also, I think CMI is a really important ...

jam: Now, just called Configuration Management, I think.

Dave: Yes. Sorry. Configuration management. I work in a corporate environment. So I love my TLAs – "three letter acronyms," for those of you watching at home. So the configuration management stuff makes things so much better, like I embraced features very early on. I could say the power of features and the benefit of features, having YAML files that you can just shuffle around, import, export ...

jam: Version control ...

Dave: Yes. All of that stuff makes things so much easier, and you don’t end up with a developer going in and hacking a feature to just tweak it a little bit, and then when you go to deploy it, stuff breaks everywhere. So yes, I know they can hack the YAML files as well, but hopefully, they do that less. So yes, I’m really excited about that stuff.

Community Initiatives for Drupal 8

jam: Dries talked in public in his keynote here in New Orleans about how he thought the idea of initiatives that we started in Drupal 8, that that went really well, and obviously, there’s been a lot of talk about how to do them better. One of the ideas is to essentially, instead of sort of top down announcing, “We’re going to do this, that, and the other thing," – sourcing ideas from end users, from developers, from the people who work on it to make new initiatives that we can actually use to improve Drupal 8, six months from now, a year from now, two years from now, which is the amazing thing about the semantic versioning model. So I like the idea that there’s this sort of community sourced initiatives, and he’s announced a couple, and you are both part of the one that’s actually the furthest along already. Were you in some ways maybe the model for how to make a new-style initiative?

Dave: We’re happy to take the credit for it.

jam: So it wasn’t Larry this time, it was Dave and Dick.

Dave: No, Larry better not try to take the credit for this one.

jam: So what is the initiative that you’re involved in?

The Drupal 8 Content Workflow Initiative

Dick: The initiative is called the Workflow Initiative or to be more precise, Content Workflow Initiative, and the idea here is really to bring major improvements for our content authors when it comes to content moderation, content workflow and content staging. This will be done by doing lots of UX work and big improvements to our Entity API in core. Lots of the things that we have on our Workflow Initiative roadmap is already being worked on in contrib. and these modules for Drupal 8 has been in development for already quite a few years ... Or two years, I should say. And sort of being battle tested in contrib. as well.

Pfizer and Drupal and the Workflow Initiative

jam: You both work for Pfizer. Talk about – and Pfizer is an organization that literally needs thousands, thousands, and thousands of websites, and they use a lot of Drupal. Talk about the needs of your organization and how this fits to those ... Please use as many acronyms as possible.

Dave: Okay. I’ll do my best. So Pfizer has this thing called MLR, Medical and Legal Review, because being a pharmaceutical company, it’s a highly regulated industry. Pfizer can’t just ...

jam: (That’s an "HRI".)

Meeting real world workflow challenges

Dave: Yes. Pfizer just can’t put up a website saying, “Buy this drug, it’ll solve all of your problems.” They need to make sure that the claims that are being made are backed by research and have been approved by the FDA and there are certain disclaimers that need to be on the website. So all of this stuff that needs to go through a process, where both the lawyers and the medical people check that the content is actually accurate and legal to go on the website. Now, there may also be marketing campaigns where there’s particular stuff that has pre-approved messaging that they can use anytime. So that stuff can go through quite quickly, like say for a coupon for discounted medication or something. They need to be able to roll those out as the TV campaigns are ready to run or the newspaper ads or whatever. Whereas the changes to the content around the claims and things like that that can take a long time, so we need the ability to have multiple streams of content changes running through our environments.

jam: And I see potentially as well, for different kinds of information, different approval workflows, and then I believe you also have to deal with the internationalization side of that, and the regulations and the claims are not just straight translations at that point, right?

Dave: Yes. Pfizer's in a lot of different markets. Each country has their own regulations, and in countries like Switzerland, you’ve got four official languages in that country. So Pfizer has to deal with a lot of complexity with our content.

jam: Okay. This work that you’re doing fits into this model. I like this because this is – I think – going to be a successful example of this very pragmatic marriage between fundamental business interests and doing open source right. Pfizer has benefited from our technology and everything that we’ve put into it. You benefit because you have a great job, and now they need more and it seems to be clear that doing that in your work time that’s – and it’s still going to be Drupal, right? It’s still going to be open-sourced. So was that a hard conversation to have with them?

Dick: With Pfizer, you mean or ...?

jam: Yes.

Dick: No. The management that we have – the IT management that we have at Pfizer, specifically our boss, Mike Lamb, has a very good vision, and he has a very good understanding of open source and what it means, and what it can bring back to a company like Pfizer by doing all of these things. So it was actually Mike who was the driver behind these things, and he got the team on board, and of course, he needs to have a dialogue with his senior management, but that has been a very successful dialogue so far.

Workflow Initiative roadmap, timeframe, phased approach

jam: So what sort of a roadmap and timeframe do you have going on?

Dave: For the initiative?

jam: Yes. Sorry. For the initiative, yes.

Dave: It’s going to be a phased roadmap. So instead of what happened with Drupal 8.0 where it tried to make massive changes and get them to land as one big chunk, we’re adopting a phased approach and looking at what will actually bring benefits – the greatest benefit at each point in the roadmap.

jam: I hate to use the word ‘agile’ but you’re going to do it like a minimum viable product release? And are you going to take advantage of the experimental core modules along the way, hopefully?

Dave: Yes, that’s exactly how we’re looking at doing it. I would actually say that what’s in contrib. today is our MVP, and we’ve been iterating on it in contrib. like with Deploy, it started in Drupal 6 and iterated in 7, and now 8, and now it’s moving into core, and we’re also bringing in parts of Workbench and that started in Drupal 7, building on ideas from previous content workflows as well. So it’s very much that iterative approach and bringing in changes that help people as we get to the end-game, but one of the things we’re very conscious of is when we’re building our own MVP, we’re not going to try to turn our skateboard into a car. We are actually going to be looking at needing to build a car eventually, and making sure that what we build along the way gets us to a car.

jam: Cool. Okay. So mixing our metaphors here a little bit, but it’s also – I guess it’s more a matter of if contrib. does more or less all of this pretty well, it’s also a matter of abstracting it out to the most general use case and sort of strengthening it so that it can be reliable enough to be in core.

Dave: Yes. And there’ll also be some parts where we decide, “Okay. This will work for the 80% case or the 90% case,” and then drop in our pluggable service. So then contrib. can still extend what we’re building, because that’s the power of Drupal. We won’t build something that works for every single user into core. So we need to still allow contrib. to extend what we’re doing.

jam: Right. So we invested heavily in CK editor for WYSIWYG but we still have the – is it the WYSIWYG API – the Editor API? Anyway, we have the wrapper around it, so you can still integrate something else if you want to.

Dick: Yes, exactly. And this is very much an ongoing conversation with the whole community, in terms of a roadmap in our plan. It’s not like Pfizer stepping in here and saying, “This is how it should be done.” As Dave said, these ideas have evolved outside of Pfizer with many different companies, many different clients of both myself and Dave on our own. It’s also reflected in Dries’s survey that this is something that people are looking for. It’s one – media, I think was one of the sort of main user, and content authoring functionalities or future sets that we look for. The second one was workflow related or previewing, moderation type of thing. So this is not something where even though we will be working on this initiative as part of our day job, this is not something where we are coming in and imposing a roadmap.

jam: It’s still the community process.

Dick: It’s absolutely, fully a community process, without a doubt.

jam: What sort of help are you looking for and where should people go to find out more?

Dick: So we have the official plan issue in the core issue queue – it’s there. Just search for anything tagged with the "workflow initiative" tag and you will find it. We will also be gathering our community efforts around Drupaldeploy.org, which is going to be a little bit like – it’s a home for our contrib. modules in this space, and it will also be the home for the initiative a little bit. So those are two good places to start, and there you can find the roadmap, you can find the people who are going to work – sort of the dedicated team for this – and these are people that you can reach out to if you want to help. We have myself as the initiative coordinator, Dave as a senior member of the team with lots of experience here. So Dave will help guide the roadmap and the priorities.

Dave: I’ll play the grumpy old man of the initiative.

jam: Okay!

Dick: Then we have team Tim Millwood, Andrei Jechiu, and Andrei Mateescu on the backend coding side of things. Tim is working for Appnovation, Andre Jechiu is working for FFW, and Andrei Mateescu is freelancing.

jam: Okay. Oh, amateescu, yes, yes.

Dick: Yes. So if you’re interested in coding and the backend side of things, those are people you could reach out to. Certainly, myself as well. If you’re interested in user experience, design, and frontend, then we have Joseph Toth on the initiative as well. You can reach out to him if you want to help with the UX part or the frontend and they’re all listed in that initiative plan that you will find in issue queue. So that’s where you could start.

jam: So did Dick read your mind and say everything that needed saying?

Dave: Yep. I’ve also read the plan multiple times.

jam: Okay, all right. So this is really, really exciting and I actually – it’s especially exciting – I just want to underscore this. We can see results in – maybe not 8.2 but in 8.3, a year from now. Drupal will be better and doing more things, right?

Dave: There will actually be - some of our first phases of development are targeted for 8.2, so yes.

Wrap-up: please help out!

jam: Amazing, amazing. I love that. Thank you so much for taking the time to explain this. Please come help these folks out, I think this is the beginning. There are a bunch of these initiatives coming, and this is the beginning of this possibility where we can make significant differences in a really rapid time frame in our project, and keep ourselves really relevant and on the front lines of the web for quite a while, I think. Quite a while. All right, how was your Con?

Dave: Awesome! It’s probably – after Mumbai, it’s my favorite Con – so my best North American Con I’ve been to.

jam: All right. Big words, and you?

Dick: Because of the initiative, I’m super excited and it’s been one of the best conferences here.

jam: Fantastic! I’ve also had a good time, though I haven’t seen much of New Orleans because it’s just been one of those weeks. Thank you so much for explaining this and doing this, and anyone who wants to help out, come find these people online, Workflow Initiative.

Dave: Yes.

jam: Thanks, guys.

Dick: Thanks.

Dave: Thanks, jam.

Podcast series: Drupal 8Skill Level: BeginnerIntermediateAdvanced
Categories: Elsewhere

InternetDevels: D8 Module Recap: Workbench Moderation

Planet Drupal - Tue, 13/09/2016 - 16:58

So, Drupal is not seem to stop migrating modules any time soon and we are not complaining. So much information to explore, so much things to share with you guys.

And this time we’re covering the Workbench Moderation module. Sounds serious. And it is!

Let’s count some of the features of this module, but, first, let’s find out what it does and how it works.

Read more
Categories: Elsewhere

OSTraining: Four Videos Showing How to Build a Drupal 8 Module

Planet Drupal - Tue, 13/09/2016 - 16:48

Building modules in Drupal 8 is surprisingly easy.

With just four files, you can register the module with Drupal 8, create functionality, control permissions and add a menu link to the module.

In these four videos, taken from the "How to Develop Drupal 8 Modules" class, we're going to show how easy it is to build your first module.

All you need is a Drupal 8 site and you should be able to follow along in just a few minutes:

Categories: Elsewhere

Drupal.org blog: What's new on Drupal.org? - August 2016

Planet Drupal - Tue, 13/09/2016 - 16:44

Read our Roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community.

Our latest update about Drupal.org comes as the Drupal Association has moved out of our central office in Portland, OR, and gone to an all-distributed team. A move of that sort always creates some upheaval but amidst the move we've continued to push forward on several initiatives to improve Drupal.org.

At the same time we've been pushing forward towards DrupalCon Dublin at the end of September- and we hope to see you there!

Drupal.org updates A new home page, coming soon

As we recently previewed on the Drupal.org blog, some changes are coming to the home page. We're building some new editorial tools to allow for more flexibility with the home page content, and to enable an increased focus on the adoption journey for visitors to Drupal.org. You'll see styles reminiscent of the Drupal 8 release announcement pages, and a continued modernization of theme.

The launch of the new home page is coming soon, but as a precursor we've been making some small improvements. The new user menu which we launched in July has been updated for better keyboard accessibility, and to show a user picture as an indicator that a user has logged in. We've also moved the search feature into an icon in the top navigation. This gives us more flexibility with the header, which can be customized per-page type or per-section with the overall site search box still being present. For example, the header in the new documentation section features search box specific to this particular section, so while you are there you can search for other documentation without having to go through the full-site search and then filtering down. Lastly, we've merged the 'Get Started' and 'Download & Extend' pages. 90% of the content on these pages was duplicated with each other - and the new page presents a cleaner experience with the essential details needed for getting started with Drupal.

The new front page is beginning editorial review, with the help of DA staff, a marketing task-force from the Drupal Association board, and a few key community members.

We've also just launched our fall membership campaign, and we've used this opportunity to beta test some of these new editorial tools to build the campaign landing page. Your support makes our work possible. Thank you!

Documentation

There's some news to report on the documentation front as well. Firstly, as mentioned above, we've updated the header of the documentation section to default to a documentation-specific search box. While not so important for other areas of the site,, we want to preserve and improve the highly-visible, in context search for Documentation.

We've also made some updates to the new system for Documentation maintainers. Authors of new documentation guides will now automatically become maintainers of those guides and automatically 'follow' the guide content so that they will receive notifications of activity in that guide. Any user following a guide can modify notifications settings at any time from their user profile. Within the notification settings a user can select their prefered method of receiving updates - via email or via their tracker page.

Tvn has continued to spearhed the migration of documentation from the old book pages, to our new documentation system.

We have completed the migration of the majority of the 'general' documentation. While that is done, there is still a lot of work to do to make the documentation content better using the new tools that are now available.

We need community volunteers to take on small sub-sets of documentation to clean them up post-migration and to maintain going forward.

If you don't want to commit to maintaining a guide, you can still help out by doing some of the pending tasks for any of the documentation pages.

Lastly, if any Drupal developers are interested in contributing code to the new documentation system to clean up a few minor bugs and features, please contact tvn. And if you are going to be at DrupalCon Dublin, consider joining us at the sprints!

Quality of Life Improvements

We also took the time in August to make a few quality of life improvements, both for our end users, and for our own team. Firstly, we've made it easier than ever to download a copy of your invoice for DrupalCon. Any user can now log into events.Drupal.org and any time, go to "My Account" -> "Orders" and download a pdf of their invoice for any past event. If your company is sending you to DrupalCon, this makes the process easier than ever. (And if they're not, here are some tools to convince your boss!)

Behind the scenes, we've made some additional improvements to our sophisticated spam prevention system, which focuses on preventing bad actors from even registering on Drupal.org in the first place. For those few bad actors that do get through, the system is also tuned to allow us to prevent those users from making multiple account registrations, as one of the primary methods for targeting Drupal.org in the past has been to make a large number of 'sleeper' account registrations that can be later updated with spam links. Unfortunately, on rare occasions this tool can make it difficult for legitimate users to register an account, so we've updated the system with a whitelisting system that allows legitimate to register, without opening the floodgates to the bad actors.

Infrastructure Virtualization and better Drupal.org dev sites

On the infrastructural side we've been focused on improving the maintainability, stability, and portability of our infrastructure with our smaller engineering team. In particular we've been focusing on virtualizing all the components of our infrastructure.

In August in particular we completed the virtualization of pre-production services. We've optimized the snapshotting and whitelisting process that allows us to create staging and development environments to make that process more efficient and easier to manage. We've also replaced our drupal.org dev site architecture with a new architecture that is no longer vulnerable to docker-fs faults which have multiple times resulted in data loss on our development environments. Drupal.org contributors who've been affected by dev site fragility should find dev sites to be much more robust moving forward.

Community Initiative Updates

Finally, here are some updates on our active community initiatives. Community initiatives are a collaboration; with dedicated community volunteers building improvements to Drupal.org with the architectural guidance and oversight of the Drupal Association engineering team.

Drupal 8 User Guide

The Drupal.org user guide is an effort lead by jhodgdon and a number of other contributors to create a highly produced, tightly editorially controlled guide to using Drupal 8. This user guide has been written to the standard of an industry publication, and uses a custom editorial workflow with git + asciidoc. Jhodgdon has been building out functionality to publish the user guide to a Documentation guide on Drupal.org.

Security

A few interrelated initiatives are in progress to improve how information about project security is displayed on Drupal.org. Mlhess has been working on a new security advisory content type for Drupal.org, which will allow security advisory content to be more easily related to project releases, among other things.

With the input and collaboration of quite a few community members, including the security working group, we've also deployed an update to project pages.

This update adds a shield icon next to stable releases. This shield icon indicates which releases are covered by the security advisory policy. This small change is also part of the groundwork for a project application revamp.

Community initiatives are not work that the Drupal Association can tackle on our own. Our mandate requires us to remain focused. That said, whenever the community has arrived at a strong plan and individual volunteers are ready to contribute code, the engineering team can provide architectural advice, code review, and deployment support.

———

As always, we’d like to say thanks to all the volunteers who work with us, and to the Drupal Association Supporters, who made it possible for us to work on these projects.

If you would like to support our work as an individual or an organization, consider becoming a member of the Drupal Association.

Follow us on Twitter for regular updates: @drupal_org, @drupal_infra

Categories: Elsewhere

OSTraining: 3 More Major Features in Drupal 8.2

Planet Drupal - Tue, 13/09/2016 - 16:32

In early August, we wrote about 7 improvements you'll see in Drupal 8.2.

During the four weeks since that post, the Drupal team has added more major features. Drupal 8.2 is now in the release candidate stage, so the features are finalized. Now is a good time to download and test.

You can read the 8.2 changelog for a rundown of all the changes, but in this blog post we'll introduce you to three more big improvements.

Categories: Elsewhere

Valuebound: Most Commonly Used hooks in Drupal 7

Planet Drupal - Tue, 13/09/2016 - 15:28

Before I begin with hooks, I am sure that you must be aware of the Drupal hook system. What is hook? How modules interact with the core code of Drupal? How hooks make it possible for a module to define pages, content, bundle, entity, menu, region, table, url etc? In this article I will be re-introducing you to the hooks and if you are looking for more information on the hook system then my suggestion is to go through Understanding hook system for Drupal module

First, I would like to give a small summary on hooks. A hook is a way to place a piece of your own custom code to be run by Drupal. Using hooks, you can ask Drupal to run a piece of code when a node is viewed/edited/deleted. hooks are conceptually related to method. They…

Categories: Elsewhere

Zivtech: 3 Things Junior Devs Should Know About Writing Drupal PHP

Planet Drupal - Tue, 13/09/2016 - 15:00
PHP can be challenging to learn, especially if you’re learning Drupal at the same time. Three things stood out to me while I learned how to write PHP within Drupal, and I’m hoping by highlighting them, it might help other junior developers.

I’m going to use a snippet from a basic Drupal form with a submit handler (see code for the entire form here). It’s an example of code you will see often, since Drupal re-uses their form API for consistency in form processing and presentation. This particular code snippet adds a fieldset called ‘name’ to the form.
/** * Returns the render array for the form. */ function my_module_my_form($form, &$form_state) { $form['name'] = array( '#type' => 'fieldset', '#title' => t('Name'), '#collapsible' => TRUE, '#collapsed' => FALSE, ); Three items within just these few lines seemed strange to me starting out. Function t '#title' => t('Name'), You’ll see this bugger everywhere! Of course I know how to write a string, but what is the t for? Straight from the Drupal 7.x API:

“Translates a string to the current language or to a given language.”

As explained here, each string within function t can be translated through the Drupal UI, which is great for the accessibility of your site. All strings need to be passed through this function, but it’s worth noting that content translations are actually handled elsewhere (see the Internationalization module for more information).

& - Passing by reference function my_module_my_form($form, &$form_state) { } As I started to write functions in PHP for Drupal sites, I noticed that so many of the arguments had ampersands in front of them. So what is that about?
From the PHP Manual:

“You can pass a variable by reference to a function so the function can modify the variable. The syntax is as follows:”

<?php function add_one_to(&$var) { $var++; } $a=5; add_one_to($a); // $a is 6 here ?>

In my function my_module_my_form, I want to modify the variable’s $form_state. This variable is used to retrieve the values entered from the user in the form, so it follows that I probably want that variable to be modified in order to store those entries. It’s worth noting, however, that by default, objects are copied before they are passed to a function. From php.net:

“When an object is sent by argument, returned or assigned to another variable, the different variables are not aliases: they hold a copy of the identifier, which points to the same object.”


This acts as a safety net by ensuring you don't change an object by mistake. But sometimes the purpose of a function IS to change one of the objects passed (like in our form example), and this is when you pass by reference.

# Properties $form['name'] = array( '#type' => 'fieldset',

The form API is robust in Drupal, and can be used over and over again. It would be reasonable, then, for the same properties to exist for certain variables, like $form (see complete list of properties for $form in the Drupal 7.x API). So when you’re setting the properties of your variable, the ‘#’ denotes that ‘type’ is a property, and so is ‘title’, etc. Not every property needs to be set, but you’ll see the major ones being defined often.

I hope I was able to demystify some of these conventions - the learning curve of Drupal is steep, and sometimes you just need to break it down into manageable pieces. I’d love to hear about other Drupal or PHP conventions that were odd to you when you started out.

A special thanks to Dan Zinkevich for helping to edit and clarify this post by lending his expertise!

Categories: Elsewhere

Annertech: Meet the Annertechies You'll Meet at DrupalCon

Planet Drupal - Tue, 13/09/2016 - 13:39
Meet the Annertechies You'll Meet at DrupalCon

Annertech will be descending upon DrupalCon with (nearly) our full team of "Annertechies". So much so that there will be more Annertechies in attendance than all other people from Irish agencies combined. With that kind of showing, we thought we'd introduce ourselves and let you get to know us.

Categories: Elsewhere

Valuebound: 7 Things you need to know before expanding to a Multilingual Website

Planet Drupal - Tue, 13/09/2016 - 13:03

For a Digital Media website, expanding business to another language is a quite challenging and tough task to deal with. It makes you re-evaluate your CMS . A lot of questions come forward while you take the decision. Firstly Why? But now that you know you want to translate, you think, What all should we translate? How will we handle pages in default language? What components do we add? What services to use and how to maintain pages?

A major chunk of content these days is written, managed and stored with the help of a CMS or Content Management System (CMS). Selecting the right CMS at the beginning of expansion into a multilingual site ensures that the website and its contents are effectively managed and displayed right from the beginning.

# 1 What  is the…
Categories: Elsewhere

OpenLucius: Update OpenLucius | September 2016

Planet Drupal - Tue, 13/09/2016 - 11:04



We've updated OpenLucius, a Drupal social intranet / work management system. This is the most important new stuff we built for you:

1. Board

We added a new app: Board. In this Kanban board you can collaborate on tasks more easily and efficient:

Categories: Elsewhere

DrupalCon News: Drupal in Ireland - Project 2

Planet Drupal - Tue, 13/09/2016 - 10:00

As part of our series of showcasing what Drupal is doing in Ireland, we are happy to bring you another awesome online experience that Drupal has created.  

Categories: Elsewhere

Dewy: Stop The Update Module From Scaring Your Clients And Users

Planet Drupal - Tue, 13/09/2016 - 08:00
The update module provides an important view of what modules are out-of-date and insecure on your Drupal site. But to your users and clients, the list is confusing, alarming, and the more they see these warnings before you can get to them, the more risk to your reputation.
Categories: Elsewhere

Colan Schwartz: User-friendly encryption now in Drupal 8!

Planet Drupal - Mon, 12/09/2016 - 22:54
Topics: 

The problem with most encryption strategies nowadays is that they require third-party software and/or services, require maintenance of additional keys and/or secrets, and provide an awful user experience.

Earlier this year, I started wondering why we couldn't simply encrypt data with pre-existing secrets, the passwords users already have for logging into their Drupal sites. They shouldn't have to deal with public and private keys and other cryptographic details. So I did some research, and was happy to discover that the security model is already in existence. The folks at ownCloud have not only published it (Data Encryption Model 1.1 and 2.2); they've already implemented it in their product. What's even better is that the product is also written in PHP like Drupal, and has an open-source license. So the ideas and code can be reused.

Not too long after I made this discovery, the Drupal community was looking for project ideas for Google's Summer of Code (GSOC). So I added mine to the list. There were several students interested in the topic, and wrote proposals to match. Talha Paracha's excellent proposal was accepted, and he began in earnest. With Adam Bergstein (nerdstein) and I mentoring him, Talha successfully worked though all phases of the project. For details, please see his blog posts.

Now that GSOC 2016 has come to a close, we have a full project release for the Pubkey Encrypt module. It's currently in beta, awaiting community review before we publish a production-ready version. We've included an architecture document, user stories, and usage documentation. There's also a video! Please take the time to experiment with the module, and create tickets for any issues that you find.

At the time of this writing, only field data can be encrypted via the Field Encryption module. The File Encryption module is still in development, but as soon as it's released, it should work with Pubkey Encrypt as well.

This article, User-friendly encryption now in Drupal 8!, appeared first on the Colan Schwartz Consulting Services blog.

Categories: Elsewhere

Palantir: Dublin DrupalCon, Here We Come!

Planet Drupal - Mon, 12/09/2016 - 18:00
Dublin DrupalCon, Here We Come! brandt Mon, 09/12/2016 - 11:00 Alex Brandt Sep 12, 2016

See us speak at Dublin DrupalCon September 26 - 30, 2016.

Stay connected with the latest news on web strategy, design, and development.

Sign up for our newsletter.

If there’s any event that gets us excited, it’s DrupalCon. Dublin DrupalCon is approaching in two short weeks, and we will have three Palantiri in attendance speaking about Drupal and its community values. Check out the full list of our presentations below. We can’t wait to see you there!

Contextual Configuration in Core: Do We Want It and Can We Do It? By Ken Rickard
Tuesday, September 27, 2016
3:45 - 4:45pm
Room: Liffey Meeting 4

Why you shouldn’t miss it:

  • If you need to change site variables within a specific context, such as a group, a domain, or a workspace, building a UI is currently blocked by core limitations.
  • For instance, do you need to change the timezone of your site based on that language of your users? Right now, you have to do that with YAML files.
  • We’ll explore these limitations, discuss possible solutions, and try to decide if it’s important enough to fix.

 

Improving the Drupal Contributor Experience by George DeMet
Tuesday, September 27, 2016
10:45 - 11:45am
Room: Liffey Meeting 3

Why you shouldn’t miss it:

  • George and other members of the Drupal Community Working Group (CWG) will be exploring some of the root causes of contributor frustration and burnout in the Drupal community and discuss some possible solutions.
  • The session will talk about how things like formalized mentorship programs, leadership training, and better community conflict resolution resources can help improve the experience of contributing to Drupal for everyone.
  • Attendees will gain insight into the kinds of issues that people experience when contributing to Drupal and other open source projects, but also learn about some important non-technical tools and techniques that can help improve communication and make it easier for people to become more engaged community members.

 

Workbench for Drupal 8 by Ken Rickard
Thursday, September 29, 2016
10:45 - 11:45am
Room: Liffey Hall 1

Why you shouldn’t miss it:

  • Workbench makes building complex editorial workflows easy.
  • Learn how to select and configure the components that make up Workbench.
  • Workbench Moderation has moved into Drupal core. Find out what that means for your project.

 

Midcamp Madness and Planning Human-Centered Events by Avi Schwab
Thursday, September 29, 2016
2:15 - 3:15pm
Room: Liffey Meeting 4
Why you shouldn’t miss it:

  • Avi will channel the knowledge of the whole MidCamp organizing team to share the special sauce that makes MidCamp one of the premier Drupal camps in the country.
  • Conferences often focus more on the code than the people who make it. Whether you are an organizer or an attendee, we’ll try to help you feel more like a human being at any event.
  • A wealth of Drupal knowledge awaits those who seek to find it. Learn how we achieve some of the fastest video turnaround and highest recording rate of any camp out there.

Stay connected with the latest news on web strategy, design, and development.

Sign up for our newsletter.
Categories: Elsewhere

Acquia Developer Center Blog: Multisite Governance, Site Delivery, and Other Issues Related to Managing Many Sites: Part 4

Planet Drupal - Mon, 12/09/2016 - 16:35

This is Part 4 of an interview with Will Eisner, Senior Director, Product at Acquia. Will’s primary focus is on Acquia Cloud Site Factory, which helps organizations create and manage many sites, from a dozen to thousands.

Tags: acquia drupal planet
Categories: Elsewhere

Drupal Association News: Membership is connection

Planet Drupal - Mon, 12/09/2016 - 14:00

Today we launch the membership campaign focused on the Drupal Association Community Cultivation Grants program. Association members fund grants to kickstart community-strengthening projects around the world.

The campaign runs through October 28 and our goals are 265 new members signed up and $10,918 in revenue. These are a 10% increase over the same period of time last year.

We'll have a banner on drupal.org throughout the campaign and a landing page. In it, you'll read how grant recipients feel connected in the community.  Their pride shows in their words about work on Drupal camps and a traveling roadshow. Thanks to Andrey, Ricardo, Martha, Ivo, and Tom for sharing stories.

You can help make this campaign a success. Join the Drupal Association and share your story. How has community connected you with people, resources, and success? Tell your story to the Drupal community members and open source advocates you know.

Spread the word

Personal blog tags: Membershipcommunity cultivation grants
Categories: Elsewhere

Triquanta Web Solutions: Making your customers pay

Planet Drupal - Mon, 12/09/2016 - 12:41
A very basic payment set up with webforms and Ogone

There are a number of use cases in which you want to supply visitors of your website with a simple means of paying, but where full-blown webshop implementations like Drupal Commerce or Ubercart would be overkill because you do not really need products and order management.

Luckily, there is a light-weight solution for this by using the Webform paymethod select-module in combination with the Payment-module and one or more modules which supply payment providers. In this blog we will be using the Ogone-module.

By the way: Ogone changed its name to Ingenico and therefore exactly speaking we should be using the Ingenico-module. This module however is exactly the same as the Ogone-module, only a search-replace was appiled which changes 'ogone' to 'ingenico' in all module code, and (wrongly) even in the documentation links supplied.

Because the patch we have to apply later on was written for the Ogone-module we will use that module and not the Ingenico. And everywhere where I've written "Ogone" you should apply a search-replace to "Ogone/Ingenico" in your head.

Contrib modules

Setting up webforms to include simple payments requires a number of contrib modules to be enabled:

drush en -y webform_paymethod_select drush en -y ogone

NB: Use "drush en -y" to make sure all dependencies are installed.

You will also need to make a number of configuration steps before you can use webforms with payments.

Configure payment method

Go to

/admin/config/services/payment/method/add

To add a payment method. As explained above we are using the Ogone payment provider here, so all fields used below will be Ogone specific but other payment providers will have similar fields.

Add an Ogone payment method Title (specific)

Basically this is the admin label.

Title (generic)

This is the label shown to customers.

Owner

This defaults to the user who creates the payment method but can be set to a other user. In combination with setting the permissions correctly this will give the selected user the ability to fully control the payment method.

PSP ID

This is the ID provided by the payment provider to you. You also use it to log in to your Ogone pages on the Ogone backoffice login so I assume it will be known to you. If not: you will absolutely need this to get the payments working.

Passphrase hashing algorithm

You have a number of choises here:

  • SHA-1
  • SHA-256
  • SHA-512

But the important thing to remember is that whatever you choose here must also set on the Ogone page Configuration | Technical information | General security settings. Failing to do so will give errors because the encryption/decryption of sent information will fail.

Incoming passphrase and Outgoing passphrase

These password form the heart of your security settings and must always be kept a secret. Furthermore: if you are an external developer who is configuring the payments for a client it will be best practice to make the client change these passwords and the password for the Ogone backoffice after the testing period.

In this way you will not have acces to the payments made, and this is something the client really wants (not that they are not trusting you of course...).

But seriously, you do not want that this kind of information to fall into the wrong hands when, for example, your development machine is hacked (Never!!) or stolen and in the latter case the hacker in one way or another succeeds in decrypting you hard drive (you do use an encrypted hard drive, don't you?).

The passphrase you give for Incoming passphrase must also be set on the Ogone page Configuration | Technical information | Data and origin verification. If there is a mismatch between these you will get an unknown order/1/s/-error in the Configuration | Error logs.

The passphrase for Outgoing passphrase must be set on the Ogone page Configuration | Technical information | Transaction feedback. And while you are there: do not forget to set the checkbox for I would like to receive transaction feedback parameters on the redirection URLs. If you do not check this box there will be no return parameters what so ever (not even the ones Ogone says are always returned) and the Payment module will generate an access denied error when the customer returns from Ogone.

Server

When setting up payments you will always use the Ogone testing environment. Setting this wrong will give you an "unknown order/1/s/"-error in the Ogone error logs. Make sure this setting is correct and tested when the payment webforms are released to the production environment! And when all is correct force your client to change the passwords mentioned earlier.

By the way, there are a number of test-credit cards you can use on the testing environment:

  • VISA: 4111111111111111
  • Master Card: 5399999999999999

If you use either of these you can fill in any name, expiry date and security code you like and, great advantage, your real credit card will not be charged!

Ogone payment method brand

If you do not make any choice here the customer will be presented a list (well actually a number of icons) when she arrives at the Ogone payment page. If you Ogone subscription offers mutliple payment method (for example VISA and Mastercard) leaving this empty will be best. Or you could add multiple payment methods in Drupal, each specific for a payment mehod in Ogone, and let the customer choose before redirecting her to the Ogone payment page.

Enable the payment method

Do not forget to make sure that the checkbox "Enabled" on top of the payment method add form is checked. Ohterwise the payment method will not be avilable in the webform.

Add a webform

To enable payments on the webform you will need at least a field of the type Payment Selector. When you add this you will need (aside the default fields like 'Label', 'Form key' etc) to select the following items:

Payment Description

A short desctription.

Selected Payment Methods

Here you have to indicate which payment methods will be available for the customer. If you enable multiple payment methods the customer will have to select which method she wants to use. If you enable only one payment method this one is used automatically and no options are presented to the customer. In some themes in this case an empty fieldset will be shown. The cleanest way would be a hook_form_alter to move the content out of the fieldset, but you could also remove the border and hide te legend in CSS.

Select a currency code

The currency code is independent of selected payment method which makes it possible to use the same payment provider for multiple currencies.

Line items

Each line item represents one item the customer will be paying for. In the most basic setup you can set a fixed amount and quantity, which means every payment made through this webform will be for the same amount.

More interesting however is the possibility to select the amount and /or the quantity from an other webform element. This will make the amount payed dependent on the choices made by the customer in the rest of the webform fields. You have to make sure that the elements do have a valid number as value, so selecting a default 'Textfield' here is not a good idea. Limit yourself to either form elements of the type 'Select options' or 'Number' to make sure you have a valid number for both the amount and the quantity. Not that you don't trust your customers of course...

For each line item you have to set the tax rate and the description.

So, to review:
  • You can either let the customer choose a payment method or make sure there is only one.
  • Currency set here applies to all payment methods and all line items
  • Tax rate and description are set per line item
Best practices

I think it is best practice to include a required e-mail field to the webform and configure the webform is such a way that the customer also receives an e-mail with the data from the webform submission.

Also alway sent an e-mail to an administrator which, besides the filled-in webform fields. also includes a link to the webform submission.It is imoprtant to so because the submission ID (eg. '76' in /node/5239/submission/76) is also used as the Merch ref in the Ogone overviews. So if you have this number you can always track the payment in Ogone, even if by some distater you have to revert your site to an earlier backup or have to reinstall the complete site.

By the way: if this should ever happen, do not forget to set the Next submission number of each payment webform hight enough to not overwrite any exsiting payments. You can do this on the edit form of the webform, under Form settings | Advanced settings.

It can happen that the functionality offered by the 'Webform Paymethod Select'-module is not enough for what you want to accomplish but Commerce would still be overkill. So one thing you could do here is use Javascript to create a form that has more possibilities (for example apply discounts according to choices made) and write the result in a read-only number field.

If you do this however, make sure you also do the same calculations serverside by adding an extra submit handler with a 'hook_form_alter' and in store the calculated amounts in the

$form_state['values']['submitted'][<element_name>]

This way you make sure that any alterations made client-side to the calculated amount are reversed. You should only use the Javascript calculations to provide the customer with feedback, and not use it as the final amount to pay. Not that you don't trust your customers of course...

Been there, done that, still not working

Ok there's a couple of things to do before you can get this working.

Ogone parameters

Ogone changed the parameters included in the feedback somewhere in 2015 and since the security SHA included in the feedbackt request is based on this parameters and access to the payment result pages is calculated by comparing the sent SHA with a calculated value, you wil get an access denied when returning from Ogone, see the function ogone_return_access() in the file ogone/ogone/ogone.module of the Ogone-module. Luckily, there is a patch for this, wich updates the parameters used in the computation.

Of course somewhere in the near future this patch (I assume) will be included in the stable verison of the Ogone module, but if you get access denied errors and you are sure the pass phrases are entered correct on both the Drupal and the Ogone side, this is a thing to check first.

Webforms says no...

After applying the forementioned patch and testing another payment, you wil get an... Access denied. But this access denied is not thrown by the payment modules but by the webform-module. The problem is caused by the fact that the payment module is not yet ported to webform 4.x, the default webfom version you get when installing the webform-module.

The solution is however reasonably simple: the 4.x branch of webform uses a token to determine if the visitor has access to the requested form submission. All we have to do is to add the token to the parameters the payment module sents to Ogone (or any other payment provider). The patch for this can be found here. If any access denied-error are thrown, make sure to check if this patch is include in the module you are using.

Ogone says no...

Sometimes there will be an error direclty when the customer lands on the Ogone payment page. There are a number of settings in Ogone to check when this happens. First of all: re-check the pass phrases are indentical and you have not swapped the ingoing and outgoing passphrases.

Also check on the Ogone page

Conclusion

So now you will have the ability to add simple payments to you webforms. Sometimes however you will notice that, with this in place, your client will be asking for more and more features and suddenly you will find yourself building a complete webshop in custom modules with extra Javascript and extra submit-handlers all over the place. When this happens, be brave enough to confront your customer and negotiate a rebuilt with either commerce (preferable) or ubercart, because very quickly this kind of augmented simple payments will prove to be totally unmaintainable. So, as a rule of thumb: Keep it simple, until keeping it simple makes things too complicated.

Documentation links

Ogone support overview

Ogone guide map

Categories: Elsewhere

DrupalCon News: Drupal In Ireland - Project Series

Planet Drupal - Mon, 12/09/2016 - 09:00

The Irish Drupal community is delighted to welcome you to DrupalCon Dublin and offers you a “céad míle fáilte” - a “hundred thousand welcomes”!

We hope you are looking forward to DrupalCon Dublin as much as we are. It's looking like it will be a fantastic event with lots of great sessions lined up, Trivia Night and of course, the Drupal Ireland Welcome Party!

Categories: Elsewhere

Pages

Subscribe to jfhovinne aggregator