Planet Drupal

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

ThinkShout: Desire Paths, Part 2: Your Website is Telling You a Story

Thu, 03/07/2014 - 16:00

You want your website to tell your organization’s story. To do that, you need to listen to the stories your website is telling you.

I have the opportunity to work with a lot of great nonprofits, including one that supports women with breast cancer. While conducting a site audit, we noticed that they had higher mobile traffic than many of ThinkShout’s clients. It had grown from 5% of the site’s total in 2010 to 30% so far in 2014.

Digging a bit deeper, we found that many of the mobile visitors go directly to a section focusing on breast cancer in young women, including "survivor stories":

  • This section generated 50% of all pageviews for mobile users, as opposed to 27% of non-mobile traffic.

  • 73% of mobile site visitors came directly to these pages through search, as opposed to 44% of non-mobile searchers; visitors coming to the site through search on their computers largely landed on the home page.

  • Top search terms on mobile include "breast cancer stories," “breast cancer in young women,” and “young breast cancer survivors.” Those terms are 2 to 5 times more likely to have been used by mobile visitors than by those coming to the site on their computers.

Those numbers tell a story.

The news that you have cancer must come as a shock. Particularly when you’re young, it may seem to come out of the blue. It’s entirely possible that, when you first receive this jolt, you’re alone, having just left your doctor’s office or set down the phone.

The first thing I would want is some reassurance, confirmation at this juncture in my life that I’m going to be okay. Ideally, I’d talk to a loved one, but in the moment, I might turn to my smartphone: it’s immediately available, it’s connected, it could provide some answers.

Our client had created content that could meet that need, opening opportunities not just to reassure a key audience, but to connect them to a broader community of support and thereby further their mission.

By experimenting with layouts and calls to action specifically for mobile visitors – essentially, by doing our job – we have the chance to help people in a very real way.

And that’s why we all do this work, isn’t it?

Taking the time to create data-informed personas can help you hone a strategy for your content that goes beyond assumptions and guesswork.

Once you understand HOW users arrive at your site and examine WHAT they do after they get there, you can begin to parse out WHY they’re interested in your content in the first place – and implement the tactics that will tie their motivations to your organizational goals.

So, what are they doing?

As we’ve suggested before, a good website will nudge a visitor from her desire path – the reason she visited your site to begin with – to the desired path: a series of actions that will serve your organization’s mission.

It pains me to say it, but you need to start with a content audit. If you don’t understand what you have, you can’t understand how it’s being used.

Dozens of articles already cover site audits. Some of them even provide templates.

Don’t use them.

Or rather, use them in a way that serves your mission. Your website likely has hundreds or thousands of "pages" from highly trafficked to, sniffed at, forgotten, and abandoned. Microsoft once found that 30% of its webpages had never been visited. (That number is more impressive in real numbers: 3,000,000. Yes, three million pages essentially served no purpose at all.) More recently, an audit by the World Bank revealed that 31% of its reports had never been downloaded.

There’s always a reason a piece of content was added to your website. Somebody, at some point, thought it would be valuable. They may still have some emotional attachment to it.

Tough. Kill it.

Allyson Kapin recently pointed to a Harvard study that found that "the more complex a website is, the less appealing the website is to visitors." Microsoft discovered that removing poor quality content improved customer satisfaction. On a more basic level, psychologists have found that providing too many options can stall the decision-making process. When you go to the cereal aisle, do you want to spend time evaluating all of the possible cereal options? No, you just want the Golden Grahams. Everything else is a distraction.

When you put barriers in the way of your users, in the form of content they’re not interested in, they’re less likely to fight through to find the content they want. Yes, even if your organization thinks that content is central to your mission.

John McCrory created this handy dandy template to help you sort out what to keep and what to throw in the hopper:

If you need to run a full inventory, you might want to look into a tool like Screaming Frog or CAT (Content Analysis Tool). Or you can export reports from Google Analytics and combine it with data from social channels.

But you don’t need to care about everything. We suggest you:

1) Focus on your high-traffic content. You’ll need to decide what the cut-off should be, but in general, if a page represents less than .05% of your total pageviews, it’s probably not worth the time it takes to care about it. Your threshold may very well be higher than that.

You’ll want to analyze performance as well. Just because a page is heavily visited doesn’t mean it’s working the way you’d hoped. You may need to rewrite and reformat a lot of it. But there’s probably a reason people arrive there, and you should spend the time to figure out why.

On ThinkShout’s own site, for example, we know that there are a handful of older blog posts, mostly on technical subjects, that account for a high percentage of our site traffic. We’re not actively engaged in driving visitors to them, but they do present opportunities to encourage visitors to learn more about the work we do. For us, they’re old news. For our visitors, they may contain valuable information, and that’s a motivation we can tap.

