تصفح من خلال مجتمعات SaaS على Twitter و LinkedIn و Reddit و Discord ، سمها ما شئت وسترى سمة مشتركة تظهر في العديد منها. يمكن أن يحمل هذا الموضوع العديد من الأسماء: ذكاء الأعمال والتحليلات والرؤى وما إلى ذلك. من الطبيعي أن نقوم بأعمال تجارية ونجمع البيانات وننجح أو نفشل. نريد أن ننظر في كل ذلك ، ونفهم بعض البيانات التي لدينا ونتخذ الإجراءات اللازمة. أنتجت هذه الحاجة العديد من المشاريع والأدوات التي تجعل حياة أي شخص يرغب في الاطلاع على البيانات أسهل قليلاً. ولكن عندما يريد البشر ، يريد البشر المزيد. وفي عالم ذكاء الأعمال والتحليلات ، غالبًا ما يأتي "المزيد" في شكل التضمين والعلامة التجارية والتصميم المخصص والوصول وما إلى ذلك. الأمر الذي يعني في النهاية المزيد من العمل للمطورين والمزيد من الوقت لحسابهم. لذلك ، بطبيعة الحال كانت هناك حاجة إلى أدوات ذكاء الأعمال التي ستتيح لك الحصول على كل شيء.
دعنا نضع قائمة بالتحديات التي قد تواجهها بصفتك منشئ لوحات المعلومات هذه وصيانتها:
- تريد إتاحة لوحات المعلومات للمستخدمين النهائيين أو المشاهدين من داخل التطبيق أو النظام الأساسي الخاص بك
- تريد أن تكون قادرًا على إدارة مجموعات لوحة التحكم المختلفة (مثل "عمليات الدمج")
- تريد أن تكون قادرًا على منح حقوق مستخدم محددة لمجموعة من لوحات المعلومات ومجموعات البيانات
- تريد التأكد من أن المستخدمين لديهم حق الوصول إلى البيانات ذات الصلة بهم فقط
كومول يوفر أداة نسميها التكاملات مما يساعد في حل هذه التحديات. في هذه المقالة سوف أطلعك على ماهية عمليات الدمج وكيفية إعدادها. الشيء الرائع هو أنه بالنسبة لمعظم النقاط المذكورة أعلاه ، هناك حد أدنى من الكود المطلوب ويمكن في الغالب تعيينه داخل ملف كومول UI.
بعض الخلفية - عمليات التكامل
An الاندماج في Cumul.io هي بنية تحدد مجموعة من لوحات المعلومات المعدة للاستخدام معًا (على سبيل المثال في نفس التطبيق). إنه أيضًا ما نستخدمه تضمين لوحات المعلومات في تطبيق. بمعنى آخر ، لتضمين لوحات المعلومات في أحد التطبيقات ، نمنح التطبيق حق الوصول إلى التكامل الذي ينتمون إليه. يمكنك إقران لوحات المعلومات بالتكامل وإدارة نوع حقوق الوصول التي سيحصل عليها المستخدمون النهائيون للتكامل على لوحات المعلومات هذه ومجموعات البيانات التي يستخدمونها. قد تكون لوحة المعلومات جزءًا من عمليات تكامل متعددة ، ولكن قد يكون لها حقوق وصول مختلفة على عمليات تكامل مختلفة. عندما يتعلق الأمر بالتضمين ، هناك عدد من حزم SDK المتاحة لتبسيط الحياة بغض النظر عن شكل مكدسك. 😊
بمجرد أن يكون لديك حساب على Cumul.io وإذا كنت "مالكًا" لمؤسسة في Cumul.io ، فستتمكن من إدارة وصيانة جميع عمليات التكامل الخاصة بك عبر علامة التبويب "عمليات التكامل". دعونا نلقي نظرة على مثال لحساب Cumul.io. يمكنك أدناه مشاهدة لوحات المعلومات التي ربما أنشأها أحد مستخدمي Cumul.io:
على الرغم من أن هذه هي جميع لوحات المعلومات التي قد يكون هذا المستخدم قد أنشأها ، فمن المحتمل ألا تكون جميع لوحات المعلومات مخصصة لنفس المستخدمين النهائيين أو التطبيق لهذه المسألة. لذا ، فإن مالك حساب Cumul.io هذا سيُنشئ ويحافظ على تكامل (أو أكثر!) 💪 دعونا نلقي نظرة على الشكل الذي قد يبدو عليه ذلك بالنسبة لهم:
لذلك ، يبدو أن مالك حساب Cumul.io هذا يحتفظ بتطبيقين منفصلين.
الآن دعنا نرى كيف ستبدو عملية إنشاء تكامل وتضمين لوحات المعلومات الخاصة به في تطبيق ما. الخبر السار هو ، كما ذكرنا سابقًا ، أن الكثير من الخطوات التي سيتعين عليك اتخاذها يمكن إجراؤها داخل واجهة المستخدم Cumul.io.
إخلاء المسؤولية: لأغراض هذه المقالة ، سأركز فقط على جزء التكامل. لذلك ، سأتخطى كل ما يتعلق بإنشاء لوحة القيادة وتصميمها وسنبدأ بمجموعة مسبقة الصنع من لوحات المعلومات التخيلية.
ماذا سنفعل:
خلق التكامل
للتبسيط ، دعنا ننشئ تكاملًا واحدًا فقط في الوقت الحالي. لنتخيل أن لدينا منصة تحليلات نحتفظ بها لشركتنا. هناك ثلاث لوحات معلومات نريد توفيرها لمستخدمينا النهائيين: لوحة معلومات التسويق ولوحة معلومات المبيعات ولوحة معلومات العملاء المتوقعين.
لنفترض أنه من بين جميع لوحات المعلومات التي أنشأها هذا الحساب أو لديه حق الوصول إليها ، لهذا المشروع بالذات ، يريدون استخدام ما يلي فقط:
التكامل الجديد
لإنشاء التكامل ، نذهب إلى علامة التبويب "عمليات التكامل" ونختار "تكامل جديد". سيعطيك الحوار المنبثق بالفعل فكرة عن خطواتك التالية:
اختيار لوحات المعلومات
بعد ذلك ، ستتمكن من تحديد لوحات المعلومات التي سيتم تضمينها في هذا التكامل. ستتمكن أيضًا من إعطاء اسم التكامل ، والذي قررت هنا أنه سيكون مناسبًا "تكامل مهم جدًا":
بمجرد تأكيد اختيارك ، سيكون لديك خيار تحديد سبيكة ثابتة لكل لوحة تحكم (موصى به للغاية). يمكن استخدامها لاحقًا أثناء تضمين لوحات المعلومات في تطبيقك. سترى لاحقًا أن الارتباطات الرخوة تجعل من السهل الرجوع إلى لوحات المعلومات في كود الواجهة الأمامية ، وتسهل استبدال لوحات المعلومات إذا لزم الأمر أيضًا (حيث لا داعي للقلق بشأن معرفات لوحة المعلومات في كود الواجهة الأمامية).
حقوق الوصول
ستحصل بعد ذلك على تعيين حقوق الوصول للتكامل لمجموعات البيانات التي تستخدمها لوحات المعلومات الخاصة بها. هنا قمنا بتعيين هذا على "يمكن العرض". لمزيد من المعلومات حول حقوق الوصول وما يترتب عليها ، تحقق من موقعنا ربط مجموعات البيانات بعمليات التكامل:
عوامل التصفية والمعلمات (والوصول متعدد المستأجرين)
ملاحظة جانبية: للمساعدة في الوصول متعدد المستأجرين - والذي سيكون منطقيًا في هذا الإعداد التخيلي - يتيح Cumul.io تعيين المعلمات والمرشحات على مجموعات البيانات التي تستخدمها لوحة المعلومات. هذا يعني أن كل مستخدم يقوم بتسجيل الدخول إلى منصة التحليلات الخاصة بك لن يرى إلا البيانات التي يمكنه الوصول إليها شخصيًا في لوحات المعلومات. يمكنك أن تتخيل أن الوصول في هذا السيناريو سيعتمد على القسم الذي يعمل فيه المستخدم النهائي في الشركة. لمزيد من المعلومات حول كيفية إعداد تعدد الإيجارات مع Cumul.io ، راجع مقالتنا ، "Multi-Tenancy على لوحات معلومات Cumul.io مع Auth0". يمكن القيام بذلك ضمن عملية تصميم لوحة القيادة (التي نتخطىها) ، مما يجعل من السهل تصور ما تقوم به المرشحات. ولكن هنا ، سنقوم بتعيين هذه المرشحات في عملية إنشاء الدمج.
هنا ، قمنا بتعيين المرشحات التي قد تحتاجها مجموعات البيانات. في هذا السيناريو ، بينما نقوم بالتصفية استنادًا إلى أقسام المستخدمين ، نحدد ملف department
المعلمة والمرشح بناءً على ذلك:
وفويلا! بمجرد الانتهاء من تعيينها ، تكون قد نجحت في إنشاء تكامل. سيعطيك مربع الحوار التالي إرشادات حول الخطوات التالية لتضمين التكامل الخاص بك:
ستتمكن الآن من رؤية هذا التكامل الجديد تمامًا في علامة تبويب التكامل. هذا أيضًا هو المكان الذي سيكون لديك فيه وصول سريع إلى معرف التكامل ، والذي سيتم استخدامه لاحقًا لتضمين لوحات المعلومات.
أخبار جيدة! بعد إنشاء الدمج الخاص بك ، يمكنك دائمًا تعديله. يمكنك إزالة لوحات المعلومات أو إضافتها ، أو تغيير الأجزاء الثابتة من لوحات المعلومات أو حقوق الوصول أيضًا. لذلك لا داعي للقلق بشأن إنشاء عمليات تكامل جديدة مع تغير تطبيقك وتطوره. ونظرًا لأن عملية التعديل تتم داخل واجهة المستخدم ، فلا داعي للقلق بشأن قيام مطور بإعداد كل شيء مرة أخرى. يمكن للمستخدمين غير التقنيين تكييف عمليات الدمج هذه أثناء التنقل.
تضمين لوحات المعلومات
دعونا نرى إلى أين نريد أن نصل. نريد توفير لوحات المعلومات داخل تطبيق مخصص. بسيط ، يقوم المستخدم بتسجيل الدخول إلى أحد التطبيقات ، ويحتوي التطبيق على لوحات معلومات ، ويرون لوحات المعلومات مع البيانات التي يُسمح لهم برؤيتها. يمكن أن يبدو كما يلي على سبيل المثال:
كان لدى شخص ما رؤية محددة للغاية حول كيفية توفير لوحات المعلومات للمستخدم النهائي. لقد أرادوا شريطًا جانبيًا حيث يمكنهم التنقل عبر كل لوحة من لوحات العدادات. كان يمكن أن يكون شيئًا مختلفًا تمامًا أيضًا. ما سنركز عليه هو كيف يمكننا تضمين لوحات المعلومات هذه في تطبيقنا بغض النظر عن شكل التطبيق المضيف.
يأتي Cumul.io مع مجموعة من حزم SDK المتاحة للجمهور. سأوضح لك هنا ما الذي ستفعله إذا كنت ستستخدم ملف العقدة SDK. تحقق من مطور المستندات لمعرفة مجموعات SDK الأخرى المتوفرة وإرشادات حول كيفية استخدامها.
الخطوة 1: إنشاء رموز SSO للمستخدمين النهائيين
قبل أن تتمكن من إنشاء رموز SSO المميزة للمستخدمين النهائيين ، سيتعين عليك التأكد من إنشاء مفتاح API ورمز مميز في Cumul.io. يمكنك القيام بذلك من ملف تعريف Cumul.io الخاص بك. يجب أن يكون مالك المؤسسة الذي يتمتع بإمكانية الوصول إلى التكامل الذي ينشئ ويستخدم مفتاح واجهة برمجة التطبيقات والرمز المميز هذا لتقديم طلب تفويض الدخول الموحّد (SSO). بمجرد القيام بذلك ، فلنقم أولاً بإنشاء عميل Cumul.io والذي سيتم تنفيذه في جانب الخادم من التطبيق:
const Cumulio = require("cumulio"); const client = new Cumulio({ api_key: '<YOUR API KEY>', api_token: '<YOUR API TOKEN>',
});
يمكننا الآن إنشاء رمز SSO للمستخدم النهائي. لمزيد من المعلومات حول استدعاء API هذا والحقول المطلوبة ، تحقق من وثائق المطور على التوليد SSO رموز.
let promise = client.create('authorization', { integration_id: '<THE INTEGRATION ID>', type: 'sso', expiry: '24 hours', inactivity_interval: '10 minutes', username: '< A unique identifier for your end user >', name: '< end-user name >', email: '< end-user email >', suborganization: '< end-user suborganization >', role: 'viewer', metadata: {}
});
هنا ، لاحظ كيف أضفنا الاختياري metadata
مجال. هذا هو المكان الذي يمكنك فيه توفير المعلمات والقيم التي تريد تصفية مجموعات بيانات لوحات المعلومات عليها. في المثال الذي كنا نمر به ، كنا نقوم بالتصفية بناءً على القسم ، لذا سنضيف هذا إلى البيانات الوصفية. من الناحية المثالية ، ستحصل على هذه المعلومات من مزود المصادقة الذي تستخدمه. انظر أ شرح مفصل حول كيفية قيامنا بذلك مع Auth0.
سيعيد هذا الطلب كائن JSON الذي يحتوي على معرف التفويض والرمز المميز الذي يتم استخدامه لاحقًا كمجموعة مفتاح / رمز لتضمين لوحات المعلومات في جانب العميل.
هناك شيء آخر يمكنك إضافته اختياريًا وهو خاصية CSS. سيسمح لك هذا بتحديد الشكل والمظهر المخصصين لكل مستخدم (أو مجموعة مستخدمين). بالنسبة للتطبيق نفسه ، هذا ما يمكن أن تبدو عليه لوحة معلومات التسويق بالنسبة إلى Angelina vs Brad:
الخطوة 2: التضمين
قفزنا للأمام قليلا هناك. لقد أنشأنا رموز الدخول الموحّد (SSO) للمستخدمين النهائيين ، لكننا لم ندمج بالفعل لوحات المعلومات في التطبيق. دعونا نلقي نظرة على ذلك. أولاً ، يجب عليك تثبيت واستيراد ملف مكون الويب.
import '@cumul.io/cumulio-dashboard';
بعد استيراد المكون ، يمكنك استخدامه كما لو كان علامة HTML. هذا هو المكان الذي ستقوم فيه بتضمين لوحات المعلومات الخاصة بك:
<cumulio-dashboard dashboardId="< a dashboard id >" dashboardSlug="< a dashboard slug >" authKey="< SSO key from step 1 >" authToken="< SSO token from step 1 >">
</cumulio-dashboard>
هنا سيكون لديك بعض الخيارات. يمكنك إما توفير معرف لوحة المعلومات لأي لوحة معلومات تريد تضمينها ، أو يمكنك توفير سبيكة لوحة القيادة التي حددناها في إعداد التكامل (وهذا هو السبب في أنني أوصي بهذا بشدة ، فمن السهل جدًا قراءته بهذه الطريقة). لمزيد من المعلومات التفصيلية حول كيفية تضمين لوحات المعلومات ، يمكنك أيضًا الاطلاع على وثائق المطور.
هناك طريقة رائعة للقيام بهذه الخطوة وهي بالطبع تحديد الهيكل العظمي لمكون لوحة القيادة في ملف HTML الخاص بك وتعبئة باقيه من جانب العميل في التطبيق الخاص بك. لقد قمت بما يلي ، على الرغم من أنها ليست الطريقة الوحيدة بالطبع:
لقد أضفت مكون لوحة المعلومات بالمعرف dashboard
:
<cumulio-dashboard id="dashboard"></cumulio-dashboard>
بعد ذلك ، قمت باسترداد هذا المكون في رمز العميل على النحو التالي:
const dashboardElement = document.getElementById("dashboard");
ثم أطلب رمز SSO المميز من جانب الخادم في تطبيقي والذي يُرجع المفتاح والرمز المطلوبين لإضافتهما إلى مكون لوحة القيادة. لنفترض أن لدينا وظيفة غلاف getDashboardAuthorizationToken()
يقوم بذلك لنا ويعيد الاستجابة من طلب رمز SSO من جانب الخادم. بعد ذلك ، نقوم ببساطة بملء مكون لوحة القيادة وفقًا لذلك:
const authorizationToken = await getDashboardAuthorizationToken();
if (authorizationToken.id && authorizationToken.token) { dashboardElement.authToken = authorizationToken.token; dashboardElement.authKey = authorizationToken.id; dashboardElement.dashboardSlug = "marketing|sales|leads";
}
لاحظ كيف اخترت في الخطوات السابقة تحديد الارتباطات الرخوة للوحات المعلومات الخاصة بي والتي تعد جزءًا من هذا التكامل. هذا يعني أنه يمكنني تجنب البحث عن معرّفات لوحة المعلومات وإضافتها dashboardId
كواحد من معلماتي الخاصة بـ dashboardElement
. بدلاً من ذلك يمكنني فقط توفير واحدة من الرخويات marketing
, sales
or leads
وانتهيت! بالطبع سيتعين عليك إعداد نوع من عملية الاختيار لتطبيقك لتقرر أين ومتى تقوم بتضمين لوحة القيادة.
هذا كل شيء يا رفاق! لقد نجحنا في إنشاء تكامل في Cumul.io وفي بضعة أسطر من التعليمات البرمجية ، تمكنا من تضمين لوحات المعلومات الخاصة به في تطبيقنا 🎉 تخيل الآن سيناريو حيث يتعين عليك الاحتفاظ بتطبيقات متعددة في وقت واحد ، إما داخل نفس الشركة أو شركات منفصلة. مهما كان السيناريو الخاص بك ، فأنا متأكد من أنه يمكنك تخيل كيف إذا كان لديك عدد من لوحات المعلومات حيث يتعين على كل منها الانتقال إلى أماكن مختلفة ويجب أن يكون لكل منها حقوق وصول مختلفة اعتمادًا على مكان وجودها وأثناء التنقل .. كيف يمكن أن تخرج عن نطاق السيطرة بسرعة. تسمح لك عمليات الدمج بإدارة هذا بطريقة بسيطة وأنيقة ، كل ذلك في مكان واحد ، وكما ترى ، غالبًا من داخل واجهة المستخدم Cumul.io.
هناك الكثير الذي يمكنك القيام به هنا والذي لم نختبره بالتفصيل. مثل إضافة سمات مخصصة خاصة بالمستخدم و CSS. لم نتعرف أيضًا على كيفية تعيين المعلمات والفلاتر في لوحات المعلومات ، أو كيفية استخدامها من داخل التطبيق المضيف الخاص بك بحيث يكون لديك إعداد متعدد المستأجرين. يمكنك العثور أدناه على بعض الارتباطات إلى البرامج التعليمية والوثائق المفيدة لهذه الخطوات إذا كنت مهتمًا.
المصدر: https://css-tricks.com/embedded-analytics-made-simple-with-cumul-io-integrations/
- '
- "
- &
- 11
- 7
- 9
- 98
- الوصول
- حسابي
- اكشن
- الكل
- تحليلات
- API
- التطبيق
- تطبيق
- التطبيقات
- البند
- التحقّق من المُستخدم
- ترخيص
- قطعة
- العلامات التجارية
- باني
- الأعمال
- دعوة
- تغيير
- الكود
- مشترك
- المجتمعات
- حول الشركة
- عنصر
- خلق
- لوحة أجهزة القياس
- البيانات
- تصميم
- التفاصيل
- المطور
- المطورين
- خلاف
- البريد الإلكتروني
- ينتهي
- الوجه
- مجال
- مرشحات
- الاسم الأول
- تركز
- النموذج المرفق
- وظيفة
- خير
- تجمع
- هنا
- كيفية
- كيفية
- HTTPS
- البشر
- فكرة
- استيراد
- info
- معلومات
- رؤى
- التكامل
- التكاملات
- IT
- جافا سكريبت
- القفل
- لينكدين:
- قائمة
- التسويق
- أسماء
- أنيق
- أخبار
- خيار
- مزيد من الخيارات
- منظمة
- أخرى
- كاتوا ديلز
- المنصة
- أنتج
- ملفي الشخصي
- تنفيذ المشاريع
- مشروع ناجح
- الملكية
- رديت
- استجابة
- REST
- عائدات
- ادارة العلاقات مع
- الأملاح
- إحساس
- طقم
- ضبط
- الاشارات
- So
- حل
- المدعومة
- العالم
- موضوع
- الوقت
- رمز
- الرموز
- الدروس
- أو تويتر
- ui
- us
- المستخدمين
- المزيد
- رؤيتنا
- من الذى
- في غضون
- كلمات
- للعمل
- أعمال
- العالم