مراجعة 14 سم مقطوعة الرأس 2019

منذ بعض الوقت ، في إحدى الشركات العامة البارزة في السوق الروسية حيث عملت ، كان السؤال الذي يطرح نفسه حول استخدام cms مقطوعة الرأس. من بين العديد من التطبيقات ، كان لا بد من اختيار واحد. هذه قصة حول كيفية تكوين معايير الاختيار ، وكيف قمت بتحليل cms ، وكيف دفعني هذا التحليل إلى التفكير في أنني بحاجة إلى كتابة مقالتي الخاصة. نظرة عامة على 14 سم مقطوعة الرأس تحت خفض.



ما هو CMS مقطوعة الرأس؟


على الرغم من أن المصطلح ليس جديدًا ، إلا أن هذا الموضوع لا يتم تغطيته إلا قليلاً في الإنترنت باللغة الروسية. حسب ويكيبيديا :
نظام إدارة المحتوى بدون رأس ، أو نظام إدارة المحتوى بدون رأس ، هو نظام إدارة محتوى (CMS) خلفي فقط تم بناؤه من الألف إلى الياء كمستودع محتوى يجعل المحتوى متاحًا عبر واجهة برمجة تطبيقات RESTful لعرضه على أي جهاز.
نظام إدارة المحتوى بدون رأس أو CMS بدون رأس هو نظام لإدارة المحتوى يستند إلى الخادم (CMS) ، وهو في البداية مستودع للمحتوى ويوفر الوصول إلى المحتوى من خلال واجهة برمجة تطبيقات RESTful لعرضه على أي جهاز.

وبعبارة أخرى ، cms مقطوعة الرأس هو مفهوم ، نوع من أنواع خاصة من cms-ok ، والتي بموجبها cms مسؤولة فقط عن إدارة المحتوى "النقي". يتيح لك ذلك فصل طبقة البيانات ، التي تتم إدارتها في cms ، عن طبقة العرض ، والتي يتم التحكم فيها بواسطة تطبيق العميل. يتم توزيع المحتوى بتنسيق عالمي ، عادةً في JSON ، وهذا يجعل من الممكن في وقت واحد إدارة موقع ويب وتطبيقات الهاتف المحمول وأي أجهزة متصلة بالإنترنت.

يمكنك قراءة المزيد حول إيجابيات وسلبيات مثل هذا المفهوم في هذه المقالة ، أو هذا واحد ، أو مرة أخرى في مقالة ويكيبيديا .

الانغماس في السياق


لتحديد معايير البحث وفهم أي cms مقطوعة الرأس أفضل من غيرها ، كان علي الإجابة على السؤال - ما هو الأفضل؟ ما المهام المحددة التي ينبغي أن تحل وكيف؟

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

لذلك ، دعونا نتخيل أن المهمة تأتي في طريق التطوير. يحتاج الموقع إلى تنفيذ قسم جديد يقرأ فيه المستخدمون مراجعات الأفلام.
الشروط كالتالي:
  • في الوقت الحالي ، تحتاج إلى عرض اسم الفيلم والملصق واسم المخرج ونص المراجعة فقط ، ولكن في المستقبل ستصبح البنية أكثر تعقيدًا ، وستظهر معلومات حول الرسوم والممثلين وما إلى ذلك ؛
  • سيتعين على الشخص الذي ليس لديه خلفية تقنية ، أو مدير المحتوى ، إضافة وتغيير المراجعات ، ولهذا لا ينبغي إشراك مورد تطوير ؛
  • يجب تعطيل هذه الوظيفة ، أي تحتاج إلى تنفيذ ميزة تبديل.
  • قبل نشر المحتوى ، يجب أن يكون مدير المحتوى قادرًا على رؤية كيفية ظهور التعديلات في بيئة اختبار.

هذه هي المتطلبات التي جاءت من عميل داخلي. لدى جانب التطوير رؤيته الفنية الخاصة بالتنفيذ ، وهي:
  • يجب ألا يكون العميل قادرًا على إطلاق النار على ركبته ، أي يجب ألا يكسر مدير المحتوى أي شيء ، حتى لو أراد ذلك. يجب فقط تحرير ما تصوره المطورون ؛
  • يجب أن يكون قادرًا على إدارة الإصدارات واسترجاعها إذا حدث شيء ما ؛
  • لا يُعرف الوظيفة الإضافية التي ستظهر في المستقبل ، مما يعني أن تعقيد أو تغيير قسم ما يجب أن يكون سهلاً ؛
  • على جانب الأمان: يجب أن يكون النظام على الخادم الخاص بنا ، وليس في سحابة غريبة ، أي يجب أن تكون قادرة على نشر في أماكن العمل.

حسنا ، المهمة واضحة. أمرر بالقرار.

