Planet Drupal
2bits: Reduce your server's resource usage by moving MySQL temporary directory to a RAM disk
Friendly Machine: Marketing for Developers
Developers are an idealistic lot, particularly those that have decided to devote themselves to a free, open source software project like Drupal. So it shouldn't come as much of a surprise that many are a bit adverse to marketing. It's a shame, really.
When they think of marketing, they often imagine this sort of person (link).
Perhaps this is how you feel about the subject, or maybe you're a developer that doesn't have anything against marketing, per se, but are worried about doing it wrong. I mean, what if you end up having a Steve Ballmer moment (link)?
Let's face it, Ballmer's got 99 problems, but marketing ain't one. So if you're a developer and you're wondering how to do marketing in a way that you can feel great about, then this post is for you.
How this Is Gonna WorkWe'll actually do this in two parts. In this first post we're going to talk about what marketing really is, not the junk you've come to associate with marketing from the creeps on the Internet.
Even if you don't know bupkis about marketing, you'll understand this. And if you're a budding marketer yourself, hopefully this will reinforce what you're already doing.
In the second post we're going to get into some really practical stuff you can do to improve (or start) your marketing. I'm writing this for Drupal developers, but if you've wandered in from some other corner of the Interweb, it will be something that will easily translate for you.
Let's dig in.
The Essence of MarketingI'm a business school grad and I'm always grateful for how welcome the computer science guys and gals have always made me feel. I wish I was able to lay some slick B-school knowledge on you in this post, but the truth is that the definitions of marketing I learned in school sounded mostly like gibberish at the time and sound worse with the passing years.
So how do I define marketing? Well, the best definition I've ever heard comes not from a marketer, but from content strategist extraordinaire, Erin Kissane. She says marketing is, "the practice of bringing products to market and persuading people to buy them."
If we go with this beautifully simple definition we can break marketing down to three basic activities:
- Coming up with products or services
- Telling people about them
- Measuring how well you're doing at the first two
Pretty simple, huh? Let's talk about these one at a time.
A Product that Solves ProblemsThere are a lot of folks who get stuck here at the beginning - what to offer? For some, selling your expertise will be the answer. Others have caught app fever and are trying to come up with the next cool thingamajig.
Whatever the case, the first step in the marketing process is answering the question, "What am I going to offer?"
Some of you may be surprised that deciding what product or service will be offered is a part of marketing. So those cool ideas you're coming up with on your drive home? Yep, you're dabbling in a little marketing.
The best way to approach this process of finding a product or service is to start by asking what problems other people have that you can help solve. The emphasis on helping others solve problems is the hallmark of a good marketer versus a bullshit artist. A bad marketer does not ask how he or she can help others. They start with the question, "How can I make lots of money?"
If you begin with the idea that whatever you're going to put out there is going to help other people, you won't go wrong. Sure, you probably want to make some money, after all that box set of Game of Thrones isn't going to buy itself. But if you begin by helping others with a real problem they are willing to pay to have solved, the money part will take care of itself.
Now a very good question comes up here...how to know if people are willing to pay for your solution? For most of you, you're just going to let it fly and see if it sticks. I'm cool with that, actually. But I recently read about an interesting experiment one developer conducted to see if anyone would be interested in his app.
He started by creating a brief sign up page so that people could get a notification when the app was ready. Keep in mind, he hadn't actually made anything yet. Then he shared the link on some discussion boards and asked anyone who was interested in the app to sign up. Turns out that lots of people had the problem, wanted the app and so he decided to go ahead and invest a few hundred hours in cranking it out. Great idea, huh?
Now some of you might be saying that you don't sell your work so you don't need marketing. I don't think this is the right way to look at it. Most projects represent a lot of work. You probably put all that labor and love into it so that others would actually use what you made, right? So marketing is still a good idea even for non-profit projects.
That leads us to the next part of the marketing process, telling people about your work.
Getting the Word OutThis is the "persuading people" part of Kissane's definition and it's the part of the marketing process that causes most of the problems for developers. Let me say it right up front, you can promote and persuade without slinging bullshit.
Think about it, if you've followed the principle above and have something that really helps others, then this step is just telling them about it. The important things for a non-marketer to keep in mind when talking about their offering is to keep it simple and keep it genuine.
Now maybe your product is really technical and you feel the "simple" part won't work for you. Try using the classic "elevator pitch" technique to work around this. Here's how it works:
Imagine you have a great idea that you need your non-technical (and very busy) boss to approve. You both get on the elevator one morning and you see your big chance to tell him about your idea. How do you explain it to him in the 20 seconds you have before he gets off the elevator?
Whatever you come up with, that's how you should describe your offering to others. Sure, add a link to more details, but keep it simple and talk like a regular person. Jargon and technical language are often a turn off - even to technical people! Most folks just aren't going to work very hard to understand what you're up to, so make it easy for them.
In the next post I'll get into some specifics, but the general principle here is to use simplicity and authenticity when talking about what you're offering people.
Measuring ProgressThis part is something I think most developer's will feel pretty comfortable with - measuring things. Now Kissane's definition didn't mention this, but it's really important. It's also about more that analytics.
An important thing to keep in mind is that you're measuring against something. That "something" is whatever you decide is your current marker of success. It could be measured by new sign ups, the number of downloads or simply the ability to make rent next month. The point is your measurement should be toward a specific, stated goal rather than something vague like, "more than last month". Hit your goal? Great, now set a new goal and refine your efforts until you get there.
In the next post I'll provide you with a few easy ways to set good goals and start measuring your progress, but for now just keep in mind that if you're not measuring results, you're flying blind and probably wasting time and energy.
Chilling OutI've know lots of developers (and many in other fields) that get really uptight about marketing. It doesn't feel natural to them. Maybe they're shy or just hate the idea of selling things. Whatever the case may be, hopefully you're starting to see that it doesn't have to be like that.
What it's really all about is solving problems for people, telling them about your solution and then making sure your work is having the intended result. If not, tweak, test and repeat. That doesn't sound so bad does it?
Next time, we'll do some nuts and bolts stuff, but in the meantime if you have any thoughts, feel free to share them.
Blink Reaction: Drupal for the .NET programmer
For years Drupal has been known for its powerful content management capabilities. Many large companies leverage Drupal for its rich features and vibrant community of contributors. More recently Drupal has caught the eyes of many developers as a viable framework for web application development. Enterprises shifting from a .NET development environment may find some of Drupal, PHP’s, and the LAMP stack in general a bit challenging to fully adopt.
In this webinar we explore some of the basic concepts of the Drupal system from a developer's perspective. We discuss some of the basics of PHP and compare Drupal’s hook system to the .NET event model. This webinar provides a general overview of the Drupal system and architecture for .NET developers interested in acquiring the Drupal development skill set.
The following topics are reviewed:
* Basic principles and features of the Drupal CMS.
* Overview of the Drupal community and culture.
* A quick look at the PHP programming language and the LAMP stack in general.
* Applying OO concepts to Drupal design patterns.
* A review of popular tools and resources to further develop your Drupal skills.
Commerce Guys: Commerce Kickstart : Visualizing the birth of a distro
Collaboration in open source is a key element to why it is so successful. You can see the effect of enabling collaboration in this video. In the first minute, it is just a couple guys working on the software. But then, they open a new branch, and invite the whole world to help contribute, and you see a swarm of activity that results as people cooperate and collaborate on building something that benefits everyone.
I made the video with Gource which is an open source version control visualization tool. Projects are displayed as an animated tree with the root directory of the project at its centre. Directories appear as branches with files as leaves. Developers can be seen working on the tree at the times they contributed to the project. Tags: Planet DrupalCommerce KickstartDrupalCon Portland 2013: Announcing Michael Lopp as 3rd DrupalCon Portland Keynote
We here at DrupalCon Portland are very excited to announce our final keynote speaker, Michael Lopp!
Michael Lopp is a Silicon Valley-based engineering leader who builds both people (who doesn't want to do this?!) and software at companies such as Borland, Netscape, Apple, and Palantir. While he's not worrying about staying relevant, he writes about pens, bridges, people, poker, and werewolves at the popular weblog, Rands in Repose. All common topics. Really.
Drupal Association News: Restarting the Drupal 7 upgrade
In late April 2012 we kicked off a sprint to upgrade Drupal.org to Drupal 7. Over the next months a huge amount of work was done, resulting in about 300 closed issues (not counting bdd team issues). The Project module suite and many other parts of our site were erased of nearly ten years of technical debt brought on by numerous patchwork fixes over the years. In addition, many parts of the new Drupal.org were rebuilt to take advantage of the features and functionality of Drupal 7. A lot of work went into something completely new for Drupal.org - Behaviour-Driven Development (BDD) testing infrastructure and suite of tests for the most important parts of Drupal.org, including Git & Project functionality, Solr search, and various sections like Marketplace and Case studies. All told, by the end of 2012 the upgrade was close to completion. But, at this point we exhausted our initial budget. The decision was made to suspend all activities until we could reassess the situation, define a solid path forward, and get budget for the finishing part of upgrade project approved.
Doug Vann: CMS Expo May 14-16 2013 and Why it is for you!
It is less than 60 days until the 7th annual CMS Expo [CMSX] where hundreds will convene in Evanston IL, just North of Chicago, for 60+ session of awesomeness, serious networking, and other events across 3 days. Over a dozen CMSs will strut their stuff while experts in areas like Marketing, Content, Mobile, Social, eCommerce, and more will espouse great and practical wisdom. [See the whole SCHEDULE]
Yes, ALL that and more will be going on, but will you be there? I’ve been to four of these and spoken at three. I’m always amazed at the diversity of people that CMSX attracts. Be they attendee, speaker, sponsor, or exhibitor, you’re going to find quite the variety of people. Nonprofits, enterprise, government, higher-ed and more come to CMSX to gain powerful knowledge that will be used in their daily operations.
This year, Drupal will be well represented as will so many other CMSs. Drupalers you will find this year include: Emma Jane Hogbin, Jeff Eaton, Kelly Tetterton, Kieran Lal, George Demet, Sonny Cohen, and Matthew Lechleider.
Why does CMSX keep getting bigger and bigger? Why do people come back again and again? I can’t possibly cover all the reasons, but I hope the following list helps you make the decision that CMSX 2013 is for you!
- If you’re an organization or business who needs to make a CMS decision:
--Enjoy the presence of so many CMSs, all eager to show you how they can manage your content.
--Speak with vendors who could actually help you get there! - If you need to truly leverage your current CMS and get the most out of it:
--Enjoy the experts on Social Media, Mobile Strategies, eCommerce, Marketing, Blogging, etc.
--Listen to and interact with people who have the expereince and answers to your questions! - If you’re a business or contractor looking for leads:
--Enjoy the mixers, after hours events, and loads of networking that occur.
--John and Linda [the power behind CMSX] are all about making & fostering connections.
--Come with business cards and leave with relationships! - If you’re trying to navigate the modern web and find yourself all tangled up:
--Don’t be afraid. The web is bigger today than anyone thought it would come to. There are many rabbit holes to fall into and get lost in.
--CMSX brings in the very best of the best to deliver a Jargon-Free experience that empowers the audience without burying them in acronyms and GeekSpeak!
--And by the way... The potency of the speakers is much greater because they use understandable language! - If you’re looking to forge new partnerships or new ventures:
--Come hang with the innovators, pioneers, and captains of industry at CMSX.
--Stretch your mind around the new cyber-economy while rubbing elbows with the leaders of today. - If you’re looking for work:
--Bring your skills and your resume and boldly approach those who need your services.
--Consequently, while you’re here, you will be gaining highly sought after and very marketable skills! - If you’re a non-cave-dwelling humanoid with a pulse and a computer:
--Seriously... The CMSX is an eye opening, engaging event that can facilitate your professional development and add value to organizations that leverage you.
Now That you have made up your mind... Register here! ---> http://www.cmsexpo.net/register
Drupal PlanetLullabot: Module Monday: Custom Publishing Options
All Drupal content types inherit a few basic flags that can be used to control their behavior. Is this piece of content published? Is it promoted to the front page? Is it 'sticky,' and bumped at the top of lists it appears in? Those are all useful, but complex sites inevitably need more (or different) flags to control the behavior of content in complex designs and workflows. Fortunately, the Custom Publishing Options module can fill the gap.
As one might guess from the name, site builders can use the module to add custom publishing options to any content type. These options are simple boolean flags (like 'breaking news' or 'not for syndication') that appear alongside Drupal's default publishing options on node edit forms. These flags can then be used to filter and sort content in custom Views, and the setup information can be captured in exported Feature module configuration collections for easier reuse and deployment.
Mediacurrent: 9 Steps to Sync your FileMaker data with Drupal
If you read my first blogpost on using WSClient and Rules to push your Drupal data to FileMaker, then you're ready for the rest of the story: How to get your FileMaker data into Drupal. Well, sir or madam, there are two ways: write FileMaker scripts to push data to Drupal, or use Drupal to pull data from FileMaker. We suggest the latter, and here’s why.
Toronto Website Developer: Continuing Your E-Commerce Site with Drupal 7 & Ubercart: 1 - How to Update Drupal
To begin this Drupal video tutorial series on continuing to build your e-commerce site using Drupal and Ubercart, I show you how to update your Drupal site - something I should have covered off before we went live in the first series.
In this tutorial, we begin by putting the site in maintenance mode and then I walk you through three different update methods: updating your site via the website itself using the Update Manager module, manually updating the site by uploading a new version of Drupal core and finally we take a look at Drush and how it can be used to update your Drupal site. Although I mention it a few times in the tutorial, I can't stress enough that you should back up your database and all site files before beginning an update.
Web Omelette: 3 Modules to Help you Debug Emails in Drupal 7
Debugging email issues in Drupal can be really painful. Problems can exist in multiple areas; like Drupal itself or your mail server. So when an email issue arises you first need to check and see if Drupal is generating emails and then make sure your mail server is sending the emails. Luckily in Drupal there are a few modules that can lessen the pain of debugging emails.
Drupal core announcements: D8 Initiatives Updated!
Hi guys,
I spent a chunk of my sunday updating the initiatives for us, go check out the latest news post-feature freeze and all the top issues here:
http://drupal.org/community-initiatives/drupal-core
Thanks to Ashleigh Thevenet and Shyamala for your help with these :)
Happy Monday!
Shannon
Drupal core announcements: Drupal core security release window on Wednesday, March 20
The monthly security release window for Drupal 6 and Drupal 7 core will take place on Wednesday, March 20.
This does not mean that a Drupal core security release will necessarily take place on that date for either the Drupal 6 or Drupal 7 branches, only that you should prepare to look out for one (and be ready to update your Drupal sites in the event that the Drupal security team decides to make a release).
There will be no bug fix release on this date; the next window for a Drupal core bug fix release is Wednesday, April 3.
For more information on Drupal core release windows, see the documentation on release timing and security releases, and the discussion that led to this policy being implemented.
Expresstut: Using views infinite scroll on your drupal website.
In this video tutorial we look at how to add infinite scroll (endless pages, load more) to pages of your website in drupal. The infinite scroll is sometime also referred to as endless pages. In other to achieve this in drupal, I decided to create two videos using two different modules.
1. Views infinite scroll: The views infinite scroll does not use the views Ajax support. It makes use of its own Ajax request.
http://drupal.org/project/views_infinite_scroll
2. Views Load more: The Views load more on the other hand, supports the views Ajax feature. If the Ajax feature on views is enabled, the load more add content to the bottom of the page without refreshing.
http://drupal.org/project/views_load_more
To follow this tutorial you should have at least some knowledge of the views module. As both require you to be using views 3.x
By the end of this tutorial, you will be able to install and configure the views infinite scroll and views load more module on a views listing.
Expresstut: <a href="/content/using-views-infinite-scroll-your-drupal-website">Using views infinite scroll on your drupal website.</a>
In this video tutorial we look at how to add infinite scroll (endless pages, load more) to pages of your website in drupal. The infinite scroll is sometime also referred to as endless pages. In other to achieve this in drupal, I decided to create two videos using two different modules.
1. Views infinite scroll: The views infinite scroll does not use the views Ajax support. It makes use of its own Ajax request.
http://drupal.org/project/views_infinite_scroll
2. Views Load more: The Views load more on the other hand, supports the views Ajax feature. If the Ajax feature on views is enabled, the load more add content to the bottom of the page without refreshing.
http://drupal.org/project/views_load_more
To follow this tutorial you should have at least some knowledge of the views module. As both require you to be using views 3.x
By the end of this tutorial, you will be able to install and configure the views infinite scroll and views load more module on a views listing.
Ikonami: Drupal Public Sector Exchange – Open Councils event
DPSX got off to a rocking start on the 14th of March, though the first hour was more of a rocky start given the chaos on the Central and Victoria lines that evening!
To keep things short and simples! all DPSX posts will get straight to the point, none of my usual verbosity! for that you’ll have to go to shirazee.com!
Speakers at the first DPSX event on Open Councils:
Richard Pope - Government Digital Service
Steve Purkiss – Drop.coop
Robert Miller – Lambeth Council
Michael Lenahan – Lambeth Council
Paul Mackay – NESTA
Key points shared and discussed:
“..Open Source, Open data and Open by default is the ethos at Lambeth…” @RobMiller31
+ Current govt. is sorting its act out and the mentality is changing.
+ The govt. recognises that its a big undertaking and top down will to deliver value for our taxes and set the guidelines and a path for the local bodies to follow.
“Key to current successes has been lowering boundaries” @richardjpope
+ The govt. Digital service its not just about Drupal of course but the bigger picture, its about setting guidelines for central and local govt. bodies on harnessing Open Source, delivering services for the end users as well as digital services for the govt. and saving billions on the tech budgets!
“for any council to be undertaking this transformation in isolation is crazy” @mcaleaa
+ There is a shift in policy: internalising development
+ Making sure selection of OS suppliers is screened for OS too is open to abuse so watch out for the OS cage!
+ Procurement is opening up to smaller suppliers in a flexible accessible manner….and yes G-cloud is making a difference but not every one is sourcing form the g-cloud either! and there is much room for improvement
“..use your data to unlock yourself from proprietary contracts…” @kubair
+ Workflows at the local govt. level need improvement
+ Lambeth is looking to strengthen its team by working with other councils
+ Open data (via APIs) is the key to building a modular evolutionary/re-usable infrastructure – this also opens up the ability for developers to create ‘Apps’ for consumption by councils and potentially central govt.
+ NESTA is soon to launch Code for Europe modelled on Code for America that would improve collaboration across Europe for solutions built upon OS platforms.
“..Lambeth has gone from the dark ages to star wars in 2 years..” @socialtechno
“most applications are still tied up in contracts, OS occupies a very small space within local government at his point..” @stevepurkiss
A few useful links:
Lambeth Council
Made in Lambeth
Government Digital Service
GDS design PrinciplesGDS Digital Strategy blog
Code For Europe Project
The next event for Drupal Public Sector Exchange will be held at the end of May 2013 and we will be going for a venue location a tad bit more centralish!
If you are interested in speaking at the next event, attending or have suggestions on speakers or topics you would like to see covered please drop us a tweet or an email…
DPSX is @Alanpeart @Calert @Greenman @Kubair @MarcDe_ath @shaunwilde
#Drupal #PublicSector #Innovation #G_Cloud_UK #NESTA #GovUK
S1L: Selling access to Organic Groups with Drupal Commerce
There are several ways to sell access to content on your Drupal site. One of the ways that hasn't been discussed much in Drupal tutorials is selling access to private Organic Groups with Drupal Commerce.
As I needed this for my own project I hired Hibersh to create the Rule configurations for me. It worked perfectly ever since. As I saw other people struggling with achieving the same thing I decided to spend half a day writing this tutorial for you. I hope it helps you doing Drupal :)
What you getFirst let me discuss what you will get at the end of this tutorial:
Drupal users can purchase access to an Organic Group by purchasing a certain Drupal Commerce product.
You are going to make it so that you won't have to create a custom Rule for every Organic Group. You will have a 'universal' Rule configuration. Your site administrators or content admins can manage products and Organic Groups and the product -> Organic Group relationship and add and delete them as they see fit - if you decide to allow them to do that if course :)
Neat fact: buying 1 product can give access to 1 or several Organic Groups if you like.
To Make it WorkI've actually made 2 tutorials for you:
the Quick version: enable the example Feature and add a few nodes and you're done
the Drupalist version: learn how the structure works - knowing the right Fields and Rules configuration enables you to make it work for your own usecase. You will feel you've mastered a cool Drupal skill once you completely understand how this works!
the Quick versionEnable these modules: Organic Groups, Organic Groups access control (and Organic Groups UI). They are all part of the og project on drupal.org.
Download the selling_content feature as a zip file or through Git.
Enable the selling_content Feature on your site.
Create 1 'Content Group' node,
Create 1 'Group Content' node and make it reference your 'Content Group' node.
Create 1 'Product for Organic Group' and make it reference your 'Content Group' node.
Done.
the 'Drupalist version'Now let's have a look what we've actually built by enabling that selling_content Feature.
The Feature consists of a structure and a Rules configuration.
The structure The Product Display -> Product referenceThis is how most Drupal Commerce stores are configured. If you are not familiar with them, learn about them in this tutorial about Product Displays.
The Product -> Organic Group referenceThis allows you to create a Drupal Commerce product and reference the Organic Groups it should give access to. Our Rules configuration below allows us to reference multiple Organic Groups from one product - or just one if your usecase needs to give people access to one Organic Group per product purchase. The Organic Groups need to be private and the content copies this behavior.
The Content -> Organic Group relationshipThis is how most Organic Groups are structured: A content node with an Organic Groups field that makes it behave as 'Group content' and a group node with an Organic Groups field that makes it behave as 'Group'. The 'Group Audience' on the content node references the Group node.
the Rules ConfigurationTo make this work we'll have 2 Rules and 2 Rules components.
Rule 'OG subscribe after Product purchased'This Rule in the selling_content Feature gives people access to the Organic Group if they completed the checkout AND made the payment for the order. In this example our 'Organic Group Rules' will act on the Rule event 'Completing the checkout process'. To make absolutely sure we only give paid users access to our group we've added a condition that checks of the order is paid. (Order balance comparison <= 0)
It's action loops over the line items and executes the Rule Component 'OG subscribe line item' for each of them.
Rule Component 'OG subscribe line item'This Rule Component checks a couple of things in its condition:
the line item is of type 'product'
the product is of type 'Product for Organic Group'
The Organic Group Entity reference field is not empty
As action it loops over all the references field - that way we can reference multiple Organic Group nodes from one product node.
In that loop it adds the customer to the referenced Organic Group
That completed the Checkout part. You're done.
OG unsubscribe after Order CanceledYou probably want to remove users from the Organic Group when their order is cancelled for some reason - for example when they 'return' the product and want their money back.
That's exactly what the Rule 'OG unsubscribe after Order Canceled' is for, have a look:
When the order is changed (action) and its 'state' is set to 'Canceled' (condition) it loops over the line items of that order. For every line item a Rule Component is executed.
Rule Component 'OG unsubscribe line item'This Rule component works almost the same as the other Rule Component. The only difference is that it UNsubscribes the user from the Organic Group instead of subscribing the user to it.
Test test testKeep in mind that this is only an example Feature and you may need to tweak it to make it work for your specific usecase. If you have suggestions about making it better suited for certain usecases, please share below so others can benefit from your knowledge. Cheers!
Category: Drupal Planet Drupal Commerce Drupal Organic Groups
Drupal Easy: DrupalEasy Podcast 101: Pinball Wizard
Greg Dunlap (heyrocker), leader of the Drupal 8 Configuration Management Initiative (CMI), joins Andrew Riley, Ted Bowman, and Mike Anello to kick off the 2nd hundred episodes of the podcast. Greg provides an excellent rundown of not only the features of CMI, but also his fund-raising efforts that allowed him to work full-time on it for seven months!
Drupal Association News: Drupal Association Board Meeting: March 13, 2013
We had a big agenda for the board meeting this month, covering everything from completing the D7 upgrade to the DA Open Door Policy for staff.
Lullabot: Insert Content Here, Episode 11: Daniel Jacobson on NPR's COPE and Content APIs
Jeff Eaton and Daniel Jacobson discuss the history of NPR's COPE approach to content management, his work at Netflix, and the future of APIs for content-focused businesses. (Now with extra bonus anecdote!)
Mentioned in this episode:
- Daniel Jacobson: 7 Ways to Improve Your API
- NPR API Reference
- Create Once, Publish Everywhere
- Netflix Tech Blog