چرا Directus یک CMS بدون سر برای توسعه دهندگان مدرن است

برنامه های مبتنی بر محتوا خواستار یک backend هستند که ترکیبی از انعطاف پذیری، عملکرد و کنترل کامل بر معماری داده است. Directus تبدیل به یک CMS بدون سر و صدا شده است زیرا یک پایگاه داده SQL قدرتمند و واقعی را به یک لایه API پاک و غیر قابل مدیریت می کند - بدون تحمیل مدل های محتوای سفت و سخت که شما را به یک طرح پیش تعریف شده سوق می دهد، Directus با هر پایگاه داده ایده آل SQL کار می کند و انعطاف پذیری کامل را از طریق یک صفحه کلید ساده ارائه می دهد، بدون اینکه یک صفحه کلید مجازی را کنترل کند، ساده نرم افزار SDK را فراهم می کند - ساده است.

فلسفه داده های مستقیم ( Directus’s Data-First Philosophy)

اکثر سیستم عامل های سنتی CMS پایگاه داده زیر لایه های انتزاع را پنهان می کنند، محتوای را به عنوان یک پیش فرض می کنند. Directus این مدل را به طور خودکار بیان می کند: آن را با پایگاه داده رابط کاربری خود به عنوان منبع واحد حقیقت رفتار می کند، شما طرح خود را با استفاده از جداول استاندارد SQL، ستون ها و روابط طراحی می کنید، و SQL Directus به طور خودکار یک RESTful یا GraphQL API را از آن طرح می سازد.

کار مستقیم با SQL

Directus در بالای MySQL، PostgreSQL، SQLite یا دیگر پایگاه های SQL اجرا می شود.شما می توانید از قدرت کامل SQL بومی استفاده کنید -indexs، پیوست، بازدید، محرک ها و روش های ذخیره شده - بدون هیچ لایه ترجمه متوسط که می تواند عملکرد را کاهش دهد یا رفتار غیر منتظره را معرفی کند، هنگامی که شما یک جستجوی خام در Directus اجرا می کنید، شما به طور مستقیم به پایگاه داده خود صحبت می کنید، به خصوص یک سیستم عامل های بی ارزش است که قبلاً از یک سیستم عامل های اطلاعاتی که از آن استفاده نمی کنند و یا یک سیستم های نام گذاری شده اند.

روابط بدون Bloat

روابط در Directus از طریق کلید های خارجی واقعی در پایگاه داده اداره می شود.ایجاد یک به چند یا بسیاری از لینک های ساده به عنوان تعریف ستون های مناسب است؛ Directus رابطه را به طور خودکار کشف می کند - سیستم همچنین از پرس و جوهای ارتباطی با دو نوع رابط کاربری از طریق API پشتیبانی می کند، و شما را قادر می سازد تا محتوای عمیق مرتبط را در یک درخواست واحد به دست آورید.

نسل API: خودکار، سریع و استاندارد

هنگامی که پایگاه داده شما در محل قرار دارد، Directus هر دو یک API RESTful (با عملیات CRUD کامل) و یک API گرافQL مکمل را تولید می کند، هر دو به استانداردهای صنعت پایبند هستند، و آنها را آسان می کند تا از هر مشتری - وب، تلفن همراه، یا سرور خارج شوند. API خودکار تولید شده به محدودیت های پایگاه داده و مجوزهای شما احترام می گذارد، ارائه اعتبار زمینه، اجرای داده ها و یکپارچگی جعبه های اضافی نیاز به زودی اتصال فایل های اضافی است.

نکات پایانی که می توانید به آن اعتماد کنید

هر جدول در پایگاه داده شما تبدیل به یک نقطه انتهایی REST می شود، شما می توانید فیلتر، مرتب، و نتایج جمع آوری با استفاده از پارامترهای پرس و جو را. Directus همچنین از فیلترینگ رابطه عمیق پشتیبانی می کند، به این معنی که شما می توانید مقالاتی را درخواست کنید که نام نویسنده "Jane" است و دسته بندی "tech" در یک تماس تک نفره است.

نمودار QL برای Queries پیچیده

اگر شما نیاز به جمع آوری منابع متعدد با درخواست های حداقل، نقطه پایان گراف QL () اجازه می دهد تا شما دقیقا شکل پاسخ را تعریف کنید. Directus به طور خودکار یک طرح نمودار QL ایجاد می کند که ساختار پایگاه داده شما را منعکس می کند، از جمله تمام روابط، تیم های جلو خط لوله می توانند دقیقاً زمینه هایی را که نیاز دارند، حذف بیش از حد کاهش و کمتر از حد خسته کننده. نمودار QL جاسازی شده در Directus سریع تر است.

داشبورد Admin: طراحی شده برای ویراستاران و توسعه دهندگان

