Planet Drupal

Syndicate content
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 6 min 43 sec ago

Frederick Giasson: Registering an OSF Network in OSF for Drupal (Screencast)

Tue, 15/04/2014 - 11:05pm

In this screencast, I explain how we can link (register) one or multiple OSF Web Services networks to a single OSF for Drupal instance. I discuss how this OSF Web Services mechanism can be used to bring datasets from multiple different OSF instances into the same Drupal portal. I also cover how we can use the same OSF Web Services network as the backend for multiple Drupal portals (which uses OSF for Drupal).

We briefly discuss the distributed aspect of the Open Semantic Framework (OSF), but this topic will be discussed more in deep in a subsequent screencast.

 


Categories: Drupal News

INsReady: How fast does Drupal grow in China? A perspective from DrupalCampChina 2014

Tue, 15/04/2014 - 9:37pm

March 22nd, 2014, we have concluded DrupalCampChina 2014 (announcement). This is the second year that Drupal Shanghai Community has teamed up with Techyizu.org (a Shanghai-based volunteer-driven organization and supporters of the China startup and tech community.) to succefully organize DrupalCamp within Barcamp. For those who don't know, Barcamp is the same style as DrupalCamp, but wider topics and larger audience. We organize Barcamp to attract a variety of people in the related industries; In Spring, 2014, this Barcamp received over 700 people. On Drupal side, we also had large attendance, fun discussion & collaboration and a rooftop afterparty. I was very happy to see large increase in presentations and people at the DrupalCamp (comparing to DrupalCampChina 2013), and therefore, I am eager to share my observation publicly.

Keynote attendance doubled
Thanks to The Drupal Community Cultivation Grant (and the Committee), this year we received the grant help again to bring in an international well-known Drupal contributor to speak at our camp keynote. John Albin Wilkins offered the favor and presented "Drupal for a Better Web". During his keynote, I realized there were around 200 people packed in this conference room. I also recognized many local Drupal community leaders from other Chinese cities, such as Beijing, Hangzhou, etc. Comparing to last year keynote, we almost had 100% increase in keynote attendance.

Sessions doubled
Last year, we had one track at the DrupalCamp, and besides a keynote, there were 4 hour-long sessions. This year, we had two tracks and total 8 sessions and a keynote. Thanks to all the presenters at DrupalCamp, you all made this camp succesfull!

Marketing presence
In the past 3 years of my volunteering and community activities in Shanghai, China. I almost exclusively interacted with developers, designers and entrepreneurs who work with Drupal on daily basis. However, at this DrupalCamp, I saw a person with professional cameras and camcorders busy recording all the sessions. I had a pleasure talking to him, and learned that he doesn't use Drupal, but he believes in his partners who develop a business on Drupal, and he decides to dedicate his efforts of Marketing and Sales for Drupal. As many people would agree, in the Drupal world, we are in high demand of talent, but we are even in higher demand of people who market Drupal well and explain what Drupal is to others. I am glad to see the presence of marketing professionals at this camp, which shows the business side of Drupal is promising in China. I believe they are good at helping companies discover and invest in Drupal as their business solution.

Future collaboration
6 Barcamps have been organized in the past 3 years in Shanghai. However, Barcamp didn't get very technical until 2013 we organized DrupalCampChina 2013. This year, we promoted DrupalCamp through the regular channels via Barcamp and media friends. Then at the camp, I saw Javascript, Node.js and a few other stacks of technologies sessions talking about Internet of things. Not only those presenters offered different choices and opinions and helped Drupal to educate the same audience on Internet or Web; but also, most of those presenters support open source and likely the Shanghai Drupal community will extend the communication to those local open source communities for future collaboration.

I am very glad how this camp turned out. I see great collaboration between local Drupal community and Drupal Association on bringing an oversee speaker, the collaboration among different communities to organize a large Barcamp and DrupalCamp, the collaboration within the camp during presentations. This collaboration builds us a good foundation to further advocate Drupal in China, and we will see a larger DrupalCamp next year!