سأستخدم أي JSON CMS ، هذا هو واحد من cms مقطوعة الرأس. ألاحظ أنه في الوقت الحالي لا يلبي جميع المتطلبات الموضحة أعلاه. على سبيل المثال ، لن يتمكن مدير المحتوى من رؤية كيفية ظهور التعديلات في بيئة اختبار. ومع ذلك ، فإن جميع مزايا وعيوب تكون مرئية في وقت لاحق. الآن أحاول أن أشعر "سيناريو" نموذجي للعمل مع أي سم مقطوعة الرأس.

أول شيء فعله هو وصف النماذج. يجيب النموذج على السؤال ، كيف ينبغي أن يبدو كيان المحتوى؟ ما هو هيكلها؟ في جوهره ، هذا بروتوكول للتفاعل بين cms وتطبيق عميل. في حالتنا - مراجعة الفيلم - يحتوي الكائن على:
  • 3 خصائص إلزامية: عنوان الفيلم ، ملصق الفيلم ، نص المراجعة ؛
  • خاصية اختيارية واحدة: كائن "المخرج" ، والذي بدوره يحتوي على اسمين مطلوبين واسم العائلة.

في نموذج عرض مخطط JSON ، يبدو هذا كما يلي:
{ type: 'object', required: ['movieName', 'moviePoster', 'reviewText'], additionalProperties: false, properties: { movieName: { type: 'string', minLength: 1, maxLength: 300, }, moviePoster: { type: 'string', description: 'URL to file', }, movieProducer: { type: 'object', required: ['name', 'surname'], additionalProperties: false, properties: { name: { type: 'string', maxLength: 100, minLength: 1 }, surname: { type: 'string', maxLength: 100, minLength: 1 }, }, }, reviewText: { type: 'string', minLength: 1, maxLength: 3000, }, }, } 

تحتاج أيضًا إلى تطبيق تبديل الميزات ، يبدو النموذج في شكل مخطط JSON كما يلي:
 { type: 'object', required: ['isFeatureActive', 'name'], additionalProperties: false, properties: { isFeatureActive: { type: 'boolean' }, name: { type: 'string', enum: ['movieReviewFeatureToggle'] }, }, } 

عندما يكون لديك فهم لكيفية ظهور النماذج ، يمكنك إنشائها في أي JSON CMS.



أنا على الفور إنشاء كيانات المحتوى ، أي المحتوى نفسه ، استنادا إلى النماذج. مراجعة وهمية واحدة وميزة تبديل الكيان.



لدمج تطبيق العميل مع cms ، مطلوب مفتاح API. أنا تولدها في القسم المقابل سم.


الآن أصبح كل شيء جاهزًا لتنفيذ الوظيفة في تطبيق العميل والتكامل مع cms. يمكن أن يكون تطبيق العميل أي شيء - موقع ويب أو تطبيق جوال ، أو كليهما ، مكتوبًا على أي شيء. على سبيل المثال ، أقوم بتنفيذ الوظيفة على موقع SPA على React. في الواقع ، نحن نأخذ البيانات ذات البنية الثابتة المعروفة من cms ونعرضها بالطريقة التي نريدها.
 import React, { Component } from 'react' import { Accordion, AccordionItem, AccordionItemTitle, AccordionItemBody, } from 'react-accessible-accordion' import 'react-accessible-accordion/dist/fancy-example.css' const apiUrl = 'https://api.anyjsoncms.com' // ApiKey      const apiKey = '87414950dfd15648ea560bd89dd0ee02bfc8fcca' class App extends Component { constructor(props) { super(props) this.state = { movies: null, isFeatureActive: null, loading: true, } } componentDidMount() { const options = { method: 'GET', headers: { ApiKey: apiKey } } Promise.all([ fetch(`${apiUrl}/entries?apiId=featureToggle`, options).then(resp => resp.json() ), fetch(`${apiUrl}/entries?apiId=movieReview`, options).then(resp => resp.json() ), ]) .then(([featureToggleResp, movieReviewResp]) => { const featureToggle = featureToggleResp.find( item => item.value.name === 'movieReviewFeatureToggle' ) const isFeatureActive = featureToggle && featureToggle.value && featureToggle.value.isFeatureActive const movies = movieReviewResp.map(item => item.value) this.setState({ movies, isFeatureActive, loading: false }) }) .catch(error => { console.error(error) }) } render() { const { movies, isFeatureActive, loading } = this.state if (loading) return <div>Loading...</div> if (!isFeatureActive) return <div style={{ display: 'none' }}>Section is hidden</div> return ( <div> <Accordion> {movies.map( ({ movieName, moviePoster, movieProducer, reviewText }, index) => ( <AccordionItem key={index}> <AccordionItemTitle> <h3>{movieName}</h3> </AccordionItemTitle> <AccordionItemBody> <img src={`${apiUrl}${moviePoster}`} alt="" /> {!movieProducer ? null : ( <div>{`${movieProducer.name} ${ movieProducer.surname }`}</div> )} <div>{reviewText}</div> </AccordionItemBody> </AccordionItem> ) )} </Accordion> </div> ) } } export default App 

هذا كل شيء. يمكن الآن لمدير المحتوى إدارة المراجعات بسهولة ، وهناك أيضًا فرصة لتمكين وتعطيل الوظيفة باستخدام ميزة التبديل.

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