2) Include any page in your site navigation, down two or three levels. Presumably, this content was once important to some stakeholder, somewhere. You may still cut it – hopefully, that stakeholder has already left your organization – but if it was important enough to include in your site architecture the last time around, you should try to understand why it’s there, even if it’s failing. This will help you not simply develop a strong argument to convince, say, your development director that her pet page is just getting in the way, but identify the pages that DO work and use them as exemplars to rewrite content deemed vital to the organization that may not be connecting with end users… yet.

3) Aggregate data for your primary content types. Task number one will catch that one event you did with Pharrell Williams in 2011 that still drives a lot of traffic to your site, but you probably have a certain number of content types – you can think of these as page "templates" – that handle the bulk of your content. You may have a blog, you may run events. If you’re already good at the structured content thing, you may have broken videos or media mentions into their own content types.

Kivi Leroux Miller talks about differentiating between your evergreen content (your main site pages, likely contained in your navigation structure) from your perennial and annual color (those blog posts and tweets). A lot of your content has a shelf life, so you need to make sure the wrapper keeps it as fresh as possible. Part of your content audit should examine how well the standard structure around your more temporal content is performing.

If you find that your audit still runs into hundreds of pages, Facebook’s Jonathon Colman has some great tips on how to use conditional formatting in Excel to highlight the areas that need the most attention. (Start on slide 131.)

Who’s doing it?

Now it’s time to tie content back to your users. You have a good idea how they arrived. By segmenting your traffic, you can study what they do next, all the way down to a page-by-page basis, if you’re feeling frisky.

A good place to start is the Google Analytics "Navigation Summary." This hidden gem of a report can be found under Behavior -> Site Content -> All Pages. In the upper left corner of the content, there are a series of tabs for “Explorer,” “Navigation Summary,” and “In-Page.” You want the middle one.

This report will tell you four things about any page on your site:

  1. How many users landed on this page ("Entrances")

  2. If it’s not a landing page, what their previous page was ("Previous Page Path")

  3. How many users exited from this page ("Exits")

  4. If they didn’t exit, the page they go to next ("Next Page Path")

Magic! But wait, there’s more. You can – and should! – use this page in conjunction with segmentation.

I don’t want to get bogged down in the details of Google’s Advanced Segments here. If you decide you want to take this on yourself, KISSMetrics has a good overview. Google itself made a slightly less helpful video.

When we begin a new project, we like to create segments that relate to the ways people arrive at a client’s site, in particular, engaged users.

You can define engagement in a number of ways: non-bounce visits, repeat visits, time on site – pretty much anything Google Analytics provides a metric for. If you have enough traffic, you can combine more than one of them to segment out a group of the highly engaged.

Combine engagement with mode and place of entry, and you’ll begin to flesh out your personas – and your content audit, if you set it up to track key audience segments for each top-level page. You might also consider using the information you generate in Page Tables for your evergreen content.

This sort of analysis sets the stage for much of the work we do here at ThinkShout. Getting back to the breast cancer organization, we created an advanced segment that looked only at mobile traffic, specifically mobile traffic that didn’t bounce (ie, they viewed more than one page).

Here’s what the segmentation looks like on the "Navigation Summary" report in the context of ThinkShout’s “Work” page:

We did this to answer two questions:

  1. If a visitor navigates on a mobile device to a particular page (or group of pages), and doesn’t bounce, what do they do next?

  2. How can we take advantage of that knowledge to try to capture the attention of more visitors?

By examining how the actions of engaged users differ from those you don’t capture, you can start to develop ideas about the calls to action, related content blocks, or other improvements to your information architecture that might make a particular group of users more likely to interact with your website – and your organization.

Next time, we’ll take a look at how you can make real improvements to your website based on the information you glean from your audience’s desire paths.

In the meantime, you can import three of ThinkShout’s commonly-used analytics segments:

You’ll likely need to edit these, based on your own URL structures, but they should be enough to get you started.

Categories: Elsewhere

Wunderkraut blog: Bernt & co’s Drupal Gotchas Second Edition

Thu, 03/07/2014 - 15:47

Half a year ago I wrote a blog post about various stumble blocks I had run into in my first year as a Drupal developer. I called them gotchas because they were not necessarily bugs - they might just be Drupal’s way of doing things which may confuse people new to or experienced with Drupal. Sometimes they are annoyances - they could be called paper cuts too. The post got some attention - which was great because people started sending me tips about things they ran into. Now there is time for a new round!

Half a year ago I wrote a blog post about various stumble blocks I had run into in my first year as a Drupal developer. I called them gotchas because they were not necessarily bugs - they might just be Drupal’s way of doing things which may confuse people new to or experienced with Drupal. Sometimes they are annoyances - they could be called papercuts too. 

