**دات نت نیوک** یک پلتفرم متن‌باز برای ساخت وب‌گاه بر پایه فناوری چارچوب دات‌نت است.

پیشینه
------

در ماه ژانویه سال ۲۰۰۲ شرکت مایکروسافت محصولی را عرضه کرد که یک نمونه از StarterKitهای کنونی بود و پرتال IBusSpy نام داشت. StarterKitها نمونه برنامه‌هایی هستند که همراه سورس کامل ارائه شده تا چگونگی پیاده‌سازی یک فرایند خاص در برنامه‌نویسی را نمایش دهد. این بسته‌ها نمونه‌های کامل اما در حد بسیار ساده‌ای از یک برنامه بوده و هدف از ارائه آن‌ها کمک به برنامه نویسان جهت توسعه پروژه‌های شخصی خود به کمک آن‌ها بوده‌است.

هدف از ارائه پرتال IBuySpy نمایش چگونگی ایجاد یک برنامه تحت وب کاملاً داینامیک و data-driven به کمک زبان ASP.NET بوده‌است و انجمن توسعه دهندگان زبان.NET به سرعت پرتال IBuySpy را به عنوان یک مرجع اصلی پیاده‌سازی و ایجاد برنامه‌های تحت وب با حق کپی رایت شخص افراد پذیرفتند.

در دسامبر سال ۲۰۰۲ شاون واکر (Shaun Walker) که یکی از اعضای Prepetual Motion Interactive System بود، یک نسخه ویرایش شده از پرتال IBuySpy را به زبان VB.NET انتشار داد. این نسخه از برنامه که همراه سورس کامل بود IBuySpy Workshop نام داشت که توسط یک لینک در انجمن ASP.NET مایکروسافت ارسال شده بود و شامل امکانات متنوع تری نسبت به نسخه اصلی IBuySpy بوده که مهترین آن ویژگی امکان ایجاد بیش از یک پرتال با بهره‌گیری از یک پایگاه داده بوده‌است.

طی گذشت یک هفته بعد از انتشار اولین نسخه این برنامه نسخه بعدی آن که نسخه شب عید نام داشت منتشر شد (IBuySpy WorkShop Christmas Eve) که با استقبال بی‌نظیر توسعه دهندگان روبرو شد و هزاران نفر از برنامه نویسان این کد را دانلود نمودند.
بعد از انتشار چند نسخه از این برنامه، نام برنامه به Dotnetnuke تغییر پیدا نمود. این نام برای این انتخاب شد که نمایش دهنده دو اصل مبتنی بودن این برنامه بر زبان.Net (DOTNET) و پیروی از اصول و شرایط nuke (سیستم‌های مدیریت محتوای کد باز) باشد.

در حال حاضر Dotnetnuke به عنوان یک پروژه کد باز به کمک یک تیم طراحی وب اختصاصی، گروه‌های حمایت‌کننده و بیش از ۵۰۰٫۰۰۰ هزار کاربر عضو مشغول فعالیت می‌باشد.

پرتال Dotnetnuke به راحتی و با مراجعه به سایت www.Dotnetnuke.com قابل دریافت می‌باشد. جهت دانلود این برنامه شما می‌بایست درون سایت ثبت نام نموده و عضو آن شوید. به محض ثبت نام در سایت، نامه‌ای به آدرس پست الکترونیک شما که هنگام ثبت نام وارد نموده‌اید ارسال می‌شود که شامل یک کد تصدیق می‌باشد. این کد برای اولین لاگین به سایت مورد استفاده قرار می‌گیرد. بعد از لاگین به سایت شما به راحتی و با رفتن به صفحه دانلود قادر به دریافت برنام خواهید بود.

اعضاء سایت به مجرد دریافت و نصب این برنامه، قادر به مدیریت وب‌گاه خود در اینترنت یا اینترانت خواهند بود. این امر بدین خاطر است که Dotnetnuke تمام ابزارها و ویژگی‌های مورد نیاز جهت اجرا و نگهداری پرتال همچون کنترل کامل و مدیریت بر روی محتوا، چیدمان، اعضاء پرتال و مباحث امنیتی را همراه خود ارائه داده‌است.