معايير الاختيار وتحليل cms مقطوعة الرأس


بعد أن فهمت المهام التي سيتم حلها باستخدام cms مقطوعة الرأس وكيف ، اخترت المعايير وبدأت في دراسة الأنظمة. هناك حاليا 54 سم وفقا ل headlesscms.org . يعد تحليل كل هذه العمليات عملية تستغرق وقتًا طويلاً ، لذا فقد سلطت الضوء على 14 نظامًا شهيرًا ومميزًا ومناقشًا: أي JSON CMS و Contentful و Strapi و GraphCMS و Squidex و Butter CMS و Cloud CMS و Cloud CMS و Cosmic JS و Directus و Kentico Cloud و Netlify CMS ، المنشورية ، الشبح.

النتائج أكثر ملاءمة للدراسة في شكل جدول . لكن مكررة هنا.

أي جسون سم


الموقعanyjsoncms.com
وصفCMS مقطوعة الرأس يمكن أن تساعد في إدارة وتقديم أي JSON إلى أي تطبيق
الجمهور المستهدففرق رقمية
السعر شهرياعلى premiss - مجانا
فرصة الدعم التجارينعم
المتابعين على تويتر0 ألف
نجوم جيثب (إذا كان المصدر المفتوح)0 ألف
حل مفتوح المصدرنعم
البرامج المحليةنعم
الخدمة السحابيةلا
GraphQL APIلا
REST APIنعم
يتم إنشاء كيان المحتوى بناءً على النموذج.نعم
من الممكن إنشاء نماذج خاصة بكنعم
من الممكن إنشاء نماذج خاصة بك من خلال واجهة المستخدمنعم
قد يحتوي النموذج على رابط إلى نموذج آخر.نعم
من الممكن دمج الارتباطات (على سبيل المثال ، يمكن للنموذج الارتباط بأي من النموذجين)لا
من الممكن إنشاء نماذج متداخلة (على سبيل المثال ، كائن يحتوي على كائن آخر)نعم
من الممكن دمج النماذج (على سبيل المثال ، يمكن أن يكون الحقل إما سلسلة أو رقم)لا
من الممكن تحديد عدد كيانات المحتوى التي يمكن إنشاؤها بناءً على نموذج معينلا
إدارة التعارضات المكتشفة بين النموذج وكيان المحتوى (على سبيل المثال ، إذا قمت بتغيير النموذج بحيث لا يفي كيان المحتوى الحالي بهذه التغييرات ، فهل يستطيع النظام حل مثل هذه الحالات؟)نعم
قراءة API للكيانات المحتوىنعم
Ceate ، تحديث ، حذف API لكيانات المحتوىلا
CRUD API للنماذجلا
API دعم وصول الرموزنعم
التمييز بين حقوق الوصول إلى واجهة برمجة التطبيقات عن طريق رمز وصول واجهة برمجة التطبيقاتلا
نظام النشر: مشروع / نشرلا
تأخر النشر القدرةلا
تحديد إصدارات النموذجلا
الالتزام بإصدارات كيان المحتوىلا
بوابة إصدار نظام تشبهلا
إدارة المشاريعنعم
إدارة الصورنعم
إدارة الملفاتنعم
Webhooksلا
إدارة المستخدملا
التحكم في وصول المستخدملا

Contentful


الموقعcontentful.com
وصفقم بالتحديث مرة واحدة ونشرها في كل مكان ، بحيث تبني الفرق المنتجات الرقمية بشكل أسرع.
مصيرإدارة المحتوى في العالم متعدد القنوات
الجمهور المستهدفالفرق الرقمية والشركات
السعر شهرياسحابة خالية ، 39 دولار ، 879 دولار ، سعر مخفي للمشروع
فرصة الدعم التجارينعم
المتابعين على تويتر33.6 الف
نجوم جيثب (إذا كان المصدر المفتوح)ليس مفتوح المصدر
حل مفتوح المصدرلا
البرامج المحليةلا
الخدمة السحابيةنعم
GraphQL APIنعم
REST APIنعم
يتم إنشاء كيان المحتوى بناءً على النموذج.نعم
من الممكن إنشاء نماذج خاصة بكنعم
من الممكن إنشاء نماذج خاصة بك من خلال واجهة المستخدمنعم
قد يحتوي النموذج على رابط إلى نموذج آخر.نعم
من الممكن دمج الارتباطات (على سبيل المثال ، يمكن للنموذج الارتباط بأي من النموذجين)نعم
من الممكن إنشاء نماذج متداخلة (على سبيل المثال ، كائن يحتوي على كائن آخر)لا
من الممكن دمج النماذج (على سبيل المثال ، يمكن أن يكون الحقل إما سلسلة أو رقم)لا
من الممكن تحديد عدد كيانات المحتوى التي يمكن إنشاؤها بناءً على نموذج معينلا
إدارة التعارضات المكتشفة بين النموذج وكيان المحتوى (على سبيل المثال ، إذا قمت بتغيير النموذج بحيث لا يفي كيان المحتوى الحالي بهذه التغييرات ، فهل يستطيع النظام حل مثل هذه الحالات؟)لا
قراءة API للكيانات المحتوىنعم
Ceate ، تحديث ، حذف API لكيانات المحتوىنعم
CRUD API للنماذجنعم
API دعم وصول الرموزنعم
التمييز بين حقوق الوصول إلى واجهة برمجة التطبيقات عن طريق رمز وصول واجهة برمجة التطبيقاتنعم
نظام النشر: مشروع / نشرنعم
تأخر النشر القدرةلا
تحديد إصدارات النموذجنعم
الالتزام بإصدارات كيان المحتوىنعم
بوابة إصدار نظام تشبهلا
إدارة المشاريعنعم
إدارة الصورنعم
إدارة الملفاتنعم
Webhooksنعم
إدارة المستخدمنعم
التحكم في وصول المستخدمنعم