The post got some attention - which was great because people started sending me tips about things they ran into. Now there is time for a new round! 

First I’d like to start with an update to my previous post - good news! 

Outdated gotcha: Features module and taxonomy

In the comments Damien McKenna pointed out

Features v2 now uses the machine name and labels for permissions, roles and vocabularies, making exporting those much easier than it used to be.

Which is true. It was just that we were using the “Taxonomy Access Fix” module in that project, and it was not using the machine names. But that module has been updated to also use vocabulary names. Things do get better in Drupal! 

New gotchas I have foundGOTCHA 1: Trying to be consistent about naming? Not too fast! 

I can’t believe that I didn’t stumble into this one before, I have a feeling it hits a lot of people new to Drupal: When starting a new project, you might want to be consistent about naming, and give a custom project module and theme the same name. 

Well, buddy, that is asking for trouble! And different trouble every time to confuse you even more - a search of any error message that pops up might not give you the cause as the first result in Google. 

This duplicate naming problem can of course happen between your own custom modules and contrib projects you add from drupal.org. 

Andreas also adds that you will also run into trouble if give your site profile the same name as your theme (and possibly also module names). 

This is documented in Drupal's documentation, which you of course have read thoroughly: https://www.drupal.org/node/143020

Tips for best practice in naming: http://drupal.stackexchange.com/questions/851/best-practice-for-avoiding...

Gotcha 2: Where was that module again? 

In a direct response to the original blogpost, reddit user tranam mentioned: 

The biggest gotcha in Drupal, as far as I'm concerned, is having a modules folder, and a sites/all/modules folder. 

http://www.reddit.com/r/drupal/comments/1vuneh/bernts_drupal_gotchas/

Gotcha 3: Updating a module doesn’t 

Lauri mentioned this:

You're trying to update a module and it doesn't update. drush up, drush updb, disable, enable, delete, download, etc.. and it's still the same! Then a colleague points out the obvious: You have the module installed in more than one place, like /sites/all/modules and /sites/all/modules/contrib or even a submodule of another module.

To find out if this is your problem, you can run SELECT * FROM system  to see the actual path that drupal has associated with a specific module. 

Gotcha 4: The pesky feature that won’t revert (multilingual sites)

So you just pushed a git commit to a server, and you’re trying to revert the feature, but it just won’t happen. You have tried the magic cache-clearing/php-fpm reloading/cache-clearing incantation several times already, but no no no no go. 

Then you look at the feature diff, and you notice that .. you were looking at the feature page in a different language from it was made in. Aargh! 

Gotcha 5: Browser based language detection is killed by page caching

Florian told me abot this one: If you have page caching enabled the browser based language detection will not work due to a bug in core.

This dropbucket snippet might work for you though: http://dropbucket.org/node/728

Gotcha 6: Dragging and dropping around in panels don't work

Juho V tipped me about this one - and Sampo provided the workaround: 

[11.57.59] Sampo: Sulla on exposed formi tossa. Disabloi se view, draggaa toi paikalleen ja toimii.

Decrypted from Finnish it reads: You have an exposed form in there. Disable that view, drag it to it’s position and it will work. The exposed form is what breaks the drag and drop, so you better just disable that display. 

Gotcha 7: Administer Content permission is powerful but not that powerful

Mario notified me about this one: 

Administer Content permission sounds all powerful: But if you're not user 1 you can still not access unpublished content if it is not edited by yourself. 

You also need "Bypass content access control" permission - or you could use the “view_unpublished” module. 

Gotcha 8: Multiple meanings of “vid” in the database

This has baffled me, at least, when poking around in the database trying to figure out how to solve a case. And I am not the only one: http://drupal.stackexchange.com/questions/13266/what-does-vid-mean

marcvangend at Drupal Answers writes in http://drupal.stackexchange.com/a/13269 :

Unfortunately, vid can mean multiple things. That's not ideal, but I have not seen it causing problems (other than mild confusion now and then).

In the context of nodes, it means 'version id'. For every node in the node table, Drupal can save multiple versions in the node_revisions table. The version id is the unique identifier in the node_revisions table. (This is the vid you see in your query.)

In the context of taxonomy, vid means 'vocabulary id'. A vocabulary is a collection of related terms. Every vocabulary has a unique id.

In the context of the Views module, vid means 'view id'.

Gotcha 9: EntityFieldQuery executed from cron checks access right

Teemu reported this one: If you are running EntityFieldQueries from cron, you might not get the expected results because EFQ does indeed add it’s own access checks. 

Solution: 

$query = new EntityFieldQuery(); $query->entityCondition('entity_type', 'node') ->fieldCondition('field_something_id', 'value', $something_id) ->addMetaData('account', user_load(1));

