Planet Drupal

Subscribe to flux Planet Drupal
Drupal.org - aggregated feeds in category Planet Drupal
Mis à jour : il y a 31 min 38 sec

Axelerant Blog: What’s Axelerant Doing at DrupalCon Dublin?

jeu, 22/09/2016 - 20:00

Giving back to our communities isn’t a new thing for us. And come Monday, five of our team members will be at DrupalCon Dublin. There will be plenty of Axelerant to go around. We’ve got three sessions, each in a different track, and the official event photography team will be led by Michael, our COO.

But before we get into what we’re bringing to Dublin, we should mention that we started to schedule our meet and greets. And we want you to be one of them. Let’s get together at a local brew pub and talk about Open Source problems and solutions in the community:

jQuery(document).ready(function() { var cta_57ea08d571339 = false; jQuery(document).scroll(function() { if ( typeof ga !== 'undefined' && typeof isScrolledIntoViewPort !== 'undefined' && jQuery.isFunction( isScrolledIntoViewPort) && isScrolledIntoViewPort('.cta_57ea08d571339') && cta_57ea08d571339 == false ) { cta_57ea08d571339 = true; ga('send', 'event', 'cta-image', 'view-dcdublin', 'Let's connect at DrupalCon Dublin', 1); } }); });

Now, let’s get into what we’re up to. We’re presenting in Front-End, Project Management, and Business tracks at DrupalCon Dublin, so be sure to add them to your list.

Choosing The “Right Agile Methodology” For Your Drupal Projects

Date: 09/27/2016

Time: 14:15 to 15:15

Room: Liffey Meeting 4 | New Relic

Add this session to my schedule!

Shani and Prabhat will explore and compare different agile methodologies and share tips on how to choose the right one so you can accelerate your Drupal project. In this session, they’ll cover effective uses of CYNEFIN, a popular decision-making framework, to differentiate between Drupal projects and choosing right agile methodologies for the same.

Shani and Prabhat will cover:
  • Scrum
  • Extreme programming
  • Feature-driven development
  • Scrumban
  • Kanban
  • Lean development
Expected Takeaways:

A clearer idea of which methodology is right for each project, considering: project size, team size, iteration length, roles and responsibilities, and distributed team support. They’ll also discuss risk mitigation levels and customer interaction.

Growing Via Strategic Account Management Frameworks

Date: 09/27/2016

Time: 17:00 to 18:00

Room: Wicklow Hall 2A | Druid

Add this session to my schedule!

Piyush will take you through our Account Management practice and share some real-life case studies demonstrating how we hit target sales quota by 2-3x and achieved maximum strategic account objectives within the desired timeline.

Have you connected with Piyush yet? Schedule a chat with him. jQuery(document).ready(function() { var cta_57ea08d57d1b4 = false; jQuery(document).scroll(function() { if ( typeof ga !== 'undefined' && typeof isScrolledIntoViewPort !== 'undefined' && jQuery.isFunction( isScrolledIntoViewPort) && isScrolledIntoViewPort('.cta_57ea08d57d1b4') && cta_57ea08d57d1b4 == false ) { cta_57ea08d57d1b4 = true; ga('send', 'event', 'cta-wide', 'view-dcdublin', 'Have you connected with Piyush yet? Schedule a chat with him.', 1); } }); });

Piyush will cover:
  • Customer onboarding process
  • Kickoff meetings
  • Routine engagement health check-ins
  • Invoicing and collections management
  • Satisfaction surveys and testimonials management
  • Complaint and grievances management
  • Contract renewals and extensions.
  • Opportunity exploration: researching the client, industry, references, social media, etc.
  • Evangelizing clients via social media, digital marketing, and event participations
Expected Takeaways:
  • What is Account Management?
  • What skills and talents are required to excel in Account Management specific to Drupal
  • What activities must be performed to maximize Account Management ROI?
  • What are some of the accountabilities and performance metrics used?
React Front-End For Your Drupal 8 Back-End

Date: 09/29/2016

Time: 12:00 to 13:00

Room: Wicklow Hall 2B | Platform.sh

Add this session to my schedule!

Aliya and Bassam will give a hands-on session. By the end of it, you’ll have learned how to build a decoupled website using React ecosystem on the front-end, using Drupal 8 as the content management system (and a data source).

Aliya and Bassam will cover:
  • How to configure Drupal to expose RESTful resources using Drupal 8
  • Enable CORS support for the domains/port running our React application
  • Authenticate requests using JWT
  • Consume data on front-end using Redux store
  • Pass data from Redux store React components
Expected Takeaways:
  • Be able to build a RESTful API using Drupal 8
  • Use any backend with react front-end
Covering DrupalCon Dublin

Michael has a knack for capturing Open Source events around the world as a way of giving back. He’s been leading the photography for two DrupalCons now: DrupalCon Asia and DrupalCon New Orleans.

He’s coming fully equipped to help the Drupal Association immortalize DrupalCon Dublin for all of us, and you can help. If you’d like to contribute to this process, there’s still time to join the “Official Photography Team.”

And while he’ll be running around the event like a paparazzo, Michael would still like to connect with you one-on-one to answer any questions you have about Axelerant. Be sure to take him up on the offer if there’s something you feel we can help you accomplish.

Want to chat about something? Book a time with Michael. jQuery(document).ready(function() { var cta_57ea08d57d26f = false; jQuery(document).scroll(function() { if ( typeof ga !== 'undefined' && typeof isScrolledIntoViewPort !== 'undefined' && jQuery.isFunction( isScrolledIntoViewPort) && isScrolledIntoViewPort('.cta_57ea08d57d26f') && cta_57ea08d57d26f == false ) { cta_57ea08d57d26f = true; ga('send', 'event', 'cta-wide', 'view-dcdublin', 'Want to chat about something? Book a time with Michael.', 1); } }); });

This article What’s Axelerant Doing at DrupalCon Dublin? by Parth Gohil first appeared on Axelerant - Axelerant: Expert Drupal Development, Support, & Staffing.

Catégories: Elsewhere

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

jeu, 22/09/2016 - 17:12

Jozef Toth talks about the Drupal 8 CWI - I got the chance to follow up on my conversation with Dave Hall and Dick Olsson about the Drupal 8 Content Workflow Initiative (Podcast: Drupal 8 Content Workflow Initiative - Part 1). 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
Video interview - 27 min.

Full transcript

jam: My standard joke in all the podcasts lately ... and I apologize because I’m doing it over and over again ... but welcome to glamorous Nové Zámky in the Slovak Republic. Jojo Toth and I just had quite a nice weekend in Bratislava, the capital of Slovakia, at the DrupalCamp CS. Among other hats, you’re the head of the Slovakian Drupal Association.

Jozef: Yes.

jam: Talk about who you are, what you do, and talk about DrupalCamp CS.

Jozef: My name is Jozef and I work as a user experience designer at Pfizer, and as you said, part of what I do as my volunteering time is leading or trying to help with the organizing of DrupalCamps in Slovakia and also organizing the entire Slovak Drupal community. I’ve been working with this for about seven years now, and we had five camps total so far, and many good events, smaller meet-ups, trainings.

jam: One of the really interesting parts of the Slovak DrupalCamp - so in real time, it’s June the 1st today that we’re speaking. The camp was at the end of May. One of the interesting things that happened at the camp was the launch of the Czech Drupal Association at the – well, the CS Camp is supposed to be unified, right?

Jozef: Yes.

jam: Is everybody still friends between the Czech Republic and Slovakia? Is it okay to do that sort of thing?

Jozef: Yes. I would say that most people are still very good friends. Actually I think it’s more like brothers, and definitely to me it feels that way. Really, from the beginning when we started organizing camps, our two communities which are not really big, we cooperated a lot together, did a lot of events together. Slovaks have been active in Czech Drupal Forum. Czechs have been active in the Slovak Drupal Forum, so it was just natural that for the last two years, we’ve decided to do a joint event and now it’s officially not DrupalCamp Slovakia, but CS which is Czechoslovakia. Actually, what you have on your T-shirt is Drupal Without Borders, so we were sort of reuniting Czechoslovakia again through Drupal.

jam: Okay. Are you going into politics next?

Jozef: I might consider that. I’m so sorry. I can’t deny nor confirm that.

jam: Now you and I have known each other for a number of years. I am absolutely certain that we worked together the first time in 2011. I’m not sure if we had met before that, but you used to run - among other things, you used to run a design agency, and we worked together to produce among other things a really fun infographic about the Drupal Security Process which I’m still really, really proud of and I’m going to link to again because it’s cool.

jam: How and when did you discover Drupal?

Jozef: That is a long story, so to make it short, and it was a long time ago, I think it’s like 11 years now. I was traveling on a train to my daily job where I was basically doing designs and trying to create some websites – some static websites, and my friends kept asking me, “Can you create a website for me?" then another friend, another friend ... I ended up looking for something which can help me to do it in a more sustainable way I would say, so I wouldn’t have to reinvent the wheel every time when I create a website so I discovered the word “content management system,” and then I discovered Drupal and I was actually comparing it to several other options. What really helped me was I found a very good resource. It was like a training blog post, “How to Build Your First Drupal Website,” and it basically convinced me that Drupal is the way how I should move forward and it’s been a successful journey so far.

jam: Your background is in design, so I imagine people were asking you for websites because you would make them pretty.

Jozef: Yes.

jam: All of these years you’ve been doing Drupal and by my count, that’s got to be at least six, eight?

Jozef: Since 2007, so it’s ...

jam: Wow. Nine years now. You don’t consider yourself a coder or a developer. From your perspective, with your design background and so on, what’s your favorite thing about Drupal and what made you stick with it all these times? When I say that, you made websites with Drupal, you had a Drupal agency, and now you work for Pfizer still on Drupal, so all this time that’s been a really common thread. What’s your favorite thing about it? Why did you stick with it?

Jozef: It may sound funny, or maybe everybody is telling that, but one of the things was actually the community because really I made very good friends in the community. I also found people or members of the Drupal community being these nice, good people, so when I had any issues or I didn’t know what to do or where to look, I knew that I can reach out to these people or ask on these forums and they would very quickly be people who would answer my questions. Definitely, community was one thing which kept me working with Drupal, but also the flexibility of Drupal where it was capable of supporting very small websites which I was building for my friends, to large portals or even distributions which we were building for probably the largest known non-profit organization which exists in the world. This big scale of different products which can be built with Drupal was another thing which definitely kept me.

jam: Your specialty over time has become UX especially. What are your thoughts about Drupal 8’s architecture in terms of the loose coupling between the backend where all the business logic happens and the ability to add any number of front ends whether they’re apps or other front-end frameworks and so on?

Jozef: Actually, this is one of the things which I am probably the most excited about Drupal 8. Obviously you were able to do something similar with previous versions of Drupal, but it just really got so much easier here, and I’m really excited to see how - for example, the market or the use cases will explode now, how we’ll see many different, not only iPhone or the mobile applications, but really how Drupal will be powering many different used cases which we haven’t really even maybe dreamt of or dreamed of ... Connected devices, wearables, applications in different systems which maybe are not even applications right now, but I think that it can really help disrupt some of the industries or some of the new ideas even. I really enjoyed the demo which Dries showed in New Orleans, and I really think that this is one of the key strengths of Drupal.

jam: Yes. I’m really excited about the "web beyond websites" - I’m starting to think of it that way whether it’s the internet of things and wearables, and we still all have computers and telephones and what have you. How the internet is connecting all of that and how Drupal as this web-services-content-management-engine can be behind that and power that sort of things, and that demo that Dries did in New Orleans was really, really cool essentially if I recall the details correctly, it was a store that’s kind of monitoring its inventories and pushing out specials and offers to entice people to come in and shop, and then people could also place orders through their Amazon Echo that would shoot through Drupal and go to the logistics system and there was never a front end, but it was all powered by Drupal and APIs.

Jozef: Yes, and awesomesauce.

jam: And awesomesauce! One of the things that Dries set up and made happen in many ways during the Drupal 8 initial – the long initial release cycle was the idea of initiatives. For the first time when he announced Drupal 8, he announced some sort of a roadmap that was more than, “Give me what you people need and we’ll put it together,” and said it needs to be mobile-first and it needs to be fully restful and web-services-oriented and a whole series of things: the configuration management initiative, and all these different aspects, and they went really well and now he’s come up with this idea of, “Let’s keep going with initiatives,” but he’s looking for the community to source the ideas again. The very first one of those that’s set up is the Content Workflow Initiative and you’re part of that along with a few other people. I spoke with Dick Olsson and Dave Hall about this in New Orleans. Why don’t you give me your perspective on what the initiative is, and what its goals are?

Jozef: Basically, I think the easiest way how to describe it is trying to make some of the things which people are, or Drupal users were always trying to do with Drupal and had to use several other tools for that basically just making their life easier. By adding parts of, let’s say Workbench Moderation to the core and just maybe changing some very small details from the user experience, I think it’s just making Drupal 8 out of the box more intuitive and more user-friendly when it comes to content authoring, content editing, and workflows around content.

jam: Who’s the target audience for the improvements that the Content Workflow Initiative is thinking about, and how are they going to benefit from sort of what you’re doing?

Jozef: The Workflow Initiative is oriented on content editors, people who maybe as part of their daily job work with content. They do moderations, authoring, publishing, and doing some edits, et cetera.

jam: Right. And to be fair, once we’ve architected and built a website, these are the people who live and breathe and work in the products that we’ve produced like day in, day out. They end up living with our sites much, much longer and more intimately than we ever do, right? You’re trying to make their experience better?

Jozef: Yes. We are basically trying to make their professional life easier.

jam: Would you say, as a UX person, do you have a – one of the reasons that usability and documentation is hard for regular developers and users is that a lot of us get used to how something work very, very quickly and then we just do it. As a UX person, how do you catch yourself from just getting used to a solution because it’s always been that way and keep your eyes fresh looking for improvements?

Jozef: You said in the beginning that I don’t consider myself being really a programmer or a developer or a coder. Actually, I think sometimes it helps when working with Drupal, and basically with many other tools or solutions as well because I can probably see some of the user interfaces from a completely different perspective than a developer who basically just wants to – and I’m not trying to decrease the value of developers obviously here – but their focus is on basically putting this item in that place. What we as user experience designers try to do is to help them maybe place it in a position, or on the place where people are usually looking for that, or we are in different situations, we are trying to come up with a position where people should be trying to look for that. I don’t know if this answers your question.

jam: Yes. I like the point about having a different perspective. I recall trying to introduce people to Drupal back – it doesn’t really matter, but [in the Drupal] five, six, seven days and it was perfectly obvious to me why one particular menu item was under a "Content" and another one was under "Structure", and another one was maybe under "People" or "Users" or whatever we called it that month, because I was aware of what subsystem was generating this bit of interface and then it makes perfect sense to group things by subsystems. Now, if you don’t know the underpinnings of Drupal, that doesn’t have to make any sense at all to you, right? That’s a good point.

Jozef: Yes. Obviously I love Drupal. I know there are thousands of developers who basically volunteer for uncountable number of hours, and work on it. As you said, I really love how it can basically fill the needs of an amazing amount of people. It’s like we have this 95% done, and we just need this finishing touch on that. It’s like when you produce a car, you let people drive it and test it and if there are few small things which just needs to be improved, and then they improve it and the final product is there for everyone to use. This is how we can help how user experience designers can contribute even when they are not developers.

jam: This is something that’s really interesting to me about your situation. You are part of a group that is potentially going to make a significant impact on Drupal Core itself going forward over the next couple of years as Drupal 8.2, 3, 4, 5 come out. Talk about being a contributor to Drupal Core who’s not a coder, and tell me how many other non-coding core contributors do you think there are at this point?

Jozef: I definitely think the number could be higher. Are you asking me about a specific number?

jam: Or your impression ...

Jozef: Yes. Through the years, when I was working with Drupal, I think the number should definitely be higher. We know that Drupal was basically a development-centric product if I can call it that way, and it’s incredible to see that actually the more when I’m attending DrupalCons and sprints there, we are always seeing an increase of people who are not developers, who are for example, just testers or they write documentation, or they are training others or even designers, people who want to bring in some maybe more strategic ideas to the board, but I think this number could still be higher and more people could get actually involved in contributing.

jam: Do you have any trouble getting developers to trust you on this soft stuff about the button placement or the user interface stuff? Did you have to work to get an effective working relationship going?

Jozef: No. What I found is that when they trust you or when they know you, they trust you with your judgment and they actually ask, especially when I work with my colleagues at Pfizer, they often come to me for recommendations for some of the work which they are working on, and I think it’s really important that we have this trust between the two worlds which exist: developers and basically everybody else because together we can make a very good product together. Also for several years or when I started to work with Drupal from the beginning, I realized that probably my biggest skill will never be developing or programming. I was looking for other ways how I can contribute to Drupal, and sometimes it has been difficult or I couldn’t find really a way how maybe a designer can help, and probably the problem was that I was just not looking enough.

jam: I think that that’s a parable for anybody who’s involved in Drupal. “I can’t contribute” is probably not true. Everyone in our community has at least something - some unique skill or knowledge, and in my experience everyone who’s tried has been able to make a difference. And literally there are people – I like the example of the Drupal community in India which is an amazing bunch of people and it’s really sprung up. It’s really exploded in the last five years, and right out of the gate they’ve got contributors who run camps or know where to get T-shirts printed right, or a whole set of other skills. It’s a very, very rich experience and I remember the early days of Drupal community when it was developers only like you were saying.

Jozef: When I actually started to look for opportunities, suddenly I saw that there are so many things which I can do even just helping with maybe marketing of Drupal. We started designing some of the infographics which actually, like the first one, I got an email from some university teacher if he can put it into a textbook because he liked that so much, and I also had the privilege to help designing Drupal 7 logo and then design the Drupal 8 logo as well, so the opportunities are there. We just need to sort of find our way into the community. There is also the "usability" tag in the issue queue which people can just look through and find design-related issues which they can help.

jam: You and Dick Olsson and Dave Hall all work for Pfizer, and Pfizer has a big investment in Drupal – probably thousands of websites. You’ve got time at work to work on this initiative. How does this content workflow initiative, how does that benefit Pfizer?

Jozef: Basically, many of the solutions which are a part of the content workflow initiative, they already exist as a contrib. modules, and you can find or learn more about it at drupaldeploy.org. There is a list of modules which work with Deploy, and we at Pfizer use many of these or even many of these have been created as a part of the work which we do to manage our own websites and how we deploy content across different workspaces or websites.

jam: Give me some examples of specific improvements that you’ve identified that you want to bring into this.

Jozef: Yes. Part of the concept for the workflow initiative is having workspaces. This is actually somewhere towards the end of the roadmap which we have for the workflow initiative, but it’s also one of the most visible places where people can see the results and the idea is that you have a collection of content entities which is a workspace, and you can synchronize content entities between these two workspaces. Sometimes when you work with a lot of data, a lot of information, a lot of content, and you need to do the same thing at some other workspace or website, let’s say, then it’s, for example, confusing, “Am I on this website or am I on this website?” One of the things which the initiative is proposing is to have a workspace switcher, for example where you can quickly see which workspace I’m currently working on, what moderation state it is in, and there is a very easy to use dropdown toolset how you can actually moderate the workspace itself. Another area is when you are, let’s say a content author and you work together with editors as a team, you may not have enough permissions for example to do the actual deployment, so you can submit your work, what you did for review, and then somebody else will review it. If it’s okay, he will deploy it. To know that something that like this happened, I came up with the idea of having notifications, so it can be a small icon maybe with a number in the toolbar which you can expand and see notifications related to your work, and actually I think this is something which would be beneficial to let’s say, entire Drupal, not only just the Workflow Initiative, but there are many things where notifications can be useful, like for example, showing you that your site is not secure or you need to update your modules.

jam: That is exactly the very first thing that occurred to me, plus new comments, comment moderation, spam, all that sort of thing too, right?

Jozef: Yes. I’m actually surprised that there isn’t a central notification place in Drupal.

jam: You’ve just embedded the notifications API, you realized?

Jozef: Yes.

jam: Cool. Hey, thank you so much for taking the time to talk with me. Thanks again for a wonderful Drupal Camp in Bratislava, and I am looking forward to seeing you again somewhere soon, maybe DrupalCon Dublin?

Jozef: Yes.

jam: Perfect. Wonderful. Thanks, Jojo.

Drupal Security Release process infographic

Jozef and I put this together a few years ago. I think it has held up well over time.

Podcast series: Drupal 8Skill Level: BeginnerIntermediateAdvanced
Catégories: Elsewhere

Annertech: DrupalCon Dublin: Hear Me Roar

jeu, 22/09/2016 - 16:06
DrupalCon Dublin: Hear Me Roar

DrupalCon Dublin is just around the corner (since I live in Ireland, I mean that literally!). DRUPALCON: HEAR ME ROAR! (or at least speak, along with some other Annertechies). At DrupalCon we'll be speaking on a number of topics (interesting aside: we're the only Irish agency with any speakers at this year's DrupalCon). Here's a quick roundup of our talks and why you won't want to miss them:

Catégories: Elsewhere

Aurelien Navarre: How to audit Drupal 8 to determine the number of active users?

jeu, 22/09/2016 - 14:28

When drupal.org reached 1 million registered users, I wondered what was the percentage of really active users.

I'd love to know how many of those 1M http://t.co/uVCABrlDEf accounts are actually active. Say, users who've logged in within the past year.

— Aurelien Navarre (@AurelienNavarre) October 11, 2013

Thinking about it more, I figured this would totally be a legit site audit metric to get for business owners. Say you have an e-commerce platform and you want to engage inactive users by giving them a discount or you wish to know if your community is really growing, there are many reasons to get such data and probably you could even create a good contrib module for that.

But if you're like me and prefer a quick and easy one-liner, then read on.

In Drupal 8, finding when a given user account last accessed the site is a bit different from Drupal 7, as you now need to query the {users_field_data} table.

mysql> SELECT uid,access FROM users_field_data WHERE uid = 1; +-----+------------+ | uid | access | +-----+------------+ | 1 | 1474319299 | +-----+------------+ 1 row in set (0.00 sec)

Problem is we can't really make anything out of this Unix timestamp. Sure you can use an Epoch converter or use the date command as below:

$ date -d @1474470084 Wed Sep 21 15:01:24 UTC 2016

But what if we'd do it on the fly, within our MySQL query? Enter MySQL's from_unixtime() function. The value is expressed in the current time zone but we don't really care here.

mysql> SELECT uid,from_unixtime(access) FROM users_field_data WHERE uid = 1; +-----+-----------------------+ | uid | from_unixtime(access) | +-----+-----------------------+ | 1 | 2016-09-19 21:08:19 | +-----+-----------------------+ 1 row in set (0.00 sec)

Okay, this is much better. We no longer have to switch context and have our human-readable date. Now, since we want to get basic usage stats, we can also choose to reformat the output to better GROUP BY later. I went with %Y (year) only but it's flexible and you totally can get fancy if you will.

mysql> SELECT uid,from_unixtime(access, '%Y') AS last_access FROM users_field_data WHERE uid = 1; +-----+-------------+ | uid | last_access | +-----+-------------+ | 1 | 2016 | +-----+-------------+ 1 row in set (0.00 sec)

We've now narrowed-down things enough to actually get our final MySQL one-liner. What we're doing below is simply to group user accounts so that we can calculate the number of 'active users' (which year they last logged in) and break it down accordingly.

mysql> SELECT COUNT(uid) AS number_of_users, from_unixtime(access, '%Y') AS last_access FROM users_field_data GROUP BY from_unixtime(access, '%Y') ORDER BY last_access DESC; +-----------------+-------------+ | number_of_users | last_access | +-----------------+-------------+ | 210 | 2016 | | 106 | 2015 | | 6 | 2014 | +-----------------+-------------+ 3 rows in set (0.00 sec)

If you're getting the below error, make sure to read the MySQL 5.7 documentation. Using GROUP BY has changed in MySQL 5.7.5+ and its usage is now stricter.

ERROR 1140 (42000): In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'database.table.column'; this is incompatible with sql_mode=only_full_group_by
Catégories: Elsewhere

Unimity Solutions Drupal Blog: Drupal for Digital Publishing

jeu, 22/09/2016 - 14:26

Today, the Newspapers & Magazine industry is turning towards digitization to cater for Millennial and Gen Z. The publishing industry is keen to choose Open Source Technologies such as Drupal as their CMS platform over other native applications. This blog shares with you Key Requirements of Digital Publishing and How Drupal could be a best choice for Digital Publishing Solutions through PPT. Leveraging on sophisticated features of Drupal 8 Publishers can now deliver right content to audience at right time on right device.

Catégories: Elsewhere

ComputerMinds.co.uk: Question: When should I define a service?

jeu, 22/09/2016 - 11:53

We've been getting stuck into Drupal 8 development and have been grappling with the concepts of services, dependency injection and containers.

One question that's come up has been:

When should I define a service?

Catégories: Elsewhere

Jeff Geerling's Blog: Change the displayed username in Drupal 8 ala Realname

jeu, 22/09/2016 - 03:04

Recovering from surgery finally gave me time to update my last D6 site—a 7 year old private photo and media sharing site with nearly 10,000 nodes and 20+ GB of content—to Drupal 8. Drupal 8 has become a lot more mature lately, to the point where I'm comfortable building a site and not having the foundation rot out from beneath as large ecosystem shifts have mostly settled down.

One thing that I thought would have the simplest implementation actually took a little while to figure out. I needed to have users' full name display instead of their usernames throughout the site. For D6 (and for similar D7 use cases), the easiest way to do this was to enable the Realname module, configure it a tiny bit, and be done with it.

In Drupal 8, however, Realname doesn't yet have a full release (see this issue for progress), and the way usernames are generated has changed slightly (see change record hook_username_alter() changed to hook_user_format_name_alter()).

Catégories: Elsewhere

Microserve: Ditch your gender perceptions and inspire inquisitive minds!

jeu, 22/09/2016 - 01:00
Ditch your gender perceptions and inspire inquisitive minds! Sep 22nd 2016

I recently read a report by Deloitte which stated that, by the end of 2016, fewer than 25% of information technology jobs in developed countries will be held by women. That’s quite bleak, especially for women and young girls who are thinking about starting and developing a career in IT.

That got me reading on the topic of “women in tech” a little more. It’s a well-known topic and a lot of people have suggested potential reasons for this gap: an unconscious gender bias brought about by tech being a “boy’s club”; very few female role models in the tech industry; but perhaps most interestingly, the concept of a “brogrammer” culture: competitive male developers who are in it to prove they’re the best in a macho, masculine way, shouldering anyone else to the sidelines.

I’m no stranger to the brogrammer culture: I’ve worked alongside men who behave this way, and it’s apparent when I attend developer events as well. But as an answer to the question “why don’t girls consider IT and STEM as career choices from a young age”, that might be too simplistic.

My interest in computers began as a child. I can’t remember a time when we didn’t have a computer in the house - my dad was, and is, a massive geek, and prided himself on being an early adopter of everything and anything. He encouraged me to tinker, explore and break things. Without a shadow of a doubt, my enthusiasm and interest stemmed from those years when he let me run loose on his PC (and invariably end up breaking something).

I was really lucky to attend a well-equipped primary school until I was 10, where we had IT lessons once a week, learning about how to use computers to solve real-world problems. My secondary school was an all-girls’ school, where we did our IT GCSE at the end of year 9 - two years early. Some of my peers even went on to do their A level IT while we were doing our GCSEs.

That said, my secondary school was in a rural location, and many of my peers seemed preprogrammed to believe they would move into well-known careers like teaching, childcare or even farming. Aspirations to move into STEM-related careers amongst my fellow students were few and far between, even though our teachers were constantly pushing us towards medicine, veterinary sciences, IT, mathematics and the like. The opportunities existed and our teachers were great at encouraging us to consider STEM as a career choice, but most students passed it over completely.

So, it begs the question: if these children knew there were career opportunities available in STEM, and they knew they were lucrative, well-paid jobs, why did they pass them over for other, more traditional options? Why are so few girls willing to choose a career in STEM?

This got me thinking about how STEM is portrayed as a career. My role as a web developer is all about logic-based problem solving: it’s critical thinking at its very finest. We should be demonstrating to kids how fun and rewarding it can be when you’re presented with a real world problem, and how you use computer programming in a logical way to arrive at a solution.

As an avid digital artist in my spare time, I feel we should expand to students of the arts, demonstrating how computer design can be a viable career alternative. So often schools pigeonhole artistry as “painting bowls of fruit on paper”, skimming over the awesome world of technology: there’s graphic design, animation, games design, music production and so much more. A career in IT doesn’t necessarily mean programming!

So often people choose careers because they feel fulfilled in them: teachers because they like teaching and nurturing kids; doctors because they like to care for others; historians because they enjoy history. With tech, it’s important to sell the story in a different way. We need to ditch the perception of “if you work with computers, you’re geeky and uncool”, and frame a career in tech as “a way to solve problems”, so that we can inspire inquisitive minds from an early age.

But what about when it comes to boys versus girls? What’s the solution for getting more girls into tech? Well, in my view everything I’ve said here applies to both boys and girls. I would have hated being singled out as a special case because I was “a girl who liked computers” - like some kind of unicorn!

I’m a staunch believer that if a person doesn’t like something, they simply won’t pursue it. If you show children - boys and girls alike - how technology can be enjoyed and fulfilling, without introducing gender roles, they’ll be more likely to consider tech as a career.

The key is to forget about gender, and start focusing on the exciting opportunities that choosing a career in STEM can bring about!

Sophie has a BSc (hons) in Web Design, and was the UK’s first female Drupal Grand Master (the highest recognition in Drupal development). Her talents have recently been recognised by The Drum who listed Sophie amongst their ‘50 under 30’ most influential women in tech, as well as by BIMA who included her in their Hot 100 list. She is a senior developer for Microserve and has worked on many of our most complex client projects.

 

 

Written by: Sophie Shanahan-Kluth, Senior Developer

Microserve is a Drupal Agency based in Bristol, UK. We specialise in Drupal Development, Drupal Site Audits and Health Checks, and Drupal Support and Maintenance. Contact us for for further information.

Catégories: Elsewhere

Cocomore: Cocomore Job Check: What does a Community Manager do?

jeu, 22/09/2016 - 00:00

Get ready for the fourth part of our job check series: This time, Christian Flach explains what it’s like to work as a Community Manager, what he appreciates about his job and which challenges he has to face.

Catégories: Elsewhere

Gizra.com: Yesod (and Haskell) from a Drupal (and PHP) Perspective

mer, 21/09/2016 - 23:00

In Gizra, we run an unusual stack. Drupal, our bread and butter, serves as the backend and is complimented by Elm for the front end, and as of recently Yesod - a Haskell framework.
Before Yesod, we were running NodeJs as our proxy server for light tasks or real-time messages.

But ever since I came across Elm, Javascript and I are hardly friends. I respect it, but can no longer turn my eye from its shortcomings. Functional programming has caught my heart and mind.

In this post I’m not going to try and present strong points on why you should adapt this stack, but rather share with you the unique path we are paving.

Elm

Elm was my first dip into the functional programming (FP) world. I recommend starting from there. It’s way more gentle than Haskell, and it has, of course, one important advantage - it helps you build rock solid, crazily fast, joy-filling, web apps.

Maybe this post and video will get you excited as well.

Gentle Intro to Haskell

A good way to start explaining what’s so special about Haskell is to dive directly into Haskell. While PHP is defined (by some) as a “productive” language, Haskell is often blamed (by some) as being an “academic language”. Both statements are probably wrong.

Often when mentioning Haskell, we talk about the compiler and the type system. They are truly marvelous tools. For the type system, I think the Elm post I lined above should be enough to get the hang of it. But I’d like to continue and reveal a bit more by highlighting mini examples on how Haskell makes us approach development tasks differently.

Lists

Below are examples from the REPL (the interactive shell for Haskell)

> [1, 2] ++ [3, 4] [1, 2, 3, 4]

What we have here are two lists of integers that are appended to each other. A list of integers is represented as [Int] in Haskell. The ++ is the operation that causes those two lists to be grouped into a single one.

Haskell comes with some handy shortcuts.

Continue reading…

Catégories: Elsewhere

Cheeky Monkey Media: Cheeky Monkey Media Named Leading Digital Agency

mer, 21/09/2016 - 22:31
Cheeky Monkey Media Named Leading Digital Agency rohan Wed, 09/21/2016 - 20:31

Do you want to kick ass in the digital environment? We thought so! Our cheeky monkeys have been helping clients do just that since 2008—longer than many digital agencies have been around.

Our work speaks for itself, but we really like it when our clients speak on our behalf. Recently their input was in large part responsible for helping us make a list of the top digital agencies in Canada, compiled by Clutch, a B2B market research firm based in Washington, D.C.

We earned our spot on Clutch’s “Leaders Matrix” based on our previous work, market presence, and most importantly, client reviews conducted by Clutch analysts. Below are a few comments from some of the people we’ve worked with:

Catégories: Elsewhere

Drupal.org blog: A new look for Drupal.org

mer, 21/09/2016 - 21:09

As you can see we've put a fresh coat of paint on Drupal.org - but the changes run below the surface. This latest iteration of the front page brings the key concepts of our design system to the forefront: Clean, Modern, Technical.

This change also brings new editorial tools for Drupal.org content editors. The new home page provides us more flexibility with content and presentation, and so you'll see more frequent updates, more information about DrupalCon, and more editorial flexibility on the home page than you've seen in the past. These tools are also helping us to build cleaner, modern landing pages - like you've just seen with our Fall Membership Campaign.

We've previewed this work with several key members of the community and the board, and we want to say thank you to everyone who's given us their feedback on this first step for our new home page. We also want to give an extra special thank you to dyannenova for her contributions to this effort.

This is just the beginning - very soon we'll have a new visual look for the case studies that are featured on the home page, and then shortly after that we'll begin promoting solutions to Drupal evaluators in specific industries, like Higher Education, Media & Publishing, and Government.

If Drupal.org is the home of the community, than the front page is our front door. We want to welcome new users and evaluators of Drupal, highlight the project's strengths, and promote news and happenings from throughout the ecosystem.

We hope you like the changes, and we think you'll like the upcoming iterations even more. We'd love to hear your feedback!

Catégories: Elsewhere

Four Kitchens: Component-Based Theming in Drupal 8: The Video Series

mer, 21/09/2016 - 20:00

Check out our video series on component-based theming in Drupal 8. […]

Catégories: Elsewhere

Drupal Blog: Drupal 8.1.10 released

mer, 21/09/2016 - 18:33

Drupal 8.1.10, a maintenance release which contains fixes for security vulnerabilities, is now available for download.

See the Drupal 8.1.10 release notes for further information.

Download Drupal 8.1.10

Upgrading your existing Drupal 8 sites is strongly recommended. There are no new features nor non-security-related bug fixes in this release. For more information about the Drupal 8.x release series, consult the Drupal 8 overview.

Security information

We have a security announcement mailing list and a history of all security advisories, as well as an RSS feed with the most recent security advisories. We strongly advise Drupal administrators to sign up for the list.

Drupal 8 includes the built-in Update Manager module, which informs you about important updates to your modules and themes.

Bug reports

This is the final security release for the 8.1.x series. Future maintenance releases will be made available in the 8.2.x series, according to our monthly release cycle.

Change log

Drupal 8.1.10 is a security release only. For more details, see the 8.1.10 release notes. A complete list of all changes in the upcoming 8.2.x branch can be found in the git commit log.

Security vulnerabilities

Drupal 8.1.10 was released in response to the discovery of security vulnerabilities. Details can be found in the official security advisories:

To fix the security problem, please upgrade to Drupal 8.1.10. (Sites testing the 8.2.x release should update to 8.2.0-rc2.)

Update notes

See the 8.1.10 release notes for details on important changes in this release.

This is the final security release of the 8.1.x series. Sites should prepare to update to 8.2.0 following this release.

Known issues

See the 8.1.10 release notes for known issues.

Catégories: Elsewhere

Lullabot: Modern decoupling is more performant

mer, 21/09/2016 - 18:00

Two years ago, I started to be interested in API-first designs. I was asked during my annual review, “what kind of project would you like to be involved with, this next year?” My response: I want to develop projects from an API-first perspective.

Little did I know that I was about to embark on a series of projects that would teach me not only about decoupled Drupal, but also the subtleties of designing proper APIs to maximize performance and minimize roundtrips to the server.

Embedding resources

I was lucky enough that the client that I was working with at the time—The Tonight Show with Jimmy Fallon—decided on a decoupled approach. I was involved in the Drupal HTTP API server implementation. The project went on to win an Emmy Award for Outstanding Interactive Program.

The idea of a content repository that could be accessed from anywhere via HTTP, and leverage all the cool technologies 2014 had to offer, was—if not revolutionary—forward-looking. I was amazed by the possibilities the approach opened. The ability to expose Drupal’s data to an external team that could work in parallel using the front-end technologies that they were proficient with meant work could begin immediately. Nevertheless, there were drawbacks to the approach. For instance, we observed a lot of round trips between the consumer of the data—the client—and the server.

As it turns out, The Tonight Show with Jimmy Fallon was only the first of several decoupled projects that I undertook in rapid succession. As a result, I authored version 2.x of the RESTful module to support the JSON API spec in Drupal 7. One of the strong points of this specification is resource embedding. Embedding resources—also called resource composition—is a technique where the response to a particular entity also contains the contents of the entities it is related to. Embedding resources for relationships is one of the most effective ways to reduce the number of round trips when dealing with REST servers. It’s based on the idea that the consumer requests the relationships that it wants embedded in the response. This same idea is used in many other specifications like GraphQL.

In JSON API, the consumer can interrogate the data with a single query, tracing relationships between objects and returning the desired data in one trip. Imagine searching for a great grandparent with a genealogy system that would only let you find the name of a single family member at a time versus a system that could return every ancestor going back three generations with a single request. To do so, the client appends an include parameter in the URL. For example: 

?include=relationship1,relationship2.nestedRelationship1

The response will include information about four entities:

  • The entity being requested (the one that contains the relationships).
  • The entity that relationship1 points to. This may be an entity reference field inside of the entity being requested.
  • The entity that relationship2 points to.
  • The entity that nestedRelationship1 points to. This may be an entity reference field inside of the entity that relationship2 is pointing to.

A single request from a consumer can return multiple entities. Note that for the same API different consumers may follow different embedding patterns, depending on the designs being implemented.

The landscape for JSON API and Drupal nowadays seems bright. Dries Buytaert, the product lead of the Drupal project, hopes to include the JSON API module in core. Moreover, there seems to be numerous articles about decoupling techniques for Drupal 8.

But does resource embedding offer a performance edge over multiple round-trip requests? Let’s quantitatively compare the two.

Performance comparison

This performance comparison uses a clean Drupal installation with some automatically generated content. Bear in mind, performance analysis is tightly coupled to the content model and merits case-by-case study. Nevertheless, let’s analyze the response times to test our hypothesis: that resource embedding provides a performance improvement over traditional REST approaches.

Our test case will involve the creation of an article detail page that comes with the Standard Drupal profile. I also included the profile image of a commenter to make things a bit more complex.

undefined

In Figure 1, I’ve visually indicated the “levels” of relationships between the article itself and each accompanying chunk of content necessary to compose the “page.” Using traditional REST, a particular consumer would need to make the following requests:

  • Request the given article (node/2410).
  • Once the article response comes back it will need to request, in parallel:
    • The author of the article.
      • The profile image of the author of the article.
    • The image for the article.
    • The first tag for the article.
    • The second tag for the article.
    • The first comment on the article.
      • The author of the first comment on the article.
        • The profile image of the author of the first comment of the article.
    • The second comment of the article.
      • The author of the second comment of the article.

In contrast, using the JSON API module (or any other with resource composition), will only require a single request with the include query parameter set to 

?include=uid,uid.field_image,field_tags,comments,comments.uid,comments.uid.field_image

When the server gets such a request it will load all the requested entities and return them back in a single swoop. Thus, the front-end framework for your decoupled app gets all of its data requirements in a JSON document in a single request instead of many.

For simplicity I will assume that the overall response time of the REST-based approach will be the one with the longest path (four levels deep). Having four parallel requests that happen at the same time will not have a big impact on the final response time. In a more realistic performance analysis, we would take into account that having four parallel calls degrades the overall performance. Even in this handicapped scenario the resource embedding should have a better response time.

Once the request reaches the server, if the response to it is ready in the different caching layers, it takes the same effort to retrieve a big JSON document for the JSON API request than to retrieve a small JSON document for one of the REST requests. That indicates that the big effort is in bootstrapping Drupal to a point where it can serve a cached response. That is true for anonymous and authenticated traffic, via the Page Cache and Dynamic Page Cache core modules.

undefined

The graphic above shows the response time for each approach. Both approaches are cached in the page cache, so there is a constant response time to bootstrap Drupal and grab the cache. For this example the response time for every request was ~7 ms every time.

It is obvious that the more complex the interconnections between your data are the greater the advantage of using JSON API's resource embedding. I believe that even though this example is extremely simple, we were able to cut response time by 75%.

If we now introduce latency between the consumer and the server, you can observe that the JSON API response still takes 75% less time. However, the total response time is degraded significantly. In the following chart, I have assumed an optimistic, and constant, transport time of 75 ms.

undefined Conclusion

This article describes some sophisticated techniques that can dramatically improve the performance of our apps. There are some other challenges in decoupled systems that I did not mention here. If you are interested in those—and more!—please attend my session at DrupalCon Dublin Building Advanced Web Services With JSON API, or watch it later. I hope to prove that you can create more engaging products and services by using advanced web services. After all, when you are building digital experiences one of your primary goals you should be to make it enjoyable to the user. Shorter response times correlate to more successful user engagement. And successful engagements make for amazing digital experiences .

Catégories: Elsewhere

Drupal core announcements: Media in Drupal 8 Initiative plan posted for review

mer, 21/09/2016 - 17:54

As we are ramping up to work on significant user improvements for Drupal 8.3, one of the key areas of progress could be with media management user interfaces and features. For that to happen, we need to agree on what we are going to work on and then have people to implement it. The Media in Drupal 8 Initiative plan is being formed and is open for feedback now if having better core media support is near and dear to your heart. Please review and post feedback on the plan.

If you'd like to get involved with the implementation, you are more than welcome! The media team meets every Wednesday at 2pm GMT on IRC in #drupal-media.

Catégories: Elsewhere

Annertech: Things I Learned from the DrupalTwig Slack: Volume 1

mer, 21/09/2016 - 16:38
Things I Learned from the DrupalTwig Slack: Volume 1

Without doubt, the greatest resource for information about Drupal frontend issues is the DrupalTwig Slack. There are over 300 of the world's most well known frontend Drupal developers - Wim Leers, MortenDK, Mark Drummond, David Hernandez, and more - offering and receiving help all day every day. It's very rare that someone asks a question and doesn't receive a reply with a solution within a few minutes, or at the very least a conversation about why the issue might be hard to solve.

Catégories: Elsewhere

Kodamera Screencast: Embedding videos easily with Video Filter

mer, 21/09/2016 - 16:29

Embedding videos can be a tricky thing to do when it comes to both the web and different CMS's. When it comes to embedding videos in the content section - the body of the page - The Video Filter module offers an easy and great solution. 

Basically, you install the module, configure it for the different text formats you want to use it with and then simply add the videos in the body text with a kind of shortcode or shorthand thingamajig.

In this video I'll go through what you need to know and how to get the videos to show in your content.

The Video Filter module only works as a text filter, so if you're looking for a solution where you can create embedded videos from a field of its own in Drupal, perhaps Video Embed Field could offer such a solution. (I'm just talking about Video Filter in this screencast.)


Read more
Catégories: Elsewhere

Drupalize.Me: Drupalize.Me Now Powered by Pantheon

mer, 21/09/2016 - 15:37

If you're following along at home, you may have seen that we recently made the move to Pantheon hosting. Last week during our maintenance window, Joe and I worked through our migration checklist, and officially moved the site over to our new host. The process had a few hiccups, but we thought it would be interesting to take a look at what went into our migration process. Hopefully sharing what went into our planning process, as well as what is in our pipeline for improvements now that we're on Pantheon, will help you if you ever find yourself facing a similar project.

Catégories: Elsewhere

Unimity Solutions Drupal Blog: How Attending DrupalCon Dublin Could Benefit You?

mer, 21/09/2016 - 14:05

DrupalCon Dublin is just a week away!! With all the excitement surrounding the event we often forget to look at key things to expect out of this event. What should one learn out of DrupalCon Dublin? Is it only for Drupal developers or should CEOs, Managers and owners attend? What’s the use of attending an event on OPEN SOURCE TECHNOLOGY? Is it useful for growth of businesses as well?

Catégories: Elsewhere

Pages