Planet Drupal

Subscribe to Planet Drupal feed
Updated: 5 days 16 hours ago

Drupal core announcements: Drupal core updates for July 16, 2014

Thu, 07/17/2014 - 20:45

Categories:

Drupal
What's new with Drupal 8?

This week saw the commit of part one and two of the major menu-system rewrite in which menu-links become plugins. The original patch weighed in at over 600kb and was one of the remaining seven beta-blockers. Splitting it into five separate issues made reviews more forthcoming and this was evident with part one and two moving quickly from needs review to RTBC to ultimately being committed. Reviewers have now moved onto parts three through five.
There was a massive volume of commits this week with cleanups keeping the committers very-busy, lots of deprecated functions were removed and lots of procedural menu and form code was ported to the new Object-oriented approaches.

Where's Drupal 8 at in terms of release?

In the past week, we've fixed 3 critical issues and 8 major issues, and opened 5 criticals and 9 majors. That puts us overall at 107 release-blocking critical issues and 623 major issues.

Outstanding beta blockers

Outstanding critical issues in Drupal 8

Outstanding major issues in Drupal 8

Where can I help? Top criticals to hit this week

Each week, we check with core maintainers and contributors for the "extra critical" criticals that are blocking other work. These issues are often tough problems with a long history. If you're familiar with the problem-space of one of these issues and have the time to dig in, help drive it forward by reviewing, improving, and testing its patch, and by making sure the issue's summary is up to date and any API changes are documented with a draft change record, we could use your help!

More ways to help

Issue #1679344: Race condition in node_save() when not using DB for cache_field recently caused a Drupal.org outage. The issue already has a proposed resolution recommended in comment #24 — help out by reviewing the patch for either D7 or D8.

Additionally, there are a bunch of easy documentation issues which need some help moving forward. For each of these, there is a "Child Issues" sidebar. Look there for issues that are "active", "needs work", or "needs review":

As always, if you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.

You can also help by sponsoring Drupal core development.

Notable Commits