The last line makes it sure its loaded as Dries. 

An alternative is apparently to use this one (which was added in Drupal 7.15):    

->addTag('DANGEROUS_ACCESS_CHECK_OPT_OUT') Gotcha 10: Blocking users does not block immediately

Reigo reported this experience: 

I once discovered a blocked user who had logged in before he was blocked, and he was still active! So after blocking, empty the session table.

Note: Emptying the session table will also log out ALL the site’s users - so you might think twice about that. One option is to remove the session for that specific user id. 

Gotcha 11: Want to disable the query pager? We’ll trip you up

If you have a query object and wish to return all items, you might try and set the limit to null or false to disable the pager. No go: 

https://api.drupal.org/api/drupal/includes%21pager.inc/function/PagerDef...

public function PagerDefault::limit

States: 

Specify the maximum number of elements per page for this query. The default if not specified is 10 items per page. $limit: An integer specifying the number of elements per page. If passed a false value (FALSE, 0, NULL), the pager is disabled.

Did you think that a disabled pager would return all results? Sorry, daften states this https://api.drupal.org/comment/13964#comment-13964

I would expect disabling the pager would mean everything is shown, instead nothing is returned.

Gotcha :) 

Gotcha 12: Views with date filter not returning what you want

I was struggling with a view with filters for a date field, that did not return what I wanted. I suppose the following conversation speaks for itself: 

[15:08:17] Ilmari: ha! [15:08:19] Ilmari: I got it [15:08:26] Ilmari: Guess what, its the granularity [15:08:32] Ilmari: It is set to "day" [15:08:38] Ilmari: instead of seconds [15:08:56] Ilmari: In the "settings" part of the filter (separate settings) [15:09:16] Ilmari: Filter granularity => Day [15:09:21] Ilmari: should be => Second [15:10:36] Ilmari: Did you find "Filter granularity" under "Settings" for the filter? [15:11:08] Bernt: I didn't find that [15:11:09] Ilmari: Pretty annoying that the default is a day [15:11:18] Ilmari: Content: Date - end date:value2 (yesterday) | Settings [15:11:25] Ilmari: --> "Settings" [15:11:32] Bernt: Oh hah there!! GRRRRRRR hitting my head in the wall [15:11:36] Ilmari: :D [15:11:36] Bernt: or on the desk, it is closer [15:12:02] Ilmari: I've encountered that exact problem several times, i always forgot to check those settings.. [15:12:22] Ilmari: ..and the default "day" granularity doesn’t really make sense, usually [15:12:56] Bernt: Thanks man [15:13:45] Ilmari: heh [15:13:50] Ilmari: Glad I could help this time [15:13:50] Bernt: Well, another GOTCHA for my list

So when you are working with a date field in views, remember to check what the granularity setting of the field is. Date defaults to day, which doesn’t work too well if you are more interested in now! 

Gotcha 13: Site name in a feature that depends on .. 

Florian reported this find: 

Don't export the site name in a feature that's a dependency of an installation profile, or you won't be able to install. 

It just happens that the installer checks the site name to test if Drupal has already been installed or not, so if you add that variable to a feature, then it thinks that the installation has already been done.

In the meantime, you can just set the title during an install task (that runs later in the process). 

Categories: Elsewhere

Deeson Online: Google Webmaster Tools - Part 3: Getting Results

Thu, 03/07/2014 - 11:48

In part one of this series I gave an overview of Google Webmaster Tools.

In part two I had a look at a bit more detail at some of the areas that I have found useful to understand when reviewing a site's listings in Google. In part three, I am going to look at how, having analysed this data, you can help to improve your site's listing in Google.

As mentioned in part one I am not an SEO expert, so this shouldn’t replace consulting/using SEO experts, but it will hopefully help you to be able to cover the basics without having to spend loads of money.

Search Traffic

This section wasn’t covered in part two of this series, but is hopefully fairly self explanatory and will help you analyse where to perhaps focus your SEO. Search Queries: This shows the list of most searched terms that have driven traffic to your site. This can help you target various key pages etc, and help you think more about the wording of your pages, to try and help you get more natural listings in Google.

Crawl details

Having had a look at the various data within the crawl details sections, you should then be able to understand pages that are generating errors on your site and look at what needs to be done to fix them. Key errors that you should concentrate on are ‘Server errors’, ‘Soft 404 errors’ and ’Not found’ pages.

Sitemaps

