メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)

Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)

drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

モジュール(Feeds)が非階層化されているタクソノミータームのインポートが可能

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのcsvファイルインポートについて、「Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考にしてください。
  • 非階層化のタクソノミータームcsvデータは以下のよう
    DrupalのFeedsで非階層化のタクソノミータームのインポート
  • タクソノミータームのインポート操作はビデオを参考にしてください
  • プロセッサーのマッピング設定ポイント:
    • 記事のタイトルをキーにして、タイトルでインポートデータを記事との照合(タイトルは重複しない前提)
    • タクソノミータームが存在しない場合、新規作成を行います
    • タクソノミーターム名を照合してインポートします
  • csvデータをインポートしたら新規作成したタクソノミータームの確認

モジュール(Feeds tamper term hierarchy)で階層化されたcsvタクソノミータームデータのインポート

  • 必要なモジュール:Feeds tamper term hierarchy(サンドボックスプロジェクト、ダウンロードはここ)
  • 以下のような階層化されたcsvタクソノミータームデータをインポートします
    Drupalのモジュール(Feeds tamper term hierarchy)で階層化されたタクソノミータームのインポート
  • 具体的なインポート方法はビデオを確認してください。
  • 既存のタクソノミータームのデータマッピング時に以下の注意点:
    • 既存のタクソノミータームの新規作成チェックを外します(Feeds tamper term hierarchyが同じ機能があったため)
    • タクソノミーターム検索は「名前」ではなく、タームIDで検索するとの設定
  • TamperのFeeds tamper term hierarchyで設定は、「Term hierarchy separator」(csvデータのターム親子区切り)がインポートデータにある区切り記号と一致していることの確認
Embedded thumbnail for Drupalのモジュール(Feeds)で階層化されたタクソノミータームのインポート
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
feeds
module usage

注意点:Drupalのモジュール(Feeds)の設定が間違うと手動でデータインポートができなくなります

  • 環境:Drupal7.54、Feeds7.x-3.0
  • やりたいこと:手動でデータをインポート(例:csvファイルからのインポートなど)
  • Feedの基本設定のところある二か所をチェックしないと手動でのインポートができない
    • 添付するコンテンツタイプ:スタントアローンのフォームを使う
    • 投稿時にインポート
      Drupalのモジュール(Feeds)の設定が間違うと手動でのインポートができない
    • 初期としてはこの二つ設定を有効にしています
  • ちなみに、「投稿時にインポート」を無効の場合、バッチでデータインポートすることになります(バッチの設定が必要)
  • 添付するコンテンツタイプ:「スタントアローンのフォームを使う」以外の選択肢を選択すると、インポート画面(ホーム » インポート)に当該インポーターはありません

手動でインポートできないときに画面上に「インポートされた項目はありません」が表示されます

  • 「投稿時にインポート」オプションが無効の場合、手動でデータインポートはできません
  • インポートデータがあるにはかかわらず、画面上に「インポートされた項目はありません」として表示されます
  • バッチにインポートジョブを入れたメッセージはありません
drupal
customization
feeds

やりたいこと:モジュール(Feeds)でのデータマッピング時にPHPコードでフィールド値を加工する

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Tamper7.x-1.1、Feeds Tamper PHP7.x1.2
  • Feedsデータインポートの基本は「 Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本) 」を参考してください
  • データマッピングに、各インポートフィールドの値を加工するため、Feeds Tamperモジュールが良く利用します
  • この中に、特殊なフィールド値加工(例:既存のデータを取得するなど)のためFeeds Tamper PHPを利用して、PHPスクリプトの実行ができます
  • Feeds Tamper PHPでインポートデータの扱い、以下のパラメーターで、任意のフィールドの値の利用ができます
    • $field: 渡されたフィールドの値
    • $item['フィールド名']: インポート元で定義していたフィールド名でその値を取得する
      Drupalのモジュール(Feeds)のデータマッピング時にFeedsTamperでのPHPコードより各フィールドの値を加工します
  • 任意のフィールド(例:body)で他のフィールドの値(例:title)の取得することができます

注意点:PHPコード実行のセキュリティ問題とパフォーマンスへの影響

  • PHPコードを実行するには、eval()関数で行うため、任意のPHPコードの実行が可能となります
  • 特にインポートが公開の場合、PHPコード実行のセキュリティ問題を注意深く対応すべきです
  • また、データ取得したり、多くループをしたりして、パフォーマンスへの影響が考えるべきです
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
feeds
module usage

