Feed aggregator

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

Drupal News - April 14, 2014 - 8: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

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

Drupal News - April 14, 2014 - 8: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.

Appnovation Technologies: 12 Best Designed College Websites

Drupal News - April 14, 2014 - 7:08am
Here's a look at 12 of the best designed college websites.

Drupal Association Board Meeting this Wednesday

Drupal News - April 14, 2014 - 6: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.  We'll also be reviewing progress in our Community programs in 2014.

You can listen in and ask questions at the board meeting on Wednesday, 16 April at Noon Pacific, 7pm UTC. There are several ways to join or learn more:

VOIP Audio and Video

IRC: #drupal-association

Meeting Materials

We look forward to seeing you there!

Flickr photo: Gabor Hojtsy

Drupal Association News: Drupal Association Board Meeting this Wednesday

Drupal News - April 14, 2014 - 6: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.

Drupal Association News: Drupal Association Board Meeting this Wednesday

Drupal News - April 14, 2014 - 6: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.

Acquia: The best kind of learning technology

Drupal News - April 14, 2014 - 4:31am

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.

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

Drupal News - April 13, 2014 - 11: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

Propeople Blog: Propeople Wins Gold at the Danish Drupal Awards

Drupal News - April 13, 2014 - 9: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

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

Drupal News - April 13, 2014 - 9: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.

Larry Garfield: The Functional PHP tour

Drupal News - April 13, 2014 - 8: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

Darren Mothersele: I Don't Use Recruitment Agents

Drupal News - April 13, 2014 - 3:00pm

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.

Gábor Hojtsy: The NYC Camp Drupal 8 Multilingual session that wasn't

Drupal News - April 13, 2014 - 6:54am

Did you expect to see how Drupal 8 improves multilingual tasks at NYC Camp? Well, bad luck! I'd like to apologise in place of the NYC Camp team for their messing up the schedule yesterday and their lack of communication following. I was told to set up for my presentation in a room that was not even meant to be a presentation room, let alone my presentation room, even though it was confirmed by several volunteers coming to the room. Later on yesterday, several people asked me why I did not show up for my session. I did.

The good news is that I delivered this talk before, and although the latest recorded copy is definitely not as up to date as the one I worked on for NYC Camp, you can watch it here (fast forward to 12:04 to the start of the presentation itself):

I would have loved to talk to you, bring you all the good news, answer your questions and hopefully inspire you to join our efforts. I did not get a chance this time. Hope to catch up with you sometime later at other events!

Freelock : Heartbleed - Do you need to do anything?

Drupal News - April 12, 2014 - 2:46pm

Everybody is writing about Heartbleed this week. The reason? It probably affects more people than any other vulnerability we've ever seen. If you ever log into any web site, anywhere, your password might be revealed -- and that is just the start. The biggest problem? Nobody really knows if somebody actually used this attack.

HeartbleedE-CommerceSecuritySSLDrupal Planet

Zero to Drupal: DrupalCampSTL 2014

Drupal News - April 11, 2014 - 10:48am

In just over two weeks, The St. Louis Drupal User's Group will host St. Louis' first ever DrupalCamp. The final sessions were announced last week and it's shaping up to be an awesome experience for a wide variety of folks looking to learn more about Drupal.

As @geerlingguy, myself, and a few other great folks from the STLDUG began discussing the idea of hosting St. Louis' first ever DrupalCamp last year, we decided that we wanted to gear our first camp towards those who were just getting started with Drupal. I've been a part of the STLDUG for several years now and two things have been constant: newcomers looking to learn more about Drupal, and a strong need for Drupal developers in the St. Louis area. What's more is that the community of developers, stakeholders, and hobbyists in this city is nothing short of amazing. Naturally, it only made sense to put together a camp that would allow us to share our experiences and expertise with those wanting to learn.

So if you're in or around the St. Louis area and you're looking to learn more about Drupal, check out the sessions, register today, and I look forward to meeting you on April 26th!

Tags

Palantir: D8FTW: Rolling Out the Welcome Mat

Drupal News - April 11, 2014 - 10:28am

At Museums and the Web earlier this month Ken Rickard and I ran a developer training seminar for the still-in-alpha-but-getting-there Drupal 8. It was a small group, which wasn't surprising given the event. One of the most interesting things about it, though, was that there was only one PHP developer in the room.

The most active student in the class was an experienced C# developer. He had never worked with PHP before, and, really, didn't seem like he was going to start any time soon. He was mostly there to get a sense for how to integrate Drupal with his company's product for museums.