Looking at the sitemaps section can be slightly addictive as you watch the graph (hopefully) increase as Google indexes more and more of your content. Sometimes you take a look at it (thinking that everything is working alright) and see a problem with the number of pages being indexed. We had a client that I was working with a while ago and when we looked at their sitemap in Google Webmaster Tools, the number of pages being indexed fell well short of the number of pages being sent to Google. Their sitemap.xml file contained around 240,000 URLs, but only around 10,000 were actually indexed. Looking at the site, it was set up to send Google a new sitemap.xml every day. By changing this to send it to them weekly, this increased to a regularly indexing of around 225,000 URLs. It seems that Google wasn’t able to index all the pages in just one day and kept starting again each day, so was never getting to the end of the list. Google says that they can’t guarantee to index all of your site, but to have over 90% over the pages indexed was a lot better than only 4%.

That's all folks!

Although I haven't covered Google Webmaster tools in great detail, hopefully you will now feel more confident looking through and using it. It is a great tool for analysing your sites to see how you can get better performance from them in terms of user experience and for your search rankings.

Read moreGoogle Webmaster Tools - Part 3: Getting ResultsBy Mike Davis | 3rd July 2014
Categories: Elsewhere

Károly Négyesi: Double theta to compute delta

Thu, 03/07/2014 - 11:46

We are denormalizing into a field past migration; while usually I freak out writing directly to the field tables in this case it's justified because it's a custom module (never do this in contrib) and also because we are well aware of what does not happen when you do that. With that said, we have a query that roughly looks like this:
INSERT INTO {field_data_field_denorm_data}
(entity_type, bundle, deleted, entity_id, revision_id, language, delta, field_denorm_data_target_id)
SELECT 'user', 'user', 0, field1, field1, 'und', ????????????, field2
FROM table1
.... long complex query where a single field1 has several field2.

So yeah. But delta... delta is a problem. MSSQL has ROW_NUMBER(), MySQL does not and the usual replacement (user variables, @x:=@x+1) is documented to be incorrect and not reliable. There's a lesser known trick that can be used, however:
CREATE TABLE tmp
SELECT DISTINCT field1, field2
.... long complex query repeated

now, ALTER TABLE tmp ADD KEY(field1) in preparation, and then:

INSERT INTO {field_data_field_denorm_data}
(entity_type, bundle, deleted, entity_id, revision_id, language, delta, field_denorm_data_target_id)
SELECT 'user', 'user', 0, t1.field1, t1.field1, 'und', COUNT(*) - 1, field2
FROM tmp t1
INNER JOIN tmp t2 ON t1.field1=t2.field1 AND t1.field2 >= t2.field2
GROUP BY t1.field1,t1.field2

Double theta for the win.

Explanation (numbers copied from real data):
+-------------+----------+---------------------------------+
| t1.field1   |t1.field2 | group_concat(t2.field2)         |
+-------------+----------+---------------------------------+
|        4440 |      427 | 427                             |
|        4440 |      428 | 427,428                         |
|        4440 |      429 | 427,428,429                     |
|        4440 |      433 | 427,428,429,433                 |
|        4440 |      435 | 427,428,429,433,435             |
|        4440 |      436 | 427,428,429,433,435,436         |
|        4440 |      438 | 427,428,429,433,435,436,438     |
|        4440 |      439 | 427,428,429,433,435,436,438,439 |
+-------------+----------+---------------------------------+

Consider the user 4440. When t1.field2 is 427, when joining with t2, there's only itself when joined, so the count is 1 , delta is 0. When t1.field2 is 428 now we have two, namely 428 and 428, so the count is 2 and the delta is 1. And so on. The unsaid, implicit trick is that MySQL orders on what you group.

Categories: Elsewhere

Don't Panic: A blog about Drupal: More reliable Drupal statistics?

Thu, 03/07/2014 - 11:23

Fact: Using the Update module for collecting data has been the standard since Drupal 6.0.
Another fact: Sites not using that module aren't submitting usage statistics to drupal.org.
Yet another fact: Third-party monitoring services are rendering the Update module rather useless.
Result: Misleading statistics on Drupal core and module usage.

When Drupal 6.0 was released the Update module started submitting statistics to Drupal.org, a great initiative. Though, you can disable this module for different reasons, thus creating misleading statistics on Drupal.org. The same goes for Drupal 7, you can disable the module there as well.

Categories: Elsewhere

DrupalCon Amsterdam: Symfony Community: Come to Amsterdam!

Thu, 03/07/2014 - 10:00

Symfony components have a significant presence in Drupal 8, and for those in the Symfony wanting to make themselves even more knowledgeable and marketable, DrupalCon Amsterdam is a great opportunity to learn new skills and make great new friends.

Just a few weeks before SymfonyCon in Madrid, DrupalCon Amsterdam runs from 29 September to 3 October and will have its own Symfony track. It will be a great opportunity to learn Drupal 8: with Symfony2 components included in core, parts of Drupal 8 will look very familiar to developers who currently use Symfony, as will the object oriented programming methodology.