Strapi


الموقعstrapi.io
وصفإدارة المحتوى الخاص بك. توزيعها في أي مكان.
مصيربناء واجهة برمجة تطبيقات قوية المحتوى دون أي جهد
الجمهور المستهدفالمطورين المحترفين
السعر شهرياعلى premiss - مجانا
فرصة الدعم التجارينعم
المتابعين على تويتر2.3 الف
نجوم جيثب (إذا كان المصدر المفتوح)11.1 الف
حل مفتوح المصدرنعم
البرامج المحليةنعم
الخدمة السحابيةلا
GraphQL APIنعم
REST APIنعم
يتم إنشاء كيان المحتوى بناءً على النموذج.نعم
من الممكن إنشاء نماذج خاصة بكنعم
من الممكن إنشاء نماذج خاصة بك من خلال واجهة المستخدمنعم
قد يحتوي النموذج على رابط إلى نموذج آخر.نعم
من الممكن دمج الارتباطات (على سبيل المثال ، يمكن للنموذج الارتباط بأي من النموذجين)لا
من الممكن إنشاء نماذج متداخلة (على سبيل المثال ، كائن يحتوي على كائن آخر)لا
من الممكن دمج النماذج (على سبيل المثال ، يمكن أن يكون الحقل إما سلسلة أو رقم)لا
من الممكن تحديد عدد كيانات المحتوى التي يمكن إنشاؤها بناءً على نموذج معينلا
إدارة التعارضات المكتشفة بين النموذج وكيان المحتوى (على سبيل المثال ، إذا قمت بتغيير النموذج بحيث لا يفي كيان المحتوى الحالي بهذه التغييرات ، فهل يستطيع النظام حل مثل هذه الحالات؟)لا
قراءة API للكيانات المحتوىنعم
Ceate ، تحديث ، حذف API لكيانات المحتوىنعم
CRUD API للنماذجلا
API دعم وصول الرموزلا
التمييز بين حقوق الوصول إلى واجهة برمجة التطبيقات عن طريق رمز وصول واجهة برمجة التطبيقاتنعم
نظام النشر: مشروع / نشرلا
تأخر النشر القدرةلا
تحديد إصدارات النموذجلا
الالتزام بإصدارات كيان المحتوىلا
بوابة إصدار نظام تشبهلا
إدارة المشاريعلا ، ولكن يمكنك نشر نسخة منفصلة من cms
إدارة الصورنعم
إدارة الملفاتنعم
Webhooksلا ، ولكن يمكن تنفيذها من خلال عمليات الاسترجاعات دورة الحياة
إدارة المستخدمنعم
التحكم في وصول المستخدمنعم
معلومات اضافيةلقد درست نسخة ألفا ، كان هناك أخطاء عند حفظ النموذج

GraphCMS


