Skip to Content

Drupal

Appnovation Technologies: BDD with Behat and Drupal

Planet Drupal - 16 March 2015 - 5:20pm

As a back-end developer, I had the chance to work on a project which required writing automated tests for a Drupal site using Behat.

Categories: Drupal

Node expire patterns

New Drupal Modules - 16 March 2015 - 2:01pm

Node expire patterns project.

Categories: Drupal

Phase2: Announcing New Release and Version Scheme For Open Atrium

Planet Drupal - 16 March 2015 - 1:17pm

For the last several months I’ve had the privilege of leading the new dedicated products team here at Phase2. Having a team solely focused on products does not mean we are shifting away from Open Source, but it does mean we are going to be changing our practices a bit to better support the community and our clients. We now have a more predictable development schedule for our products like Open Atrium, and we want to pass the benefits of that to the community and our clients. To that end, we will be working on regular releases with a more consistent version scheme.

Releases will have the following types:
  • Maintenance Releases –  these will happen regularly (approximately once a month) and will include bug fixes, security patches and minor feature improvements/tweaks. We’ll signal these with version numbers that end in 1-9 (e.g. the “1” in Open Atrium 2.31).

  • Feature Releases – these will happen once a quarter and will add major new functions. They will generally require a little more care in upgrade because they may include big updates. These releases will end in zero, like our recent Open Atrium 2.30 release.

  • Major Releases – we have big ideas and plans, and some of them will require that we break compatibility and/or force a migration. We will be working on these big ideas, and we’re aiming to have a new major release each year. Our next will be Open Atrium 3.0 in early 2016.

As we build our solutions, we want to be able to move fast and make lots of improvements, but we need to balance that with a strong testing/review cycle. Rather than keep our activities behind the curtain, we will still be working in public git repositories so that anyone can see where we are going. And, for folks that do not want to follow the day-to-day of development but want to be more involved, we’ll be following a release candidate strategy. Before new feature releases, as soon as we feel we’re feature complete, we’ll publish a release candidate (e.g. 2.30-rc1). We’ll then put the RC through its paces and if things go well and we get no reports of issues from the community, that will become the final release.

So, future releases will have versions that look like this:

By both developing in the open and putting our releases out for review before they are final, we hope to strike the right balance between being visible and collaborative in the community, and offering our clients access to well reviewed and tested releases. As we work to bring more solutions to market, rest assured that we’ll keep “open” as a strong part of our DNA.

Personally, I’m really excited to be working with a great group of folks, both on my team and in the community. Lets push it, and do something great together! If you would like to stay informed about Open Atrium developments, be sure to sign up for the Phase2 newsletter!

Categories: Drupal

Drupal Easy: Last Chance to Register for the Spring Semester of Drupal Career Online

Planet Drupal - 16 March 2015 - 9:28am

There are a lot of ways to train people to become Drupal site-builders, developers, and themers: books, blog posts, screencasts, 1-day trainings, and mentors - just to name a few. Drupal Career Online is different; we provide more than just one learning vector into our students brains. Our live, online, Drupal training program provides an expert instructor, professional tried-and-true curriculum, a full library of screencasts supporting the curriculum, and access to dedicated community mentors. Furthermore, this isn't bootcamp-style training; Drupal Career Online is a sanely-paced 12-week program that meets just 3 times per week. The goal of the Drupal Career Online program is simple: to create talented, well-rounded, community-minded Drupal site-builders, developers, and themers with a real-world knowledge of Drupal and the various satellite technologies that Drupal professionals use every day. Our next session starts on March 24.

-->

read more

Categories: Drupal

Grading System by country

New Drupal Modules - 16 March 2015 - 9:11am

GSBC is an acronym that stands for Grading System by country.

This module allows universities to configure their grading system for students across multiple conditional assessments i.e. terms and years. It allows per-country grading scale conversion tables which can be entered directly or imported from CSV files.

The information in the csv data in this module has taken from

Categories: Drupal