Directus یک رابط مدیر تمیز و سفید را فراهم می کند که به طور کامل قابل تنظیم است. Editors یک سیستم ورودی بصری را که از متن غنی پشتیبانی می کند، آپلود تصویر، مدیریت فایل و طرح های سفارشی است. توسعه دهندگان می توانند زمینه های پایگاه داده پیشرفته را پنهان کنند، ستون های تغییر یافته برای اهداف صفحه نمایش را تغییر دهند و قوانین اعتبار را اضافه کنند - همه بدون لمس کد برنامه جلو، داشبورد به عنوان یک برنامه تک صفحه (S) ساخته شده است و کار رابط کاربری کوتاه را پشتیبانی می کند، و کنترل صفحه کلید صفحه نمایش داده است.

کنترل دسترسی

امنیت از طریق یک سیستم اجازه دانه انجام می شود، شما می توانید نقش ها را تعریف کنید و مجوز ها را در جدول، زمینه و حتی سطح مورد قرار دهید، به عنوان مثال، یک ویرایشگر ممکن است مقالات را ایجاد و به روز کند اما آنها را حذف نکنید، و یک مشارکت کننده ممکن است فقط پیش نویس های خود را تنظیم کند، همه مجوز ها در لایه API اجرا می شوند، اطمینان حاصل می کند که هیچ مشتری نمی تواند قوانین دسترسی را دور بزند.

تنظیمات سفارشی و Interface Extensions

علاوه بر جدول پیش فرض و دیدگاه های فرم، Directus از طرح های سفارشی مانند تابلوهای کانبان، تقویم ها و نقشه ها پشتیبانی می کند، این ها به عنوان افزونه ها ساخته شده و می توانند از بازار نصب شوند یا در خانه توسعه یابند، به عنوان مثال، یک برنامه مدیریت پروژه می تواند از طرح کانبان برای نمایش وظایف توسط وضعیت استفاده کند، در حالی که یک سایت ممکن است از تقویم برای تجسم رابط کاربری سفارشی استفاده کند (مانند یک متن یا یک متن خاص)

قابلیت های پیش بینی و سیستم Directus

هیچ CMS نمی تواند هر مورد استفاده را پیش بینی کند، به همین دلیل Directus با قابلیت extensibility در ذهن ساخته شده است، شما می توانید نقاط انتهایی سفارشی، قلاب های سفارشی که آتش سوزی در رویدادهای پایگاه داده و پانل های داشبورد سفارشی نیز از آداپتورهای ذخیره سازی فایل پشتیبانی می کنند، به شما اجازه می دهد تا دارایی های آپلود شده در دیسک محلی، Amazon S3، Google Cloud Storage یا هر ارائه دهنده دیگری که از سیستم ذخیره سازی فایل مستقیم پشتیبانی می کند (F) را از طریق فایل های ذخیره سازی فایل های ذخیره سازی فایل های ذخیره سازی فایل پشتیبانی می کند.

هوک ها برای اتوماسیون