الموقعgraphcms.com
وصفجلب المحتوى إلى أي منصة
مصيرالبنية التحتية للمحتوى للمنتج الرقمي الخاص بك
الجمهور المستهدفالمطورين المهنيين والوكالات والمؤسسات
السعر شهرياسحابة - مجانية ، 49 دولار ، 149 دولار ، 499 دولار ، سعر مخفي للمشروع
فرصة الدعم التجارينعم
المتابعين على تويتر2.4 الف
نجوم جيثب (إذا كان المصدر المفتوح)ليس مفتوح المصدر
حل مفتوح المصدرلا
البرامج المحليةلا
الخدمة السحابيةنعم
GraphQL APIنعم
REST APIلا
يتم إنشاء كيان المحتوى بناءً على النموذج.نعم
من الممكن إنشاء نماذج خاصة بكنعم
من الممكن إنشاء نماذج خاصة بك من خلال واجهة المستخدمنعم
قد يحتوي النموذج على رابط إلى نموذج آخر.نعم
من الممكن دمج الارتباطات (على سبيل المثال ، يمكن للنموذج الارتباط بأي من النموذجين)لا
من الممكن إنشاء نماذج متداخلة (على سبيل المثال ، كائن يحتوي على كائن آخر)لا
من الممكن دمج النماذج (على سبيل المثال ، يمكن أن يكون الحقل إما سلسلة أو رقم)لا
من الممكن تحديد عدد كيانات المحتوى التي يمكن إنشاؤها بناءً على نموذج معينلا
إدارة التعارضات المكتشفة بين النموذج وكيان المحتوى (على سبيل المثال ، إذا قمت بتغيير النموذج بحيث لا يفي كيان المحتوى الحالي بهذه التغييرات ، فهل يستطيع النظام حل مثل هذه الحالات؟)نعم ، إما أنه لا يسمح لك بتغيير النموذج ، أو أن التغيير يؤدي إلى فقد البيانات بعد التأكيد
قراءة API للكيانات المحتوىنعم
Ceate ، تحديث ، حذف API لكيانات المحتوىنعم
CRUD API للنماذجلا
API دعم وصول الرموزنعم
التمييز بين حقوق الوصول إلى واجهة برمجة التطبيقات عن طريق رمز وصول واجهة برمجة التطبيقاتنعم
نظام النشر: مشروع / نشرنعم
تأخر النشر القدرةلا
تحديد إصدارات النموذجلا
الالتزام بإصدارات كيان المحتوىلا
بوابة إصدار نظام تشبهلا
إدارة المشاريعنعم
إدارة الصورنعم
إدارة الملفاتنعم
Webhooksنعم
إدارة المستخدمنعم
التحكم في وصول المستخدمنعم

Squidex


الموقعsquidex.io
وصفيمكّنك Squidex من إدارة المحتوى في مكان مركزي واستخدام مكدس التقنية للتطبيقات والمواقع والخدمات.
مصيرأولويتنا الأولى هي تقديم مركز إدارة محتوى مستقر وسريع ومجاني لجعل الحياة للمطورين أسهل قليلاً.
الجمهور المستهدفالمطورين المحترفين
السعر شهرياسحابة خالية ، 19 دولار ، 49 دولار ، 99 دولار ؛ في أماكن العمل - مجانًا
فرصة الدعم التجاريلم يعلن
المتابعين على تويتر0 ألف
نجوم جيثب (إذا كان المصدر المفتوح)0.5 ألف
حل مفتوح المصدرنعم
البرامج المحليةنعم
الخدمة السحابيةنعم
GraphQL APIنعم
REST APIنعم
يتم إنشاء كيان المحتوى بناءً على النموذج.نعم
من الممكن إنشاء نماذج خاصة بكنعم
من الممكن إنشاء نماذج خاصة بك من خلال واجهة المستخدمنعم
قد يحتوي النموذج على رابط إلى نموذج آخر.نعم
من الممكن دمج الارتباطات (على سبيل المثال ، يمكن للنموذج الارتباط بأي من النموذجين)لا
من الممكن إنشاء نماذج متداخلة (على سبيل المثال ، كائن يحتوي على كائن آخر)لا
من الممكن دمج النماذج (على سبيل المثال ، يمكن أن يكون الحقل إما سلسلة أو رقم)لا
من الممكن تحديد عدد كيانات المحتوى التي يمكن إنشاؤها بناءً على نموذج معينيمكنك تحديد محتوى واحد أو محتوى متعدد ، لا يمكن تحديد رقم معين
إدارة التعارضات المكتشفة بين النموذج وكيان المحتوى (على سبيل المثال ، إذا قمت بتغيير النموذج بحيث لا يفي كيان المحتوى الحالي بهذه التغييرات ، فهل يستطيع النظام حل مثل هذه الحالات؟)لا
قراءة API للكيانات المحتوىنعم
Ceate ، تحديث ، حذف API لكيانات المحتوىنعم
CRUD API للنماذجلا
API دعم وصول الرموزنعم
التمييز بين حقوق الوصول إلى واجهة برمجة التطبيقات عن طريق رمز وصول واجهة برمجة التطبيقاتنعم
نظام النشر: مشروع / نشرنعم
تأخر النشر القدرةنعم
تحديد إصدارات النموذجلا
الالتزام بإصدارات كيان المحتوىنعم
بوابة إصدار نظام تشبهلا
إدارة المشاريعنعم
إدارة الصورنعم
إدارة الملفاتنعم
Webhooksنعم
إدارة المستخدمنعم
التحكم في وصول المستخدمنعم

سم زبدة