問題点:モジュール(Feeds)でデータインポート時に間違って設定があった場合インポートエラーなどが発生

  • 環境:Drupal7.54、Feeds7.x-2.0、Feeds Import Previews7.x-1.x
  • 複雑なデータマッピング設定(例:Feeds Tamperなどで)時に、間違いやすくなります。その場合実際のデータをインポートで確認する必要があります
  • 間違った設定より、データインポートエラーなどが発生します

解決:モジュール(Feeds Import Preview)でインポート設定を確認します

  • モジュール(Feeds Import Preview)でデータインポート直前のステップまでに進んで、実際のインポート設定の確認ができます
    Drupalのモジュール(Feeds Import Preview)でデータインポート設定の確認ができます
  • 実際にソースから各フィールドの値が表示されています。
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
feeds
module usage

やりたいこと:コンテンツ(例:記事)のbodyフィールドの多言語データのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Entity Translation7.x-1.0
  • コンテンツのbody以外のフィールドがEntity Translation有効であれば、Feedsのデータマッピングで複数の言語のターゲットが現れます
    • drupalのfeedsで多言語コンテンツデータのインポート
  • BodyにEntity Translation有効の場合にマッピングでのターゲットが一つしかありません
  • 複数回でそれぞれの言語データをインポートします
    DrupalのFeedsで多言語bodyデータのインポート

FeedsのNode Processor設定画面でコンテンツ(例:記事)の初期言語を設定

  • コンテンツの元言語を設定する必要があります(もし、設定しなければ多言語の表示に影響しないが、コンテンツの翻訳タグが表示されない)
  • Node Processor設定画面でノートの言語を選択して、データインポート時に設定してくれます(ビデオを参考)

Feedsのマッピング設定画面でbodyのインポート言語設定を行います

  • データマッピング管理画面でbodyフィールドに言語設定があります
    データマッピング管理画面でbodyフィールドの言語設定
  • 複数の言語に対して複数のインポーターを用意するか、複数回で言語設定を行います

各言語に応じて複数回を分けてデータインポートする必要があります

  • 言語ごとにデータインポートする必要があります
    • 一括して同一フィールドに複数の言語インポートができません
  • 具体的なステップはビデオを参考してください
Embedded thumbnail for Drupalのモジュール(Feeds)で多言語フィールドデータのインポート
drupal
drupal
customization
feeds
data import

目的

  • Entity Typeデータにほかのデータ(例:csv、xmlなど)からのインポートを可能にする
  • Feedsの初期データ変換プロセッサーに「Entity Type」のものがなかった

解決の選択肢

  • Feed Importモジュールでのデータインポート
  • Feedsモジュールのカスタマイズをする

ここでの解決:Feedsのカスタマイズ

  • インストールされたモジュール
    • Feeds :  7.x-2.0
    • ECK  :  7.x-2.0
    • Entity API :  7.x-1.5
  • 上記モジュールのインストールと有効化
  • ECKでインポートデータタイプとBundleを作成する
    • 例: データタイプ:「組織データ」、Bundle:「xxxの組織データ」
    • 「組織データ」のプロパティ:title、uid、created、changedを使用する
    • 「xxxの組織データ」のフィールド:「組織コード」、「正式組織名」をテキストフィールドで追加

Feedsの紹介

  • Feedsが三つの部分から構成される:Fetcher、Parser、Processor
    • Fetcher:インポータデータの取得(例:File upload、external RSS Feedなど)
    • Parser:インポートデータの解析方法の指定(csv、xls、xml、RSSなど)
    • Processor:インポートデータの作成(Node、terms、usersなどのデータ作成)

 

FeedsにEntity Typeデータ変換プロセッサーに追加

  • PatchファイルをFeedsモジュールに当てる
  • Feedsのデータ変換プロセッサー設定画面にEntity Typeのデータ変換プロセッサー追加前後のイメージ
添付 サイズ
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) 16.03 KB
drupal
feeds
module usage

Feedsモジュールの基本使用:csvデータをノード(node)にインポート

  • 環境:Drupal7.54、Feeds7.x-2.0
  • Feedsのインポート機能を理解するには、csvデータインポートから始めたほうが良いでしょう
  • 例:コンテンツのタイトルと内容をインポートします
    DrupalのFeedsモジュールでcsvデータのインポート

