**مادایکس** (MODX) یک سیستم مدیریت محتوا و چارچوب نرم‌افزاری تحت وب متن باز و آزاد جهت نشر اطلاعات در وب و اینترانت است.
مادایکس تحت پروانه جی‌پی‌ال توسط زبان برنامه‌نویسی پی‌اچ‌پی و با استفاده از پایگاه داده مای‌اس‌کیوال و اس‌کیوال‌سرور ایجاد شده‌است. این سیستم در سال ۲۰۰۷ برنده جایزه *متعهدترین سیستم مدیریت محتوای متن باز* از سوی موسسه پکت گردید.

تاریخچه
-------

ریموند اروینگ و رایان ترش پروژه MODX CMS را در سال ۲۰۰۴ با توسعه افزونه DocVars برای Etomite آغاز کردند. در مارس ۲۰۰۵ همه ارجاعات به "MODx" از انجمنهای گفتگوی Etomite حذف گردید. این اقدام در راستای درخواست بنیان‌گذار Etomite جهت توقف پشتیبانی از مادایکس صورت گرفت. با این کار، مادایکس تبدیل به انشعابی از Etomite شد.

در مه ۲۰۰۵ انجمنهای گفتگوی مادایکس راه اندازی شد و Jason Coward به تیم مدیریتی پیوست. در سال ۲۰۰۷ Raymond به صورت دوستانه از پروژه جدا شد و در سال‌های بعد Shaun McCormick نیز به عضویت تیم مدیریتی درآمد.

در سال ۲۰۰۸ کاربران مادایکس، نماد جدیدی برای این پروژه طراحی کردند.

در سال ۲۰۱۰ اولین نسخهٔ MODX Revolution به صورت کاملاً از نو کدنویسی شده ارائه شد. در مه ۲۰۱۰ MODX LLC به عنوان شرکت ثبت گردید و اولین همایش رسمی خود MODXpo را در دالاس آمریکا با حمایت مایکروسافت برگزار کرد.

در اکتبر سال ۲۰۱۲ MODX LLC سرویس ابری MODX Cloud را برای سایتهای تحت MODX راه اندازی کرد.

در مارس ۲۰۱۳ سرویس ابری MODX Cloud وارد شراکت با SiphonLabs شد. همچنین پیشنهاد پشتیبانی وردپرس نیز مدنظر قرار گرفت. این همکاری دوامی نیاورد و در جولای ۲۰۱۳ MODX Cloud مجدداً مستقل شد.

در جولای ۲۰۱۳، Mark Hamstra (یکی از توسعه دهندگان شناخته شدهٔ انجمن MODX) سرویس modmore را به عنوان اولین منبع افزونه‌های تجاری MODX راه اندازی کرد.

در نوامبر ۲۰۱۳ دومین همایش رسمی MODXpo در شهر کلن آلمان برگزار شد.

در ژانویه ۲۰۱۴ سیستم MODX به مجموعهٔ بیت‌نامی افزوده شد.

در ژوئیه ۲۰۱۴ نسخهٔ ۲٫۳ MODX به صورت عمومی عرضه شد. این نسخه بیشتری تغییرات و بهبود‌ها را در چندین سال اخیر داشته‌است.

در سپتامبر ۲۰۱۴ modmore میزبان اولینی همایش MODX Weekend را در اوترخت هلند به عهده گرفت.

آینده
-----

MODX ۳ تغییرات اساسی در سیستم ایجاد خواهد کرد. این نسخه هم‌اکنون به‌صورت alpha (آزمایشی) در دسترس است.

ویژگی‌ها
--------

مادایکس امکان جداسازی کامل محتوا (اچ‌تی‌ام‌ال خام)، ظاهر و شمایل (استانداردهای سازگار با سی اس اس و جاوااسکریپت) و منطق (پی‌اچ‌پی، اسنیپت) را می‌دهد.

همچنین قابلیت‌های دیگر شامل:

* نصاب تحت وب گرافیکی.
* پشتیبانی از پی‌اچ‌پی ۵.۱.۱ و بالاتر.
* پشتیبانی از ویرایشگرهای WYSIWYG
* بخش مدیریت به صورت کاملاً چند مرورگری و چند سکویی برای مرورگرهایی از قبیل فایرفاکس، سافاری و اینترنت اکسپلورر در ویندوز، فایرفاکس و سافاری در مک او اس و فایرفاکس در لینوکس عمل می‌کند.
* قابلیت نصب بر روی وب سرورهای IIS، آپاچی، لایتی، انجین‌اکس، چروکی و زئوس .
* قابلیت توسعه توسط Amazon Elastic Compute Cloud.
* پشتیبانی از همه کتابخانه‌های ای‌جکس از قبیل jQuery، MooTools، ExtJS، پیش‌نمونه و غیره.
* تحلیلگر بازگشتی جهت عملیاتهای تو در تو.
* کنترل کامل بر روی فراداده‌ها و ساختار نشانی وب جهت بهینه‌سازی برای موتورهای جستجو (SEO).
* دارای هسته به صورت شی گرا.
* سازگار با الگوی مدل-نما-کنترل‌گر.
* سطوح دسترسی بر اساس نقش در بخش مدیریت.
* امکان سفارشی کردن بخش مدیریت برای هر نوع نیازی.
* تجارت الکترونیک از طریق Foxy Cart.

مادایکس Revolution
------------------

نسخه Revolution با هدف اصلاح نقایص نسخه Evolution پایه‌ریزی شد به اضافه امکانات جدیدی که ایجاد آن‌ها در نسخه قبلی مشکل یا غیرممکن بود.

Jason Coward به عنوان برنامه‌نویس اصلی Revolution و طراح کتابخانه پی‌اچ‌پی با نام xPDO پیشنهاد نگارش نسخه جدید با استفاده از این کتابخانه را داد تا Revolution ساختار یک فریم‌ورک کامل برای پروژه‌ها را دارا باشد. Revolution به صورت یک CMS/CMF، هم به عنوان یک سیستم مدیریت محتوا با امکانات کامل و مثال‌زدنی عمل می‌کند و هم به عنوان یک فریم‌ورک قدرتمند.

از مشخصه‌های اصلی نسخه Revolution نکات زیر مورد توجه بیشتری هستند:

* طراحی بخش مدیریت به صورت استاندارد از طریق اسمارتی و ExtJS.
* نیاز به افزونهٔ PDO.
* سازگاری با نسخه‌های ۵.۱.۱ و بالاتر پی‌اچ‌پی.
* طراحی براساس الگوی مدل-نما-کنترل‌گر.
* قابلیت تغییر در فیلدهای ورودی بخش مدیریت (این امکان در نسخه Evolution توسط افزونهٔ ManagerManager انجام می‌گیرد).
* قابلیت توسعه تگ‌های مادایکس در هسته (این امکان در نسخه Evolution توسط افزونه PHx صورت می‌گیرد).
* امکان افزودن/تغییر/حذف در منوی بخش مدیریت.
* نصب و بروزرسانی افزونه‌ها به صورت از راه دور در بخش مدیریت.
* اضافه شدن مفهوم Context. این امکان، قابلیتی مشابه فضای نام در زبان‌های برنامه‌نویسی را برای صفحات ایجاد می‌کند. به این صورت که می‌توان چندین وبگاه را در یک محیط مدیریت کرد بدون هیچگونه تداخلی در طراحی و خروجی.
* قابلیت استفاده از کدهای بخش مدیریت یا هسته یا پایگاه داده به صورت از راه دور.
* کارایی بالا در حجم بالای پردازشی و ترافیکی.
* تغییر در سیستم ذخیره موقتی اطلاعات و رفع محدودیت تعداد صفحات در Evolution.
* امکان افزودن/تغییر/حذف رویدادها و تنظیمات سایت.
* بازنویسی و تغییر در سطوح دسترسی کاربران.

### قالب

تگ‌های مادایکس در Revolution دچار تغییر شده‌است. نمونه قالب بالا در Revolution به شکل زیر است:

```
<!DOCTYPE>
<html>
<head>
<title>[[++site name]] :: [[*pagetitle]]</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="some/path/to/styles.css" />
<script type="text/javascript" src="some/path/to/mootootls.js"></script>
<script type="text/javascript" src="some/path/to/jquery.js"></script>
<script type="text/javascript" src="some/path/to/any-other.js"></script>
<style type="text/css">
.someClass { margin:10px; }
</style>
</head>
<body>
<div class="post">
<h1><a href="[[~[[*id]]]">[[*pagetitle]]</a></h1>
<div class="content">[[*content]]</div>
<div class="commnets">[[!Quip?thread=`blog-post-[[*id]]`]]</div>
</div>
<div class="footer">
[[$copyright_info]]
</div>
</body>
</html>
```

### کدهای منطقی پردازشی

همانطور که بیان شد، هسته نسخه Revolution بازنویسی و براساس xPDO تغییر کرده‌است. نویسندگان با فراهم کردن API‌هایی اقدام به همسان‌سازی و سازگاری کدهای قدیمی با هسته جدید کرده‌اند ولی شیوه جدید پویاتر، ساده‌تر و قدرتمندتر است.

#### اسنیپت‌ها

نمونه یک اسنیپت ساده با استفاده از امکانات جدید:

```
<?php
$docid = isset($\_POST['docid']) ? $\_POST['docid'] : $modx->resourceIdentifier;
$parent = $modx->getObject('modDocument', $docid)->get('parent');

$document = $modx->newObject('modDocument');
$document->set('pagetitle', 'Page Title');
$document->set('parent', $parent);
$document->set('content', 'This is some content.');
$result = $document->save();
return $result==true ? 'Success' : 'Failed';
?>

```

#### پلاگین‌ها

پلاگین‌ها در نسخه جدید مانند Evolution فراخوانی می‌شوند ولی با رویدادهای سفارشی و بیشتر. نمونه یک شمارنده اطلاعات برای کاربران:

```
if($modx->event->name == 'OnWebLogin') {
$modUser = $user; // Plugin parameter
$profile = $modUser->getOne('myProfileModel');
$profile->set('experiment', $profile->get('experiment')+1);
$result = $profile->save();
return $result==true ? 'Success' : 'Failed';
}

```

ترجمان و جوامع
--------------

مادایکس دارای یک جامعه جهانی از کاربران و توسعه دهندگان است. این جوامع مادایکس را به زبان‌های بومی خود ترجمه کرده‌اند. این ترجمه‌ها عبارتند از: آلزاس، بلغاری، چینی، چکی، دانمارکی، هلندی، فنلاندی، فرانسوی، آلمانی، یونانی، عبری، ایتالیایی، ژاپنی، نروژی، فارسی، فیلیپینی، لهستانی، پرتغالی (برزیلی و اروپایی)، روسی، صربی، اسپانیولی، سوئدی و ترکی. همچنین جوامع فعال دیگری به زبان‌های هندی و انگلیسی دارد.

جایگاه، جوایز و تألیفات
-----------------------

مادایکس در جولای ۲۰۰۷ برندهٔ جایزهٔ *متعهدترین سیستم مدیریت محتوای متن باز* از سوی مؤسسه پکت گردید.

در ١٤ ژانویه ٢٠٠٨، Linux.com به بررسی مادایکس پرداخت و چنین نتیجه‌گیری کرد: "مادایکس یک سیستم ساده برای استفاده، قابل استانداردسازی، قابل بهینه‌سازی برای موتورهای جستجو، کاربردی و توسعه‌پذیر است".

در ٦ فوریه ٢٠٠٩، در نظرسنجی سایت OpenSourceCMS.com از بین ٧٨ سیستم مدیریت محتوا براساس نظرات کاربران، نسخه 0.9.6.3 مادایکس با ٢٨٨٥ رأی در جایگاه سوم قرار گرفت. رتبه‌های اول و دوم به ترتیب، Jaws با ۳٩٨٥ رأی و CMS Made Simple با ٣٠٥٢ رأى بودند.

منابع
-----

1. 1 2  «Packt Publishing 2007 award». بایگانی‌شده از اصلی در ۱ ژوئیه ۲۰۱۴. دریافت‌شده در ۳۰ سپتامبر ۲۰۱۰.
2. ↑  "The History, Present and Future of MODX". MODX. Retrieved 1 January 2013.
3. ↑  MODx + Microsoft
4. ↑  MODX Cloud - We Launched!
5. ↑  SiphonLabs | Crunchbase
6. ↑  Welcome (Back) MODX Cloud
7. ↑  Introducing modmore
8. ↑  MODX Revolution Now Available in BitNami Installer Library
9. ↑  Revolution 2.3 Brings a Revamped Manager User Experience and Much More
10. ↑  «MODX Weekend». بایگانی‌شده از اصلی در ۱۳ نوامبر ۲۰۱۴. دریافت‌شده در ۲۱ ژوئن ۲۰۱۵.
11. ↑  «Seo Services». *dmarsha* (به انگلیسی). بایگانی‌شده از اصلی در ۵ اكتبر ۲۰۲۱. دریافت‌شده در 2021-10-02. تاریخ وارد شده در `|archive-date=` را بررسی کنید (کمک)
12. ↑  «OpenExpedio، کتابخانه استفاده شده در نسخه Revolution». بایگانی‌شده از اصلی در ۱۸ سپتامبر ۲۰۱۰. دریافت‌شده در ۱ اكتبر ۲۰۱۰. تاریخ وارد شده در `|بازبینی=` را بررسی کنید (کمک)
13. ↑  Content Management System/Content Management Framework
14. ↑  وصله PDO برای پی‌اچ‌پی
15. ↑  «MODx: A promising open source CMS». بایگانی‌شده از اصلی در ۲ فوریه ۲۰۰۹. دریافت‌شده در ۳۰ سپتامبر ۲۰۱۰.

* مشارکت‌کنندگان ویکی‌پدیا. «MODx». در *دانشنامهٔ ویکی‌پدیای انگلیسی*، بازبینی‌شده در ۱ اکتبر ۲۰۱۰.

منابع قابل مطالعه
-----------------

* جامعه کاربران ژاپنی (٢٠٠٧): *!MODx CMS: Create the best site*.
* Shane Spongle (٢٠٠٩): "Working With a Content Management Framework: MODx - NETTUTS".
* Antano Solar John (٢٠٠٩): MODx Web Development.
* Kristopher Sarratt (٢٠١٠): Basic Integration of Foxy Cart into MODx.

جستارهای وابسته
---------------

* سامانه مدیریت بسته
* الگوی طراحی (دانش رایانه)

پیوند به بیرون
--------------

* وبگاه رسمی MODX
* مستندات مربوط MODX (به انگلیسی)
* مستندات مربوط به xPDO (به انگلیسی)

| * ن
* ب
* و
چارچوب نرم‌افزاری تحت وب |
| --- |
| ای‌اس‌پی‌دات‌نت | 
* ای‌اس‌پی‌دات‌نت ام‌وی‌سی
* ASP.NET Web Forms
* ASP.NET Dynamic Data
* BFC
* دات‌نت‌نیوک
* MonoRail
* OpenRasta
* Umbraco

 |
| کلد فیوژن | 
* ColdSpring
* Fusebox
* Mach-II
* Model-Glue
* onTap
* on Wheels

 |
| لیسپ معمولی | 
* CL-HTTP
* SymbolicWeb
* UnCommon Web
* Weblocks

 |
| سی++ | 
* CppCMS
* Wt

 |
| جاوا | 
* آپاچی استراتس
* AppFuse
* Flexive
* ابزار وب گوگل
* Grails
* وادین
* ItsNat
* جاواسرور فیسز
* Jspx
* Makumba
* OpenXava
* پلی فریمورک
* Eclipse RAP
* Reasonable Server Faces
* RIFE
* Seam
* اسپرینگ فریمورک
* Stripes
* Tapestry
* WebWork
* Wicket
* ZK
* ICEfaces
* WaveMaker

 |
