Skip to Content

Newsfeeds

Károly Négyesi: This is the future of Drupal

Planet Drupal - 2 February 2015 - 10:36am

I got these gems from a person at Acquia. I followed up with someone supposedly higher up in the chain but never got an answer. Needless to say I was just an expert helping [redacted] and not someone who makes the decisions for them:

Karoly,

Our colleagues have previously spoken regarding [redacted] web properties. I’m reaching out to introduce myself and see if it would make sense to discuss your web plans for 2015.

Acquia is a Gartner leading web content management provider. Our platform taps into the cost-effective and flexible benefits of open source while providing world-class support for our clients’ websites.

Second email:

Acquia was founded by the creator of the Drupal project and our organization works along side Drupal users to propel their digital properties.

Mind you, this is two years after someone from Acquia pitched Drupal to Matt Mullenweg. I hoped selling open source that some people poured their heart into differs from selling a sack of potatoes. That the salesmen would at least get some rudimentary training on the community their livelihood depends on. That they won't talk like a Dilbert cartoon. I am wrong. And I am out.

Categories: Drupal

Code Karate: Site5 Hosting: A shared hosting solution for designers and developers

Planet Drupal - 2 February 2015 - 10:01am

Code Karate has recently posted numerous times on the importance of hosting and finding a reliabl

Categories: Drupal

SitePoint PHP Drupal: Effective PDF Generation in Drupal

Planet Drupal - 2 February 2015 - 10:00am

A few months ago I had a client requirement for PDF generation, in this case to generate certificates that could be viewed online or printed. I spent some time looking into the best Drupal options available and picked up some advice along the way on how best to accomplish these aims. After mentioning my results to several people, it seemed that PDF generation was a common requirement and now I have the same need again on a personal project, so it seemed a good case study to walk you through what I found.

Why not just print?

If your requirements are simple, it may be easier to just to tell your website users to print and there’s nothing stopping them doing this. If we want a level of control over what is printed or we want to distribute files for printing, then we need to look into other options.

Web vs Print

PDF generation takes a slight change of mindset. As web developers, we have spent a lot of time convincing designers from a print background to stop producing pixel perfect designs that will be difficult to reproduce on the web. If you want to introduce PDF generation or any form of high designed print output, then we need to relearn some of our old skills we left behind. The nature of print means that it is precise and often needs pixel (or millimeter) perfect design.

What am I trying to accomplish?

I am currently working on a board game and I want to allow players to be able to create their own cards that can be shared on the website and printed for use in the game. We have a specific size and layout that these cards will always be and need to conform to, here’s the initial design that we will partially recreate:

PDF options in Drupal

There are two options in Drupal for creating PDFs. The Print module and Views PDF. Views PDF initially seemed the better option as it would allow us to leverage the power of views and the myriad options it offers. However, it has the PHP module as a dependency and as far as I know, is reliant on the eval() function. PDF generation has the potential to be a server intensive task and this method seemed inefficient to me, aside from my reluctance to ever have any kind of PHP evaluation module enabled in Drupal.

This caused me to settle on the print module, which is also better supported and offers many other options for output that may prove useful.

Next we need to decide on our PDF generation library, I am going to suggest you use wkhtmltopdf and explain why later, as I want to build something to compare first. Do this by visiting the wkhtmltopdf website and follow the instructions for your setup. Remember it will need to be installed on local and production sites. After installing you need to create an alias to the wkhtmltopdf executable into your Drupal libraries folder, i.e.:

ln -s /usr/bin/wkhtmltopdf /var/www/sites/all/libraries/wkhtmltopdf

Continue reading %Effective PDF Generation in Drupal%

Categories: Drupal

Drupal core announcements: No Drupal 6 or Drupal 7 core release on Wednesday, February 4

Planet Drupal - 2 February 2015 - 8:14am

The monthly Drupal core bug fix release window is scheduled for this Wednesday. However, there haven't been enough changes to the development version since the last bug fix release three months ago to warrant a new release. A Drupal 7 bug fix release during the March release window is likely instead.

Upcoming release windows include:

  • Wednesday, February 18 (security release window)
  • Wednesday, March 4 (bug fix release window)

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

Drupal Association News: Infographic: Who Attends DrupalCon?

Planet Drupal - 2 February 2015 - 8:06am

Did you know that DrupalCon isn’t just for developers? The community survey we conducted at the end of 2014 turned up some interesting facts, including the fascinating statistic that only about half of DrupalCon attendees self-identify as developers? With project managers, C-level executives, and Drupal sales and marketing experts in attendance, DrupalCon is a great place to meet a wide array of passionate Drupal users and advocates.