The best of git log --since "1 week ago" --pretty=oneline (112 commits in total):

  • Various conversions of controllers and forms to OO code, only a handful remain now
    • Issue 2010246 by tim.plunkett, tkuldeep17, plopesc, InternetDevels, pfrenssen, googletorp: Convert update_manager_install_form, update_manager_update_form, update_manager_update_ready_form to the new form interface.
    • Issue 2030165 by Berdir, tim.plunkett, vijaycs85, tkuldeep17 | rteijeiro: Convert form_test_* functions to classes.
    • Issue 1978926 by likin, YesCT, Pancho, kim.pepper, h3rj4n, tim.plunkett, disasm, Luxian, neetu morwani | vijaycs85: Convert locale_translation_status_form to a Controller.
    • Issue 2132477 by tkuldeep17, tim.plunkett | shameemkm: Convert batch_test forms to controllers.
    • Issue 2086499 by phiit, tim.plunkett | Gábor Hojtsy: Convert two page callbacks in language_elements_test.module to the new controller system.
    • Issue 2078867 by tim.plunkett, jackbravo, ianthomas_uk, InternetDevels, piyuesh23, disasm, nano_monkey | vijaycs85: Convert _form_test_* functions to classes.
    • Issue 1998198 by pwolanin, splatio, Albert Volkman, tim.plunkett, andypost, disasm, Les Lim, tkuldeep17: Convert user_pass_reset to a new-style Form object.
    • Issue 2302525 by tim.plunkett: Convert file_module_test_form to a class.
    • Issue 2078015 by er.pushpinderrana, RoSk0 | alexanansi: Modernize views_test_data.module forms.
    • Issue 2302531 by tim.plunkett: Convert database_test_theme_tablesort to a class.
  • Issue 2291137 by cilefen | webchick: Rename various *links.yml files to improve DX.
  • Issue 2202511 by hussainweb, benjy | mikeryan: Added Implement migration groups.
  • Issue 2302463 by effulgentsia: Cleanup User::hasPermission() and UserSession::hasPermission() to follow Law of Demeter.
  • Issue 2302331 by kim.pepper: Move drupal_valid_path to PathValidator service.
  • Issue 2296839 by MKorostoff, er.pushpinderrana | YesCT: Remove deprecated comment_num_new().
  • Issue 2289063 by larowlan, andypost | Berdir: Change contact message entity to behave more like a normal entity.
  • Issue 2301239 by pwolanin, dawehner, Wim Leers, effulgentsia, joelpittet, larowlan, xjm, YesCT, kgoel, victoru, berdir, likin, and plach: MenuLinkNG part1 (no UI or conversions): plugins (static + MenuLinkContent) + MenuLinkManager + MenuTreeStorage.
  • Issue 2284103 by alexpott, fabpot, damiankloip, Xano, Xen, Berdir: Fixed Remove the request from the container - this switches from using Request to RequestStack, gets rid of our custom HttpKernel and the Request scope, lets us upgrade Symfony past 2.3 and closes a critical. Special thanks to Fabien Potencier, Project Lead for Symfony for getting the ball rolling and working with the Drupal community on patches.
  • More standardising of entity-field API
    • Issue 2292821 by andypost, larowlan: Use widget for comment subject field.
    • Issue 1498662 by andypost, larowlan | dawehner: Refactor comment entity properties to multilingual.
    • Issue 1856562 by andypost | sun: Convert "Subject" and "Message" into Message base fields.
  • Lots of cleanup of deprecated functions
    • Issue 2297487 by er.pushpinderrana, marcingy: Remove the check_plain function.
    • Issue 2301591 by joshi.rohit100: Remove drupal_rebuild_form() as it is deprecated.
    • Issue 2208893 by ngocketit, longwave: Remove unused functions from Views.
    • Issue 2301601 by joshi.rohit100: Remove drupal_validate_form() as it is deprecated.
    • Issue 2301587 by joshi.rohit100: Remove form_state_defaults() as it is deprecated.
    • Issue 2301577 by ParisLiakos, joshi.rohit100: Remove drupal_alter() as it is deprecated.
    • Issue 2300853 by joshi.rohit100: Remove language() method from bootstrap.inc as it is deprecated.
    • Issue 2300891 by joshi.rohit100: Remove format_backtrace() from error.inc as deprecated.
    • Issue 2301597 by joshi.rohit100: Remove drupal_prepare_form() as it is deprecated.
    • Issue 2300831 by joshi.rohit100: Remove module_exists() as it is deprecated.
    • Issue 2300857 by joshi.rohit100: Remove lock() method from bootstrap.inc as deprecated.
    • Issue 2300821 by joshi.rohit100: Remove module_invoke_all() as it is deprecated.
    • Issue 2300847 by joshi.rohit100: Remove drupal_get_form() as it is deprecated.
    • Issue 2300843 by joshi.rohit100: Remove drupal_json_encode() and drupal_json_decode() methods as deprecated.
    • Issue 2300833 by joshi.rohit100: Remove module_hook() as it is deprecated.
    • Issue 2300697 by joshi.rohit100: Remove drupal_is_cli() as It is deprecated.
    • Issue 2299499 by joshi.rohit100: Remove form_clear_error() as it is deprecated.
    • Issue 2301975 by kim.pepper: Move drupal_is_front_page to PathMatcher service.
  • Issue 697760 by sun: Replace getInfo() in tests with native phpDoc + annotations (following PHPUnit).

You can also always check the Change records for Drupal core for the full list of Drupal 8 API changes from Drupal 7.

Drupal 8 Around the Interwebs

Blog posts about Drupal 8 and how much it's going to rock your face.

  • Drupalize.me recap Drupal 8's plugin system.
  • Nuvole give us a preview of their Amsterdam session on packaging and reusing configuration in Drupal 8.
  • chx gives us an update on Drupal 8 from both his and a MongoDB perspective.
  • Wunderkraut gave us the lowdown on configuration entities in Drupal 8.
  • Cameron Zemek from PreviousNext introduces us to Mink previewing one of the core-conversations from Amsterdam.
Drupal 8 in "Real Life" Whew! That's a wrap!

Do you follow Drupal Planet with devotion, or keep a close eye on the Drupal event calendar, or git pull origin 8.x every morning without fail before your coffee? We're looking for more contributors to help compile these posts. You could either take a few hours once every six weeks or so to put together a whole post, or help with one section more regularly. Contact xjm if you'd like to help communicate all the interesting happenings in Drupal 8!