بعد از دریافت این برنامه حتی می‌توان این‌گونه تصور نمود که حتی کاربرانی که هیچگونه مهارت برنامه‌نویسی ندارند، قادر به راه اندازی یک وب‌گاه کاملاً حرفه‌ای و پویا باشند. آن‌ها می‌توانند صفحات جدید ایجاد نموده و از ماژول‌های پیش‌فرض ارائه شده در پرتال همجون، انجمن، نگارخانه تصاویر، تماس‌ها، رویدادها و … جهت ارائه محتوا در سایت خود استفاده نمایند. نقش‌های امنیتی مختلفی را تعریف نموده، برای هر نقش خبرنامه ارسال نمایند و همچنین درون سایت خود بنرهای تبلیغاتی نمایش دهند، سایت خود را به موتورهای جستجو تعریف نمایند یا ظاهر سایت خود را ویرایش نمایند.

ویژگی‌های کلیدی
---------------

### سهولت نصب و میزبانی این پرتال

تکنولوژی روز .Net بکار رفته در پرتال و قابلیت کار با انواع مختلف پایگاه داده و از علل سهولت نصب این پرتال بوده به‌طوری‌که خیلی از ارائه دهندگان سرویس میزبانی، این برنامه را به صورت رایگان جزء پلن‌های خود گنجانده و به محض دریافت هاست می‌توانید این پرتال را نصب نمایید.

### کاملاً توسعه پذیر و قابل پیشرفت

این برنامه برای انواع مختلف پروژه‌ها از کوچکترین سایت‌ها تا بزرگترین وب‌گاه‌ها مناسب و قابل اجرا بوده و می‌توان آن را بر روی شبکه جهانی اینترنت یا شبکه‌های داخلی اینترانت اجرا نمود یا می‌توان به کمک برنامه‌های جانبی و ابزارهای مختلف آن را کامل نمود.

### به‌طور کامل تحت لیسانس BSD-style

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

### مدیریت و کاربری آسان

Dotnetnuke قابلیت پشتیبانی از چند پرتال با یک نصب برنامه را با تقسیم نقش‌های مدیریتی به یک کاربر هاست و مدیران پرتال‌ها دارا می‌باشد. بدین ترتیب شما با یکبار تهیه فضای هاست قادر خواهید بود تا چندین پرتال که هر کدام دارای مدیر، کاربران و ظاهری منحصربه‌فرد باشد را ایجاد نمایید.

### تقدم در امنیت

تأکید اصلی Dotnetnuek بر امنیت نظیر اعتبارسنجی فیلدهای ورودی، کدسازی محتوا، رفع باگ‌ها و تهدیدهای بالقوه بوده‌است.

### کاملاً قابل سفارشی‌سازی

شما می‌توانید با تغییر فایل Style sheet اصلی تغییراتی را بر روی کل پرتال اعمال نمایید یا پوسته هر پرتال را به‌طور مجزا ویرایش نمایید.

### کاملاً قابل بومی‌سازی

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

### اینترفیس‌های کاملاً کاربرپسند

رابط‌های کاربر بکار رفته در این برنامه نظیر، ویزارد ساخت سایت، راهنمای جامع، آیکن‌ها و … عملکرد و کاربری ساده‌ای را برای کاربران و مدیران سایت فراهم آورده‌است.

### دسترسی آسان به پشتیبانی

با توجه به وجود یک تیم برنامه‌نویسی اختصاصی برای این برنامه و بیش از ۵۳۰٫۰۰۰ کاربر عضو در سایت و شرکت‌های توسعه دهنده این برنامه، پشتیبانی از این برنامه همواره در کنار شما خواهد بود.

مدیریت امنیت
------------

### نصب یک یا چند پرتال

پرتال Dotnetnuke طوری طراحی شده‌است که بتواند با یکبار نصب و بهره‌گیری از تنها یک پایگاه داده چندین پرتال را راه اندازی و پشتیبانی نماید که به کمک این ویژگی می‌توان با یکبار تهیه فضای هاست صاحب چندین سایت شد. این امر برای شرکت‌هایی که قصد دارند تا وب‌گاه‌های اختصاصی به آزاری هر یک از بخش‌های شرکت خود داشته باشند بسیار ایده‌آل می‌باشد.

### نقش کاربری Host و Administrator

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

### نقش‌های امنیتی و محتوای سایت