Liran Tal's Enginx: Prevent clickjacking on Drupal and other Apache web applications

Planet Drupal - 16 March 2015 - 6:23am

Security is an important aspect to keep an eye for, and this time it’s about preventing clickjacking on Drupal and other Apache web applications.

Edit apache’s configuration file, which may be your declared vhost or such, usually at a location like /etc/httpd/conf.d/default.conf and make sure the  following

 

<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>

 

This will disable embedding your website as an iFrame.

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

The post Prevent clickjacking on Drupal and other Apache web applications appeared first on Liran Tal's Enginx.

Categories: Drupal

Webform Calculation

New Drupal Modules - 16 March 2015 - 4:07am

This module adds support of Calculations for the Webform module.

Features
  • Use custom calculations per form and per form step
  • Use custom logic and/or existing libraries to calculate result
  • Theme results (the module supports result templates for single page webforms, multiple pages webforms and per step templates)
  • Save calculated results and view them at the regular form submission page

Categories: Drupal

Webform Javascript Field

New Drupal Modules - 16 March 2015 - 3:45am

With Webform Javascript Field you can use custom JavaScript or Jquery snippets for all your Webform form elements.

Features
  • Use custom JavaScript code for all webform components.
  • Bundle your helper functions in a custom file and load them for the entire webform.

Requirements

Categories: Drupal

Annertech: Design Wars (or, Designing Web Projects)

Planet Drupal - 16 March 2015 - 3:42am
Design Wars (or, Designing Web Projects)

Design means different things to different people. What a UX designer thinks will be quite different from what a mechanical engineer thinks, which will be worlds away from what an artist thinks.

For example,

Categories: Drupal

Webfactory

New Drupal Modules - 16 March 2015 - 2:59am

This module aims to extend Drupal 8 multisite capabilities.

Categories: Drupal

Drupal core announcements: Drupal core security release window on Wednesday, March 18

Planet Drupal - 15 March 2015 - 9:12pm
Start:  2015-03-18 (All day) America/New_York Online meeting (eg. IRC meeting) Organizers:  David_Rothstein

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

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/feature release on this date; the next window for a Drupal core bug fix/feature release is Wednesday, April 1.

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

Google Sitelinks Search Box

New Drupal Modules - 15 March 2015 - 9:37am

With Google Sitelinks search box, people can reach your content more quickly from search results. Search users sometimes use navigational queries—typing in the brand name or URL of a known site—only to do a more detailed query once on that site. For example, suppose someone wants to find that video about the guilty dog on YouTube. They type YouTube, or you-tube, or youtube.com into Google Search, follow the link to YouTube, and then actually search for the dog video.

Categories: Drupal

Chris Hall on Drupal 8: D8 blog Alpha to Beta migration

Planet Drupal - 15 March 2015 - 8:08am
D8 blog Alpha to Beta migration Sun, 03/15/2015 - 15:08 chrishu Still running on Drupal 8

Somewhat shocked to find that I have been running on Drupal 8 for well over 1.5 years now, not surprisingly the sense of urgency has kind of dropped off, but getting back into Drupal 8 again now. This site was originally based on Alpha 3  D8 and I even tried 'chasing head' for one iteratation, so it was alpha 3 with some crazy ass fixes.

Then I got a bit experimental, customised a couple of things etc. and fixed the brokeness that kept happening. Utimately as I focused on it again (whilst having experimented a little on dev site with Beta 3 in preparation for migration), I touched something and it went poof! I am somewhat used to the white screen of death on this site even the white screen of death that doesn't fix itself when you rollback the database, this time I didn't want to roll up my sleaves and attempt a fix, as far as I was concerned my site was the Norwegian Blue Parrot of Drupal installs.

Note: if working on a non-supported version of D8 kittens don't die if you hack core, in fact coping with Drupageddon etc. they are more likely to die if you don't.

Alpha to Beta problem, Mysql to the rescue