AttachmentSize july_criticals.png40.56 KB july_majors.png37.64 KB july_beta_blockers.png32.25 KB

Mediacurrent: How to Start a Drupalcamp

Thu, 07/17/2014 - 16:23

Categories:

Drupal

Getting a new regional Drupalcamp up and running appears daunting at first, but the support of the Drupal Community helps provide a giant head start. At Drupalcon 2014 in Austin, SVP of Professional Services Jeff Diecks shared some tips to help ease into the planning process.

Additional Resources

ThinkShout: Safeguard Your Nonprofit's Website with NodeSquirrel

Thu, 07/17/2014 - 11:00

Categories:

Drupal

In our web hosts we trust, right? Right. They safeguard your nonprofit’s website, ensure it can handle your incoming traffic, and, perhaps most importantly, they backup your site so that if for some reason, your website ever imploded, it wouldn’t be lost for good.

But just how accessible are those backups? How surefire is your contingency plan? Have you tested it out? A lot of website administrators will find that actually initiating this plan isn’t as easy as it may seem. Those backups might take hours or days of ticketing and waiting to get a hold of, particularly if your website host is already inundated with other customer support issues. What then are you to do when something breaks and the site comes tumbling down?

Enter NodeSquirrel. NodeSquirrel is a Drupal backup service developed and maintained by Gorton Studios. It gives site admins control over their site backups. I sat down with Gorton Studios’ Drew Gorton and Keri Poeppe to learn why nonprofits should consider making NodeSquirrel a part of their workflow.

Stephanie: So what exactly is NodeSquirrel?

Keri: It’s a system for creating, managing, and securely storing website backups. Drupal developers out there will know the Backup and Migrate module. NodeSquirrel extends Backup and Migrate, allowing you to make backups of your website and store those backups in the cloud.

Drew: Backup and Migrate is one of the most popular modules in Drupal. One of the reasons it’s so popular is because it’s easy to create a backup. But by default, that backup stays on your server. What we’re trying to do with NodeSquirrel is make it easy to get that backup off of your server and move it somewhere safer - in this case, Amazon’s cloud. What makes NodeSquirrel such an integral addition to your regular hosting is that it’s something you can use whenever you need to access those backups. Getting to your web host’s backups and testing them can be difficult - and just because they’re backed up doesn’t mean they actually work. With NodeSquirrel, there are no surprises. You can get into your backups, make sure nothing is corrupted, and restore it yourself rather than wait on your host.

Stephanie: How does NodeSquirrel accomplish this?

Keri: NodeSquirrel is an off-site destination, but the process of getting the copy of your site uses the Backup and Migrate Module.

Drew: Here’s an example: there was a NodeSquirrel user whose site was being backed up daily by their web host. Unfortunately, that organization had a major failure and needed to restore the whole site, but the backups they received from their host were unusable. The host had to go back two months to find a backup that actually worked. And, this was from a hosting service costing at least $100 a month.

NodeSquirrel, luckily, was running on their site and they were able to use one of the backups stored on the cloud. It saved them. The problem is that no one ever tests hosting company backups. It’s stored by your host, but no one ever goes back and to check the integrity of the backup and figure out if it can be used when something goes wrong.

NodeSquirrel is different because it’s part of Drupal and the Drupal workflow. We’ve made it easy for you or your developer to retrieve and test your backups.

Stephanie: What sets NodeSquirrel apart for the competition? What sort of functionality can I expect from it?

Keri: It’s unique in that it makes a very specific kind of backup. It copies the database, code, and the files rather than making a backup of the whole server and all of the extra infrastructure. It’s not a lightweight backup, but it’s one that can be very targeted, and you can be more nimble with it. For example, if someone accidentally deletes a blog post or wipes out blocks on the homepage, you can quickly restore the website from a NodeSquirrel backup. You don’t need to spend lots of money or staff time recreating the blog post or home page! And you don’t need to call your hosting company to solve the problem. I think what distinguishes it from standard backup systems is how much control users have over the management of their backups. NodeSquirrel’s settings are managed in your site’s backend, so your website administrator has full control of your backup schedule and functions. Want to backup your site every hour? Go for it. Make the system as robust or as hands-off as you like. You can have that level of control and granularity.

Stephanie: How can I tell if my organization needs a service like NodeSquirrel? Is there such a thing as being "too small?"