پرتال Dotnetnuke این امکان را برای مدیر سایت فراهم کرده که بتواند نقش‌های مختلف را تعریف کرده و این نقش‌ها را به گروه‌های کاربری مختلف انتساب دهد. نقش‌هایی نظیر اعضاء سایت، مشترکین، مدیران انجمن و … نمونه‌هایی از این نقش‌ها می‌باشند؛ بنابراین مدیر سایت می‌تواند مجوز ویرایش را به گروه‌های مد نظر خویش اعطا نماید. وقتی کاربری با نام کاربری خود وارد سایت می‌شود می‌تواند قسمت‌هایی را که مجوز ویرایش دارد، ویرایش نماید. این مجوز می‌تواند مربوط به امکان ویرایش کل پرتال، یک صفحه از پرتال یا حتی یک ماژول از صفحه‌ای خاص باشد. همچنین هر کاربر ممکن است در بیش از یک گروه کاربری قرار گرفته باشد. در اینصورت این کاربر می‌تواند قسمت‌هایی که بنابر گروه کاربری در آن قرار دارد را ویرایش نماید.

### گزارش سایت Log

گزارشگر سایت این امکان را برای مدیر سایت فراهم می‌آورد تا بتواند هر دو گروه افرادی که بدون عضویت از سایت بازدید نموده‌اند یا اعضاء سایت را تجزیه و تحلیل نمایند. این قسمت گزارش‌های مفیدی نظیر: صفحات محبوب‌گاه، تعداد بازدید یک صفحه در روز، بازدید صفحه در یک ساعت، تعداد بازدید صفحه در هفته، بازدید صفحه در ماه، آمار ورود و خروج کاربران، عضویت کاربران بر اساس کشور، عضویت کاربران بر اساس تاریخ را برای مدیران سایت ارائه می‌دهد.

### مدیریت فروشندگان و تبلیغ دهندگان

پرتال Dotnetnuke بخشی را جهت مدیریت تبلیغات و اشخاصی که قصد نمایش تبلیغات خود در پرتال را دارند را در نظر گرفته‌است. مدیر سایت به کمک این بخش می‌تواند اطلاعات فردی و تماس با شخص تبلیغ دهنده و آبجکت‌های تبلیغاتی (بنرها، فایل‌های فلش، تصویر و …) را درون پرتال ذخیره کرده و گزارش دقیق از تعداد نمایش، هزینه نمایش تبلیغات به آزاری هر بار نمایش یا دوره زمانی خاص را مشاهده نماید.

### ارسال ایمیل

برنامه ارسال ایمیل بکار رفته در پرتال Dotnetnuek امکان ارسال ایمیل از طریق پرتال برای اعضاء سایت به تفکیک گروه‌های کاربری، نقش یا افراد خاص را فراهم می‌آورد.

### خبرنامه

ماژول خبرنامه امکان ارسال خبرنامه به گروه‌های کاربری یا اعضاء خاصی را فراهم می‌آورد. این خبرنامه‌ها با فرمت HTML ایجاد و ارسال می‌شوند و می‌توانند برای استفاده‌های بعدی بایگانی شوند.

### ماژول‌های قدرتمند

در سایت Dotnetnuke ماژول آمار کاربران، اطلاعات متنوعی را از اعضاء سایت نظیر: جزئیات عضویت سایت و افراد آنلاین (اعضاء و بازدید کنندگان) را نمایش می‌دهد. ماژول بازخورد امکان ارسال پیام توسط اعضاء یا بازدیدکنندگان به مدیران سایت را فراهم می‌آورد. ماژول حساب کاربران امکان افزودن، ویرایش یا حذف مشخصات کاربران را فراهم می‌آورد. ماژول نظرسنجی امکان برگزاری یک نظرسنجی آنلاین را فراهم می‌آورد؛ و نهایتاً ماژول تماس‌ها که اطلاعات مربوط با نحوه تماس با شخص، گروه یا یک تیم را ذخیره می‌نماید.

| * ن
* ب
* و
چارچوب نرم‌افزاری تحت وب |
| --- |
| ای‌اس‌پی‌دات‌نت | 
* ای‌اس‌پی‌دات‌نت ام‌وی‌سی
* 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 (ارلنگ)

 |

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

* زبان‌های برنامه‌نویسی در فناوری دات‌نت

1. ↑  mattwojo. «Web development on Windows». *learn.microsoft.com* (به انگلیسی). دریافت‌شده در ۲۰۲۳-۰۵-۰۹.