الموقعbuttercms.com
وصفأضف مدونة أو CMS إلى موقعك في غضون دقائق. يمكنك الدخول إلى قسم CMS بدون رأس ونعود إلى مشاكل أكثر إثارة.
مصيرإسقاط CMS لدينا المستندة إلى API في أي كومة التكنولوجيا في غضون دقائق.
الجمهور المستهدفالشركات الناشئة والوكالات والشركات
السعر شهرياسحابة - 24 دولار ، 83 دولار ، 166 دولار ، السعر الخفي للمشروع
فرصة الدعم التجارينعم
المتابعين على تويتر0.4 الف
نجوم جيثب (إذا كان المصدر المفتوح)ليس مفتوح المصدر
حل مفتوح المصدرلا
البرامج المحليةلا
الخدمة السحابيةنعم
GraphQL APIلا
REST APIنعم
يتم إنشاء كيان المحتوى بناءً على النموذج.نعم
من الممكن إنشاء نماذج خاصة بكنعم
من الممكن إنشاء نماذج خاصة بك من خلال واجهة المستخدمنعم
قد يحتوي النموذج على رابط إلى نموذج آخر.نعم
من الممكن دمج الارتباطات (على سبيل المثال ، يمكن للنموذج الارتباط بأي من النموذجين)لا
من الممكن إنشاء نماذج متداخلة (على سبيل المثال ، كائن يحتوي على كائن آخر)لا
من الممكن دمج النماذج (على سبيل المثال ، يمكن أن يكون الحقل إما سلسلة أو رقم)لا
من الممكن تحديد عدد كيانات المحتوى التي يمكن إنشاؤها بناءً على نموذج معينلا
إدارة التعارضات المكتشفة بين النموذج وكيان المحتوى (على سبيل المثال ، إذا قمت بتغيير النموذج بحيث لا يفي كيان المحتوى الحالي بهذه التغييرات ، فهل يستطيع النظام حل مثل هذه الحالات؟)لا
قراءة API للكيانات المحتوىنعم
Ceate ، تحديث ، حذف API لكيانات المحتوىلا
CRUD API للنماذجلا
API دعم وصول الرموزنعم
التمييز بين حقوق الوصول إلى واجهة برمجة التطبيقات عن طريق رمز وصول واجهة برمجة التطبيقاتلا (وليس مطلوبًا ، لأن هناك للقراءة فقط)
نظام النشر: مشروع / نشرنعم
تأخر النشر القدرةلا
تحديد إصدارات النموذجلا
الالتزام بإصدارات كيان المحتوىنعم
بوابة إصدار نظام تشبهلا
إدارة المشاريعنعم
إدارة الصورنعم
إدارة الملفاتنعم
Webhooksنعم
إدارة المستخدمنعم
التحكم في وصول المستخدمنعم

سحابة سم


الموقعcloudcms.com
وصفسهلة لمحرري المحتوى + قوية للمطورين
مصيرCMS لتطبيقات الأعمال الهامة
الجمهور المستهدفمشروع
السعر شهريا200 دولار ، 800 دولار ، 1200 دولار
فرصة الدعم التجارينعم
المتابعين على تويتر0.3 الف
نجوم جيثب (إذا كان المصدر المفتوح)ليس مفتوح المصدر
حل مفتوح المصدرلا
البرامج المحليةنعم
الخدمة السحابيةنعم
GraphQL APIنعم
REST APIنعم
يتم إنشاء كيان المحتوى بناءً على النموذج.نعم
من الممكن إنشاء نماذج خاصة بكنعم
من الممكن إنشاء نماذج خاصة بك من خلال واجهة المستخدمنعم
قد يحتوي النموذج على رابط إلى نموذج آخر.نعم
من الممكن دمج الارتباطات (على سبيل المثال ، يمكن للنموذج الارتباط بأي من النموذجين)نعم
من الممكن إنشاء نماذج متداخلة (على سبيل المثال ، كائن يحتوي على كائن آخر)نعم
من الممكن دمج النماذج (على سبيل المثال ، يمكن أن يكون الحقل إما سلسلة أو رقم)لا
من الممكن تحديد عدد كيانات المحتوى التي يمكن إنشاؤها بناءً على نموذج معينلا
إدارة التعارضات المكتشفة بين النموذج وكيان المحتوى (على سبيل المثال ، إذا قمت بتغيير النموذج بحيث لا يفي كيان المحتوى الحالي بهذه التغييرات ، فهل يستطيع النظام حل مثل هذه الحالات؟)لا
قراءة API للكيانات المحتوىنعم
Ceate ، تحديث ، حذف API لكيانات المحتوىنعم
CRUD API للنماذجنعم
API دعم وصول الرموزنعم
التمييز بين حقوق الوصول إلى واجهة برمجة التطبيقات عن طريق رمز وصول واجهة برمجة التطبيقاتلا
نظام النشر: مشروع / نشرنعم ، يمكنك تمكينه في الإعدادات
تأخر النشر القدرةلا
تحديد إصدارات النموذجنعم
الالتزام بإصدارات كيان المحتوىنعم
بوابة إصدار نظام تشبهنعم
إدارة المشاريعنعم
إدارة الصورنعم
إدارة الملفاتنعم
Webhooksنعم
إدارة المستخدمنعم
التحكم في وصول المستخدمنعم
معلومات اضافيةقوية للغاية ، وهناك كل ريادة الأعمال مستوى الرقائق ، وأكثر من ذلك. نظرًا لوفرة الوظائف ، فإنك تحتاج إلى مزيد من الوقت لفهمها.

Sockpit