Drew: It’s very affordable for anyone who’s invested time and money into their website and wants to safeguard that investment. The site is probably too valuable not to backup. We wanted to make this service accessible and affordable, so for about $100 a year, you’ll have this extra protection. Versus the time you spend trying to fix a bad backup, this is a better alternative. With that price point, it’s more of a question of "why not?"

Stephanie: It sounds like NodeSquirrel offers users a lot of options. Is there anything it won’t protect against? What doesn’t it do?

Drew: Most people ask how it compares to their standard hosting, since we have no direct competition. It’s not a full-server backup or a backup for a complex server. It doesn’t backup your DNS settings or load balance configuration. Typically though, if you have a complex setup, you’ll have a system admin or a disaster response team in your organization. Even if you do, NodeSquirrel might still be supplemental and helpful as an extra layer of protection.

Keri: If you can’t call your hosting company and see a backup, you might want to think about NodeSquirrel.

Drew: That’s actually a great way to test your site host. Call them and ask to access your backups. How long will it take? Will they charge you extra to set up a test environment?

Keri: Download and restore a backup. There’s your test to see if you can sleep easy at night. With NodeSquirrel, you can.

Stephanie: Is there anything else we should know about NodeSquirrel? Any tips for getting the most out of the service?

Keri: I’d stress the low threshold to use it. It requires no additional software. It’s integrated seamlessly, especially if Backup and Migrate is already installed. Ask your developers to install version 3 of Backup and Migrate. It’ll give you the most flexibility. NodeSquirrel is free to try, too. We have a trial offer that allows you to make 20 free backups. No credit card required.

Drew: We wanted to make it easy to do the right thing, and having onsite backup is the right thing. If it works, keep on going.

Our conclusion:

NodeSquirrel is a highly-affordable extra layer of protection that could save you and your stakeholders a major headache and a great deal of money in the event of a site meltdown. Even if your hosting provider has a backup solution, in the event of data loss, NodeSquirrel is a great alternative to sitting in support queues, waiting on your web host to resolve the issue.

With NodeSquirrel, you can take complete ownership of your backups and spare yourself the worry of whether or not you’ll be able to get your site up and running. It’s poised to integrate beautifully with your Drupal website administrative workflow, allowing you to safeguard your investment without having to spend time building new safety net systems. With plans starting at $9/month, it’s a question of "can you afford not to use NodeSquirrel?"

Want to see it in action for yourself? Sign up for the free trial. If you do take it for a spin, let us know what you think in the comments section.

Drupalfund.us: #D8Rules As a Proof that Drupal Community Is a Living Cell

Thu, 07/17/2014 - 09:28

Categories:

Drupal

When D8Rules project waiting in a Funding phase had just seven days left to be successfully funded, success didn’t seem likely. The project had raised just over 40% of its funding goal so far. The days shortened; the pressure rose. Happiness exploded exactly two days before the finish line thanks to the rescuing amount which came just in time.

The Biggest Nest of Funders So Far

We know that the Drupal Community is generous in donating money. They confirmed it again in the case of the ‘D8Rules - Support the Rules module for Drupal 8’ project. Together, 138 backers funded 106% of its funding goal. It equated to 15.973 dollars. With this number, D8Rules is, for the moment, the biggest project successfully funded onDrupalfund.us.

Public crowdfunding for D8Rules on Drupalfund started on May 13th. In one day, funders covered 8% of the funding goal already—quite good for a start. During the first two weeks the donating line grew and then it became static. The days were flowing away and more than a half of the final amount was still missing. What happened next?!

Deeson Online: Deeson Online create Drupal 8 personas

Thu, 07/17/2014 - 04:30

Categories:

Drupal
Deeson Online create Drupal 8 personasBy Lizzie Hodgson | 17th July 2014

The momentum behind Drupal 8 is growing, and Deeson Online have been playing their part...

We in the Drupal community probably know something about Drupal 8 – even if it's just that we're aware it's coming!

But how do you clearly and simply highlight the benefits of Drupal 8 to a non-developer audience, or those beyond our community?

How can you then potentially create a non-dev community of Drupal 8 advocates and share good practice?

Introducing Drupal 8 personas What is a persona?