| اسکالا | 
* Lift (web framework)
* پلی فریمورک

 |
| جاوااسکریپت | 
* Ample SDK
* چارچوب جاوااسکریپت پروتوتایپ
* Rico
* script.aculo.us
* SproutCore
* جی‌کوئری
* دوجو
* امبر جی‌اس

 |
| پرل | 
* Catalyst
* Dancer
* Gantry
* Interchange
* Mason
* Maypole
* Mojolicious
* Poet
* WebGUI

 |
| پی‌اچ‌پی | 
* AppFlower
* کیک‌پی‌اچ‌پی
* کدایگنایتر
* دروپال
* ایی۱۰۷
* فیول‌پی‌اچ‌پی
* Helium
* هرد
* جوملا
* Lithium
* Midgard
* مادایکس
* Qcodo
* Seagull
* سیلوراسترایپ
* سیمفونی
* تایپو۳
* وردپرس
* Xaraya
* یی
* چارچوب زند
* Zeta Components
* لاراول
* فلر فریمورک
* فلکون

 |
| پایتون | 
* CherryPy
* جنگو
* فلسک
* Nevow
* TurboGears
* Plone
* Pyjamas
* Pylons
* Pyramid
* web2py
* Zope
* تورنادو (وب سرور)

 |
| روبی | 
* روبی آن ریلز
* Merb
* Sinatra
* Hobo
* Camping
* Nitro
* Ramaze

 |
| اسمال‌تاک | 
* AIDA/Web
* Seaside

 |
| سایر زبان‌ها | 
* Application Express (پی‌ال/اس‌کیوال)
* HAppS (هسکل)
* Kepler (لوا)
* OpenACS (تی‌سی‌ال)
* SproutCore (جاوااسکریپت/روبی)
* Yaws (ارلنگ)

 |

| * ن
* ب
* و
پی‌اچ‌پی |
| --- |
| اشخاص | 
* اندی گوتمانس
* راسموس لردورف
* زیو سوراسکی

 |  |
| منابع | 
* شتاب‌دهندها
* کامپوزر
* ویرایشگرها
* کتابخانه‌ها
* پر

 |
| پیاده‌سازی‌ها | 
* هیپ‌هاپ
* Quercus
* پروجکت زیرو
* فلنجر
* پارت
* موتور زند

 |
| چارچوب نرم‌افزاری | 
* ای‌پی‌پی‌فلاور
* کیک‌پی‌اچ‌پی
* کدایگنایتر
* دروپال
* فیول‌پی‌اچ‌پی
* هرد
* جوملا!
* لی۳ (لیتیوم سابق)
* میدگارد
* مادایکس
* کیوکودو
* سایلکس
* سیلوراسترایپ
* سیمفونی
* تایپو۳
* وردپرس
* Xaraya
* یی
* چارچوب زند
* زتا کامپوننتز
* لاراول
* فلکون

 |
| آزمایش | 
* پی‌اچ‌پی‌یونیت
* چارچوب آزمایش واحد پی‌اچ‌پی
* سیمپل‌تست
* لایم (سیمفونی)

 |
| او آر ام | 
* Propel
* Doctrine

 |
| IDE | 
* اکلیپس
* ای‌پی‌پی‌فلاور
* آپتانا
* پی‌اچ‌پی‌استورم
* نت‌بینز
* ردپی‌اچ‌پی
* پی‌اچ‌پی‌دیزاینر
* پی‌اچ‌پی‌ادیت
* زند استودیو
* کدبوستر

 |
| مترجم | 
* فلنجر

 |
| جعبه‌ابزار ویجت | 
* دابلیو‌اکس‌پی‌اچ‌پی
* پی‌اچ‌پی-کیو‌تی
* پی‌اچ‌پی-جی‌تی‌کی

 |
| 
* رده

 |