الموقعgetcockpit.com
وصفمنصة محتوى بسيطة لإدارة أي محتوى منظم
مصيرإضافة وظيفة إدارة المحتوى إلى أي موقع - التوصيل والتشغيل / مقطوعة الرأس / api-first CMS
الجمهور المستهدففرق رقمية
السعر شهريافي أماكن العمل - مجانًا
فرصة الدعم التجارينعم
المتابعين على تويتر0.7 الف
نجوم جيثب (إذا كان المصدر المفتوح)3.5 ألف
حل مفتوح المصدرنعم
البرامج المحليةنعم
الخدمة السحابيةلا
GraphQL APIلا ، ولكن تنفيذها من خلال تثبيت الملحق
REST APIنعم
يتم إنشاء كيان المحتوى بناءً على النموذج.نعم
من الممكن إنشاء نماذج خاصة بكنعم
من الممكن إنشاء نماذج خاصة بك من خلال واجهة المستخدمنعم
قد يحتوي النموذج على رابط إلى نموذج آخر.نعم
من الممكن دمج الارتباطات (على سبيل المثال ، يمكن للنموذج الارتباط بأي من النموذجين)نعم ، باستخدام نوع مكرر
من الممكن إنشاء نماذج متداخلة (على سبيل المثال ، كائن يحتوي على كائن آخر)نعم
من الممكن دمج النماذج (على سبيل المثال ، يمكن أن يكون الحقل إما سلسلة أو رقم)نعم ، باستخدام نوع مكرر
من الممكن تحديد عدد كيانات المحتوى التي يمكن إنشاؤها بناءً على نموذج معينلا ، من الممكن إنشاء نماذج مفردة فقط
إدارة التعارضات المكتشفة بين النموذج وكيان المحتوى (على سبيل المثال ، إذا قمت بتغيير النموذج بحيث لا يفي كيان المحتوى الحالي بهذه التغييرات ، فهل يستطيع النظام حل مثل هذه الحالات؟)لا
قراءة API للكيانات المحتوىنعم
Ceate ، تحديث ، حذف API لكيانات المحتوىنعم
CRUD API للنماذجقراءة وتحديث فقط
API دعم وصول الرموزنعم
التمييز بين حقوق الوصول إلى واجهة برمجة التطبيقات عن طريق رمز وصول واجهة برمجة التطبيقاتنعم ، من خلال مجموعات إعدادات permssions
نظام النشر: مشروع / نشرلا
تأخر النشر القدرةلا
تحديد إصدارات النموذجلا
الالتزام بإصدارات كيان المحتوىنعم
بوابة إصدار نظام تشبهلا
إدارة المشاريعلا ، ولكن يمكنك نشر نسخة منفصلة من cms
إدارة الصورنعم
إدارة الملفاتنعم
Webhooksنعم
إدارة المستخدمنعم
التحكم في وصول المستخدمنعم ، من خلال تكوين المجموعة
معلومات اضافيةحل مفتوح المصدر لائق. يتم تكوين بعض الإعدادات من خلال التكوين ، وليس من خلال الواجهة. على سبيل المثال ، لتكوين نوع المكرر ، تحتاج إلى دراسة خيارات الوثائق والكتابة من خلال JSON. هو مكتوب في PHP.

شبيبة الكونية


الموقعcosmicjs.com
وصفحل إدارة المحتوى الحديث. CMS الرائدة للفرق الرقمية الحديثة.
مصيريوفر نظام الكونية JS Headless CMS لفريقك كل ما تحتاجه لإنجاز المهمة.
الجمهور المستهدففرق الرقمية ، enterprice
السعر شهريا44 دولار ، 179 دولار ، 449 دولار ، 359 دولار ، 719 دولار
twitter2,8
Github stars ( open source)open source
Open sourceلا
On-premises software
Cloud service
GraphQL API
REST API
, , . أي -> .
UI
( ), :
  • Object
  • Object Object Type

( )
( , )لا
لا
(, , , ?)لا
Read API
Ceate, update, delete API
CRUD API
API access tokens
API API access token, read write
: Draft/Publish
لا
Gitلا
Webhooks

Directus


الموقعdirectus.io
وصفPremium Open-Source Software For Any Data-Driven Project
Directus is an open-source suite of software that provides an instant API wrapper for SQL databases and an intuitive Admin App for non-technical users to manage that content.
Digital teams, enterprice
on-premises — free
twitter19,4
Github stars ( open source)3,8
Open source
On-premises software
Cloud service, -
GraphQL APIلا
REST API
UI
( )لا
( ), group,
( , )لا
, singleton
(, , , ?)لا
Read API
Ceate, update, delete API
CRUD API
API access tokens, , ,
API API access token,
: Draft/Publishلا
لا
لا
Gitلا
, cms
Webhooks, , php
«Something is wrong with this instance's server or database.» . . 10 . — 5 . , , . . - . , Directus Stable, .. .

Kentico Cloud