A persona is a ‘person' that represents a specific group of users.

Organisations and companies can use intel from personas to create, for example, 
a piece or pieces of content that will:

  • Highlight expectations and use of your site for your 
end user
  • Help drive the benefits in 
a way that will be immediately understood 
by the audience

Deeson Online have been working of a series of personas to help clearly articulate the benefits of Drupal 8.


How did we create Drupal 8 personas?

Using interviews with a range of Drupal and non-Drupal users, we got to grips with all the pain points for a range of potential Drupal 8 users. Using Dries Buytaert’s personas from his DrupalCon Prague Keynote speech as a starting point, we then focused on:

We then carried out a series of interviews via Skype and Google Hangouts asking people from across the globe from each of these user groups over 30 questions.

These questions ranged from "How many people work in the company?" to "From the time you wake up to the time you go to bed, what does a day in your working life look like?"

What did we do with the answers?

We then analysed all the responses, reducing them down to one 'persona' per user group, ensuring that we captured the persona needs and pain, then matching them against how Drupal 8 will help.

The result

A range of easy to consume dowloadable infographic persona fact sheets, that established and potential users can read and share.

The results so far have been really positive. The infographic personas are proving especially useful for those within our community to have something to refer to when talking not just about the power and benefits Drupal 8, but Drupal itself.

So learn more about Drupal 8, download the persona infographics and share the Drupal love!  

PreviousNext: Drupal continuous integration with Docker

Thu, 07/17/2014 - 01:03

Categories:

Drupal

Continuous integration platforms are a vital component of any development shop. We rely on it heavily to keep projects at the quality they deserve. Being early adopters of Docker (0.7.6) for our QA and Staging platform we thought it was time to take our CI environment to the next level!

Metal Toad: The Best Way to Learn Programming for Beginners

Wed, 07/16/2014 - 22:32

Categories:

Drupal

What is the best way to learn programming for beginners? I've spent a lot of time over the past 12 months thinking about this question, and as our firm has grown steadily from 19 to 39 people, I've reflected on what makes the difference between the people who walk in the door and knock things out of the park and those who struggle. Since my blog post on How to Become a Web Developer I have a number of people who regularly ask me this very question, I'd like to share my thoughts and observations.

Drupal core announcements: Core contact module roadmap

Wed, 07/16/2014 - 22:27

Categories:

Drupal
Background

Now that we have a new release cycle, we have the possibility of new features in minor releases, i.e. although we are in feature freeze for 8.0, that doesn't mean we can't add new features until 9.0. Provided they are backwards-compatible, we can add new features in 8.1 and 8.2.
After recently taking over maintainer-ship of the core contact module, @tim-e and I, in consultation with @andypost and @berdir have formulated a draft roadmap for the features we'd like to see in contact module in the future.
We're publishing it here for wider community-input.

High-level goal

To provide the 80% use-case of webform. i.e. allowing creation and submission of feedback forms from site-users; and providing editing, listing and administration of submitted form values.
Webform contains lots of features, we're only after expanding contact module slightly to add storage and administration and in the process meet the basic use-case of webform in core.
Note that some of these items are features and can be developed in contrib during 8.0 if required with the view to include in point releases eg 8.1, 8.2.

  1. Open issues
    1. Move subject/message fields to use widgets https://www.drupal.org/node/1856562
    2. Make contact message behave like normal entity https://www.drupal.org/node/2289063
    3. Rename contact category to form https://www.drupal.org/node/2285083
    4. Provide redirect option https://www.drupal.org/node/306662
  2. Key features/issues on roadmap
    1. Add (pluggable) storage of messages https://www.drupal.org/node/1856560 - we already have a test implementation of this (in a test module) in core, so it is already technically possible.
    2. Add views integration https://www.drupal.org/node/1856560
    3. Add admin listing of submissions w/ bulk actions to delete https://www.drupal.org/node/1856560
    4. Add ability to edit submissions
    5. Support for file-fields attached to emails - requires formatter for file-field.
    6. Ability to edit format of messages bodies including tokens
    7. Move email logic out of form submit handler to allow submission of messages via REST api that also send email
    8. Move email logic into own service and add events for other modules to interact
      1. Make email sending optional at category (form) level
    9. Path integration to allow simple alias management of contact categories
    10. Per contact-category permissions to allow granular access
    11. Provide a menu-link per category in a custom menu - auto builds menu of contact category links leveraging the menu link API to solve the category selector regression.
    12. Provide a configurable and themable block of selected contact forms. Probably needs views to query contact categories. https://www.drupal.org/node/1997692 and https://www.drupal.org/node/599770