If you’re considering coming to DrupalCon Amsterdam, you probably know that Drupal skills have been in high demand for years. That trend is only expected to continue and perhaps even accelerate with the release of Drupal 8— and Symfony developers are uniquely equipped to learn the platform quickly and hit the ground running.

DrupalCon is the best place to learn Drupal 8

If you’re interested in learning more about Drupal 8, DrupalCon Amsterdam will be a fantastic opportunity. The world’s foremost experts on Drupal and Drupal 8 will be in attendance, giving interested developers plenty of opportunities to learn.

Every DrupalCon is attended by more than just developers: the Drupal community includes web professionals of all stripes. From project managers to designers, back-end experts and even UX gurus, DrupalCon Amsterdam is a great chance to learn from the people who are working on websites at every point in a site’s lifecycle.

Plus, DrupalCon is always a good time. Expect a lot of smiles, laughs and even a few hugs (OK, maybe a lot of hugs).

If you’re interested in Drupal or Symfony, come to DrupalCon Amsterdam. You will be glad you did!

Categories: Elsewhere

KatteKrab: Drupal Diversity

Thu, 03/07/2014 - 01:16
Thursday, July 3, 2014 - 09:16

Drupal project founder Dries just published a blog post entitled Fostering inclusivity and diversity.

I took this photo at DrupalCamp Sydney last weekend. Not only were these three men from very different parts of the world, but they also had different levels of expertise, and different interests. Sure, no women in this picture, but I was taking the photo ;-)

max, taps and vignesh at #dcsyd2014 #drupalcampsydney  pic.twitter.com/GbL4vj508f

— kattekrab (@kattekrab) June 29, 2014

Difference is a good thing. Erynn Petersen spoke at DrupalCon Austin about the real bottom line advantage diversity brings to teams. She also spoke about the importance of tolerating some level of conflict and dissent. It makes us stronger. Challenging and testing ideas usually makes those ideas better.

It's a balancing act.

Categories: Elsewhere

Mediacurrent: 2014 Atlanta Drupal Business Summit Recap

Wed, 02/07/2014 - 22:37

On May 15th, Mediacurrent presented the 3rd annual Atlanta Drupal Business Summit. Hundreds of business leaders from some of the top companies in Georgia came together to learn about how Drupal, the powerful open-source content management system (CMS) can provide personalized digital experiences, reduce total cost of ownership, and deliver superior business outcomes with speed and scale.

Some highlights include:

Categories: Elsewhere

Isovera Ideas & Insights: Things I Know Now About Drupal Development

Wed, 02/07/2014 - 20:45

If you are reading this thinking you are going to get some helpful Drupal development or site building tips...sorry! As a marketing person who runs a hardcore Drupal development shop, I often relate more to our clients than our developers. I am sure there are often times when my team wants to clock me over the head with their MacBook Pros as I play the role of the client during internal discussions.The fact is, many of the folks who are working with Drupal are more like me than my developers.That is why they hire us.

Categories: Elsewhere

Dries Buytaert: Fostering inclusivity and diversity

Wed, 02/07/2014 - 20:16
Topic: Drupal

The past few weeks, I've been thinking over and over again trying to rationalize how to best foster a culture of inclusivity and diversity. This in the context of creating a productive work climate of trust and respect.

I think it is fair to say we all want other people to feel welcome and respected. Where that gets difficult is that feeling welcome and respected means something different to different people. What seems harmless to you could be hurtful to another. For example, some people tend to be more concerned about the use of crude or sexual language than others. It's a complex issue based on a range of factors including gender, race, age, geographical location and more. There is also a lot of academic research about the fact that derogatory and vulgar language or sexually graphic behavior creates a hostile environment. These two facts combined, makes it a popular topic in the context of diversity and inclusion.

However it is not just a popular topic, it is also a very difficult topic. Why do we feel defensive and argumentative when confronted with a value and belief system different from our own? It is one thing to challenge someone's take on, say, a country's healthcare system, it is another thing to challenge someone's beliefs. Challenge someone's beliefs, and you challenge their sense of self.

Given all this, is it possible to be inclusive of everyone? For example, can we be inclusive of those who are easily put off by sexually graphic or vulgar language and at the same time be inclusive of those who often use crude or sexual language? Does supporting one group of people mean turning away others? I hope not, but I'm not sure. Can we find a balance when we have conflicting behaviors? Sometimes we need to change behavior (eg. tone down or refrain from using bad language), and other times we need to understand when no offense was intended, and try to accept and accommodate cultural differences.