So, who goes to DrupalCon? Check out the infographic below for a more complete picture of who attends the biggest Drupal conference on earth.

 

Categories: Drupal

GDC 2015: Get tips on dealing with online harassment

Social/Online Games - Gamasutra - 2 February 2015 - 7:31am

At GDC 2015 a panel of developers seasoned by first-hand experience with online toxicity will arm attendees with real-world advice and experience that will allow them to weather any internet storm that comes their way. ...

Categories: Game Theory & Design

Safe production in Industry 4.0

Virtual Reality - Science Daily - 2 February 2015 - 6:07am
Production facilities and components of Industry 4.0 are linked to the Internet, networked with each other, and thus open to attack. Using an IT security laboratory, researchers offer a test environment in order to simulate attacks on this network and to detect any gaps.
Categories: Virtual Reality

Logs HTTP

New Drupal Modules - 2 February 2015 - 5:02am

Note: Development and issues are handled on GitHub, and code is synced back to Drupal.org

Provides JSON event pushing to Logs via the tag/http endpoint.

The tag/http method that this module provides is very useful when the Logs syslog agent is not an option such as when a web hosting limitation restricts installing custom web server software. This module provides a decoupled push via watchdog depending on severity levels.

Categories: Drupal

Piwik API

New Drupal Modules - 2 February 2015 - 3:02am

Piwik API module is a simple wrapper for Piwik Web-Analytics API.

Categories: Drupal

Web Omelette: 6 steps for new Drupal 8 developers

Planet Drupal - 2 February 2015 - 1:00am

So you are taking the plunge into learning Drupal 8 for the purpose of developing sites, modules, themes, etc. You're a great Drupal 7 developer, familiar with many drupalisms but you don't have tons of experience for modern PHP frameworks, principles and practices. Well, Drupal 8 still includes many of the old drupalisms but still attempts to keep in line with times and modernise itself.

In this article I want to outline 6 steps I believe you should take to get started learning how to develop custom modules and/or themes in Drupal 8. On top of these 6 builds everything else.

The first three are PHP related in a more general fashion, while the last three target aspects of Drupal 8 itself.

1. Learn Object Oriented Programming

One of the biggest difference between Drupal 7 and 8 for developers is the way code is written. It's still PHP but it's now much more object oriented. Global procedural functions are still in place but most of the logic happens in classes.

In case you don't have much experience with Object Oriented Programming in PHP, this is the first thing you need to learn, brush upon or revise (depending on your level). There are many resources available out there, all scattered as hyperlinks in this section. There are also courses you can take, both free and paid.

Without quite a solid OOP foundation, you won't be able to understand much of how Drupal 8 modules are built.

2. Learn how to use Composer

One of the consequences of modernizing PHP has been the introduction of the Composer package manager. Projects are no longer built without it as it does a great job of installing, updating and managing in general the external libraries and dependencies of your project. Not to mention its very helpful autoloader.

Drupal 8 uses Composer to manage external PHP libraries and dependencies (such as Symfony components, Guzzle, etc) and there is talk about the ability to handle also contrib modules. So make sure you know how Composer works and even start using it in non-Drupal projects.

3. Get familiar with Symfony

One of the main points of contention (back then) in the Drupal 8 development cycle was the introduction of Symfony components. Some people didn't really agree with this great shift from they Drupal way, but others embraced it wholeheartedly. I am in the latter group as I love Symfony and used it even before developing anything in Drupal 8.

Drupal 7 developers are often being told that knowing Symfony is not required in order to develop in Drupal 8. While technically true, you still end up learning a lot of it through the Drupal experience. That being said, I strongly recommend learning some Symfony before. It is a great modular framework and knowing its concepts will really help you out in understanding how Drupal 8 is built (for the components it uses I mean). Once you can build a small website in Symfony, you'll enjoy developing in Drupal 8 that much more because concepts will be similar a lot of the time. Not too mention that you can use Symfony to build apps on its own.

4. Routing and controllers

Just like with Drupal 7, when starting to learn Drupal 8 you need to create the obligatory hello world module (creating a page with a parameter in the URL( usually world) that displays the text Hello + parameter). This example introduces you to many important things:

  • Module folder structure
  • Routing (no more hook_menu) through routing.yml files that map to Controller methods
  • Controller classes which have various methods that can be mapped to routes
  • Access arguments for these routes
  • Rendering markup to the page inside the Controller methods
  • etc

So I really recommend giving this a go.

5. Plugins

