---
url: 'https://dxpr.com/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-dxpr-builder/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%A7%D9%84%D8%AA%D8%B1%D8%AD%D9%8A%D9%84-%D9%85%D9%86-1x-%D8%A5%D9%84%D9%89-3x'
title: 'الترحيل من DXPR Builder 1.x أو 2.x | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2023-11-06T09:44:46+00:00'
updated: '2026-10-24T17:19:22+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: 'يحدّث DXPR Builder 3.x في موضعه من أي إصدار 1.x أو 2.x. يبدّل Composer الشيفرة، ويشغّل drush updatedb خطافات التحديث في dxpr_builder.install التي تحوّل الإعدادات والمحتوى. تسرد هذه الصفحة ما تفعله تلك الخطافات، وما تغيّر للشيفرة المخصصة، وكيف تتحققون من النتيجة. تأتي تواريخ الإصدار من وسوم git؛ انظروا الإصدارات الأقدم.'
tags:
  - 'Move from another builder'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T17:19:22+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 'الترحيل من DXPR Builder 1.x أو 2.x'
      description: 'يحدّث DXPR Builder 3.x في موضعه من أي إصدار 1.x أو 2.x. يبدّل Composer الشيفرة، ويشغّل drush updatedb خطافات التحديث في dxpr_builder.install التي تحوّل الإعدادات والمحتوى. تسرد هذه الصفحة ما تفعله تلك الخطافات، وما تغيّر للشيفرة المخصصة، وكيف تتحققون من النتيجة. تأتي تواريخ الإصدار من وسوم git؛ انظروا الإصدارات الأقدم.'
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2023-11-06T09:44:46+0000'
      dateModified: '2026-10-24T17:19:22+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-dxpr-builder/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%A7%D9%84%D8%AA%D8%B1%D8%AD%D9%8A%D9%84-%D9%85%D9%86-1x-%D8%A5%D9%84%D9%89-3x'
      articleSection: 'الانتقال من منشئ آخر'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-dxpr-builder/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%A7%D9%84%D8%AA%D8%B1%D8%AD%D9%8A%D9%84-%D9%85%D9%86-1x-%D8%A5%D9%84%D9%89-3x'
      description: 'يحدّث DXPR Builder 3.x في موضعه من أي إصدار 1.x أو 2.x. يبدّل Composer الشيفرة، ويشغّل drush updatedb خطافات التحديث في dxpr_builder.install التي تحوّل الإعدادات والمحتوى. تسرد هذه الصفحة ما تفعله تلك الخطافات، وما تغيّر للشيفرة المخصصة، وكيف تتحققون من النتيجة. تأتي تواريخ الإصدار من وسوم git؛ انظروا الإصدارات الأقدم.'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: الرئيسية
            item: 'https://dxpr.com/ar'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: ar
---
[مركز المساعدة](/ar/hc)/[التوثيق](/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82) /[تعلّم DXPR Builder](/ar/hc/documentation/learn-dxpr-builder) /[ابدؤوا من هنا](/ar/hc/documentation/learn-dxpr-builder/start-here) /[الانتقال من منشئ آخر](/ar/hc/documentation/learn-dxpr-builder/migration) # الترحيل من DXPR Builder 1.x أو 2.x.

 تعلّم DXPR Builderابدؤوا من هناالانتقال من منشئ آخر

   ## في هذا الدليل

 أدلة ذات صلة

- [تحديث DXPR Builder](/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-dxpr-builder/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%AA%D8%AD%D8%AF%D9%8A%D8%AB-dxpr-builder)
- [سجل التغييرات](/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-dxpr-builder/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%B3%D8%AC%D9%84-%D8%A7%D9%84%D8%AA%D8%BA%D9%8A%D9%8A%D8%B1%D8%A7%D8%AA)
- [مرجع الإعدادات](/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-dxpr-builder/%D8%A7%D9%84%D9%85%D8%B1%D8%AC%D8%B9/%D9%85%D8%B1%D8%AC%D8%B9-%D8%A7%D9%84%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF%D8%A7%D8%AA)

يحدّث DXPR Builder 3.x في موضعه من أي إصدار 1.x أو 2.x. يبدّل Composer الشيفرة، ويشغّل `drush updatedb` خطافات التحديث في `dxpr_builder.install` التي تحوّل الإعدادات والمحتوى. تسرد هذه الصفحة ما تفعله تلك الخطافات، وما تغيّر للشيفرة المخصصة، وكيف تتحققون من النتيجة. تأتي تواريخ الإصدار من وسوم git؛ انظروا [الإصدارات الأقدم](/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-dxpr-builder/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%A7%D9%84%D8%A5%D8%B5%D8%AF%D8%A7%D8%B1%D8%A7%D8%AA-%D8%A7%D9%84%D8%A3%D9%82%D8%AF%D9%85).

## تاريخ الإصدارات باختصار

| السلسلة | Drupal | ملاحظات |
|---|---|---|
| 7.x-1.x | Drupal 7 | بيع كـ Glazed Builder، ثم أُعيدت تسميته. |
| 1.x (8.x-1.x) | Drupal 8 و9 | اسم الآلة للوحدة `dxpr_builder` منذ أول إصدار 1.x في مايو 2020. وآخر إصدار 1.8.8. |
| 2.x | من Drupal 9.3 إلى 11 | CKEditor 5 ودعم وحدة Key وأول ميزات الذكاء الاصطناعي. وآخر إصدار 2.8.1. |
| 3.x | Drupal 10.2 و11 | Bootstrap 5 فقط، ووحدة Key مطلوبة، وترحيلات المحتوى، وتوليد الصفحات والصور بالذكاء الاصطناعي. |

لم يتغيّر اسم الآلة بين 1.x و3.x. ويجب ترحيل المحتوى الذي ما زال يحمل وسوم حقبة Glazed على 1.x أو 2.x قبل الترقية؛ فلم يعد 3.x يعيد كتابة اسم Glazed (انظروا أدناه).

## المتطلبات قبل أن تبدؤوا

- Drupal 10.2 أو أحدث، أو Drupal 11 (`core_version_requirement` في `dxpr_builder.info.yml`).
- وحدة Key. وهي اعتماد صلب في 3.x؛ تثبّتها `dxpr_builder_update_9020()` إذا وجدها `drush updatedb` مفقودة.
- مفتاح منتج صادر لـ DXPR Builder 2.0.0 أو أحدث. يرفض نموذج الإعدادات المفاتيح دون ادعاء `dxpr_tier`.
- قالب يوفّر Bootstrap 5، أو خيار التحميل لـ **Bootstrap 5**. لم يعد تحميل Bootstrap 3 و4 موجودًا.

## خطوات الترحيل

1. انسخوا قاعدة البيانات والملفات احتياطيًا:

    ```bash
    drush sql:dump --result-file=backup.sql

    ```
2. حدّثوا الشيفرة باستخدام Composer. يُنشر 3.x حاليًا كإصدارات مسبقة، فاسمحوا بها:

    ```bash
    composer require 'drupal/dxpr_builder:^3.0@beta' --with-all-dependencies

    ```
3. شغّلوا خطافات التحديث وأعيدوا بناء ذواكر التخزين المؤقت:

    ```bash
    drush updatedb
    drush cache:rebuild

    ```

    تعالج عدة خطافات 3.x كل قيمة حقل DXPR Builder دفعاتٍ (انظروا أدناه). وعلى المواقع الكبيرة تستغرق دقائق، لا ثواني.
4. افتحوا `/admin/dxpr_studio/dxpr_builder/settings`وتحققوا من قسم **الترخيص**. فبعد التحديث 9020 تكون **طريقة التخزين** **وحدة Key**ويكون **المفتاح** `DXPR Builder JWT`(`dxpr_builder_jwt`).
5. تحققوا من **تحميل ملفات Bootstrap** في الصفحة نفسها. فالمواقع التي كان Bootstrap 3 أو 4 محددًا فيها أصبحت الآن على **Bootstrap 5**.
6. افتحوا `/admin/dxpr_studio/dxpr_builder/ai_settings`وقرّروا ما إذا كانت مفاتيح الذكاء الاصطناعي الثلاثة، المفعّلة افتراضيًا، يجب أن تبقى مفعّلة.
7. زوروا الصفحات التي تستخدم DXPR Builder وتأكدوا من عرضها وتحريرها بشكل صحيح.

## ما تفعله خطافات التحديث

شُحنت الخطافات المرقمة 8005 إلى 8025 في 1.x. ويشغّل موقع 1.x كل شيء من 8026 فصاعدًا؛ ويشغّل موقع 2.8.0 أو 2.8.1 الخطاف 8040 و9014 فصاعدًا. وأسماء الدوال `dxpr_builder_update_NNNN()`.

### أُضيفت في 2.x (تُشغَّل عند القدوم من 1.x)

| الخطاف | ما يفعله |
|---|---|
| 8026 | يحدّث تخزين مستخدمي DXPR Builder المركزي. |
| 8027 | يضيف كتلة معلومات الترخيص وعمود «DXPR Builder User» إلى View الأشخاص. |
| 8028 | ينشئ جدول `dxpr_lock` لقفل المحتوى. |
| 8029 | يضيف كتلة التراخيص إلى لوحة تراخيص المستخدمين. |
| 8030 | يبدّل إعداد Bootstrap بعد إزالة خيار «Bootstrap 3 Light». |
| 8031 | يُفعّل كتلة معلومات الترخيص حيث ثُبّتت معطّلة. |
| 8032 | يزيل المستخدمين المحظورين من تخزين الترخيص. |
| 8033 | يهيّئ `drm_last_contact`. |
| 8034 | يثبّت حقل المستخدم `dxpr_user_is_disavowed` وإجراءَي الإقرار والتنصل للمستخدم. |
| 8035 | يهيّئ إعداد `hide_reminders`. |
| 8036 | يرحّل أسماء أزرار شريط أدوات CKEditor 4 في الملفات التعريفية إلى CKEditor 5. |
| 8037 | يضيف نمط صورة افتراضيًا للصور سريعة التحميل. |
| 8038 | يمسح ذواكر التخزين المؤقت لتسجيل خدمات تكامل وحدة Key. |
| 8039 | يصلح أنماط الصور ذات الإعدادات `image_scale_and_crop` غير المكتملة. |
| 9007 | ينشئ مفردات `ai_tone_of_voice` و`ai_agent_commands` بمصطلحات افتراضية. |
| 9008 | يضبط `ai_enabled` على true ويزيل المفتاح القديم `ai_page_enabled`. |
| 9009 | ينقل `drm_last_contact` من الإعدادات إلى الحالة. |
| 9010 | يمسح ذواكر التخزين المؤقت. |
| 9011 | يُفعّل زرّي AI Assistant وAI Tone of Voice في كل ملف تعريفي. |
| 9012 | يستعيد `ai_page_enabled` بالقيمة الافتراضية true. |
| 9013 | يضبط افتراضيات ترشيح مخرجات الذكاء الاصطناعي (`ai_output_allowed_domains`). |
| 9015 | يضيف `ai_image_enabled` بالقيمة الافتراضية true. |

### أُضيفت في 3.x (تُشغَّل عند القدوم من 1.x أو 2.x)

| الخطاف | ما يفعله |
|---|---|
| 8040 | يوحّد `bootstrap` إلى `bs5`؛ وتُعاد كتابة القيمتين `1` (Bootstrap 3) و`bs4`. |
| 9014 | دفعة: يحوّل وسوم Owl Carousel في المحتوى إلى معرض Bootstrap (`src/Migration/OwlCarouselMigration.php`). |
| 9016 | يضيف `ai_user_model_selection` بالقيمة الافتراضية true. |
| 9017 | دفعة: يحوّل عدّادات circliful الدائرية إلى وسوم تقدم Bootstrap (`CircleCounterMigration.php`). |
| 9018 | دفعة: يحوّل وسوم شريط التقدم القديمة إلى بنية تقدم Bootstrap (`ProgressBarMigration.php`). |
| 9020 | يثبّت وحدة Key، وينقل `json_web_token` إلى كيان Key `dxpr_builder_jwt`، ويضبط `api_key_storage` على `key` ويمسح قيمة النص الصريح. |
| 9021 | يملأ بأثر رجعي خاصية `type` لقوالب المستخدم من وسومها. |
| 9022 | دفعة: يضيف `data-entity-type` و`data-entity-uuid` إلى روابط `/node/N` الداخلية (`EntityLinkMigration.php`). |
| 9023 | دفعة: يصلح تنسيق النص والملخص وقيم الدلتا المحذوفة التي فقدها التحديث 9022 على حقول `text_with_summary`. |
| 9024 | دفعة: يُثري الروابط الداخلية ذات الأسماء المستعارة بالطريقة نفسها كما في 9022 (`AliasLinkMigration.php`). |
| 9025 | يمسح `tone_of_voice_vocabulary` عندما يشير إلى مفردات لم تعد موجودة. |
| 9026 | يمسح `json_web_token` المحفوظ كنص صريح والمتروك في الإعدادات عندما يكون المفتاح في كيان Key. |

لا يوجد تحديث 9019.

### ترحيلات المحتوى

يشغّل 3.x ترحيلات المحتوى دفعاتٍ فقط؛ ولم يعد هناك تحويل وقت العرض. وتسرد صفحة حالة الترحيل (`/admin/dxpr_studio/dxpr_builder/migration-status`) وتقرير الحالة المحتوى المعلّق. وترحّله خطافات التحديث أعلاه، وكذلك إجراءا **التشغيل الآن** و**تشغيل كل الترحيلات المعلّقة** على تلك الصفحة. والترحيلات خدمات موسومة بـ `dxpr_builder.content_migration` (`dxpr_builder.services.yml`). والدفعة التي تسجّل إخفاقات لا تُعلَّم مكتملة؛ فتُسجَّل العناصر الفاشلة وتبقى معلّقة.

أُزيلت إعادة كتابة السلسلة `glazed_to_dxpr` التي طبّقها 1.x و2.x وقت العرض. أُسقط اسم Glazed مع 1.0.0 في مايو 2020 ويُفترض أن كل محتوى حقبتَي Glazed وCarbide رُحّل بتلك الإصدارات. وكانت إعادة الكتابة مجرّد استبدال سلسلة. فعلى المواقع التي يذكر محتواها Glazed فقط (مقالات الدعم وروابط التوثيق)، كانت ستعيد كتابة النثر وتكسر الروابط بدل ترحيل الوسوم. والمواقع التي ما زالت تحمل أسماء فئات Glazed في محتوى مخزّن يجب أن تشغّل إصدار 2.x أولًا.

## تغييرات الشيفرة المخصصة

### منسّق الحقل

معرّف منسّق الحقل هو `dxpr_builder_text` (التسمية «DXPR Builder»، و`src/Plugin/Field/FieldFormatter/DxprBuilderFormatter.php`)، دون تغيير منذ 1.x. وله إعداد واحد، `profile`، فارغ للافتراضي حسب الدور أو معرّف ملف تعريفي. تحققوا من أن كل حقل منشئ ما زال يستخدم هذا المنسّق في إعدادات عرضه؛ ويقتصر إصلاح التحديث 9023 على الحقول التي تفعله.

### الخطافات

`dxpr_builder.api.php` توثّق خطافات 3.x. أعيدوا تسمية خطافات Glazed Builder كما يلي:

| خطاف Glazed Builder | خطاف DXPR Builder 3.x |
|---|---|
| `hook_glazed_builder_classes()` | `hook_dxpr_builder_classes_alter(array &$dxpr_builder_classes)` |
| `hook_glazed_builder_buttons_folders()` | `hook_dxpr_builder_element_buttons_folders_alter(array &$dxpr_element_buttons_folders)` |
| `hook_glazed_builder_elements_folders()` | أُزيل؛ لا خطاف بديل. |
| لا شيء | `hook_dxpr_builder_icon_sets_alter(array &$icon_sets)`، جديد. تُعلَن مجموعات الأيقونات في ملفات `MODULE.dxpr_icon_sets.yml`. |

### CSS وفئات الأدوات

يجب أن تستخدم CSS المخصصة التي تستهدف أسماء فئات Glazed أسماء DXPR، مثل `dxpr-theme-util` و`panel-dxpr` و`dxpr-builder`. وتُوفَّر فئات الأدوات المعروضة في المحرر عبر `hook_dxpr_builder_classes_alter()`.

### الإعدادات والنشر

- أزيلوا `json_web_token` من أي إعدادات مُسلَّمة؛ فبعد التحديث 9020 يكون المفتاح في كيان Key `dxpr_builder_jwt`. ويستخدم ذلك المفتاح موفّر **الإعدادات**، فيُصدَّر المفتاح كـ `key.key.dxpr_builder_jwt`. بدّلوه إلى موفّر **الملف** أو **البيئة** في `/admin/config/system/keys` لإبعاده عن الصادرات.
- تشمل صادرات الإعدادات الآن مفردتَي الذكاء الاصطناعي ومصطلحاتهما.
- تصدّر الملفات التعريفية أسماء أزرار CKEditor 5 في `inline_buttons` و`modal_buttons`.

## استكشاف الأخطاء وإصلاحها

إذا لم يُعرض المحتوى بشكل صحيح بعد التحديث:

1. شغّلوا `drush cache:rebuild`.
2. تحققوا من `/admin/reports/dblog` لرسائل من قناة `dxpr_builder`؛ فترحيلات الدفعات تسجّل العناصر التي تتخطاها.
3. تأكدوا من أن إعدادات عرض كل حقل منشئ ما زالت تستخدم منسّق **DXPR Builder**.
4. تأكدوا من أن القالب يحمّل Bootstrap 5، أو فعّلوا التحميل في `/admin/dxpr_studio/dxpr_builder/settings`.

## ما الخطوة التالية؟

- [التحديث](/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-dxpr-builder/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%AA%D8%AD%D8%AF%D9%8A%D8%AB-dxpr-builder): تحديثات روتينية ضمن سلسلة
- [سجل التغييرات](/ar/hc/documentation/learn-dxpr-builder/getting-started/changelog): ما غيّره كل إصدار
- [مرجع الإعدادات](/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-dxpr-builder/%D8%A7%D9%84%D9%85%D8%B1%D8%AC%D8%B9/%D9%85%D8%B1%D8%AC%D8%B9-%D8%A7%D9%84%D8%A5%D8%B9%D8%AF%D8%A7%D8%AF%D8%A7%D8%AA): كل مفتاح تمسه خطافات التحديث