Answering these questions to define our culture is very difficult. It is even harder to put them into written rules. I strongly believe that being inclusive is a mindset first. It is about wanting to be a good person to all other people. Once you have it in your mind that you want to make others feel respected and comfortable around you, you'll find that you'll be looking for ways to do so. The key is to be appreciative of our differences. If you show respect and sincerity and remain open to hearing differing opinions, we will automatically become more aware of how our actions affect people different from ourselves. We'll automatically become more inclusive and more diverse.

By the same token, being appreciative of how we are different also means you should be willing to give the benefit of the doubt in case you are offended. It's only through fostering an environment where it is safe to make mistakes and learn from each other that we can achieve diversity and inclusiveness in our community.

Last but not least, it also presents a tremendous opportunity to learn about new cultures. I hope to learn from people who are different than me and talk honestly about our differences. If you are one of these people, I hope to ask you questions respectfully to learn more about how your values differ, and would love to find out how you want to be treated.

I'll continue to think about how to best foster a culture of inclusivity and diversity, but I wanted to stop and listen first ...

Categories: Elsewhere

Drupal.org Featured Case Studies: Social Networking Site - Sentizens.com

Wed, 02/07/2014 - 17:09
Completed Drupal site or project URL: http://www.sentizens.com/

Project Summary:

This project was developed from scratch by Faichi Solutions Pvt. Ltd.

The idea of building a social network for senior citizens was conceptualized by our client, Zlife Systems Pvt. Ltd, and supported by one of the well-known construction groups of India, Paranjape Schemes Constructions Ltd. In India alone, there are currently 98 million people who are aged 60+, and that number is expected to rise to around 173 million by 2026, or 12.6% of the Indian population. With these numbers in mind, our client wanted to build a dedicated social networking platform that focuses on the holistic living needs of senior citizens.

Together with our client, we chose Drupal 7.23 as the open source technology to successfully build Sentizens.com.

We used:
• Drupal Commons 3 for prebuilt applications
• Drupal modules like Panels Ajax tabs to show events
• Drupal modules Memcache & XHPr and increased RAM to handle more requests
• Developed & contributed new Drupal modules for customized features.

We partnered with our client from conceptualization to deployment. We are currently scaling up the business model through phase wise development, ongoing support & Mobile App conceptualization.

Key modules/theme/distribution used: Drupal CommonsAdvance ClockPanels Ajax TabsMemcache API and IntegrationXHProfAddress FieldStatuses (FBSS) to FacebookViewsRulesFeaturesRackspace CloudOrganizations involved: Faichi Solutions Pvt LtdTeam members: ravygKalyaniKrenukak
Categories: Elsewhere

Drupal Commerce: Launching Commerce on Drupal 8

Wed, 02/07/2014 - 17:02

With the entity API maturing in Drupal 8 as it approaches its first beta, Commerce Guys gathered a variety of Drupal Commerce contributors and maintainers in its Paris office to begin active development on Drupal Commerce 2.x. The week long sprint began with architectural debate and validation incorporating the collective experience of our professional services teams and delivery partners.

Drupal Commerce 2.x will ultimately be a complete rewrite, reflecting the drastic changes in Drupal 8 itself. We’re excited to announce that long-time community contributor and Commerce Guy par excellence Bojan Zivanovic has been added as a co-maintainer to help us make it happen.

Read about all of the changes!

Categories: Elsewhere

kevinquillen.com: Add 301 Redirects to a Drupal Migration

Wed, 02/07/2014 - 17:02

Migrating content from one platform to another saves lots of time from doing grunt work and gets data moved fast. However, simply moving the content doesn’t mean the job is done. There are other considerations too, such as 301 redirects for example. Since we are moving content, our aliases are likely changing too. We can create 301s while migrating content in all at once.

Categories: Elsewhere

Appnovation Technologies: One Useful Module For Your Local Drupal Development

Wed, 02/07/2014 - 16:20

Stage File Proxy is one of my favourite modules that I always enable during a local Drupal

var switchTo5x = false;stLight.options({"publisher":"dr-75626d0b-d9b4-2fdb-6d29-1a20f61d683"});
Categories: Elsewhere

Open Source Training: The 20 Most Popular Drupal 7 Modules

Wed, 02/07/2014 - 12:21

One of the most common questions we get from new Drupal users is, "Which modules do people normally use?"

That's a big question, with over 20,000 modules, but some are far more popular than others.

Webchick, one of the Drupal core developers, has used the statistics available on Drupal.org to make a list of the most popular Drupal 7 modules. This is different from the public stats on Drupal.org module pages which show the popularity of modules across all versions.

Here's an introduction to the 20 most popular Drupal 7 modules:

Categories: Elsewhere

KatteKrab: DrupalSouth Melbourne 5-7 March 2015