Another important concept you'll need to get familiar with is Plugins. Admittedly, this not the easiest to grasp, but it is super important because it's everywhere. Not to worry though, it's not rocket science.

Many old Drupal 7 implementations of various concepts have been transformed to plugins: info hooks, blocks, field formatters, views handlers, etc. Understanding plugins is therefore also very important for being able to extend default Drupal functionality.

6. Dependency injection and the service container

The last step I am going to mention here is dependency injection. Drupal 8 uses the Symfony dependency injection container to manage service instantiation and injection into classes that need them. This helps decouple functionality and increases testability.

However, many people are scared of this concept, mainly because they don't grasp it. I wasn't super comfortable either before understanding it. But you should definitely learn what it means, why we use it and how we use it. Because it is a very simple concept that is used all the time in procedural code as well.

You can already find many tutorials out there on Drupal 8 that load services statically through the \Drupal class. It is much faster to write so people (me included) prefer it when writing about D8. I usually also tend to make a note that using dependency injection is preferred in theses cases.

Not understanding what the service container and dependency injection is will easily let you fall into the habit of just statically requesting services and coupling your code like it was procedural. Once you are clear on this point, this will hopefully not happen any more and the sight of a \Drupal::get('some_service') will make you think twice.

Conclusion

There you have it. What I think are the first 6 steps you should take when learning Drupal 8 for the first time. Of course there are many other important things to learn and do but I believe they build on top of this foundation. Of course, this is me writing so others may have different opinions (very much welcomed in the comments). So let's discuss.

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

Fuzzy Thinking: A Back-Handed Compliment

RPGNet - 2 February 2015 - 1:00am
Fuzzy elves.
Categories: Game Theory & Design

Studio Size Debate: Think Big or Think Fast? - by Tanya X Short

Gamasutra.com Blogs - 2 February 2015 - 12:37am
Two indie CEOs compare anxieties, strategies, and solutions to similar business development problems. They debate: What is the best way to keep your studio alive and relevant in today's market? Shoot for the stars or prune your scope?
Categories: Game Theory & Design

Competition Among Developers is Fiercer than Ever and That's Fine - by Robert Boyd

Gamasutra.com Blogs - 2 February 2015 - 12:37am
How to succeed in a world where everyone's making a video game.
Categories: Game Theory & Design

Video Game Storytelling: From Tutorial to Book, and Back Again - by Evan Skolnick

Gamasutra.com Blogs - 1 February 2015 - 11:25pm
Game writer and longtime GDC speaker Evan Skolnick shares an excerpt from his new book, Video Game Storytelling: What Every Developer Needs to Know About Narrative Techniques.
Categories: Game Theory & Design

Everything is not fine, and that's fine - by Rami Ismail

Gamasutra.com Blogs - 1 February 2015 - 11:25pm
Vlambeer's Rami Ismail argues that as an industry, we're not doing fine, and it's about time we admit that.
Categories: Game Theory & Design

Gathering Sky (formerly Apsis): Audio Journal #2 - by Dren McDonald

Gamasutra.com Blogs - 1 February 2015 - 11:21pm
Recording 65 music cues in 2 days with Conservatory musicians in a brand new studio for Gathering Sky (the game formerly known as Apsis)...the preparation and the results.
Categories: Game Theory & Design

Octodad: Dadliest Catch Post-Mortem Pt. 1: Summary - by Phil Tibitoski

Gamasutra.com Blogs - 1 February 2015 - 11:21pm
Octodad: Dadliest Catch was created by the independent game development studio Young Horses over a span of 2.5 years in Chicago. It's a sequel to the student project Octodad created at DePaul University, and this is the story of its development.
Categories: Game Theory & Design

Initial Experiences with Live User Test for Games - by Johan Hoberg

Gamasutra.com Blogs - 1 February 2015 - 11:21pm
I have always been interested in Live User Test since I first heard about it, but I have never had the opportunity to try it out until now. This article summarises my initial experience with crowd testing / live user test for finding and reproducing bugs.
Categories: Game Theory & Design

After the Gold Rush: Competing in today’s App Store - by Ed Biden

Gamasutra.com Blogs - 1 February 2015 - 11:05pm
The App Store is no longer the free for all that it was when it launched six and a half years ago. Developers face stiff competition and to succeed must recognise and build on their assets to stand out from the crowd.
Categories: Game Theory & Design

Site pre-install and post-install hooks

New Drupal Modules - 1 February 2015 - 9:40pm

This is an API project that gives installation profiles (and select modules during install) the ability to implement hook_site_pre_install() and hook_site_post_install().

Categories: Drupal
Syndicate content


Google+
about seo