الموقعkenticocloud.com
وصفStop Your Content Friction. Collaborate and deliver engaging omnichannel experiences with a CMS that's built for content strategists and developers.
Create engaging personalized experiences across any device with a next-generation headless CMS.
Digital teams, agencies, enterprice
cloud — 0$, 299$, 999$, hidden price for enterprise
twitter1
Github stars ( open source)open source
Open sourceلا
On-premises softwareلا
Cloud service
GraphQL APIلا
REST API
UI
( )
( ), Content Type Snippets, , snippet snippet
( , )لا
لا
(, , , ?)لا
Read API
Ceate, update, delete API, professional
CRUD API, beta , professional
API access tokens, professional
API API access token, API token ,
: Draft/Publish
لا
Gitلا
Webhooks
, contentfull. .

Netlify CMS


الموقعnetlifycms.org
وصفOpen source content management for your Git workflow. Use Netlify CMS with any static site
generator for a faster and more flexible web project
Get the speed, security, and scalability of a static site, while still providing a convenient editing interface for content.
Profesional developers
on-premises — free
twitter3,6
Github stars ( open source)7,4
Open source
On-premises software
Cloud serviceلا
GraphQL APIلا
REST API, git
UI, yml
( )لا
( ), object ,
( , )لا
لا
(, , , ?)لا
Read APIلا
Ceate, update, delete APIلا
CRUD APIلا
API access tokensلا
API API access tokenلا
: Draft/Publish, editorial_workflow on, GitHub
لا
Git
, cms
, , ,
, , ,
Webhooksلا
, cms , git ( bitbucket, github, gitlab .)
, git
— 2.5.1. CMS — . , git .

Prismic


الموقعprismic.io
وصفOne CMS Backend for all your Websites & Apps
CMS for apps, e-commerce, editorial websites, corporate websites. Enables marketing teams to create highly targeted acquisition campaigns.
Digital teams, enterprice
cloud — 0$, 7$, 15$, 100$, 500$
twitter12,1
Github stars ( open source)open source
Open sourceلا
On-premises softwareلا
Cloud service
GraphQL API, alpha
REST API
UI
( )
( ), «group — a repeatable group of fields», , group group
( , )لا
, singleton
(, , , ?), .. ,
Read API
Ceate, update, delete APIلا
CRUD APIلا
API access tokens
API API access token( , .. read)
: Draft/Publish
لا
Gitلا
Webhooks
, Professional

Ghost


الموقعghost.org
وصفGhost is a fully open source, adaptable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News.
Powerful platform for creating an online blog or publication
Professional bloggers, serious enterprise publishers
on-premises — free; cloud — 29$, 79$, 199$
twitter24,1
Github stars ( open source)28,7
Open source
On-premises software
Cloud service
GraphQL APIلا
REST API
لا
لا
UIلا
لا
( )لا
( )لا
( , )لا
لا
(, , , ?)لا
Read API
Ceate, update, delete APIلا
CRUD APIلا
API access tokens
API API access tokenلا
: Draft/Publish
لا
لا
Gitلا
لا
Webhooks
wordpress, editing tool


النتائج


بشكل عام ، من cms مقطوعة الرأس ، توقعت أن أرى شيئين رئيسيين: حرية إنشاء نماذج ، وبفضل ذلك يمكنك تنفيذ أي بروتوكول ، والحصول على نظام مماثل للتحكم في الإصدار بحيث يمكنك إدارة جميع التغييرات بشفافية.
وخيبة أمل طفيفة تنتظرني. على الرغم من أنه يمكنك العمل مع معظم هذه الأنظمة ، إلا أن لديها عددًا من العيوب غير السارة بالنسبة لي. هذا ، بالطبع ، لا يعني أن الأنظمة سيئة ، فهذا يعني فقط أنها لم تف بتوقعاتي ، وتوقعاتي هي مشاكلي. سوف اعبرهم:
  • headless cms . , , . , , , , . , , . - Cloud CMS, Cockpit Cosmic JS.
  • : , , . , - , — . , - , :
     { "oneOf": [ { "type": "number", "multipleOf": 5 }, { "type": "number", "multipleOf": 3 } ] } 

    Cockpit.
  • , . , number, 100. , maximum: 50? ? GraphCMS.
  • Git Cloud CMS Netlify CMS.

لسوء الحظ ، عندما عملت في تلك الشركة العامة ، لم نتمكن من استخدام أي من هذه الأنظمة. كانت خدمة Cloud CMS مناسبة تمامًا لاحتياجاتنا ، ولكن ثمن ذلك يعض.

استنتاج


هذه هي الطريقة التي دفعني بها هذا التحليل إلى التفكير في أنني بحاجة إلى كتابة الرسائل النصية القصيرة مقطوعة الرأس. لقد رأيتها بالفعل ؛ على سبيل المثال ، كان هناك دليل على حل لمشكلة ما. يطلق عليه أي JSON CMS .

استكمال: أصبح أي JSON CMS حلاً مفتوح المصدر ، ومستودع جيثب هنا .

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

Source: https://habr.com/ru/post/ar444600/


All Articles