A quick assessment of options, I could look at the migration code already in D8 and attempt something but two things stopped me, firstly I have spent a lot of time working on D6 - D7 and D7 - D7 migrations recently and great though it is I am sick of it, secondly I needed something really quick, I had very little spare time over the next week, I slapped up a new site on a shiny new Ubuntu 14.04 VPS and posted a page to explain what was going on. 

More annoyingly for speed I need content to have the same node ids etc. not having any automated path functionality I had too many /node/{nid} urls already.

It turns out that the thing that has changed the least over the intervening time is the database structure (well there are some important differences but nothing that cannot be fixed on the fly). When I got some time a couple of beers and the following strategy:

  1. dump the orginal site from Mysql.
  2. prefix all the tables from the original alpha site with prefix (eg. in my case 'node' became 'rr_node'.
  3. load the alpha site tables into the beta site database (they are just ignored and do no harm).
  4. copy a dev version of the site and move the data from the alpha tables to the beta tables, making changes as needed.
  5. move the dev version to live.

It worked a charm (although at the point of writing this I still have to do the comments, I was just getting bored). A few hours effort in total to get the old content into the new site.  Nice to see that the database tables are pretty clean and fairly easy to interpret by eye if all else fails.

Some Mysql pointers

To replicate this approach you need to be able to fire up a Mysql client and be pretty comfortable looking around moving data around. A few things that may help follow.

You can wildcard show tables. show tables like '%node%';  will show you node related tables for example.

You can view the structure of a table with describe  eg. describe node;

Tables that have the same structure are very easy to populate insert into url_alias select * from rr_url_alias; tables where the structure varies (missing fields, field in a different order etc.) require the fields and field order to be specified insert into node_field_revision (nid, vid, langcode, title, uid, status, created, changed, promote, sticky, default_langcode) select nid, vid, langcode, title, uid, status, created, changed, promote, sticky, default_langcode from rr_node_field_revision;

Language codes have to match, my old database was full of 'und' the new one needed 'en'

Revisions are better flattened, a lot of the complication in folding the two structures together are around revisions, I did have revisions in my original alpha site (not because I needed them, just to kick the tyres). It was much easier to flatten the revisions, in simple tables just making vid = nid or revision_id = entity_id does the job BUT in tables like field tables where multiple revisions are tracked for the same entity you want to delete all the older revision and then keep the last one matching the revision_id to entity_id as appropriate. Drupal then just sees the content as having one revision and the last change will match the state as the last revision you had previously.

Give me a shout if you need help

I appeciate all the above is a bit holistic, as I said it took a few hours and a couple of beers from start to finish and was fairly hacky (I was cooking a meal at the same time etc.) I had no time to compile a structured migration guide (which may be different for your particular version of the site anyway), if you are confident with Mysql then a content migration (included taxonomy terms, etc etc. ) is a very feasible way to get ancient D8 content into a new spanking new D8 Beta and I FEEL GOOD

Happy to chip in if anyone else needs a hand.

Looking forward to trying out themeing now I have an up to date Drupal 8. 

Blog tags Comments Add new comment Your name Subject Comment About text formats Restricted HTML
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <h4> <h5> <h6>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
Leave this field blank
Categories: Drupal

DrupalOnWindows: Benchmarking Drupal 7 on PHP 7-dev

Planet Drupal - 15 March 2015 - 7:58am
Language English

There are big expectations surrounding PHP7.

PHP has seen the threat and needs to keep up with competitors such as HHVM or the recently open source and cross platform compatible .Net Framework. Even a while ago (2011) the .Net implementation of PHP (Phalanger) already was light years superior and much better performant than Zend Engine, and was proposed as a replacement of the Zend Engine (read the full story here).

More articles...
Categories: Drupal

Work days

New Drupal Modules - 15 March 2015 - 12:28am

This module provides field with calendar. You can fill work days for your organization or active days for your event.

Dependencies
This project using library MultiDatesPicker
and requires module jQuery Update

Categories: Drupal
Syndicate content


Google+
about seo