Despite that, he was able to follow the material just fine. In fact, the only questions he had were related to PHP itself: Its shared-nothing runtime model, the magic __construct() method name, etc. The actual software engineering parts, the general syntax, dependency injection... all of those were easy. Most notably, when we got to the concept of services he even said aloud "Oh those, yeah, easy."

Here's an experienced developer who has never used PHP before, much less Drupal, and he could follow a code-intensive Drupal 8 training class. Let that sink in.

There's an old adage that once you know one language you can easily pick up another because it's all "just programming". That's not actually true; you can easily pick up another language in a similar family. Jumping between PHP, C#, and Java is fairly easy, but don't expect to jump right into Haskell, Erlang, or ML (or vice versa).

That's why our C# developer was able to follow Drupal 8 so easily. PHP's object-oriented model is, by design, very similar to that in Java, C#, and by extension somewhat to C++. It has its own quirks and flavor, to be sure, as does any language. The basic concepts, though — classes, methods, interfaces, services, domain objects, dependency injection — are fairly easily transferrable between them. The best practices that apply in one language are, generally, at least decent practices in another. The syntax may vary but the underlying principles are closely related and the syntax is generally recognizable.

In the latest TIOBE index of programming language popularity (March 2014 as of this writing), PHP has held fairly steady at a very respectable 6th place for over a decade. That's no mean feat. Look up a little bit higher on that list, though, and notice a few familiar faces: Java sits at 2nd place, C++ at 4th, and C# at 5th.

There are a lot of Java and C# developers out there. The corporate world especially is full of them. That's millions (yes, millions) of developers who may not know PHP, but already know the same underlying concepts behind modern, object-oriented PHP. If they need to learn PHP, they can.

That's millions (yes, millions) of developers who may not know Drupal but if they need to learn it, they can.

Conversely, what do you think happened when we showed our C# developer hooks? He recoiled. Physically.

Magic naming of language syntax is not a common practice in the Java/C++/C#/PHP family of languages. To developers coming in from other family languages hooks and big nested arrays are the least-familiar parts of the code base. Those are, in fact, the hardest to learn for the overwhelming majority of the world that is not already a Drupal developer. That's why there has been considerable effort to try and migrate away from naked data structures to industry standard language techniques: It makes Drupal easier to learn in the long run, as well as the other benefits of common patterns and easier modifiability. Hooks and arrays-of-doom haven't gone away yet, but in the long run their days are numbered.

Drupal 8 won't just be easier to learn for existing PHP developers. It will be easier to learn for existing developers, period.

Verbosity: Migrating multilingual data into Drupal 8

Drupal News - April 11, 2014 - 10:19am

First thing, have a D6 site with multilingual things ready to go! This node has a file attached (see end of post) with a copy of D6 with some translated nodes and site information (see settings.php file settings to translate these variables). The file is a drush archive.

D6 "Requirements" at this time:

  • It must have CCK installed (2014-04-11)
  • Recommended to install in the non-English language if you wish to download the translations automatically (this isn't working in the UI yet 2014-04-11). You can also go download the translations manually later.
Setting up D8

Currently we do not work from the main branch as there are significant changes happening in this area of Drupal 8. Some things may be broken. You have been warned! Please test and update issue summaries where appropriate.

  • Clone the IMP migration sandbox and install Drupal 8 https://drupal.org/sandbox/chx/2105305
  • Enable migrate, migrate_drupal, content_translation, configuration_translation, locale/"Interface Translation", language (these last two are installed by default if you did not install in English)
  • Enable English as a language
  • Get the patch so you can bind to a second database in D8 https://drupal.org/node/2181775
  • Create a manifest.yml file in the root
Migration Mappings

Put this file int he root of your D8 site. If you did migrations to D7 with the latest versions of migrate and d2d, this file similar to your migrate.inc file registration array (but in a completely new format).

manifest.yml

# nodes
- d6_user_role
#- d6_user (not working yet - "does not meet requirements" 2014-04-11)
- d6_language_types # Patch needed 2014-04-11 https://drupal.org/node/2225293
- d6_language_negotiation # needs above patch
- d6_language # Patches needed 2014-04-11 https://drupal.org/node/2166875 and https://drupal.org/node/2234623

- d6_filter_format

- d6_node_type
- d6_node_settings # gets story content type
- d6_node:*
- d6_node_body_field

- d6_view_modes

You can find the complete list of migrations at core/modules/migrate_drupal/migrate.config.yml some (like d6_user are not yet working 2014-04-11).

Running the Migration

Then, on the command line, run your manifest file. I used a D6 database with no password because of the bug mentioned above.

drush migrate-manifest mysql://d6@localhost/d6 manifest.yml

You will need the latest Drush if you want support D8! A UI-based workflow is being developed here: https://drupal.org/node/2200379

Rolling Back

This does not exist yet, but if you are familiar with doing this manually in D7 the process is the same:

Use the UI to delete the affected things (in this example, delete your nodes)
Clear the database table that stores the migration info for the specific migration: mysql> delete from migrate_map_d6_node;

Other howtos

Writing D6 to D8 entity migrations - https://groups.drupal.org/node/387488
How to test Drupal 6 to Drupal 8 migrations - https://groups.drupal.org/node/398588
eliza411 - http://dspeak.com/fldc14/dothis.html

More information on Migrate in Core / IMP

You can follow the initiative at groups.drupal.org/imp.

AttachmentSize Drupal 6 drush archive with translated nodes and site information1.72 MB Category: D8MIDrupal 8Drupal ArticlesDrupal Planet

Janez Urevc: You should come to DC Alpe-Adria (really!)

Drupal News - April 11, 2014 - 7:56am

If you came this far you probably liked this video just as much as I did :). You should really consider coming to Portorož in May to attend DC Alpe-Adria. We will have 2 days of great sessions, BoFs and sprints + 2 more day of extended sprints where we're going to focus on D8 and making it rock!

Portorož is also a great destination for children and families so you could bring your significant others and/or families with you and extend Drupal camp into an unforgettable vacation.

Interested? Of course you are! Find out more at drupalalpeadria.org.

Phase2: An Open Source PartnerShip A Year In The Making

Drupal News - April 11, 2014 - 5:52am

It was one year ago that our own Steven Merrill, Director of Engineering at Phase2, found himself at the RedHat Summit, when he stopped in front of the OpenShift booth. OpenShift is an open-source Platform As A Service (PaaS) solution that offers developers a cloud application platform with a choice of programming languages, frameworks and application lifecycle tools to build and run their applications. The platform provides built-in support for Node.js, Ruby, Python, PHP, Perl, and Java, as well as MySQL, PostgreSQL, and MongoDB. Developers can also add their own languages.

Right away Steven was intrigued by OpenShift since it’s the only PaaS that’s open source (OpenShift Origin,) and that also has a Red Hat-supported behind-the-firewall install (OpenShift Enterprise) and a public PaaS (OpenShift Online.) As Phase2’s DevOps luminary and frequent contributor to the Drupal community, Steven quickly acquainted himself with the OpenShift team and started to explore the possibility of spinning up OpenShift environments for Drupal. By the end of RedHat Summit 2013, Steven had laid the groundwork for a Drupal 8 cartridge and had created an updated PHP 5.4 cartridge for OpenShift.

Steven’s introduction to OpenShift at the RedHat Summit ignited excitement about diversifying our deployment optimization services here at Phase2. The possibility of creating quickstart packages for our Drupal distributions on OpenShift was especially attractive to us. Soon after the RedHat Summit, the Drupal 8 quickstart cartridge was committed to OpenShift, allowing developers to quickly and safely spin up a Drupal 8 environment to test and develop on.

Throughout the past year, our relationship with OpenShift strengthened as we worked together at DrupalCon Portland and DrupalCon Prague to develop Drupal compatibility with OpenShift. To our clients’ delight, we began implementing OpenShift into our deployment services. One of our recent clients, a Fortune 500 publishing company, was overjoyed to find that the deployment process we created for them using Openshift allowed them to cut onboarding time for new developers from an entire month to as little as a week.

Steven and Diane Mueller, the OpenShift community manager, recently co-hosted an OpenShift for Drupal training at NYC Camp. The training gave Drupal developers the tools and knowledge they need to quickly develop, host, and scale applications in an open source cloud environment.  Next week we will be once again heading to RedHat Summit, one year later, exhibiting at the summit as an Advanced OpenShift partner.

Our partnership with OpenShift is a classic open source story: equally committed to open source solutions, Phase2 and OpenShift have teamed up to develop mutually beneficial service capabilities for our clients. We look forward to continuing our close relationship with OpenShift and announcing several more exciting developments and collaborative projects launching in the near future. Stay tuned – there are big things coming for Drupal on OpenShift, the cloud, and Phase2’s deployment services.

Syndicate content