How to set field default values programatically in Drupal 7

I'd like to share a way to set default values of fields to new nodes (more generally "entities") programatically in Drupal 7.

At the time when Drupal 7 was released, it seems that the APIs of Drupal were not in high demand. So Drupal 7 doesn't provide a full set of APIs to make use of field default values. It uses field default values in a limited case, only when a node creation/edit form is rendered. So there's no sample code in the core which shows how to set default values of fields to nodes programatically.

PHP で入れ子の配列の中身を再帰的に変更する方法

PHP で入れ子の配列の中身を再帰的に変更する方法について説明してみます。

PHP でコードを書いているとときどきこれをやりたくなることがあるのですが、サッと実装できずに時間がかかることがあるのでまとめておきたいと思います。

課題

入れ子の配列 $form があり、その中にキーが #submit で、値が配列になっている要素が含まれている。 もし #submit の中に foo_form_submit という文字列の要素が含まれていれば、 bar_form_submit という要素を #submit に付け加えたい。

自動テストのスタブ・スパイ・モックの違い

ソフトウェアの自動テストで使う代品オブジェクト――いわゆる「 テストダブル 」の分類についてまとめてみたいと思います。 タイトルには「スタブ」「スパイ」「モック」だけをあげていますが、他に「フェイクオブジェクト」と「ダミーオブジェクト」にも言及しています。

ウェブシステムの自動テストの経済性小話

ウェブシステムの自動テストのコスト感覚について書いてみます。 内容は抽象的な概念論で、かつ、ソフトウェアの世界では遠い昔から言われてきたことの繰り返しにすぎません。

次の図は、ウェブシステム開発における自動テストの価値とコストの関係を表しています。 想定としては、テストコンポーネントが含まれたフルスタックのフレームワークを使った開発をイメージしています。

自動テストの価値とコスト

横軸は「追加開発の量」で縦軸は「金額」です。

CMS Drupal の現状と今後の予測( 2018 年 6 月時点)

2018 年 6 月時点での Drupal の現状の整理と今後( 3 〜 5 年)の展開予測 をしてみました。

このあたりの認識をそのときどきで記録しておくと後々おもしろそうなので分析のエクササイズがてら書き残してみます。 英語圏も含めこのタイプの俯瞰のまとめをしている人はあまりいないので、興味のある方にとってはおもしろい内容ではないかと思います。

最初に、ここで述べる私の認識は今後変わる可能性があることをお断りしておきます。 というのと、ネガティブな意見が含まれるので「 Drupal 万歳!」な方は読まないようにしてください(笑)

著者の立ち位置と認識

最初に私の立ち位置とベースの認識を明確にしておきます。

ページ