نظرة عَامة عَلى الحلول
يستخدم Microsoft Power Platform ميزة الحل الخَاصة بـ Microsoft Dataverse لتعقب وإدَارة التطبيقَات والتدفقَات والجدَاول وحتى مكونَات الرمز المطور مثل JavaScript والمكونَات الإضَافية. والحلول عبارة عن حَاويَات يمكنُ استخدَامهَا فِي أصول مشروع النقل مِن بيئة إلى أخرى. تعد الحلول جُزءًا أسَاسيًا مِن إسترَاتيجية إدَارة دورة حيَاة Microsoft Power Platform التطبيق (ALM).
يمكن أن تكون الحلول غير مُدَارة أو مُدَارة
الحلول غير المُدَارة - تُستخدم فِي بيئَات التطوير فِي أثنَاء قيَامك بإجرَاء تغييرَات عَلى مكونَاتك. يمكنُ إنشَاء مكونَات جديدة بدَاخل الحل ويمكن أيضَاً إضَافة أي مكونَات موجودة دَاخل بيئة Dataverse. يمكن تصدير الحلول غير المُدَارة إمَا كحلول غير مُدَارة أو مُدَارة. يجب فحص الإصدَارَات غير المُدَارة التي يتم تصديرهَا مِن الحلول الخَاصة بك فِي نظَام التحكم بالمصَادر. يمكن استخدَام أدَاة تسمى SolutionPackager لإعدَاد الحلول لتتم مرَاجعتهَا. يمكنك تَشغيل هذه العَمَلية تلقَائيًا باستخدَام Microsoft Power Platform Build Tools.
الحلول المُدَارة - تُستخدم للنشر فِي أي بيئة ليست بيئة تطوير لهذا الحل. لا يمكنُ تعديل مكونَات الحلول المُدَارة مباشرةً فِي الحل المُدَار أو إزَالتهَا منه، ولا يمكن إضَافة أي مكونَات جديدة. ومع ذلك، يمكنُك تضمين المكون فِي حل آخر غير مُدَار وإجرَاء تغييرَات هنَاك. يؤدي هذا إلى إنشَاء تبعية عَلى الحل المُدَار. يمكن خدمة الحلول المدَارة بشكل مستقل عن الحلول الأخرى المُدَارة فِي بيئة مَا. بينمَا يُمكنك تصدير حل غير مُدَار يدويًا بصفته حلاً مُدَارًا، يُوصى بإنشَاء الحلول المُدَارة كأدَاة بنَاء مِن عملية بنَاء مُشغلة تلقَائيًا.
يمكن إنشَاء الحلول وإدَارتهَا عبر Maker Portal ويمكن أيضَاً إنشَاؤهَا وإدَارتهَا بواسطة المطورين باستخدَام النظَام الأسَاسي API. هنَاك أيضًا أدوات مثل SolutionPackager وDevOps وGitHub Package Deployerلبنَاء المهَام والإجرَاءَات التي يمكن للمطورين استخدَامهَا لأدَاء وأتمتة المهَام المختلفة المتعلقة بالحلول.
يمكن أن تكون الحلول الطبقَات
يمكن أن تتواجد حلول متعددة فِي بيئة واحدة. لإدَارة هذه الحلول، قم Dataverse بتتبعهَا باستخدَام مفهوم الطبقة عَلى مستوى مكون الحل الفردي. يتم تعقب كَافة الحلول غير المُدَارة كطبقة واحدة، بينمَا يتم تعقب كل حل مُدَار بشكل منفصل. عند وجود طبقَات متعددة مِن الحلول المُدَارة، يتم استخدَام الحل المُدَار الذي تم تثبيته مؤخرًا فِي بيئة مَا عَلى الحلول المُدَارة التي تم استيرَادهَا مسبقًا. تدعم بعض المكونَات الدمج بدلاً مِن أسلوب الفوز الأخير. على سبيل المثَال، قد يتم تعديل Power Apps نموذج لتطبيق يستند إلى نموذج بواسطة ثلاثة حلول مُدَارة، كل منهَا يغير أقسَامًا مختلفة مِن النموذج. فِي هذا المثَال، ستكون النتيجة المدمجة نموذجًا مدمجًا، بمَا فِي ذلك التغييرَات مِن الحلول الثلاثة المُدَارة. ومع ذلك، تكون الطبقة غير المُدَارة دَائمًا فِي الأعلى، ويتجَاوز التغيير فِي الطبقة غير المُدَارة أي تغيير مِن الحلول المُدَارة فِي البيئة. فِي النهَاية، يرى المستخدم مجموعة مِن كَافة طبقَات الحل فِي البيئة. الصورة التَالية توضح هذا المفهوم.
يعد مفهوم الطبقَات أمرًا أسَاسيًا للسمَاح للعديد مِن الحلول بالعمل معًا فِي بيئة واحدة. كمَا أنه يسمح بمزيد مِن التخصيصَات للمكونَات مِن خلال حلٍ مُدَارٍ.
تبعيَات الحلول
تعتمد مكونَات الحل غَالبًا عَلى مكونَات الحل الأخرى. يتتبع وقت تَشغيل الحل التبعيَات لضمَان عدم إمكَانية إزَالة الحلول إذا كَانت تعتمد عَليهَا بواسطة حل آخر.
استخدم Power Platform CLI للعمل مع الحلول
بالإضَافة إلى استخدَام بوابات المُصنع، يمكن للمطورين أيضًا استخدَام واجهة سطر الأوامر Power Platform (CLI) لتنفيذ العديد مِن مهَام إدَارة الحلول.
على سبيل المثَال، سيقوم مَا يلي بتهيئة دليل بمشروع حل Dataverse جديد، ثم يضيف مرجعًا إلى مكون PCF شريط التمرير الذي أنشأه المطور.
pac solution init --publisher-name developer --publisher-prefix dev
pac solution add-reference --path c:\Users\Downloads\SliderComponent
تغليف الحل
الحلول التي يتم تصديرهَا مِن Dataverse بيئة مَا ببسَاطة ملف مضغوط بصيغة zip يحتوي عَلى بيَانَات التعريف المضمنة. باعتباره ملفًا ثنَائيًا واحدًا، فهو غير فعَال أو مفيد عند وَضعه فِي مستودع التحكم بالمصَادر.
لتَسهِيل أدوات تعبئة حلول التحكم فِي المصدر، يمكن فك ضغط Dataverse الحل فِي سلسلة مِن ملفات XML وملفات أخرى بحيث يمكن إدَارة هذه الملفات بسهولة بواسطة نظَام التحكم فِي المصدر. يمكن لأدوات تعبئة الحلول أيضًا إعَادة حزم ملف الحل المضغوط باستخدَام المكونَات المستخرجة.
يمكن للمطورين استخدَام الأدوات التَالية التي تنفّذ دعم حزم الحلول:
- Power Platform CLI
- Power Platform Build Tools لبنَاء الأتمتة
- أدَاة SolutionPackager
تعبئة الحلول باستخدَام Power Platform CLI
على سبيل المثَال، سيقوم مَا يلي بتصدير حل مِن كَافة الملفات الفردية Dataverse وفك ضغطهَا باستخدَام منطق SolutionPackager.
pac solution pack --zipfile C:\MyProject.zip --folder .\MyProjectUnpacked\.
pac solution unpack --zipfile C:\MyProject.zip --folder .\MyProjectUnpacked\.
أدَاة SolutionPackager
يتم تَوزيع أدَاة SolutionPackager كجُزء مِن NuGet الحزمة Microsoft.CrmSdk.CoreTools.
أدَاة SolutionPackager هي أدَاة قَابلة للتنفيذ يمكنك استخدَامهَا لتنفيذ الإجرَاءَات التَالية:
استخرَاج: استخرَاج ملف الحل المضغوط إلى مجلد
تعبئة: تعبئة مجلد فِي ملف مضغوط
وهي تدعم مجموعة متنوعة مِن وسيطَات سطر الأوامر التي يمكنك استخدَامهَا لتنفيذ إجرَاءَات محددة كجُزء مِن عملية استخرَاج/تعبئة الحل. للحصول عَلى تفاصيل متعمقة حول كيفية استخدَام أدَاة SolutionPackager، رَاجع مقَالة أدَاة SolutionPackager.
فِي بعض الأحيَان يكون مِن الضروري إدَارة العنَاصر، مثل موارد الويب أو مجموعَات المكونَات الإضَافية، التي يتم إنشَاؤهَا وإدَارتهَا فِي مشَاريع منفصلة. يتطلب هذا تعيين ملفات الحل من موقعهَا الافترَاضي فِي مجلد الاستخرَاج إلى دليل المشروع المقَابل لهَا. على سبيل المثَال، عَادةً مَا يتم وَضع مجموعة المكونَات الإضَافية فِي مجلد إخرَاج الصندوق لمشروع تجميع المكونَات الإضَافية. ولتحقيق ذلك، يمكنك استخدَام / وسيطة التعيين لإدَارة تعيين هذه المواقع. وللحصول عَلى شرح مفصل حول كيفية إنشَاء مستند تعيين XML، رَاجع استخدَام /وسيطة أمر /map.
بالرَغم مِن أنَّه يمكنُ تَشغِيل SolutionPackager يدويًا، إلا أنَّه يُستَخدمُ بشكلٍ أكثر شيوعًا فِي عمليَّات الإنشَاء الآليَّة. تحتوي Microsoft Power Platform Azure DevOps كل مِن مهَام البنَاء وإجرَاءَات GitHub عَلى خطوات تستخدم SolutionPackager لتفريغ الحل وتعبئته.