Directus قلاب ها به شما اجازه می دهند منطق سفارشی را قبل یا بعد از هر اقدام CRUD اجرا کنید.برای مثال، ممکن است یک اسلگ از یک عنوان ایجاد کنید، یک اعلان به کانال Slack ارسال کنید، زمانی که یک مقاله جدید منتشر شده است یا محتوای همگام سازی به یک شاخص جستجوی خارجی مانند (FLT:0 Elsearch [F:1]. Hooks در جاوا اسکریپت نوشته شده و می تواند به عنوان یک محیط کار مستقیم استفاده شود، و یا انتقال اطلاعات را به طور خودکار انجام دهد.

نقاط پایانی سفارشی و کاربردهای خاورمیانه

اگر درخواست شما نیاز به نقاط انتهایی API دارد که فراتر از عملیات CRUD استاندارد هستند، می توانید نقاط انتهایی سفارشی را با استفاده از API افزونه Directus ایجاد کنید، این نقاط انتهایی در جاوا اسکریپت نوشته شده و می توانند به پایگاه داده، زمینه درخواست و سیستم مجوز دسترسی داشته باشند.این به شما اجازه می دهد تا منطق کسب و کار سفارشی را افشا کنید - مانند ایجاد یک گزارش، پردازش یا انجام یک تجمع پیچیده - به طور مستقیم از طریق ویژگی های تأییدیه مستقیم یا سیستم اجازه می دهد.

عملکرد و مقیاس پذیری

از آنجا که Directus اساسا یک بسته بندی نازک در اطراف یک پایگاه داده ارتباطی است، مشخصات عملکرد آن آینه هایی است که از تنظیمات SQL زیرمجموعه شما، Caching می تواند در سطح API با استفاده از پروکسی های معکوس مانند وارنی یا Nginx اجرا شود و نمودارQL از پرس و جو برای ذخیره سازی بهینه پشتیبانی می کند.

بانک اطلاعاتی-Level Optimization

از آنجایی که Directus SQL بومی را افشا می کند، می توانید پایگاه داده خود را به طور مستقل بهینه سازی کنید – فهرست ها، پارتیشن بندی جداول بزرگ، یا استفاده از دیدگاه های مادی برای تجمع پیچیده. لایه API دامنه قابل توجهی را معرفی نمی کند؛ هر درخواست به یک یا چند سوال SQL بدون هیچ انتزاع اضافی ترجمه می شود.

هنگام انتخاب Directus در سایر گزینه های CMS بدون سر

Directus در سناریوهایی که شما نیاز به مالکیت کامل داده ها و انعطاف پذیری دارید، برتری دارد؛ اگر پروژه شما نیاز به یک مدل پیچیده رابط کاربری دارد، پایبندی دقیق به یک طرح میراث، یا در استقرار دقیق پشت یک فایروال استاندارد، Directus یک گزینه قوی برای مقایسه داده های خاص است که می خواهند از قفل فروشنده جلوگیری کنند – از اینکه داده های شما در یک پایگاه داده استاندارد SQL زندگی می کنند، شما می توانید حداکثر قابلیت تنظیم مستقیم را بدون استفاده از تنظیمات محتوای اختصاصی خود را به صورت تنظیم مجدد محدود کنید.

مثال عملی: ایجاد یک وبلاگ آموزش موسیقی با Directus

برای دیدن Directus در عمل، یک سایت مانند یک وبلاگ تکنیک trombone را در نظر بگیرید که باید مقالات، پروفایل های نویسنده، جاسازی های ویدئویی و دانلود موسیقی ورق قابل دانلود را با Directus، شما با تعریف جدول های جدول های جدول زمانی استاندارد شروع می کنید: ، افزونه های وبلاگ، ،]، [F:3LT پس از ایجاد جداول، بلافاصله یک ویرایشگر متن را به یک ویرایشگر لینک می دهد (فایل های IP).

گسترش وبلاگ موسیقی با نقاط پایانی سفارشی

فرض کنید می خواهید یک ویژگی “مقاله های پیچیده” را بر اساس برچسب ها ارائه دهید.با استفاده از یک نقطه انتهایی سفارشی، می توانید پایگاه داده را برای مقالاتی که برچسب ها را با مقاله فعلی به اشتراک می گذارند، جستجو کنید، این منطق در یک نقطه پایانی واحد قرار می گیرد، به طور مشابه، شما ممکن است یک نقطه پایانی ایجاد کنید که یک جستجوی کامل را می پذیرد و نتایج جستجو را به صورت کامل باز گرداند – که یک نتیجه کاربر پاک خواهد شد.

شروع کار با Directus

شما می توانید با Directus به دو طریق شروع کنید: خود میزبان یا از طریق Directus Cloud. Selfhosting ساده است: کلون کردن مخزن، ایجاد یک پایگاه داده، و اجرای تصویر Docker رسمی یک پیاده روی دقیق را برای تیم هایی که ترجیح می دهند راه حل مدیریت شده، Directus Cloud کنترل، مقیاس، و پشتیبان گیری.

هنگامی که نصب شد، اولین گام این است که پایگاه داده خود را متصل کنید و API خودکار را بررسی کنید، نیازی به نوشتن فایل های پیکربندی یا تعریف انواع محتوا در UI اول نیست - فقط Directus را در یک پایگاه داده SQL قرار دهید و بلافاصله با استفاده از API قابل خواندن و قابل توجه می شود. این رویکرد پیکربندی صفر چیزی است که مستقیما از سایر محصولات بدون CMS جدا می شود و به تدریج باعث می شود تا یک پروژه ساده و قابل کنترل باشد.

نتیجه گیری

Directus ترکیبی نادر از انعطاف پذیری، عملکرد و دوستی توسعه دهنده را ارائه می دهد.با درمان پایگاه داده SQL خود به عنوان پایه، آن را حذف انتزاعی که آهسته کردن راه حل های دیگر CMS تولید شده آن، مجوز های دانه های کاغذی، و سیستم قلاب غیر قابل تنظیم به شما ابزار برای ساخت هر چیزی از یک سایت بازاریابی کوچک به یک پلت فرم محتوا سازمانی که توانایی کامل در مدل سازی داده ها را دارد، و سفارشی کردن یک سیستم قلابی است.

اگر شما آماده حرکت فراتر از محدودیت های CMS سفت و سخت هستید و می خواهید سیستمی که با مدل داده شما سازگار باشد – نه راه دیگر –Directus ارزش یک نگاه جدی را دارد. شروع با مستندات رسمی [FLT 1] و یک پایگاه داده آزمایشی برای تجربه اولین دست که چگونه شما می توانید از طرح به یک تولید زنده، توسعه دهنده باز، توسعه دهنده وب سایت، ادامه کار و ادامه دادن به سیستم عامل عملکرد فعال و پلت فرم ادامه دارد.