More photos about DrupalCampChina 2014, please see the album on Google+

Files:  PANO_20140322_120703.jpg IMG_2591.JPG IMG_2624.JPG IMG_2575.JPG IMG_2592.JPGTag: Drupal PlanetDrupalCampChina
Categories: Drupal News

David Herron: Static HTML website builders (AkashaCMS, etc) slashes web hosting costs to the bone

Tue, 15/04/2014 - 7:52pm

Today's web is supposedly about fancy software on both server and client, building amazingly flexible applications merging content and functionality from anywhere.  What, then, is the role of old-school HTML websites?  In particular, why am I wasting my time building AkashaCMS and not building websites with Drupal?


Categories: Drupal News

flink: "But that's easy in Drupal, isn't it?"

Tue, 15/04/2014 - 7:17pm

Many a time a customer’s casual challenge of “But that’s easy in Drupal isn’t it?” has resulted in us taking up the gauntlet and putting in some hard yards to indeed "make that easy”.

Clearly 8,500 D7 modules on drupal.org is not enough.

As we were working on a government project last year the question popped up again and we had to rise to the occasion. The project was eventually put on ice, but during its course another module baby was born. We called it Views Aggregator Plus and set her free in Drupalland. It seemed a waste not to share it.

One thing we've learned about releasing modules: you have no idea upfront which ones will thrive. We thought we had created a niche application and planned for one install, namely that single install on that site that never happened. But the module usage statistics prove that it has found applications way beyond its initial purpose. Not bad for a module that wasn't meant to see the light outside that one web site!

As so often in Drupal, further enhancements were very much driven by the needs the community raised, thus taking the module into directions we’d never anticipated, like its application as a Webform submissions post-processor.

For your inspiration we contacted some of the early adopters we came to know through the module's issue queue and collected from them some examples of how Drupal site builders all over the world get value out of Views Aggregator Plus.

We hope you enjoy the screenshots and explanations below. Among these may be just that thing you also needed to be easy in Drupal.

Special thanks to Nick Veenhof of Acquia and Mads Bordinggaard Christensen of Rillbar Records who happily shared screenshots and application stories.

Example 1

by Nick Veenhof of Acquia

"My View displays a list of Search Cores. I configured the module to apply grouping on the customer name. The aggregation functions applied on remaining fields were summations on the column cells of selected fields. This is how the Document Count and Query Count columns were created."

 

 

 

Example 2

by Mads Bordinggaard Christensen of Rillbar Records

"My company is primarily a wholesale distributor of music on vinyl and CD’s. After each quarter I have to send out statements to all the different Record labels who deliver their products to us. The attached PDF is an example of a dummy record company, presenting the amount of sold items within the period.

Dummy Records have 2 different products in their catalogue. The CD has sold 32 items and the vinyl 20 within the period. These sales are however spread out on 6 different orders. So instead of having 6 table rows representing each order, I can use Views Aggregator Plus to compress and group the rows using a unique value, in this case the product SKU.

Before using Views Aggregator Plus each order of the given product had its own line, and it quickly became very unclear and messy. Some products sell a lot of items, but maybe only 1 or 2 on each order, so it can quickly result in a lot of rows (especially for the record labels who had to sum the amount of sold items in order to make an invoice for me).

So Views Aggregator Plus is a really important factor in creating these statements to our suppliers. Apart from that it allows us to quickly pull an exact amount of sold items from the database within a given period (using the date range as a contextual filter)."

 

Example 3

by Rik de Boer, founder of flink

Lastly the use-case for which Views Aggregator Plus was initially developed.

"I've illustrated the construction of the VAP View (bottom) through two intermediate phases, both normal Views. The top one shows a number of government projects (names omitted) by industry, their budgets and their durations (a duration is a Date field with start and end values).

After enabling the Views PHP module a PHP code snippet field (see below) was added to turn the date ranges into more readable keywords: "not started”, “underway” or “closed”. A copy of the PHP field was added thus creating an identical column (with a different title) in preparation for the next step.The duration column was excluded from display.