Approach

Drupal.org frontpage posts for the Drupal planet: Drupal 7.29 and 6.32 released

Wed, 07/16/2014 - 20:37

Categories:

Drupal

Drupal 7.29 and Drupal 6.32, maintenance releases which contain fixes for security vulnerabilities, are now available for download. See the Drupal 7.29 and Drupal 6.32 release notes for further information.

Download Drupal 7.29
Download Drupal 6.32

Upgrading your existing Drupal 7 and 6 sites is strongly recommended. There are no new features or non-security-related bug fixes in these releases. For more information about the Drupal 7.x release series, consult the Drupal 7.0 release announcement. More information on the Drupal 6.x release series can be found in the Drupal 6.0 release announcement.

Security information

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

Drupal 7 and 6 include the built-in Update Status module (renamed to Update Manager in Drupal 7), which informs you about important updates to your modules and themes.

Bug reports

Both Drupal 7.x and 6.x are being maintained, so given enough bug fixes (not just bug reports) more maintenance releases will be made available, according to our monthly release cycle.

Changelog

Drupal 7.29 is a security release only. For more details, see the 7.29 release notes. A complete list of all bug fixes in the stable 7.x branch can be found in the git commit log.

Drupal 6.32 is a security release only. For more details, see the 6.32 release notes. A complete list of all bug fixes in the stable 6.x branch can be found in the git commit log.

Security vulnerabilities

Drupal 7.29 and 6.32 were released in response to the discovery of security vulnerabilities. Details can be found in the official security advisory:

To fix the security problem, please upgrade to either Drupal 7.29 or Drupal 6.32.

Known issues

None.

Front page news: Planet DrupalDrupal version: Drupal 6.xDrupal 7.x

Acquia: I Dream it and I Drupal it – My Acquia Story

Wed, 07/16/2014 - 20:24

Categories:

Drupal

I have always been delighted at the prospect of a new beginning which weaves more threads on to it like spider as it goes on. Acquia internship came as this new beginning to me that I always thought of and dreamt of. I admired startups with challenging ideas and read more and more about the entrepreneurs, about their success stories and the way they reached to where they are now and still envisioning in future. I loved to read and analyze what challenges these young entrepreneurs faced and how they overcome it.

CivicActions: CivicActions is Hiring!

Wed, 07/16/2014 - 19:06

Categories:

Drupal

10 years ago we set out to create a company like no other.

Our vision was that team members could work from anywhere, collaborate with brilliant people, build cutting edge technology for the greatest civic institutions on the planet, and have a strong sense of purpose. We have exceeded all our expectations and our success is enabling us to scale even more!

We truly believe that the way we do business is as important as the product we create. We're looking to add new team members who also value quality, diversity, flexibility, healthy work/life balance, humor and supporting one another. Working for CivicActions is more than just a job - it's working with a team of people who are committed to transforming the world. 

We believe that the best team is made from those that love what they do. 

If this sounds like a dream work environment, we encourage you to reach out and share your vision with us, and explore how we can make it a reality together.

Currently we are looking candidates to fill the following roles:

Senior Engineer / Tech Lead / Drupal Architect

Drupal Site Builder / Developer / Themer 

If you're full of positive energy, desire a strong sense of community, looking for meaning and significance in your work, and crave opportunities to do what you do best, we'd love to talk!

Topics

Mediacurrent: Upcoming Webinar: Improve the ROI of Your Drupal Site

Wed, 07/16/2014 - 18:01

Categories:

Drupal

Companies are seeing lower success rates on social media and diminishing conversion rates on the web - a trend that has put us all, especially content marketers, in the position to prove the ROI or face severe fiscal cuts. Unfortunately, reporting metrics like “increased impressions” and “better brand awareness” won’t be enough because companies are looking for hard before/after numbers.

Freelock : Performance problem: N! database calls

Wed, 07/16/2014 - 16:34

Categories:

Drupal

Kicking off some posts about various performance challenges we've fixed.

N Factorial

During a code review for a site we were taking over, I found this little gem:

<?php

function charity_view_views_pre_render($view) {
  // this code takes the rows returned from a view query after the query has been run, and formats it for display...
  // snip to the code of interest:
  usort($view->result, 'charity_view_sort_popular');
}

PerformanceTechnicalDrupalDrupal Planet

Drupal Association News: How Your Membership Gives Back to the Community

Wed, 07/16/2014 - 15:05

Categories:

Drupal

When people ask me, “What’s Drupal?” I find it a complex answer. Of course, in a technical sense, Drupal is a CMS— but to me, and to many others, it’s far more than that. It’s a community full of amazing people with inspiring leaders and huge hearts.

At DrupalCon Austin, I was able to share several stories about community members who really pushed the project further, all with the help of community cultivation grants selected and financed by the men and women who love Drupal. I want to thank Gabor, Sheng, and Tatiana for letting me share their stories and I'd like to share these stories with all of you.

Drupal Dev Days: A Week of Sprints in Szeged

Earlier this year, Gábor Hojtsy organized a dev days event that was a huge success. From March 24 to March 30 this year, three hundred people gathered in Szeged to sprint together on Drupal 8 core, Drupal 8 Search and Entity Field API, Documentation, Migration, MongoDB, REST and authentication, Rules for Drupal 8 and, of course, Drupal.org.

There was so much happening, they almost brought D.O to a halt— but fortunately, everything came out OK, and we had huge improvements to Drupal.org as a result.

There were big benefits to Drupal 8 at Szeged, too. Some of the things that our great sprinters accomplished were:

  •  115 core commits with 706 files changed, 10967 insertions(+), 6849 deletions(-)
  •  19 beta blocker and beta target issues fixed

It was the community that made Dev Days Szeged so great. By turning out and sprinting, they made big improvements to the project, while a community development grant funded part of the Internet fees. It's an important element of any sprint, but the real significance is that Drupal Association members who could not attend the sprints or are not in a role to contribute code were still able to help achieve this success by funding it through their membership.

DrupalCamp Shanghai

Sheng is the community leader of the Shanghai community, and as an ex-New Yorker, he knew firsthand how important Drupal meetups and camps are for networking and learning. After he moved to Shanghai, he decided that he wanted to share the valuable experience of face-to-face time with his new local community, which had skilled developers who were mostly disconnected from each other and the wider global community.

After building momentum through holding a number of meet ups, Sheng applied for grants in 2013 and 2014 to put on a Shanghai Drupal camp. With the funds, he flew in a Drupal Rock Star to come keynote each of the camps — Forest Mars and John Albin — and the camp doubled in size and there are now hundreds of people who come out to these camps.

While the investment of flying John Albin out to Shanghai from Taiwan was relatively small, the impact and ROI was huge both for the camps and for the greater Drupal community: camp attendees learned to contribute back to the larger global community, almost like a small R&D investment. It wouldn’t have been possible without a community grant.

DrupalCamp Donetsk

Tatiana of the Drupal Association worked with her colleagues in Donetsk to put together a DrupalCamp in Donetsk, in spite of the revolution. A lot of people came together and connected both to each other and to the global community, and used a grant to pay for the food and coffee— and for us at the Association, that grant stands as a sign of positive support from the greater Drupal community in spite of the strife that was going on in Donetsk.

In the end, lots of thanks needs to go around. First, I’d like to thank Gabor, Sheng and Tatiana and all community leaders for turning your vision into reality and for the time and passion you pour into Drupal. We are appreciate all that you do to unite and grow Drupal.

Secondly, none of this would be possible without the three community leaders who manage the volunteer program: Mike Anello, Amy Scarvada, and Thomas Turnbull. Your passion for growing the community is doing great things.

Finally, I want to issue a big thank you to our Drupal Association Members for making these stories a reality. If you want to be come a member and help more of these programs around the world come to life, please sign up today at https://assoc.drupal.org/membership.

IXIS: Nippy EdgeCast Purging

Wed, 07/16/2014 - 09:27

Categories:

Drupal

Since we integrated the EdgeCast CDN for one of our clients, and released a related EdgeCast Drupal module we have been encouraging more and more clients to consider a CDN layer to accelerate performance to multiple geographic locations and maintain an excellent uptime even during site maintenance periods.

A recent international client who is running many domains with federated content using the Domain module needed to make use of the content delivery network to improve performance and resiliance for their sites.

read more

Acquia: Deliver digital faster with Drupal – Part 2

Tue, 07/15/2014 - 13:45

Categories:

Drupal

In Deliver digital faster with Drupal Part 1, I showed you some of the many examples of successful sites built rapidly thanks to Drupal’s modularity. To stay ahead of your competition, you need to be nimble and agile; Drupal helps you do this with reusable, transferable digital experiences that can be customised to suit various niches even within a single business enterprise. All, of course, without paying additional license fees or mandated limits on developers, environments, or copies.

Liran Tal's Enginx: Migrate Drupal 7 to WordPress 3.9 – The Conclusion

Tue, 07/15/2014 - 13:35

Categories:

Drupal
This entry is part 2 of 2 in the series Drupal 7 to Wordpress 3.9 Migration

Migrate Drupal 7 to WordPress 3.9  - To recap, in a previous post on this series, I’ve set the background for my action to migrate  from Drupal 7 to WordPress 3.9. In this post, we will explore the process of making this migration happen.

If you’ve been on this search before to migrate from Drupal to WordPress, then you’ve realized that there aren’t a lot of resources, and that you may have some preferences in regards to the migration process. Some solutions that popped required to have both instances of Drupal and WordPress up and running for some reason, but that didn’t fit my requirements as I wanted to use the same domain and not needing to setup another one just for the migration process. Other solutions are of course professional support services which will perform the migration for you, but you’d have to say goodbye to a few hundred dollars to begin with (prices range from $750 to $3500 for a website migration)

Finding Drupal2Worpdress provided me a good start to get things rolling. As with most things on Github for me, I usually begin by forking a repository and Drupal2Wordpress was no exception. Quickly after I reviewed the code in the original repository I found out that the script is very small and focused, without requiring any special dependencies or extra configuration which was my primary goal – finding the most simple solution as possible. Now I’m ready to take a stub at it.

 

My Video Course - Step by Step Drupal 7 to WordPress 3.9 Migration

I created a Video course on Udemy.com to teach you the skills of migrating Drupal 7 to WordPress 3.9.

I’d appreciate if you leave a review after taking the quick course

Step-by-Step Drupal 7 to WordPress 3.9 Migration Learn how to migrate your content, users, and more from a Drupal 7 website to WordPress 3.9.

 

 

 

Getting to Business with Drupal2Wordpress

Drupal2Wordpress is essentially very simple. It only requires to edit the PHP code at the beginning, and set the connection information correctly for both WordPress and Drupal database. That already implies on the characteristics of this migration tool – it expects that both instances of Drupal and WordPress are available through a database connection and since this tool has to be accessible and run on the hosting account service  and be triggered from the web or from a cron job (because hosting accounts do not open their database servers to the public).

Some of my fixes to this tool began with importing any content type from Drupal, yet making sure they are imported into WordPress as eligble posts content type (as opposed to pages for example, which aren’t blog related). URL aliasing has also been fixed so that imported posts in the new WordPress install are just working good, as well as another fix to migrate only approved comments. New additions to the tool included the support for migrating users, and adding a default ‘Blog’ category on WordPress and relating all posts to it (as otherwise they are not displayed).

The tool has been tested and it only requires to get a fresh installation of WordPress 3.9 to migrate any Drupal 7 site to it. You’re welcome to fork out the repository or test it and comment so we can further improve upon it.

Drupal2Wordpress – the Github repository.

 

(adsbygoogle = window.adsbygoogle || []).push({});

The post Migrate Drupal 7 to WordPress 3.9 – The Conclusion appeared first on Liran Tal's Enginx.

Drupalize.Me: Drupal 8 Plugins Explained

Tue, 07/15/2014 - 13:00

Categories:

Drupal

As you start down the road of learning Drupal 8 module development, one of the first new Drupalisms that you're likely to encounter are plugins. After writing a blog post about creating blocks, which uses the new plugin architecture, I thought it might be interesting to take a step back and talk a little bit more about plugins at a higher level. This blog post contains an introduction to the what and why of plugins to help Drupal 7 developers make the transition to Drupal 8.