Wed, 02/07/2014 - 12:09
Wednesday, July 2, 2014 - 20:09

Hey @drupal Beware the ides of March. Over 5-7 March 2015 @DrupalSouth is coming. See http://t.co/YP1LJMSD30 & sign up for announcements

— kattekrab (@kattekrab) June 29, 2014
Categories: Elsewhere

Pronovix: Behat coverage for all of Drupal - how it could be done

Wed, 02/07/2014 - 09:54

There is a lot of excitement in the Drupal community about Behat, especially from more advanced teams that are investing in their Devops infrastructure. It now even looks like Behat might some day make it into Drupal core. I guess that is why several Web development teams that use BDD (Behavior-Driven Development) have asked me how WalkHub relates to Behat. I’ve written a longer post on the WalkHub blog that explains how it could be done, and what the benefits would be. In this post I will focus on how WalkHub could help the community complete the creation of Behat tests for all of Drupal core and contrib.

Categories: Elsewhere

Drupal Association News: Drupal.org team week notes #27

Wed, 02/07/2014 - 06:24

Upcoming deployments: CDN switch for Drupal.org

We have successfully switched all of the Drupal.org sub-sites over to our CDN (Content Delivery Network) provider. On July 2nd we will be pointing Drupal.org (www.drupal.org) at our CDN. This deployment improves our ability to serve static files (images, javascript, css, patches, etc.) and improves our network routes outside of North America.

Looking for community feedback

Community Tools Team is working on new layout for user profiles on Drupal.org. The first iteration of mockups is now open for community feedback.

Previous deployments

We deployed lots of things on Drupal.org in the previous few weeks. Here is a list of most significant deployments:

Drupal.org infrastructure news

We are working to improve many pieces of Drupal.org. Over the last month we have made improvements to our development environments with continued migrations to our OpenStack cluster, upgrades to CentOS 6, and increased disk speed and capacity.

Additional features on our CDN account also enabled us to shift project usage data gathering from our local Varnish logs to CDN logs. This let us push nearly 7TB of traffic a month off of our servers and network off to our CDN, freeing up resources for Drupal.org and Git.

We have been making good progress on migrating Git from a single node to a highly available pair of servers for improved redundancy, reliability and performance.
Monitoring improvements are being added as time allows, and we will be rolling out a new monitoring server with Icinga and Cacti.

Other news Drupal.org User Research

We kicked off Drupal.org user research with a full-day workshop at DrupalCon Austin. You can find our summary and some outcomes of the workshop in this blog post. Right now we are busy conducting remote interviews with Drupal.org users all over the world. Expect more updates from the team in the next couple of weeks.

Drupal Jobs

Drupal Job is coming soon. We have just a couple more features to be launch ready. (In particular, we are figuring out coupon codes and adding some finishing polish.) We hope to launch around mid-July.

DrupaCon Austin

Thank you to those who joined us in Austin for sprints related to Drupal.org. We were able to make some progress on many of the issues that led to the flood of deployments over the past couple of weeks.

Thanks also to those that took the time to be interviewed by the user research team led by Whitney Hess. You gave us a ton of useful information to incorporate into the personas we are developing for our redesign efforts. There were several intriguing feature requests that came out of those interviews as well.

---
As always, we’d like to say thanks to all volunteers who are working with us and to the Drupal Association Supporting Partners and Technology Supporters, who made it possible for us to work on these projects. The Supporting Partner Program crowd sources funds that pay for the development team’s time and Drupal.org hosting costs.

Cross-posting from g.d.o/drupalorg

Personal blog tags: week notes
Categories: Elsewhere

Chapter Three: Drupal WYSIWYG Best Practices

Tue, 01/07/2014 - 22:19

Until Drupal 8 arrives, setting up effective WYSIWYG content editing falls to us developers. For many developers, figuring out the available options and their pros and cons can be difficult. Their main goal is to have a usable site up and running as soon as possible. Over the years, I've settled on a recipe that seems to work well for most clients. Other developers that I know often use a similar setup.




CKEditor



I use CKEditor with IMCE as an image and file browser, and I install a variety of add-on modules and plug-ins to make everything usable. Drupal 8 will use CKEditor by default, though its image handling is, thus far, immature and incomplete.




IMCE

Categories: Elsewhere

Mediacurrent: Digital Marketing Audit for Drupal Websites

Tue, 01/07/2014 - 22:12

Getting the best value from your digital channels demands understanding what works and why. Many brands have websites and email programs that are failing to engage their stakeholders, generate leads, build brand equity and create the real value they could.

This month, our Digital Strategy team is giving away a free Digital Marketing Audit. Our audit will look at the major aspects of your online presence aimed at getting more visitors to your website and converting them into customers.

Categories: Elsewhere

Pages