注意事項:基本設定とプロセッサーの設定

  • 基本的なインポート操作はビデオを参考してください
  • 基本設定の内容に周期的なインポートが必要の場合にインポートの頻度を設定します
  • プロセッサーの設定
    • 新規ノートの作成許可するかの設定
    • 複数回のインポートが必要な場合に「 ハッシュチェックをスキップ 」をチェックします
    • 投稿者の設定はデータ新規作成のみに使用されます
    • コンテンツ更新の場合、コンテンツの作成者が更新権限がチェックされます
  • プロセッター設定について、記事「Drupalのモジュール(Feeds)で手動でデータインポート時の必須設定 」を参考してください
 
 
 
Embedded thumbnail for Drupalのモジュール(Feeds)でcsvデータをコンテンツにインポート(Feedsの基本)
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
drupal
video
system_management

モジュール(Localization Update)でサイトの多言語ユーザーインターフェースを導入します

  • 背景:Drupal7.54、Localization Update7.x-2.1
  • モジュール(Localization Update)をインストール/有効化します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)で「言語を追加」リンクをクリックすると、必要なユーザーインターフェース言語の導入ができます

管理者がサイト単位でユーザーインターフェース言語の一括設定(ほかの言語を使用しない)

  • Druaplを初期インストール(英語バージョンの場合)後に、別の言語(例:日本語)を導入し、その言語のみを使用します
  • 言語設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語)でのデフォルト値を選択すればよいです
    サイト単位の言語設定
  • サイト管理者が選択してから、一般ユーザーの選択はできません。

複数の言語をユーザーインターフェースとして利用する場合に、URL/ブラウザ/セッション/ユーザーの言語設定などよりサイトの言語自動判別ができます

  • 複数のユーザーインターフェース言語がある場合、どれを使用するかは決める必要があります
  • 言語判別設定画面(ホーム » 管理 » 環境設定 » 地域と言語 » 言語 » 判別と選択)言語利用の判別条件を設定します
    言語の判別設定と判別順序設定
    • URL: URLから言語を判定する(パス接頭語かドメイン)
    • セッション: 言語をrequest/sessionパラメーターから判定する。
    • ブラウザ: ブラウザーの言語設定から言語を判定する。
    • ユーザー: ユーザープロフィールで設定した言語に従う。
    • デフォルト: サイトのデフォルト言語を使う
  • 上記判別方法のい任意、または全部の選択はできます
  • 判別の優先順のソートができます
  • URLで言語判断設定した場合、URLのドメイン/パス接頭語の設定が必要となります
    言語判別のURLドメイン/パス接頭語設定
    • 「言語のドメイン」と「言語コードのパス接頭語」のどちらかの設定(両方の設定はできない)
    • 設定された方式で言語を判別となります
    • 説明の言葉通りに、一度設定したら、変更時にすでに存在しているパスが使用できなくなりますので、ご注意ください(変更後にすべてのパスを再構築などの作業が必要)
      言語判定URLの設定
Embedded thumbnail for Drupalの多言語ユーザーインターフェースの導入と設定
drupal
video
feeds

やりたいこと:Feedsで多言語コンテンツデータのインポート

  • 背景:Drupal7.55、Feeds7.x-2.0、Feeds:Enity Translation7.x-1.0
  • モジュール:Entity Translationで多言語サイトを構築しています
  • 複数の言語コンテンツをデータ移行したいです
  • いろいろ調べてみてた、同一フィールドに多言語インポート方法が少なく、難しそうです

解決方法:モジュール(Feeds:Entity Translation)で多言語コンテンツデータの移行

  • 多言語コンテンツデータ移行をサポートするモジュールがあまり多くないようで、一つモジュール(Feeds: Entity Translation)を見つけました
  • モジュール(Feeds: Entity Translation)をインストール/有効化したら、Feedsのデータマッピング管理画面に、多言語有効なフィールドの各言語対応ターゲットが現れます
    多言語コンテンツデータ移行にサポートするFeeds: Entity Translation
  • 同一フィールドの各言語対応ターゲットを選択して多言語コンテンツインポートができました
Embedded thumbnail for DrupalのFeedsで多言語コンテンツデータのインポート
ホーム

古松

検索

Article Category

  • apache(7)
  • css(19)
  • drupal(295)
  • Electron(4)
  • html(34)
  • javascript(27)
  • laravel(4)
  • linux(5)
  • macOS(2)
  • mysql(13)
  • php(19)
  • python(4)
  • SEO(12)
  • video(72)
  • Visual Studio Code(4)
  • windows(13)
  • wordpress(32)