For the final View the format was flicked from “Table” to “Table with aggregation options”. The “Industry” field was grouped (compressed) and tallied, the budget value field was group-summed.

“No. projects underway” had the “Count (having regexp)” aggregation function applied with “underway” as the regular expression to count. The same aggregation function was applied to “No. projects closed” except that this time the counting parameter was “closed".

To make the “Totals” row, column sum functions were added for all fields except the first. And finally sorting was enabled… voila!"

<?php $start_date = strtotime($data->field_field_duration[0]['raw']['value']); $end_date = strtotime($data->field_field_duration[0]['raw']['value2']); echo time() < $start_date ? 'not started' : (time() < $end_date ? 'underway' : 'closed'); ?> File under:  Planet Drupal
Categories: Drupal News

ThinkShout: Refactoring The iATS Drupal Commerce Module

Tue, 15/04/2014 - 6:00pm

Last month, we wrapped up a project for nonprofit-oriented payment processor, iATS Payments. iATS Payments wanted to invest in gaining wider adoption of their services and enlisted ThinkShout's help in building a PHP wrapper for their existing SOAP API.

Being a bunch of software engineers who have implemented our fair share of APIs (both good and bad), we knew we had to achieve certain goals if we were going to ease the adoption of iATS Payments within PHP applications:

  • Comprehensive: The wrapper handles all communication with the iATS Payments SOAP API, validation of API calls, and error handling.
  • Well documented: We made use of phpDocumentor to generate easily browsable documentation from our code comments.
  • Reliable: Via a comprehensive test suite covering every API call written in PHPUnit.

With the new PHP wrapper finished and unit tests passing, our attention shifted to the project we felt would most benefit from the work we'd done: the Commerce iATS Drupal module. This module leverages Drupal Commerce to facilitate payment processing via iATS Payments on any Drupal website.

We had already integrated Commerce iATS into some of our clients' websites, so we knew it was a great module, but it was written before there was a standard iATS Payments PHP wrapper and contained some unwieldy code that could be eliminated by using the new PHP wrapper. With support from the community and sponsorship from iATS, we rewrote the module, drastically reducing complexity, which any engineer can appreciate, and improved stability, which site owners love even more. We're excited to replicate the success of our partnership with MailChimp, which created a win for the community, the vendor, and, yes, ThinkShout.

Refactoring Commerce iATS

In refactoring Commerce iATS, we didn't just plug in the PHP wrapper and call it a day. While Commerce iATS was originally written with support for only credit card payments, our PHP wrapper supports all payment methods provided by iATS Payments and we wanted to make sure Commerce iATS had room to grow and take advantage of those payment methods.

Some of the problems

Looking through the code of the existing Commerce iATS module, we realized the current design would not scale well as we added additional payment methods.

As an example, take a look at the 2.x-dev release of Commerce iATS.

Here the function commerce_iats_soap_process_submit_form_submit() is being used to handle a lot more logic than a form submit handler ideally would. Breaking it down:

A lot of code in commerce_iats_soap_process_submit_form_submit() is later duplicated when commerce_iats_customer_code_charge_submit_form_submit() is called.

The refactor

We set out to redesign the module's architecture and rebuild it with modularity and expansion in mind. Here's what we did.

Created a new standard payment processing function
  • This function handles the API call, response handling, transaction creation and logging.
  • To handle multiple payment methods, the function accepts a callback function as a parameter. This callback function is the function that makes the API call via the PHP Wrapper and returns the response.

The first lines of commerce_iats_process_payment() demonstrate how the callback function is used:

<?php function commerce_iats_process_payment($payment_method, $payment_data, $order, $charge, $payment_callback) { // Process the payment using the defined callback method. $response = $payment_callback($payment_method, $payment_data, $order, $charge); Broke payment methods out into their own include files

As an example, here's the credit card payment method. Each payment method file contains these standard Commerce functions (where credit_card is the payment method:)

  • commerce_iats_credit_card_settings_form()
  • commerce_iats_credit_card_submit_form()
  • commerce_iats_credit_card_submit_form_validate()
  • commerce_iats_credit_card_submit_form_submit()

Then we added our own callback function, commerce_iats_process_credit_card_payment().

The callback function handles building the API request and getting a response from the API. To show how this works, here's a line from commerce_iats_credit_card_submit_form_submit():

<?php return commerce_iats_process_payment($payment_method, $payment_data, $order, $charge, 'commerce_iats_process_credit_card_payment');

As you can see, all the payment information from the form submit handler is being passed into commerce_iats_process_payment(). That function then calls the callback function commerce_iats_process_credit_card_payment() to make the API call and get the response.

This design is very easy to extend and allows us to add as many additional payment methods as we need in a very clean way. We were able to use this design to implement Commerce Card on File as a submodule of Commerce iATS, eliminating that dependency from the base module.

Roadmap and next steps

All our work on Commerce iATS is currently available in the 2.0-beta1 release. Please take a look and let us know if you have any feedback.

We're already hard at work along with our partners at iATS Payments to integrate more of their payment processing facilities into the Commerce iATS module. While the module currently only supports credit card payments, ACH/EFT and Direct Debit payments will arive before DrupalCon Austin. Speaking of, both ThinkShout and iATS Payments will be attending and spending some time at the iATS booth, number 508. Come find us to say hello and talk some e-commerce.

Keep an eye on the Commerce iATS project page and this blog for more updates.

Categories: Drupal News

Forum One: Big on Drupal in the Big Apple – NYC Camp 2014

Tue, 15/04/2014 - 7:27am

We’re back from another successful Drupal NYC Camp!

A great event as always (thanks to Forest Mars and all the other volunteers and organizers that made the event possible), this year the event attracted more than 800 attendees and was held at a truly awesome venue: the United Nations.

Forum One’s presence this year was bigger than ever! Five of us attended, four of whom spoke at five different sessions covering a variety of topics:
Keenan Holloway talked to a packed room with his tongue-twisting, alliteratively-titled session: Paraphrasing Panels, Panelizer and Panopoly;
Chaz Chumley showed his extensive knowledge of the upcoming Drupal 8 Theming system – look for his book on the same topic later this year;
Michaela Hackner joined forces with Chaz Chumley to highlight some of our recent work with the American Red Cross on the Global Disaster Preparedness Center in a session called Designing for Disasters: An Iterative Progression Towards a More Prepared World;
• and William Hurley (that’s me!) was honored to have the opportunity to talk about Building Interactive Web Applications with Drupal, as well as Developing Locally with Virtual Machines at the DevOps summit (this latter one, sadly, wasn’t recorded due to some technical difficulties). I was blown away by the attendance at both of my sessions and was honored to be able to share some of our challenges and solutions at each.

These camps aren’t solely about sessions, of course. While not all of us were able to stay the whole weekend, Kalpana Goel stayed through Monday to work on some of the Drupal 8 sprints that were going on.

We love the opportunity to give back to the community in as many ways as possible, in code contributions to Drupal 8, contributed modules and also attending and speaking whenever possible. If you appreciate our expertise and would like us to speak at an event, drop us a line at marketing (at) forumone (dot) com and we’ll be happy to participate!

Back from the Big Apple, we highlight our participation in the 2014 NYC Drupal Camp and share the recordings of the five sessions that our team rocked at the event, which was held at the United Nations building in New York City.

Categories: Drupal News

Drupal Association News: Submit Your Design Proposals for DrupalCon Latin America!

Tue, 15/04/2014 - 6:19am

Though DrupalCon Latin America - Bogotá, Columbia is just under a year away, we’re already getting the ball rolling on planning and organization— and we need your help!

Categories: Drupal News

ImageX Media: An inheritable install profile architecture for Drupal

Tue, 15/04/2014 - 5:55am

Drupal core comes with a built-in structure called an installation profile. An install profile is a specific set of features and configurations that get built when the site is installed. Drupal has almost always had some variety of install profile, but with Drupal 7 they became a whole lot easier to create and understand.

Categories: Drupal News

Frederick Giasson: Installing OSF for Drupal using the OSF Installer (Screencast)

Tue, 15/04/2014 - 5:01am

The Open Semantic Framework (OSF) for Drupal is a middleware layer that allows structured data (RDF) and associated vocabularies (ontologies) to “drive” tailored tools and data displays within Drupal. The basic OSF for Drupal modules provide two types of capabilities. First, there are a series of connector modules such as OSF Entities, OSF SearchAPI and OSF Field Storage to integrate an OSF instance into Drupal’s core APIs. Second, there is a series of module tools used to administer all of these capabilities.

By using OSF for Drupal, you may create, read, update and delete any kind of content in a OSF instance. You may also search, browse, import and export structured datasets from an OSF instance.

OSF for Drupal connects to the underlying structured (RDF) data via the separately available open-source OSF Web Services. OSF Web Services is a mostly RESTful Web services layer that allows standalone or multiple Drupal installations to share and collaborate structured data with one another via user access rights and privileges to registered datasets. Collaboration networks may be established directly to distributed OSF Web Services servers, also allowing non-Drupal installations to participate in the network.

OSF for Drupal can also act as a linked data platform. With Drupal’s other emerging RDF capabilities, content generated by Drupal can be ingested by the OSF Web Services and managed via the OSF for Drupal tools, including the publication and exposure on the Web of linked data with query and Web service endpoints.

OSF for Drupal has dependencies on OSF Web Services, which means an operational OSF for Drupal website only requires access to a fully operational OSF instance. For instance, you can check the Installing Core OSF (Open Semantic Framework) screencast to see how you can deploy your own OSF Web Services instance.

Installing OSF for Drupal using the OSF Installer

In this screencast, we will cover how to install OSF for Drupal using the OSF Installer command line tool.

Categories: Drupal News

AGLOBALWAY: Mobile First?

Tue, 15/04/2014 - 3:57am
Much has been said over the last number of years since the publication of Luke Wroblewski’s Mobile First in 2011, as part of the A Book Apart series, marked as “brief books for people who make websites.”  The series offers valuable tools about designing for and working in the web business, and Luke’s contribution is no small one.   And while a few years have come and gone, has anything really changed? I don’t think so. But perhaps some clarification of terms is in order.    One of the hallmarks of “mobile first” is asking tough questions about what we actually put on the page. For example, if we determine that something is not necessary for the mobile experience of a website, it can be worth calling into question whether it is valuable for the “full desktop experience” as well.    Given the restrictions of the viewport on mobile devices, it makes perfect sense to limit the things that can take away from a quality experience of your website. Ideally, a user’s focus would be on the content, which (hopefully) is the reason to be on your site in the first place. So let’s get rid of everything else!   Behold the pendulum swinging, babies thrown out with the bathwater.   While nobody would deny the increase in the use of mobile devices, desktop browsers are still king of the hill when it comes to how people access the internet. Given the numbers (a quick Google search will give you a general idea), it is understandable that people get scared that by eliminating things from the mobile experience of your site, we may be getting rid of too much. And indeed, there have no doubt been many cases of this happening.   Mobile first, not mobile only.   What needs bearing in mind, however, is the idea of designing for mobile first. I’m sure Mr. Wroblewski reflected on the terms carefully, deciding not to title his book Designing for Mobile, as though it were a separate thing - indeed, if it is separate, we now know it ought not be. Thankfully, he had the foresight to be able to craft the right message, even if it fell on a few deaf ears.   More and more, mobile users area demanding a complete experience to be possible for them as well. This was certainly to be expected. Should we really be assuming that mobile users are necessarily “on the go” and therefore should not expect what they might experience on a desktop?  We all know what they say about making assumptions…   There are many, many challenges when it comes to building responsive websites, and I believe that designing for the mobile experience is chief among them. Not a small part of which is understanding the technical implications of such designs - this is a certainly justification for placing the mobile experience “first” in the design stage. And yet, rather than being limited by screen size in designing for mobile, we actually have an opportunity to take advantage of the power of the device. Perhaps the mobile experience could even be a superior one because of its capabilities.   So should we still be designing for mobile first? Yes - so long as it remains part of an holistic overall design for the user experience. I’m sure Luke would agree. Tags: Mobiledrupal planet
Categories: Drupal News

NYC Camp News & Announcements: Free Drupal trainings at NYC Camp

Tue, 15/04/2014 - 3:53am
Body: 

Did you know NYC Camp has a massive list of completely free Drupal trainings scheduled for Thursday April 10th??? Check out the line-up and sign up!

Don't Forget To Register!

Make sure you create an account and register for NYC Camp 2014, Registration is completely free but the UN security is fairly strict so please register for the camp and then you can go ahead and sign up for a free training on any of the training description pages!

Date: Monday, April 14, 2014
Categories: Drupal News

Fred Parke | The Web Developer: Creating content types and fields using a custom module in Drupal 7

Tue, 15/04/2014 - 3:44am

I was writing a custom module recently which used a custom content type or two. I wanted to make the module as reusable as possible but I also wanted to avoid including a feature inside of the module to add these content types.

Categories: Drupal News

Appnovation Technologies: 12 Best Designed College Websites

Tue, 15/04/2014 - 2:08am
Here's a look at 12 of the best designed college websites. var switchTo5x = false;stLight.options({"publisher":"dr-75626d0b-d9b4-2fdb-6d29-1a20f61d683"});
Categories: Drupal News

Drupal Association News: Drupal Association Board Meeting this Wednesday

Tue, 15/04/2014 - 1:29am

The month of March was pretty huge for the Association - we tackled a lot! Join us for the next Drupal Asssociation board meeting where we will review the work we accomplished and set the stage for even more. In addition to our review of March, we'll be discussing a new Marketing Committeee charter, a new Procurement Policy, and review some branding updates for the Association.

Categories: Drupal News

Acquia: The best kind of learning technology

Mon, 14/04/2014 - 11:31pm

Our training is hands-on, but what that means has changed through the years we’ve run Drupal training. Now you’re just as likely to see learners drawing on paper, collaborating with someone, giving a quick demo, or of course, working hard on their computers. I was reminded of this recently looking at some photos of a client training by our partner, Cegeka with Laurens Vandeput, Senior Drupal developer and team coach.

Categories: Drupal News

Web Omelette: 3 ways to prompt for user input in Drush

Mon, 14/04/2014 - 6:07pm

Drush is awesome. It makes Drupal development much easier. Not only that it comes already packed with a bunch of useful commands, but you can declare your own with great ease. So if you need to call some of your module's functionality from Drush, all you have to do is declare a simple command that integrates with it.

In this tutorial I am going to show you how to get user feeback for such a command. I do not refer to arguments or options in this case. But how you can ask for confirmation on whether or not the command should proceed as requested and how you can ask for a choice. Additionally we'll quickly look at how to get free text back from the user.

So let's dive in with an example command callback function called drush_module_name_example_command():

/** * Callback function for the example command */ function drush_module_name_example_command() { // Command code we will look at drush_print('Hello world!'); } Confirmation

The first thing we'll look at is how to get the user to confirm the action. So in our case, we'll ask the user if they really want this string to be printed to the screen. Drush provides a great API for this:

if (drush_confirm('Are you sure you want \'Hello world\' printed to the screen?')) { drush_print('Hello world!'); } else { drush_user_abort(); }

You'll notice 2 new functions. The drush_confirm() function prints a question to the screen with the intent of getting one of two answers back form the user: y or n. If the response is y, the function returns true which means our print statement proceeds. If the answer is n, the drush_user_abort() function gets called instead. This is the recommended way to stop executing a Drush command.

Select option

Now let's see how you can make the user choose an option from a list you provide. For our super Hello world use case, we will give the user the choice to select from a list who Drush should say hello to. It can be implemented like this:

$options = array( 'world' => 'World', 'univers' => 'Univers', 'planet' => 'Planet', ); $choice = drush_choice($options, dt('Who do you want to say hello to?')); if ($choice) { drush_print(dt('Hello ' . $options[$choice] . '!')); }

So what happens above? First, we create an array to store the choices called $options. The array keys are the machine name and the values are the human friendly versions. Then, we call the drush_choice() function to which we pass 2 arguments: the $options array and the question we ask from the user.

When the command is run, this function is called and returns the machine name of the option the users chooses. Then we check if this value exists and print to the screen the concatenated string. We do use the human readable value by extracting it from the $options array using the key returned.

Free text values

A third type of user input is in the form of free text that you can ask the user to input. Of course the validation of this kind of input must be much stricter so as to not break your application somehow. But let's ask our user exactly who they want to say hello to.

$value = drush_prompt(dt('Who do you want to say hello to?')); drush_print(dt('Hello ' . $value . '!'));

This one is very simple. When the command is run, the drush_prompt() function is called to which we pass a string of text to be displayed in the terminal. The return value is given by the user and we use that for concatenation. But do remember that this is example code only so if you do use this function, make sure you validate the user input properly.

Conclusion

So there you have it. Three different ways to get user input in the terminal using Drush. The first two are the most common ones I believe but it's good to know there is also the last one available in case we need it.

Drush safely!

In Drupal var switchTo5x = true;stLight.options({"publisher":"dr-8de6c3c4-3462-9715-caaf-ce2c161a50c"});
Categories: Drupal News

Propeople Blog: Propeople Wins Gold at the Danish Drupal Awards

Mon, 14/04/2014 - 4:55pm

Propeople was the big winner at the first ever Danish Drupal Awards. This new competition acknowledges the agencies and companies that excel in Drupal web design and development. Propeople won gold in 5 of the 7 award categories, one in every category for which we were nominated!

Drupal agencies in Denmark were the ones who nominated, and voted for, each other (with individual companies not able to vote for themselves). It is, of course, a great recognition for the winners to have been chosen by those that make up the industry itself. As a Drupal company that started in Denmark, Propeople is incredibly proud to have received this acknowledgement and seal of approval from our colleagues in the Danish industry.

 

Propeople walked away from the ceremony with awards in the following categories: Best Drupal Website, Best Drupal Media site, Best Drupal NGO Site, Best Drupal Intranet, and Best Public Drupal Site. The last three awards were won in collaboration with Bysted, one of our sister companies who, like Propeople, is a part of the Intellecta Group. The awards bestowed upon Propeople are a testament to the quality and professionalism of our team of web specialists and Drupal experts, and we couldn’t be happier about them! See below for a video recap of the awards ceremony, and a list of the winning websites. 

 

Video of Drupal Award 2014 - Propeople

 

The Winning Websites

Best Drupal Website:
Gold Award: NFBIO.dk , created for Nordisk Film by Propeople

Best Drupal NGO Site:
Gold Award: visitcopenhagen.com, created for Wonderful Copenhagen by Propeople and Bysted

Best Drupal Intranet:
Gold Award : KK intranet, created for the Municipality of Copenhagen by Propeople and Bysted

Best Public Drupal website:
Gold Award: visitcopenhagen.com, created for Wonderful Copenhagen by Propeople and Bysted
Bronze Award: roskilde.dk, created for the Municipality of Roskilde by Propeople and Bysted

Best Drupal Media site:
Gold: NFBIO.dk, created for Nordisk Film by Propeople

The awards bestowed upon Propeople are a testament to the quality and professionalism of our team of web specialists and Drupal experts, and we couldn’t be happier about them! If you want to learn about how Propeople can make your next project a winning website, make sure to contact us.

Tags: PropeopleDrupalAwardsDenmarkCheck this option to include this post in Planet Drupal aggregator: planetTopics: Business & Strategy
Categories: Drupal News

Drupal core announcements: Drupal core security release window on Wednesday, April 16

Mon, 14/04/2014 - 4:18pm
Start:  2014-04-16 (All day) America/New_York Sprint Organizers:  David_Rothstein

The monthly security release window for Drupal 6 and Drupal 7 core will take place on Wednesday, April 16.

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, May 7.

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.

Categories: Drupal News

Larry Garfield: The Functional PHP tour

Mon, 14/04/2014 - 3:35pm

Ever heard of functional programming? Not procedural programming, but actual functional programming. Probably, as some fancy academic thing that no one really uses, right?

Did you know you can do it in PHP, too? It's true. In fact, I'll be speaking about it four times in the next couple of weeks!

read more

Categories: Drupal News

Darren Mothersele: I Don't Use Recruitment Agents

Mon, 14/04/2014 - 10:00am

I started working with Drupal full time in 2007. I knew back then I was on to a winner, as none of the other open-source systems I evaluated at the time offered the same power and flexibility. It took a while for mainstream web development community to catch on, but over the years the Drupal community has seen massive growth, and now Drupal powers some of the biggest sites on the internet, well over 1 million websites.

But, this success brings problems, and one recurring complaint I've heard over the years has been about the difficulty in finding top Drupal talent. This has made Drupal a prime target for recruitment agencies deception and dirty tricks.

Wunderroot are a well known company in the Drupal world, and are known to be a good employer. As UK MD, Steve Parks, says in his blog We Don't Use Recruitment Agents

We would really love to be able to use recruitment agencies — imagine: a team of people with genuine experience in hiring great staff, with fantastic contacts books, and taking the role of a trusted friend to guide us through advertising, filtering, selecting and engaging the right people. It'd be fantastic. We'd pay good money for that. Unfortunately, that's not how most recruitment agencies work in reality.

I have experience with working with recruitment consultants from both sides. Before I started freelancing in Drupal full time I was running a digital music startup. As a successful startup we experienced fast growth, and didn't have the resources in-house to do thorough candidate searches. We used a couple of recruitment consultants and were consistently disappointed. Candidates were misrepresented, to the point where one didn't recognise his own CV in an interview.

On the other side, as a candidate, I do not use agencies for work. One experience in particular put me off for many years.

I interviewed for a position, but decided after the first interview that, although the opportunity was interesting, I knew I was not the right candidate. The company wanted to invite me back for a second interview, but I told the consultant that I was not interested, and explained my reasons. Unfortunately, the consultant would not take no for an answer, and I was subjected to a week of harassment (to the point of bullying) over my decision.

In We Don't Use Recruitment Agents, Steve Parks tells of a "bait and switch" operation where developers had been approached by recruitment agencies saying that they had been engaged by Wunderroot to headhunt (the bait) in order to get someone interested, but then saying the position was filled and proposing other positions (the switch).

I'm not sure if it's the same dirty tactic in operation, but I have heard in the past of an employer receiving my CV from an agency claiming to represent me. The employer knew me directly, so checked, and they had an out-of-date CV that I had given to the agency for a different opportunity previously. This came up in conversation at a Drupal meetup and it was suggested that this is probably not a mistake as other developers had heard of it happening too.

The extreme of recruiters' tricks are documented in this old post from Kernel Mag in which Consol Partners are accused of "telling outrageous lies to candidates and start-ups".

In a post on recruiting trends ERE suggest that, in an era when candidate sourcing is becoming easier as everyone is "findable" on the internet, recruiters should "shift toward improving the various selling components of recruiting". I'm not sure exactly what they mean by 'selling components' but I would beg recruitment agencies not to do this, and instead focus on providing value.

Recruiters - Do This:

Here's a short TODO list for recruiters:

  • Clean up your industry: Get rid of the deception and bullying.
  • Provide genuine value (c.f. Steve Parks quote above).
Until then...

If you're a reputable company looking to source Drupal developers, or you are a Drupal developer working in London or the UK, get in touch. I'm starting a free job board on DrupalDeveloper.co.uk.

Categories: Drupal News

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer