الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Oracle APEX Vibe coding

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته

هذا الموضوع سيكون دليل شامل لكيفية استخدام AI في انشاء وتعديل تطبيقات Oracle APEX من خلال Vibe coding سأعتمد في الشرح على Codex من ChatGPT

giphy.gif

مع Oracle APEX 26.1، قدمت Oracle تقنية APEXlang لدعم تطوير تطبيقات APEX باستخدام AI Coding Agents، وهو ما يفتح المجال لتطوير التطبيقات بأسلوب Vibe Coding.

وفي Oracle APEX 26.2 تمت إضافة ميزة مهمة جدًا، وهي File-Level Import، التي تتيح تعديل صفحة أو Shared Component باستخدام VS Code ثم استيراد التعديل فقط، دون الحاجة إلى إعادة استيراد التطبيق بالكامل.

في هذا الموضوع سنشرح كيفية تجهيز بيئة العمل واستخدام Oracle Skills مع VS Code وChatGPT، ثم إنشاء تطبيقات APEX أو تعديل التطبيقات الموجودة، والتحقق من التعديلات ورفعها إلى Oracle APEX.

1. ما هو Oracle APEX Vibe Coding؟

الفكرة هي استخدام AI Coding Agent مثل Codex أو Claude Code لإنشاء وتعديل تطبيقات Oracle APEX من خلال تعليمات مكتوبة باللغة الطبيعية.

بدلًا من إنشاء كل Region أو Item أو Process يدويًا، يمكن توجيه الـ Agent لإنشاء المكونات أو تعديلها داخل ملفات APEXlang.

على سبيل المثال:

Create an Oracle APEX page that displays
customer orders using an Interactive Report.

Add a form to create and update orders.

Use existing database tables and
follow Oracle APEX 26.2 specifications.

يقوم الـ Agent بتحليل الطلب واستخدام Oracle Skills لإنشاء أو تعديل ملفات .apx، ثم يتم التحقق منها واستيرادها إلى APEX.

دورة العمل تكون كالتالي:

Requirements → AI Coding Agent → Oracle Skills → APEXlang → Validation → Import → Testing

الميزة هنا أن APEXlang صيغة رسمية من Oracle، وليست طريقة غير مدعومة لإنشاء صفحات APEX.

2. المتطلبات

سنستخدم الأدوات التالية:

الأداة

الإصدار

Oracle APEX

26.2

Oracle SQLcl

26.3.0 أو أحدث

Java JDK

17 أو 21

Visual Studio Code

إصدار حديث

Oracle SQL Developer for VS Code

26.3 أو أحدث

Codex أو Claude Code

AI Coding Agent

Oracle Skills

من المستودع الرسمي

Git

اختياري لإدارة الإصدارات

ملاحظة بخصوص SQLcl:

الإصدار 26.1.2 مناسب لمتطلبات APEXlang 26.1، لكن عند العمل على Oracle APEX 26.2 يجب استخدام SQLcl 26.3.0 أو أحدث وفق متطلبات هذا الإصدار.

كذلك يجب أن تكون بيئة Oracle APEX 26.2 نفسها مجهزة بصورة صحيحة، بما في ذلك ORDS 26.3.0 أو أحدث.

سنفترض أن لدينا Oracle APEX Workspace وDatabase Schema يمكن الاتصال بهما.

3. تثبيت Java JDK

يحتاج SQLcl إلى Java.

يمكن تحميل JDK 21 من:

https://www.oracle.com/java/technologies/downloads/

بعد التثبيت، افتح Command Prompt أو Terminal ونفذ:

java -version

تأكد أن Java تعمل وأن الإصدار 17 أو 21.

على Windows، إذا كان Java مثبتًا ولكن الأمر غير معروف، راجع متغيرات البيئة JAVA_HOME وPATH وتأكد من إضافة مجلد bin الخاص بالـ JDK.

4. تثبيت Oracle SQLcl

Oracle SQLcl هو الأداة التي سنستخدمها لتنفيذ أوامر APEXlang مثل:

  • apex export

  • apex validate

  • apex import

  • skills sync

تحميل أحدث إصدار:

https://www.oracle.com/database/sqldeveloper/technologies/sqlcl/download/

في وقت إعداد هذا الموضوع، الإصدار المتاح هو SQLcl 26.3.0.

بعد تنزيل ملف ZIP، فك الضغط في مسار مناسب.

على Windows مثلًا:

C:\oracle\sqlcl

بحيث يكون الملف التنفيذي في:

C:\oracle\sqlcl\bin\sql.exe

أضف المجلد التالي إلى متغير البيئة PATH:

C:\oracle\sqlcl\bin

ثم افتح Command Prompt جديدًا ونفذ:

sql /nolog

على Linux أو macOS، فك ضغط SQLcl وأضف مجلد sqlcl/bin إلى متغير PATH، ثم نفذ الأمر نفسه.

إذا ظهرت واجهة SQLcl ومعلومات الإصدار، فالتثبيت يعمل.

يمكن أيضًا تشغيل SQLcl باستخدام المسار الكامل للملف التنفيذي دون تعديل PATH.

ملاحظة: إضافة Oracle SQL Developer داخل VS Code تتضمن SQLcl، ويمكن استخدام النسخة المرفقة بها. لكن عند العمل باستخدام أوامر مستقلة من Terminal يجب التأكد من الإصدار الفعلي الذي يتم تشغيله.

5. تثبيت Visual Studio Code

حمّل VS Code من:

https://code.visualstudio.com/

بعد التثبيت، افتح Extensions باستخدام:

Ctrl + Shift + X

وابحث عن:

Oracle SQL Developer for VSCode

ثم اضغط Install.

هذه الإضافة مهمة لأنها توفر:

  • الاتصال بقواعد بيانات Oracle.

  • استعراض Schemas وDatabase Objects.

  • إنشاء وتصدير مشاريع APEXlang.

  • تحرير ملفات .apx.

  • Code Completion وValidation.

  • Import Application.

  • Import File في APEX 26.2.

يفضل تفعيل Auto Update حتى تحصل على أحدث دعم لـ APEXlang.

6. الاتصال بقاعدة بيانات Oracle من VS Code

افتح Oracle SQL Developer من القائمة الجانبية داخل VS Code.

اختر إنشاء Database Connection جديد.

أدخل بيانات الاتصال المطلوبة:

Connection Name : APEX_DEV
Username        : APP_SCHEMA
Password        : ********
Hostname        : database-host
Port            : 1521
Service Name    : database-service

هذه قيم توضيحية ويجب استبدالها ببيانات بيئتك.

اضغط Test ثم Connect.

يجب أن يكون Schema المستخدم مخولًا للوصول إلى الـ Workspace المطلوب.

بعد الاتصال ستظهر Database Objects، ومع وجود APEX مدعوم ستتمكن من الوصول إلى التطبيقات من خلال قسم APEX داخل Oracle SQL Developer.

7. تثبيت AI Coding Agent داخل VS Code

يمكن استخدام Codex أو Claude Code.

باستخدام Codex

من Extensions ابحث عن:

Codex – OpenAI's coding agent

ثم Install.

افتح Codex وقم بتسجيل الدخول باستخدام حساب ChatGPT أو بيانات الوصول المدعومة.

المهم هنا هو استخدام Codex داخل VS Code وليس مجرد فتح محادثة عادية في المتصفح؛ لأن الـ Agent المحلي يستطيع التعامل مع ملفات المشروع وفق الصلاحيات الممنوحة له.

باستخدام Claude Code

من Extensions ابحث عن:

Claude Code

ثم Install، وأكمل تسجيل الدخول.

باقي الخطوات المتعلقة بـ Oracle APEX ستكون متشابهة إلى حد كبير.

8. تثبيت Oracle Skills

توفر Oracle مستودعًا رسميًا للمهارات:

https://github.com/oracle/skills

المستودع يحتوي على Skills خاصة بعدة تقنيات Oracle، ومنها APEX وDatabase وOCI وGraalVM.

لتثبيت مهارات APEX وDatabase، افتح SQLcl.

يمكن فتح SQLcl من Oracle SQL Developer عن طريق الضغط بزر الفأرة الأيمن على Database Connection واختيار:

Open SQLcl

ثم نفذ:

skills sync -skill-name apex,db

بعد انتهاء المزامنة، نفذ:

skills list

للتحقق من المهارات المتاحة.

تقوم المزامنة بتجهيز Oracle Skills للاستخدام في بيئات AI Coding Agents المحلية المدعومة.

ويمكن تنفيذ الأمر مرة أخرى عند الحاجة إلى تحديث المهارات.

التثبيت اليدوي

يمكن أيضًا تحميل المستودع مباشرة من GitHub:

Code → Download ZIP

ثم نقل مجلدات المهارات المطلوبة إلى المسار الخاص بالـ Agent.

على سبيل المثال، يستخدم Codex عادةً:

~/.codex/skills/

وعلى Windows يكون المسار تحت مجلد المستخدم داخل:

.codex\skills\

من المهم الاحتفاظ بمحتويات كل Skill كاملة، بما فيها ملفات SKILL.md وreferences وscripts، وليس نسخ ملف التعريف وحده.

9. تعريف SQLcl للـ AI Agent

حتى يستطيع Codex أو Claude Code استخدام SQLcl، يجب أن يكون على علم بمسار الملف التنفيذي.

بالنسبة إلى Codex، يمكن إضافة تعليمات إلى ملف:

~/.codex/AGENTS.md

وعلى Windows:

C:\Users\<username>\.codex\AGENTS.md

مع محتوى مثل:

## Oracle APEX Development

Use Oracle Skills for Oracle APEX
and Oracle Database development.

Target Oracle APEX version: 26.2.

Use Oracle SQLcl 26.3.0 or newer.

SQLcl executable:
C:\oracle\sqlcl\bin\sql.exe

For APEXlang development:

1. Inspect the current application files.
2. Preserve existing IDs and references.
3. Use valid APEXlang 26.2 syntax.
4. Validate the application with SQLcl.
5. Review validation errors.
6. Fix errors before importing.
7. Import only after explicit approval.
8. Never store database passwords in source files.

يجب تعديل مسار SQLcl ليناسب الجهاز.

SQLcl MCP Server

هناك طريقة أخرى لتكامل SQLcl مع AI Agents، وهي تشغيله كـ MCP Server باستخدام:

sql -mcp

هذا الأمر يوضح وضع تشغيل SQLcl كخادم MCP؛ ويلزم بعد ذلك تسجيل الخادم داخل إعدادات الـ Agent باستخدام المسار الكامل للملف التنفيذي ووسيط التشغيل -mcp.

هذه الطريقة توفر تكاملًا مباشرًا مع أدوات SQLcl وفق الصلاحيات وإعدادات الاتصال المسموح بها.

لكن استخدام MCP اختياري؛ يمكن تنفيذ أوامر SQLcl يدويًا مع الاستفادة من الـ Agent لتعديل ملفات APEXlang.

10. إنشاء مشروع APEXlang داخل VS Code

بعد تجهيز الأدوات، يمكن إنشاء مشروع جديد.

أنشئ مجلدًا محليًا مثل:

C:\APEX_PROJECTS

وافتحه من VS Code باستخدام:

File → Open Folder

ثم من Oracle SQL Developer:

  1. افتح Database Connection.

  2. انتقل إلى قسم APEX.

  3. اضغط بزر الفأرة الأيمن واختر Generate.

  4. حدد Workspace.

  5. أدخل Application Name.

  6. أدخل Application Alias.

  7. حدد Target Folder.

  8. اضغط Apply.

مثال:

Application Name  : Help Desk
Application Alias : HELP_DESK
Target Folder     : C:\APEX_PROJECTS

سيتم إنشاء مشروع APEXlang على جهازك.

الهيكل العام قد يحتوي على:

help-desk/
│
├── application.apx
│
├── pages/
│   ├── p00001-home.apx
│   └── ...
│
├── shared-components/
│
├── supporting-objects/
│
├── deployments/
│   └── default.json
│
└── .apex/
    └── apexlang.json

الملفات والمجلدات الفعلية تعتمد على محتوى التطبيق والإصدار المستخدم.

لا تعدل قيمة mmdVersion داخل .apex/apexlang.json يدويًا؛ فهي مرتبطة بإصدار تعريفات APEXlang.

11. تطوير التطبيق باستخدام Vibe Coding

بعد فتح المشروع في VS Code، افتح Codex أو Claude Code.

يمكن الآن إعطاء الـ Agent تعليمات لتطوير التطبيق.

مثال لتطبيق Help Desk:

Use Oracle APEX 26.2 Skills.

Build a Help Desk application.

Requirements:

- Tickets Interactive Report
- Create/Edit Ticket Form
- Dashboard with ticket statistics
- Categories LOV
- Priority LOV
- Status management
- PL/SQL validations
- Appropriate authorization rules

Use the current database schema.

Generate or modify the required APEXlang files.

Do not replace unrelated components.

Validate generated files using SQLcl.

Show me the changed files before importing.

سيعمل الـ Agent على ملفات المشروع، ويقوم بإنشاء أو تعديل التعريفات المطلوبة.

يفضل تقسيم التطوير إلى مهام صغيرة، مثل إنشاء Dashboard أولًا ثم إضافة Form ثم تحديث التقارير، حتى يسهل مراجعة كل تغيير واختباره.

12. تصدير تطبيق Oracle APEX موجود إلى VS Code

ليس ضروريًا أن تبدأ بتطبيق جديد.

يمكن العمل على تطبيق موجود داخل APEX.

من Oracle SQL Developer داخل VS Code:

  1. افتح Database Connection.

  2. افتح قسم APEX.

  3. حدد التطبيق المطلوب.

  4. اضغط بزر الفأرة الأيمن.

  5. اختر Export.

  6. حدد المجلد المحلي.

  7. اضغط Apply.

سيتم تصدير التطبيق بصيغة APEXlang.

ويمكن تنفيذ العملية أيضًا باستخدام SQLcl بعد الاتصال بالـ Parsing Schema المناسب:

apex export -applicationid 105 -exptype APEXLANG

الرقم 105 هنا مثال، ويجب استبداله بـ Application ID الفعلي.

بعد التصدير، افتح مجلد المشروع في VS Code.

الآن يمكن تعديل صفحات التطبيق ومكوناته باستخدام الـ AI Agent مع الحفاظ على الملفات الأصلية.

يفضل الاحتفاظ بنسخة من التطبيق قبل البدء، وعدم استيراد ملفات قديمة فوق تغييرات أحدث أجراها مطورون آخرون.

13. التحقق من ملفات APEXlang قبل الاستيراد

يمكن تنفيذ Validation دون الاتصال بقاعدة البيانات.

افتح Terminal وانتقل إلى مجلد المشروع.

ثم شغّل:

sql /nolog

ومن داخل SQLcl:

apex validate -input .

أو حدد مسار المشروع:

apex validate -input C:\APEX_PROJECTS\help-desk

سيقوم SQLcl بفحص ملفات APEXlang.

في حال وجود مشكلة، قد تظهر رسائل مثل:

APEXLang Compile Errors:

File: pages/p00003-tickets.apx
Line: 125
Type: INVALID_PROPERTY

يمكن إعطاء هذه الرسائل إلى AI Agent، وطلب تعديل الملف المتسبب في الخطأ فقط.

مثال:

Review the APEXlang validation errors.

Fix the invalid properties using
Oracle APEX 26.2 specifications.

Do not modify unrelated pages
or shared components.

Run validation again.

تتكرر العملية حتى ينجح التحقق.

كذلك تعرض إضافة Oracle SQL Developer أخطاء APEXlang داخل Problems Panel في VS Code، وهو ما يساعد على اكتشاف المشاكل أثناء تحرير الملفات.

نجاح Validation يعني أن تعريفات APEXlang اجتازت الفحص البنيوي، لكنه لا يثبت بالضرورة صحة SQL أو قواعد العمل أو الصلاحيات وقت التشغيل.

14. استيراد التطبيق بالكامل — Application-Level Import

عند إنشاء تطبيق جديد أو إجراء تغييرات كبيرة، يمكن استيراد التطبيق بالكامل.

باستخدام VS Code

  1. افتح ملف application.apx.

  2. تأكد من حفظ جميع التعديلات.

  3. اضغط Attach Connection إذا لم يكن الاتصال مرتبطًا بالمشروع.

  4. اختر Database Connection الصحيح.

  5. اضغط Import Application من شريط الأدوات أعلى المحرر.

  6. راجع رسالة نجاح أو فشل العملية.

إذا كان التطبيق موجودًا بالفعل، فإن الاستيراد الكامل قد يستبدل تعريفاته الحالية. لذلك يجب مراجعة التغييرات وحفظ نسخة احتياطية قبل التنفيذ.

باستخدام SQLcl

بعد الاتصال بقاعدة البيانات:

apex import -input C:\APEX_PROJECTS\help-desk

أو عند تشغيل SQLcl من داخل مجلد التطبيق:

apex import -input .

بهذه الطريقة يتم التحقق من المشروع ثم استيراد التطبيق ككل.

وهذا هو المسار المناسب عند الإنشاء الأول للتطبيق، أو عندما تتطلب التغييرات إعادة نشر كاملة، أو عند تنفيذ Deployment منظم إلى بيئات الإنتاج.

15. استيراد تعديل صفحة واحدة — File-Level Import

هذه من أهم الإضافات في Oracle APEX 26.2.

في APEX 26.1 كان بالإمكان تعديل ملف صفحة واحدة في VS Code، لكن تطبيق هذا التغيير كان يتطلب استيراد التطبيق بالكامل.

أما في APEX 26.2 فأصبح بالإمكان استيراد ملف الصفحة مباشرة.

الطريقة الأولى: باستخدام VS Code

افترض أن لدينا ملف:

pages/p00003-tickets.apx

وتم تعديل التقرير الموجود في الصفحة باستخدام Codex.

بعد مراجعة التعديل:

  1. افتح الملف p00003-tickets.apx في VS Code.

  2. احفظ التغييرات.

  3. تأكد من الاتصال بقاعدة البيانات الصحيحة.

  4. اضغط Import File من شريط أدوات المحرر.

  5. انتظر نتيجة الاستيراد.

  6. افتح الصفحة داخل APEX وتحقق من التعديل.

بهذه الطريقة يتم استيراد الملف المفتوح فقط، وليس التطبيق بالكامل.

حتى يظهر زر Import File:

  • يجب أن تكون قاعدة البيانات متصلة بـ Oracle APEX 26.2 أو أحدث.

  • يجب أن يكون مشروع APEXlang قد تم تصديره بصيغة الإصدار 26.2 أو أحدث.

  • يجب استخدام إصدار مناسب وحديث من Oracle SQL Developer for VS Code.

  • يجب أن يكون التطبيق الهدف موجودًا بالفعل في الـ Workspace.

الطريقة الثانية: باستخدام SQLcl

إذا كنت تعمل داخل مجلد المشروع، وبعد الاتصال بقاعدة البيانات، نفذ:

apex import -files pages/p00003-tickets.apx

سيتم استيراد الصفحة المحددة فقط.

أما إذا كنت خارج مجلد المشروع، فيمكن تحديد مسار التطبيق والملف:

apex import -input help-desk/ -files help-desk/pages/p00003-tickets.apx

المسارات الخاصة بالخيار -files تكون بالنسبة إلى Current Working Directory.

ويمكن استخدام مسارات Windows أو Linux وفق مكان المشروع.

الفرق المهم: استيراد ملف الصفحة لا يعني بالضرورة إعادة إنشاء كل الكائنات التي تعتمد عليها الصفحة؛ يجب مراجعة التبعيات قبل الاستيراد.

16. استيراد أكثر من ملف في نفس العملية

لنفترض أننا أضفنا LOV جديدة ثم عدلنا صفحة تعتمد عليها.

لدينا مثلًا:

pages/p00003-tickets.apx

shared-components/lovs/ticket-status.apx

يمكن استيراد الملفين في أمر واحد من داخل مجلد التطبيق:

apex import -files pages/p00003-tickets.apx shared-components/lovs/ticket-status.apx

يتولى SQLcl ترتيب التبعيات بين الملفات المحددة.

أما باستخدام VS Code، فإذا كانت الصفحة تعتمد على Shared Component جديدة غير موجودة بعد داخل التطبيق، فيجب استيراد ملف الـ Shared Component أولًا، ثم ملف الصفحة.

هذه الميزة مفيدة جدًا في التطوير اليومي؛ حيث يمكن رفع تغييرات محددة دون التأثير على بقية صفحات التطبيق.

حاليًا لا يشمل File-Level Import جميع أنواع الملفات؛ فهناك قيود على استيراد Themes وTemplates وPlugins وWorkspace Components بهذه الطريقة.

كما أن هذا الأسلوب مدعوم من SQLcl وإضافة SQL Developer في VS Code، وليس من خلال App Builder Import.

17. تعديل صفحة باستخدام AI ثم رفع التغيير فقط

مثال عملي على تعديل صفحة موجودة.

نفترض وجود صفحة Tickets Report داخل تطبيق Help Desk.

نفتح مشروع APEXlang في VS Code، ثم نطلب من Codex:

Review the existing Tickets Report page.

Add the following:

1. A status filter.
2. A priority filter.
3. A button to create a new ticket.
4. A link to open the ticket details page.

Reuse existing LOVs and application components.

Modify only the required APEXlang files.

Do not change unrelated pages.

Validate the application using SQLcl.

Do not import until I approve the changes.

بعد انتهاء التعديل:

  1. نراجع الملفات التي تغيرت داخل VS Code Source Control.

  2. نتأكد أن التعديلات تخص الصفحة والمكونات المطلوبة فقط.

  3. ننفذ apex validate -input ..

  4. نعالج الأخطاء إن وجدت.

  5. نستورد ملف الصفحة باستخدام Import File أو الأمر apex import -files.

  6. نفتح التطبيق ونجرب الصفحة.

إذا أضاف الـ Agent مكونات مشتركة جديدة، يتم تضمين ملفاتها أيضًا ضمن عملية الاستيراد.

هذه هي دورة Edit → Validate → Import File → Test.

18. مقارنة التعديلات قبل رفعها

في بيئات التطوير التي يعمل عليها أكثر من مطور، قد يحدث الآتي:

  • مطور يعدل صفحة في App Builder.

  • مطور آخر يعدل الملف نفسه محليًا داخل VS Code.

  • عند استيراد النسخة المحلية، قد يتم استبدال تعديلات المطور الأول.

لتقليل هذه المشكلة، توفر Oracle SQL Developer for VS Code 26.3 وما بعده إمكانيات Compare وPull لمقارنة ملفات APEXlang المحلية مع النسخة الموجودة في قاعدة البيانات، وجلب التغييرات المطلوبة.

قبل الاستيراد:

  1. قارن النسخة المحلية مع نسخة التطبيق الموجودة في APEX.

  2. راجع الاختلافات.

  3. اجلب التغييرات التي يجب الاحتفاظ بها.

  4. عالج أي تعارض داخل الملفات.

  5. أعد تنفيذ Validation.

  6. استورد النسخة النهائية.

ويمكن أيضًا استخدام Application Working Copies في APEX لعزل تعديلات المطورين قبل دمجها في التطبيق الرئيسي.

هذه الخطوة مهمة خصوصًا مع Vibe Coding؛ لأن الـ Agent قد يعدل عدة خصائص داخل الصفحة، وليس فقط العنصر المطلوب ظاهريًا.

19. إدارة ملفات APEXlang باستخدام Git

من فوائد APEXlang أن تعريفات التطبيق أصبحت ملفات نصية يمكن إضافتها إلى Git.

بعد تصدير التطبيق أو إنشاء المشروع، افتح Terminal داخل VS Code ونفذ، إذا لم يكن المجلد مستودع Git بالفعل:

git init

ثم:

git add .
git commit -m "Initial APEXlang application"

بعد إجراء تعديل باستخدام الـ Agent، يمكن مراجعة الملفات المتغيرة من تبويب Source Control.

ثم تنفيذ:

git add .
git commit -m "Update Tickets page"

وإذا كان المشروع مرتبطًا بمستودع Git بعيد، يتم رفع الـ Commit باستخدام git push وفق اسم الفرع وإعدادات المستودع.

مهم: git push يرفع ملفات المصدر إلى مستودع Git، ولا ينشر التغييرات داخل Oracle APEX.

نشر التغييرات إلى APEX يتم باستخدام apex import أو أزرار Import داخل VS Code.

ويجب عدم إضافة كلمات المرور أو ملفات الاتصال الحساسة أو أي أسرار إلى Git.

20. Deployment Files في Oracle APEX 26.2

من التحسينات المهمة في APEX 26.2 دعم ملفات إعدادات Deployment منفصلة عن تعريف التطبيق.

يمكن الاحتفاظ بإعدادات مختلفة لبيئات مثل Development وTest وProduction داخل مجلد:

deployments/

على سبيل المثال:

deployments/
├── default.json
├── test-env.json
└── prod-env.json

يمكن أن تتضمن إعدادات Deployment قيمًا مثل:

  • Application ID

  • Workspace Name

  • Parsing Schema

  • Application Alias

  • Subscription Mapping

  • بعض إعدادات Theme وRuntime

وعند استخدام إعدادات غير افتراضية، يمكن تحديد ملف Deployment أثناء الاستيراد باستخدام الخيار:

apex import -input . -deployment deployments/test-env.json

على أن يكون الملف صالحًا ويحتوي على قيم مناسبة لبيئة الاختبار.

لا ينبغي نسخ قيم حساسة أو Checksum Salt من أمثلة توثيقية بصورة عشوائية.

وبالنسبة إلى بيئات الإنتاج، توصي Oracle باستخدام Full Application Import ضمن دورة نشر واختبار معتمدة، بدل الاعتماد على استيراد الصفحات منفردة.

21. استخدام Oracle Skills داخل ChatGPT

بالإضافة إلى مسار VS Code، يمكن الاستفادة من Oracle Skills داخل ChatGPT باستخدام نظام Plugins.

هذه طريقة مكملة لمسار التطوير المحلي، وليست بديلًا عن SQLcl أو Oracle SQL Developer.

تنزيل Oracle Skills

افتح:

https://github.com/oracle/skills

ثم:

Code → Download ZIP

سيتم تحميل ملف قريب من:

skills-main.zip

تجهيز Plugin

المستودع الأصلي يتضمن إعدادات موجهة إلى Claude Code، لذلك لا يُفترض أن ZIP المستودع نفسه جاهز للتثبيت كـ ChatGPT Plugin دون تحويل.

يمكن رفع الملف داخل ChatGPT، واستخدام Plugin Creator لإعداد حزمة متوافقة.

مثال على التعليمات:

Create a private ChatGPT plugin named
Oracle Developer Skills.

Use the attached official Oracle Skills
repository as the source.

Preserve original skill instructions,
references, scripts and templates.

Include the available Oracle APEX,
Database, OCI and GraalVM skills.

Adapt the skill structure to ChatGPT.

Preserve source attribution and license.

Do not invent unsupported Oracle features.

Validate the plugin package.

Keep the plugin PRIVATE.

إنشاء Plugin داخل ChatGPT

من ChatGPT، إذا كانت الميزات متاحة للحساب:

Plugins → Developer Tools → Add → Create plugin

يمكن استخدام Plugin Creator لإنشاء الإضافة.

أو اختيار:

Upload plugin archive

إذا كانت الحزمة المتوافقة قد تم إعدادها بالفعل.

تم إنشاء نسخة خاصة من Oracle Developer Skills بنجاح باستخدام المصدر الكامل من مستودع Oracle، وتسجيلها كإضافة خاصة بالإصدار 1.0.0.

لكن هذه النتيجة تعني نجاح إنشاء الإضافة، ولا تعني أن ChatGPT أصبح متصلًا تلقائيًا بقاعدة البيانات أو قادرًا على تشغيل SQLcl المحلي.

استخدام الإضافة

بعد تفعيلها، يمكن إرسال ملفات APEXlang أو وصف التعديلات المطلوبة إلى ChatGPT.

مثال:

Using Oracle Developer Skills,
review this Oracle APEX 26.2 application.

I want to add a dashboard with:

- Open tickets count
- Closed tickets count
- Tickets by priority
- Tickets by category

Generate the required APEXlang changes.

Preserve existing application IDs,
page IDs and shared components.

Do not invent unsupported properties.

Explain which files need to be updated.

يمكن بعد ذلك مراجعة الملفات الناتجة داخل VS Code، وتشغيل Validation، ثم استيراد التعديلات.

إذا أردت تنفيذ هذه الدورة آليًا من داخل Agent، فمن الأفضل استخدام بيئة تمنحه وصولًا مصرحًا إلى ملفات المشروع وSQLcl، بدل الاعتماد على Skills-only Plugin داخل المتصفح وحده.

22. الفرق بين الطرق المتاحة لتطبيق التعديلات

العملية

الطريقة

إنشاء مشروع جديد

Generate من VS Code

تنزيل تطبيق موجود

Export من VS Code أو SQLcl

تعديل ملفات التطبيق

VS Code مع Codex/Claude

التحقق من الملفات

apex validate

استيراد التطبيق بالكامل

Import Application

استيراد صفحة واحدة

Import File

استيراد عدة ملفات

apex import -files

مراجعة تغييرات المطورين

Compare / Pull

حفظ تاريخ التعديلات

Git

رفع ملفات المصدر إلى مستودع

Git Push

نشر نسخة إنتاجية

Full Application Deployment

23. مشاكل شائعة أثناء العمل

أمر SQLcl غير معروف

تأكد من إضافة مجلد sqlcl/bin إلى PATH، أو استخدم المسار الكامل للملف التنفيذي.

وتحقق أيضًا من وجود Java بإصدار مدعوم.

عدم ظهور Import File في VS Code

تحقق من إصدار Oracle APEX وإصدار Oracle SQL Developer Extension، وأن ملفات المشروع أُنشئت أو صُدرت بصيغة APEXlang 26.2 أو أحدث.

كذلك تأكد من إرفاق Database Connection بالتطبيق داخل المحرر.

فشل File-Level Import

تأكد من أن التطبيق الهدف موجود في الـ Workspace، وأن الملف يخص التطبيق نفسه، وأن أي Shared Components جديدة مطلوبة متاحة أو مشمولة في عملية الاستيراد.

ظهور أخطاء APEXlang

استخدم Problems Panel أو:

apex validate -input .

ثم أصلح الأخطاء قبل إعادة الاستيراد.

لا تطلب من الـ Agent حذف خصائص أو مكونات لمجرد تجاوز Validation دون فهم تأثيرها.

نجاح الاستيراد وعدم ظهور النتيجة المتوقعة

تأكد من Application ID والـ Workspace والصفحة المستهدفة، ثم اختبر التطبيق في المتصفح وراجع الأخطاء وقت التشغيل.

كما ينبغي التحقق من صلاحيات المستخدم وSession State وقواعد العمل وعمليات DML.

العمل على نسخة APEXlang قديمة

عند الترقية من APEX 26.1 إلى 26.2، لا يكفي تغيير قيمة mmdVersion يدويًا.

إذا كانت ملفات APEXlang مخزنة في Git باعتبارها مصدر التطبيق الأساسي، توصي Oracle باستيراد التطبيق وإعادة تصديره بعد الترقية، حتى تتوافق بنية الملفات مع الإصدار الجديد.

يفضل تنفيذ هذه العملية داخل فرع Git منفصل ومراجعة الفروقات قبل دمجها.


الخلاصة

مع APEXlang وOracle Skills وVS Code، يمكن استخدام Vibe Coding في دورة تطوير Oracle APEX بصورة عملية، مع الاحتفاظ بالتحكم في ملفات المصدر والتحقق من صحتها ومراجعة التعديلات.

والتحسين الأهم في Oracle APEX 26.2 هو إمكانية تعديل صفحة أو Shared Component واستيرادها بصورة مستقلة خلال التطوير، دون الاضطرار إلى إعادة نشر التطبيق بالكامل بعد كل تعديل.

أما الانتقال إلى Production فيظل بحاجة إلى عملية نشر متكاملة واختبارات وإدارة إصدارات مناسبة.

وبذلك يمكن الجمع بين سرعة AI Coding Agents ومنهجية تطوير Oracle APEX المعتادة، بدل التضحية بالمراجعة والتحكم في التطبيق مقابل سرعة توليد الكود.

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

Account

Navigation

البحث

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.