The drop is always movingYou know that saying about standing on the shoulders of giants? Drupal is standing on a huge pile of midgetsAll content management systems suck, Drupal just happens to suck less.Popular open source software is more secure than unpopular open source software, because insecure software becomes unpopular fast. [That doesn't happen for proprietary software.]Drupal makes sandwiches happen.There is a module for that

Drupal 8 progress from my / MongoDB perspective: update #26

Submitted by nk on Thu, 2014-04-03 04:28

At DrupalDevDays Szeged, skipyT, fgm and myself made tremendous progress with writing the MongoDB drivers. All the override mechanisms work as expected and things in general, work. Most importantly, we have an entity storage backend and a significant percentage of the entity storage query tests pass (it is not expected all ever would pass, for example relationships are not supported).

Drupal 8 progress from my / MongoDB perspective: update #25

Submitted by nk on Mon, 2014-03-17 00:22

A version of the migration API which is adequate to migrate Drupal 6 has been submitted for core inclusion. The sandbox contains the complete Drupal 6 to 8 migration, with more complete functionality and testing coverage than the upgrade path ever had. Every migration has its own test where the test sets up a Drupal 8 as if the required migrations already ran and then runs the migration over a very small partial Drupal 6 dump. Then there is a test which loads all the Drupal 6 dumps, runs every migration and then runs all the asserts from the tests.

Stepping down

Submitted by nk on Thu, 2014-01-30 02:48

As you might've heard, migrate is my last core work -- once migrate is done, I am finished with core development. Meanwhile, I will not participate in any other core issue except those blocking migrate (and the entity query conversion meta). As I have been doing core work for a long time, I am sure there are a few questions. Let me quickly go over them:

Is this a sign of Drupal in crisis?

Drupal 8 progress from my / MongoDB perspective: update #25

Submitted by nk on Sat, 2014-01-18 05:38

Migrate in core works. Yesterday, after our weekly call (I am so thankful for eliza411 for organizing these calls, they are absolutely invaluable) a clear roadmap have emerged and I have written a rudimentary but functional drush command to run our migrations. Then I pointed it to a Drupal 6 database... and it worked. Just like that. Today penyaskito has finished the aggregator feed migration that eliza411 and mpgeek started and also written the aggregator item migration. These also work.

Only this, and nothing more

Submitted by nk on Sun, 2013-12-15 07:29

So I am writing a PHPUnit mock object, added ensure calls and I wanted to also ensure that no more method calls happens than the ones I ensured. This is done by the following snippet (the actual code does more with the expects call of course):
$schema = $this->getMockBuilder('Drupal\Core\Database\Schema')

Drupal 8 progress from my / MongoDB perspective: update #24

Submitted by nk on Mon, 2013-11-25 08:30

Drupal 8 Alpha 6 is out and it has a migrate module in there! It even has a few complete migrations: variables to the configuration files owned by system module. Since the last report the configuration of process has changed significantly, this is now documented in the handbook. We have two patches in the core queue, one potpourri of small fixes and one to split migrate into migrate and migrate_drupal, the latter holding the Drupal 6->Drupal 8 and Drupal 7->Drupal 8 migration.

Google Code-In 2013 Started, Students Now Available, More Tasks Needed!

Submitted by slurpee on Wed, 2013-11-20 18:10

Big news! The annual Google Code-In contest kicked off Monday, November 18th. The contest's purpose for pre-university students (ages 13 - 17) is learning how to contribute to open-source software projects and offers them a chance to win a once in a life time grand prize of an all expense paid trip to Google HQ in California. The bigger news...Drupal was chosen as one of the ten participating organizations to create tasks for the students to complete during the 2013 contest! This is a huge honor for Drupal and gives us an amazing opportunity to grow our community.

How to get anything in Drupal core

Submitted by nk on Mon, 2013-11-18 22:57
  1. Find a relevant-looking project on github. If the name includes Symfony, all the better. It doesn't need to be the main Symfony project. The characters S-y-m-f-o-n-y causes everyone responsible for core to lose all sanity.
  2. Shovel your code into the project.
  3. Submit for core inclusion. Do not forget the "Proudly found elsewhere" and the "Symfony" tags.

Closures with array_walk to avoid foreach &

Submitted by nk on Sun, 2013-11-17 07:34

Especially with Drupal 8 requiring PHP 5.4, closures (my brief intro) are going to much be much more useful and widespread. I would like to point out one advantage which already exists: array_walk($a, function (&$value, $key) {// some code here}) do not have any lingering after affects because both $value and $key are only visible in the scope of the closure. But foreach ($a as $key => &$value) { // same code here } leaves $value a reference to the last item and it's guaranteed to give you some nasty, nasty surprises down the line. More, the behavior of foreach itself might change compared to the non reference using foreach ($a as $key => $value), read how foreach actually works for much more (and a bonus headache).

Drupal 8 progress from my / MongoDB perspective: update #23

Submitted by nk on Wed, 2013-10-30 02:50

berdir unified the DatabaseStorageController and the DatabaseStorageController classes. I have been working on migrate, this reports is at

User login