ড্রুপাল (Drupal) একটি শক্তিশালী কনটেন্ট ম্যানেজমেন্ট সিস্টেম (CMS), যা বড় এবং জটিল ওয়েবসাইটগুলোর জন্য ব্যবহৃত হয়। এক সাইট থেকে অন্য সাইটে কনটেন্ট এবং ইউজার মাইগ্রেশন একটি সাধারণ চ্যালেঞ্জ হতে পারে, বিশেষত যদি আপনি ড্রুপালের পুরানো সংস্করণ থেকে নতুন সংস্করণে অথবা অন্য কোনো CMS থেকে ড্রুপালে ডেটা স্থানান্তর করতে চান। ড্রুপাল এই ধরনের মাইগ্রেশন সহজতর করতে কিছু শক্তিশালী টুলস এবং মডিউল প্রদান করে।
এই গাইডে আমরা ড্রুপালে Content এবং Users মাইগ্রেট করার জন্য বিভিন্ন পদ্ধতি এবং টুলস আলোচনা করবো।
১. Drupal Migration মডিউল ব্যবহার করা
ড্রুপালে কনটেন্ট এবং ইউজার মাইগ্রেশন করার জন্য Migration মডিউল একটি গুরুত্বপূর্ণ টুল। এটি ড্রুপালের ভার্সন ৮ থেকে ৯ পর্যন্ত কনটেন্ট এবং ইউজার মাইগ্রেশন সহজতর করতে সাহায্য করে। এই মডিউল ব্যবহার করে আপনি একাধিক সোর্স থেকে ডেটা (যেমন, CSV, XML, JSON, অথবা অন্য ড্রুপাল সাইট) থেকে কনটেন্ট এবং ইউজার ডেটা মাইগ্রেট করতে পারেন।
১.১ Migration মডিউল ইনস্টল করা
ড্রুপাল সাইটে Migration মডিউল ইনস্টল করতে:
- Migration মডিউল ইনস্টল করুন:
- Extend > Install new module এ গিয়ে Migration এবং Migrate Drupal মডিউল ইনস্টল করুন।
- ড্রুপাল ৮ ও ৯ এর জন্য Migrate Plus এবং Migrate Tools মডিউলগুলোও ইনস্টল করুন, যেগুলো আপনাকে আরও সুবিধা দেয়।
composer require drupal/migrate_plus
composer require drupal/migrate_tools
১.২ ডেটা মাইগ্রেশন কনফিগারেশন
ড্রুপালে কনটেন্ট এবং ইউজার মাইগ্রেট করতে, আপনি migration configuration ব্যবহার করতে পারেন।
Content Migration: ড্রুপালের কন্টেন্ট (যেমন: নোড, ট্যাক্সোনমি, ফাইল) মাইগ্রেট করতে, একটি YAML ফাইল তৈরি করতে হবে যা সোর্স এবং ডেস্টিনেশন মডেলগুলিকে সংজ্ঞায়িত করবে।
উদাহরণস্বরূপ, নোড মাইগ্রেট করার জন্য একটি কনফিগারেশন ফাইল হতে পারে:
id: my_node_migration
label: 'Migrate Nodes'
migration_group: default
source:
plugin: d6_node
type: 'article'
constants:
type: article
destination:
plugin: 'entity:node'
default_bundle: article
process:
title: title
body:
plugin: sub_process
source: body
process:
value: body_value
format: body_format
- User Migration: ইউজার মাইগ্রেশন কনফিগারেশন সম্পন্ন করতে, ইউজারের ডেটা, পাসওয়ার্ড, এবং অন্যান্য ফিল্ডের জন্য একটি কনফিগারেশন তৈরি করতে হবে। উদাহরণস্বরূপ:
id: migrate_users
label: 'Migrate Users'
migration_group: default
source:
plugin: d6_user
constants:
type: user
destination:
plugin: 'entity:user'
process:
username: name
email: mail
pass:
plugin: default_pass
source: pass
status:
plugin: default_status
source: status
১.৩ Migration চালানো
মাইগ্রেশন চালানোর জন্য, Drush (ড্রুপালের কমান্ড লাইন টুল) ব্যবহার করা যেতে পারে। মাইগ্রেশন কমান্ডের মাধ্যমে ডেটা মাইগ্রেট করা হয়:
drush migrate-import my_node_migration
drush migrate-import migrate_users
আপনি যদি মাইগ্রেশন সম্পূর্ণ না করতে চান, তবে আপনি drush migrate-rollback ব্যবহার করে মাইগ্রেশন রোলব্যাক করতে পারেন।
২. CSV বা Excel ফাইল থেকে Content এবং Users মাইগ্রেশন
Migrate Source CSV মডিউল ব্যবহার করে আপনি CSV বা Excel ফাইল থেকে কনটেন্ট এবং ইউজার মাইগ্রেট করতে পারেন।
২.১ Migrate Source CSV মডিউল ইনস্টল করা
composer require drupal/migrate_source_csv
এই মডিউল ইনস্টল করার পর, আপনি একটি CSV ফাইল থেকে কনটেন্ট এবং ইউজার মাইগ্রেট করতে পারবেন।
২.২ CSV ফাইল প্রস্তুত করা
CSV ফাইলের মধ্যে ডেটা সংরক্ষণ করতে হবে, উদাহরণস্বরূপ:
Content CSV:
title, body
"Article 1", "This is the content for article 1."
"Article 2", "This is the content for article 2."
Users CSV:
username, email, pass
"user1", "user1@example.com", "password1"
"user2", "user2@example.com", "password2"
২.৩ CSV থেকে মাইগ্রেশন কনফিগারেশন
মাইগ্রেশন কনফিগারেশন ফাইল তৈরি করতে হবে যা CSV সোর্স থেকে ডেটা মাইগ্রেট করবে। উদাহরণস্বরূপ:
id: csv_node_migration
label: 'CSV Node Migration'
migration_group: default
source:
plugin: csv
path: '/path/to/articles.csv'
header_row_count: 1
keys:
- title
- body
destination:
plugin: 'entity:node'
default_bundle: article
process:
title: title
body:
value: body
৩. Manual Migration (কাস্টম কোড ব্যবহার করে)
যদি আপনি কাস্টম কোড দিয়ে মাইগ্রেশন করতে চান, তাহলে ড্রুপাল Migrate API ব্যবহার করতে পারেন, যা আপনার ডেটা সরাসরি ড্রুপাল সাইটে মাইগ্রেট করার সুবিধা দেয়। উদাহরণস্বরূপ:
use Drupal\migrate\Plugin\Migration;
use Drupal\migrate\Plugin\MigrationInterface;
use Drupal\Core\Plugin\PluginBase;
class MyCustomMigration extends PluginBase implements MigrationInterface {
public function import() {
// Custom migration logic here.
}
}
এটি Migrate API এর সাথে কাস্টম ডেটা ম্যানিপুলেশন এবং মাইগ্রেশন ফিচার তৈরি করতে সহায়তা করে।
৪. Migrate Tools এবং Migrate Plus মডিউল
ড্রুপাল Migrate Tools এবং Migrate Plus মডিউলগুলি মাইগ্রেশন প্রক্রিয়া সহজতর করে এবং কমান্ড লাইন থেকে মাইগ্রেশন চালানোর সুযোগ দেয়।
Migrate Tools ইনস্টল করুন:
composer require drupal/migrate_toolsMigrate Plus ইনস্টল করুন:
composer require drupal/migrate_plus
এই মডিউলগুলো মাইগ্রেশন প্রক্রিয়াকে আরও নিয়ন্ত্রণযোগ্য এবং শক্তিশালী করে তোলে।
উপসংহার
ড্রুপালে Content এবং Users মাইগ্রেশন একটি গুরুত্বপূর্ণ কাজ, বিশেষত যখন আপনি একটি সাইট আপগ্রেড করেন বা পুরানো সাইট থেকে নতুন সাইটে ডেটা স্থানান্তর করেন। ড্রুপালের Migration মডিউল এবং Migrate API এর মাধ্যমে আপনি সহজেই কনটেন্ট এবং ইউজার ডেটা মাইগ্রেট করতে পারেন। এছাড়াও, CSV, JSON, XML বা অন্য ড্রুপাল সাইট থেকেও ডেটা মাইগ্রেট করা সম্ভব। এই টুলস ব্যবহার করে আপনি নির্ভুল এবং সহজভাবে মাইগ্রেশন প্রক্রিয়া সম্পন্ন করতে পারবেন।
Read more