جستجو در تک بوک با گوگل!

تابعيت پايگاه تك بوك از قوانين جمهوري اسلامي ايران

سیستم های مدیریت محتوی (cms)

664

بازدید

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

فصل اول
سیستم های مدیریت محتوی (cms)
 

دنیای امروز دنیای اطلاع رسانی است. در صحنه رقابت تنگاتنگی که امروزه بین شرکتها و موسسات وجود دارد، یکی از اصول اولیه برای بقا و پیشرفت اطلاع رسانی صحیح و لحظه به لحظه است. واضح است که اولین وسیله ارتباطی و اطلاعاتی در عصر حاضر شبکه جهانی اینترنت می‌باشد. تقریبا هیچ شرکت یا موسسه ای را در دنیا نمی‌توانید پیدا کنید که در زمینه کاری خود موفق باشد بدون اینکه از طریق وب سایت اینترنتی خود را به دیگران معرفی کرده باشد. با توجه به اهمیت بالایی که پایگاه های اینترنتی در دنیای تجارت دارند،‌معمولا مدیران ارشد شرکتها تمایل دارند خود شخصا بر محتویات آن نظارت داشته باشند این در حالی است که آنان معمولا فاقد دانش فنی در مورد نحوه طراحی و تولید و ایجاد تفکرات در یک سایت اینترنتی هستند. در این موارد سیستم مدیریت محتوا می‌تواند بهترین راه حل باشد. سیستم مدیریت محتوا CMS چیست؟ این سیستم ها که امروزه در وب به نام CMS شناخته می‌شوند مخفف Content Management System می‌باشند که یک برنامه نرم افزاری روی سرور هستند و به مدیر سایت اجازه می‌دهند تا بدون نیاز به طراحی دوباره سایت محتوای سایت را تغییر دهد. سیستم مدیریت محتوای سایت این امکان را به شما می‌دهد خودتان سایت خود را تولید کرده و آن را به طور کامل مدیریت نمایید و برای این امر نیاز به دانش تخصصی در این زمینه ندارید. با استفاده از این نرم افزار بسیار ساده تر از آنچه تصور کنید می‌توانید بخشهای مختلف سایت خود را مدیریت کنید بخشهای جدید ایجاد کرده و به سایت خود اضافه کنید و یا محتویات آنها را تغییر دهید. برای این منظور حتی لازم نیست اطلاعات را مجددا بر روی وب سرور خود بارگذاری کنید. کلیه این تغییرات بلافاصله پس از آنکه دستور تغییر وارد می‌شود اعمال می‌شوند همه چیز بسیار ساده تر از آنچه شما تصور می‌کنید انجام خواهد شد. چرا شما یک CMS لازم دارید؟ اگر سایت شما هر چند وقت یکبار به روز می‌شود می‌توانید بجای اینکه هر بار به یک شرکت طراحی وب مراجعه کنید خودتان با استفاده از برنامه های مدیریت محتوا تغییراتتان را روی سایت اعمال کنید.
مزایای سیستم های مدیرت محتوا
چیست و چگونه می توان آنها را به طور موفق پیاده سازی کرد؟ برای روشن شدن معنای عبارت «مدیریت محتوا» باید گفت توصیف آن وابسته به نیازمندی های سازمان دارد و یا این که ارائه دهنده CMS چه امکاناتی را فراهم آورده است، در حال حاضر هدف و یا استاندارد مشخصی برای سیستم های مدیریت محتوا وجود ندارد که بتواند نیازهای متنوع مطرح شده موجود در صنعت IT مرتبط با سازمان ها را پوشش دهد.
بنابر این عامل موفقیت در اجرا و پیاده سازی یک سیستم مدیریت محتوا می تواند راه‌اندازی و ارزیابی کامل یکی از کاربردهای مشخص تجاری سازمان با فرآیند های مشخص موجود سازمان باشد. به عنوان مثال می تواند گردش اسناد رسیدگی به درخواست های مشتریان یا فرایند پرداخت حقوق و مطالبات بیمه ای یا فرآیند گردش حساب های پرداختنی یا هر فرآیند شناخته شده دیگر سازمان باشد. یکی از این فرآیندها را بتوانید پیاده کنید می توانید راحتتر در مورد انتخاب سیستم مدیریت محتوا تصمیم بگیرید. تا سیستم پیاده شده نزدیکترین وضعیت را به فرایندها و کاربردهای سازمان داشته باشد. سرانجام باید گفت که اجرای موفق باید مزایای تجاری برای سازمان در برداشته باشد.
آنهایی که توانسته اند سیستم های مدیریت محتوا را موفق اجرا کنند مزایای پایه ای این سیستم را چنین بیان می کنند:
–    بهبود کارآیی تجاری 
–    کاهش هزینه های عملیاتی و اجرایی
–    سرعت بخشیدن به رسیدگی به اعتراضات و نارسائی ها
–    ارائه وسیعتر کالا و خدمات
–    کاهش میزان ریسک
بنابر این با ارزیابی آگاهانه و دقیق و ارای راه حلی که نیازهای تجاری را پوشش دهد، سازمان خواهد توانست به افزایش تولید، رضایت مشتری و سود دهی مناسب دست یابد. ایا سیستم های مدیریت محتوای تحت وب برای سازمان های با توانایی مالی کم نیز وجود دارد؟ در مطرح کردن این سئوال قدری تامل کنید.
شیوه‌های مختلف ارزیابی cms ها
شیوه‌های مختلفی برای ارزیابی cmsها وجود دارد، هزینه ریالی اجرای سیستم‌ فقط یک وجه ارزیابی است. شما باید هزینه نبودن آن را نیز برطرف کنید. برای این منظور سوالات زیر را برای خود مطرح کنید و در پاسخ به آنها به این نکته توجه داشته باشید که، کل دانش سازمان از اطلاعات پایگاه داده گرفته تا آنچه کارمندان به عنوان دانش و مهارت می‌دانند، سرمایه و دانش فنی سازمان را تشکیل می‌دهد. در دسترس نبودن اطلاعات ذر سطوح مختلف سازمان چقدر هزینه، یا عدم سود دهی دارد؟ ریسک استفاده از اطلاعات قدیمی و نادقیق روی وب سایت و فرآیندهای در گردش سازمان چقدر است؟ هزینه بیمه شدن در مقابل این ریسک‌ها چقدر است؟ اگر مدیر IT یا مدیر سایت اینترنتی شما نباشد، چگونه می‌توانید اطلاعات قدیمی و نادقیق را تصحیح و جایگزین کنید.؟ با سرمایه‌گذاری نامناسب، همه این موضوع‌ها از طریق یک cms که موفق اجرا شود پوشش داده می‌شود.
گرچه ممکن است هزینه اولیه آن بالا به نظر برسد ولی سریعاً جایگزین خواهد شد. امروزه راه‌اندازی و راهبردی سایت‌های وب درگیر شدن با کد HTML نیست. ابزارهای CMS همه فرایند را خودکار سازی می‌کنند و بدون دانستن تکنولوژی صفحات وب می‌توانید بدون در نگرانی و تاخیر همیشه اطلاعات بروز ارائه دهید.
در نهایت، این تصویر شما است که افزایش سود‌دهی سازمان را در مقابل هزینه‌هایی که برای CMS می‌بینید تحقق خواهد بخشید. بنابراین با وجود آگاهی از این حقیقت که حجم و تعداد مستندات الکترونیک! افزایش روز افزون غیر قابل تصور دارند، CMS ها با هر تعریفی جزء ابزارهای مهم و کارآمد صنعت IT خواهند بود. می‌توانید با اطمینان در زمینه‌های CMS سرمایه‌گذاری کنید، چرا که میزان فروش سیستم‌های مدیریت محتوا در سطح دنیا در سالهای ۲۰۰۰ تا ۲۰۰۳ با ۳۵ درصد افزایش ، ۳ میلیارد دلار بوده است. استفاده از CMS به جای روش قدیمی صفحات ثابت از لحاظ تجاری و اقتصادی مزایای بسیار زیادی دارد از جمله:
•    صرفه‌جویی در زمان برای ایجاد و بروزرسانی صفحات وب
•    سازگاری و استحکام بیشتر
•    راهبردی (navigation) پیشرفته
•    کنترل نامتمرکز سایت
•    امنیت بالاتر وب سایت
•    کاهش ورود اطلاعات تکراری
•    کاهش چشمگیر هزینه‌های نگهداری
قابلیت‌های لازم برای یک CMS
در زیر برخی قابلتیهایی که برای یک CMS لازم است و حتماً قبل از اتخاذ تصمیم نهایی برای استفاده از آن باید در نظر گرفته شود آمده است:
•    چه سرویسها و خدماتی ارائه می‌کند، مثلاً برای تهیه backup مرتب از مطالب
•    محدودیتهای سخت‌افزاری و شبکه
•    سیستم‌های عاملی که CMS با آنها سازگار است.
•    از چه web- serverهایی پشتیبانی می‌کند؟
•    آیا بازدید کنندگان سایت شما، نزم‌افزار یا plug- in دیگری نیاز دارند؟
•    CMS از چه مرورگرهایی پشتیبانی می‌کند؟
•    امکان ورود و خروج اطلاعات  از سیستم به برنامه دیگر چگونه است؟
•    راهنما و document های ارائه شده چقدر نیاز شما را برای تماس با بخش پشتیبانی کاهش می‌دهد؟
•    آیا شرکت پشتیبانی ۲۴ ساعته و موثر برای مشکلات احتمالی دارد؟
•    آیا قابلیت جستجوی مطابل برای بازدیدکننده وجود دارد؟
•    چه تضمینی برای امنیت مطالب شماو قابلت کنترل غیر متمرکز را دارد؟
•    امکان تغییر واسط کاربری با طرح گرافیکی به راحتی وجود دارد؟
•    آیا امکان ثبت سوابق وب سایتlogging وجود دارد؟
چرا شمایک CMS لازم دارید؟
اگر سایت شما هر چند وقت یکبار (مثلاً هز دو هفته) به روز می‌شود می‌توانید به جای اینکه هر بار به یک شرکت طراحی وب مراجعه کنید، خودتان با نصب یکی از این برنامه‌های مدیریت محتوا، تغیراتتان را روی سایت اعمال کنید.
اگر شما سایت خود را اصلاً بروز نمی‌کنید، باید کم کم به فکر بیافتید، چون بیننده‌های شما وقتی هیمشه با یک صفحه همیشگی روبه‌رو شوند کم کم شما را فراموش می‌کنند، چون چیز جدیدی برای عرضه ندارید.
یک CMS چه امکاناتی دارد؟
طیف وسیعی  از امکانات اکثراً CMS ها در ورژن‌های مختلف و با قابلیت‌های مختلف در بازار عرضه می‌شوند. البته قابلیت ‌بروز کردن اطلاعات در همه مشترک است اما قابلیتهای ویژه دیگری دارند که با قیمت‌های مختلف به شما پیشنهاد می‌دهند. از جمله:
۱-    مدیریت اطلاعات فرستاده شده توسط کاربران و تایید اطلاعات
۲-    چند زبانه بودن.
۳-    ایجاد نقشه سایت داینامیک
۴-    امکان ایجاد تجارت الکترونیک با فروشگاه مجازی
۵-    ایجاد فرم برای دریافت اطلاعات کاربران
۶-    بهینه سازی تصاویر آپولود شده
۷-    ایجاد و بروز کردن متاتگ ها
۸-    امکان جستجو در مطالب سایت.
۹-    امنیت بیشتر
۱۰-    گرایش آمار بازدید ازصفحات
۱۱-    و …
CMSهای اطلاعاتی
این سیستم‌ها معمولاً کار طراحی صفحات سایت است. امکاناتی که این سیستم‌ها دارند تقریباً به شرح زیر است:
۱-    امکان فرستادن اطلاعات به سایت توسط چند کاربر .
۲-    آرشیوبندی اتوماتیک اطلاعات بر اساس تاریخ و موضوع
۳-    ایجاد امکان جستجو در اطلاعات قبلی
۴-    ایجاد لینک دائم برای هر مطلب و متا تگ برای آن
۵-    و امکانات جانبی دیگر مثلاً ایجاد یک صفحه به عنوان لینکستان و …

مزایای سیستم های مدیرت محتوا
چیست و چگونه می توان آنها را به طور موفق پیاده سازی کرد؟ برای روشن شدن معنای عبارت «مدیریت محتوا» باید گفت توصیف آن وابسته به نیازمندی های سازمان دارد و یا این که ارائه دهنده CMS چه امکاناتی را فراهم آورده است، در حال حاضر هدف و یا استاندارد مشخصی برای سیستم های مدیریت محتوا وجود ندارد که بتواند نیازهای متنوع مطرح شده موجود در صنعت IT مرتبط با سازمان ها را پوشش دهد.
بنابر این عامل موفقیت در اجرا و پیاده سازی یک سیستم مدیریت محتوا می تواند راه‌اندازی و ارزیابی کامل یکی از کاربردهای مشخص تجاری سازمان با فرآیند های مشخص موجود سازمان باشد. به عنوان مثال می تواند گردش اسناد رسیدگی به درخواست های مشتریان یا فرایند پرداخت حقوق و مطالبات بیمه ای یا فرآیند گردش حساب های پرداختنی یا هر فرآیند شناخته شده دیگر سازمان باشد. یکی از این فرآیندها را بتوانید پیاده کنید می توانید راحتتر در مورد انتخاب سیستم مدیریت محتوا تصمیم بگیرید. تا سیستم پیاده شده نزدیکترین وضعیت را به فرایندها و کاربردهای سازمان داشته باشد. سرانجام باید گفت که اجرای موفق باید مزایای تجاری برای سازمان در برداشته باشد.
آنهایی که توانسته اند سیستم های مدیریت محتوا را موفق اجرا کنند مزایای پایه ای این سیستم را چنین بیان می کنند:
–    بهبود کارآیی تجاری 
–    کاهش هزینه های عملیاتی و اجرایی
–    سرعت بخشیدن به رسیدگی به اعتراضات و نارسائی ها
–    ارائه وسیعتر کالا و خدمات
–    کاهش میزان ریسک
بنابر این با ارزیابی آگاهانه و دقیق و ارای راه حلی که نیازهای تجاری را پوشش دهد، سازمان خواهد توانست به افزایش تولید، رضایت مشتری و سود دهی مناسب دست یابد. ایا سیستم های مدیریت محتوای تحت وب برای سازمان های با توانایی مالی کم نیز وجود دارد؟ در مطرح کردن این سئوال قدری تامل کنید.
شیوه‌های مختلف ارزیابی cms ها
شیوه‌های مختلفی برای ارزیابی cmsها وجود دارد، هزینه ریالی اجرای سیستم‌ فقط یک وجه ارزیابی است. شما باید هزینه نبودن آن را نیز برطرف کنید. برای این منظور سوالات زیر را برای خود مطرح کنید و در پاسخ به آنها به این نکته توجه داشته باشید که، کل دانش سازمان از اطلاعات پایگاه داده گرفته تا آنچه کارمندان به عنوان دانش و مهارت می‌دانند، سرمایه و دانش فنی سازمان را تشکیل می‌دهد. در دسترس نبودن اطلاعات ذر سطوح مختلف سازمان چقدر هزینه، یا عدم سود دهی دارد؟ ریسک استفاده از اطلاعات قدیمی و نادقیق روی وب سایت و فرآیندهای در گردش سازمان چقدر است؟ هزینه بیمه شدن در مقابل این ریسک‌ها چقدر است؟ اگر مدیر IT یا مدیر سایت اینترنتی شما نباشد، چگونه می‌توانید اطلاعات قدیمی و نادقیق را تصحیح و جایگزین کنید.؟ با سرمایه‌گذاری نامناسب، همه این موضوع‌ها از طریق یک cms که موفق اجرا شود پوشش داده می‌شود.
گرچه ممکن است هزینه اولیه آن بالا به نظر برسد ولی سریعاً جایگزین خواهد شد. امروزه راه‌اندازی و راهبردی سایت‌های وب درگیر شدن با کد HTML نیست. ابزارهای CMS همه فرایند را خودکار سازی می‌کنند و بدون دانستن تکنولوژی صفحات وب می‌توانید بدون در نگرانی و تاخیر همیشه اطلاعات بروز ارائه دهید.
در نهایت، این تصویر شما است که افزایش سود‌دهی سازمان را در مقابل هزینه‌هایی که برای CMS می‌بینید تحقق خواهد بخشید. بنابراین با وجود آگاهی از این حقیقت که حجم و تعداد مستندات الکترونیک! افزایش روز افزون غیر قابل تصور دارند، CMS ها با هر تعریفی جزء ابزارهای مهم و کارآمد صنعت IT خواهند بود. می‌توانید با اطمینان در زمینه‌های CMS سرمایه‌گذاری کنید، چرا که میزان فروش سیستم‌های مدیریت محتوا در سطح دنیا در سالهای ۲۰۰۰ تا ۲۰۰۳ با ۳۵ درصد افزایش ، ۳ میلیارد دلار بوده است. استفاده از CMS به جای روش قدیمی صفحات ثابت از لحاظ تجاری و اقتصادی مزایای بسیار زیادی دارد از جمله:
•    صرفه‌جویی در زمان برای ایجاد و بروزرسانی صفحات وب
•    سازگاری و استحکام بیشتر
•    راهبردی (navigation) پیشرفته
•    کنترل نامتمرکز سایت
•    امنیت بالاتر وب سایت
•    کاهش ورود اطلاعات تکراری
•    کاهش چشمگیر هزینه‌های نگهداری
قابلیت‌های لازم برای یک CMS
در زیر برخی قابلتیهایی که برای یک CMS لازم است و حتماً قبل از اتخاذ تصمیم نهایی برای استفاده از آن باید در نظر گرفته شود آمده است:
•    چه سرویسها و خدماتی ارائه می‌کند، مثلاً برای تهیه backup مرتب از مطالب
•    محدودیتهای سخت‌افزاری و شبکه
•    سیستم‌های عاملی که CMS با آنها سازگار است.
•    از چه web- serverهایی پشتیبانی می‌کند؟
•    آیا بازدید کنندگان سایت شما، نزم‌افزار یا plug- in دیگری نیاز دارند؟
•    CMS از چه مرورگرهایی پشتیبانی می‌کند؟
•    امکان ورود و خروج اطلاعات  از سیستم به برنامه دیگر چگونه است؟
•    راهنما و document های ارائه شده چقدر نیاز شما را برای تماس با بخش پشتیبانی کاهش می‌دهد؟
•    آیا شرکت پشتیبانی ۲۴ ساعته و موثر برای مشکلات احتمالی دارد؟
•    آیا قابلیت جستجوی مطابل برای بازدیدکننده وجود دارد؟
•    چه تضمینی برای امنیت مطالب شماو قابلت کنترل غیر متمرکز را دارد؟
•    امکان تغییر واسط کاربری با طرح گرافیکی به راحتی وجود دارد؟
•    آیا امکان ثبت سوابق وب سایتlogging وجود دارد؟
چرا شمایک CMS لازم دارید؟
اگر سایت شما هر چند وقت یکبار (مثلاً هز دو هفته) به روز می‌شود می‌توانید به جای اینکه هر بار به یک شرکت طراحی وب مراجعه کنید، خودتان با نصب یکی از این برنامه‌های مدیریت محتوا، تغیراتتان را روی سایت اعمال کنید.
اگر شما سایت خود را اصلاً بروز نمی‌کنید، باید کم کم به فکر بیافتید، چون بیننده‌های شما وقتی هیمشه با یک صفحه همیشگی روبه‌رو شوند کم کم شما را فراموش می‌کنند، چون چیز جدیدی برای عرضه ندارید.
یک CMS چه امکاناتی دارد؟
طیف وسیعی  از امکانات اکثراً CMS ها در ورژن‌های مختلف و با قابلیت‌های مختلف در بازار عرضه می‌شوند. البته قابلیت ‌بروز کردن اطلاعات در همه مشترک است اما قابلیتهای ویژه دیگری دارند که با قیمت‌های مختلف به شما پیشنهاد می‌دهند. از جمله:
۱۲-    مدیریت اطلاعات فرستاده شده توسط کاربران و تایید اطلاعات
۱۳-    چند زبانه بودن.
۱۴-    ایجاد نقشه سایت داینامیک
۱۵-    امکان ایجاد تجارت الکترونیک با فروشگاه مجازی
۱۶-    ایجاد فرم برای دریافت اطلاعات کاربران
۱۷-    بهینه سازی تصاویر آپولود شده
۱۸-    ایجاد و بروز کردن متاتگ ها
۱۹-    امکان جستجو در مطالب سایت.
۲۰-    امنیت بیشتر
۲۱-    گرایش آمار بازدید ازصفحات
۲۲-    و …
CMSهای اطلاعاتی
این سیستم‌ها معمولاً کار طراحی صفحات سایت است. امکاناتی که این سیستم‌ها دارند تقریباً به شرح زیر است:
۶-    امکان فرستادن اطلاعات به سایت توسط چند کاربر .
۷-    آرشیوبندی اتوماتیک اطلاعات بر اساس تاریخ و موضوع
۸-    ایجاد امکان جستجو در اطلاعات قبلی
۹-    ایجاد لینک دائم برای هر مطلب و متا تگ برای آن
۱۰-    و امکانات جانبی دیگر مثلاً ایجاد یک صفحه به عنوان لینکستان و …

 

فصل دوم:
Postnuke
 
بخش اول: کلیات postnuke
معرفی postnuke
Postnuke یک بسته نرم افزاری است که برای مدیریت محتوی، انجمن ها و همکاری بر روی سایت ایجاد شده است. این بسته به عنوان یک نرم افزار opensource به طور رایگان، تهیه شده است (تحت لیسانس عمومی‌GNU)
به عبارت دیگر postnuke انحصاری شده وقانون کپی رایت دارد اما در مقابل ما آزادی های بیشتری داریم.
ما در اینجا مجاز به کپی کردن، استفاده و تغییر post nuke هستیم البته در صورتیکه موافق نکات زیر باشیم.
-سرویس برنامه را به دیگران بدهیم
-مجوز اصلی و کپی رایت را حذف نکنیم و یا تغییر ندهیم و همین مجوز را برای هر کاری مشتق شده دیگر به کار ببریم.
مجوز را کاملا با تمام جزئیات مطالعه کنیم و اگر سوالی داشتیم مستقیما با مسئول کپی رایت تماس بگیریم.
Postnuke روی هر کامپیوتری که می‌تواند php را اجرا کند وانوع مختلفی از پایگاه داده مخصوصا mysql را پشتیبانی می‌کند، می‌تواند اجرا شود.
کلمه postnuke به خاطر این برای این نرم افزار انتخاب شده است که این پروژه یک انشعاب از php- nuke است از این رو نام آن nukenpost انتخاب شده است.
سابقه postnuke
Postnuke یک توسعه دهنده فعال و پر جنب و جوش جهانی و مبتنی بر کاربر دارد. توسعه آن توسط پنج عنصر بنیادی آغاز شده است.
بسیار سخت است که بگوییم این نرم افراز برای استفاده، آسان باشد در حقیقت این نرم افزار باید تا حد امکان حسی و مبتنی بر درک مستقیم باشد.
همزمان با رشد و گسترش postnuke و انجمن ها، ورودی های بیشتری از گستره متفاوتی از مردمی‌که درموقعیت های واقعی متفاوت بودند، دریافت شده است. مثلا هم اکنون postnuke نه تنها روی سایت های کوچک سر گرمی‌استفاده می‌شود، بلکه در تجارت های کوچک دبیرستانها و شرکت ها هم استفاده شده است.
تعداد روبه رشدی از مردم اطراف دنیا در حال همکاری کردن با postnuke به طرق مختلف هستند.
یک ویژگی مهم postnuke سایت آن است که یک نقطه مرکزی برای اطلاعات، بحث و همکاری بین کاربرانی که جز مدیران سیستم، طراحان وب، محققین و توسعه دهندگان هستند، فراهم می‌کند همانند postnuke، این سایت همیشه در حال رشد است تا متناسب با نیازهای انجمن باشد و مانند postnuke همیشه رایگان خواهد بود. به عبارت دیگر طراحی و توسعه postnuke و توسط یک فلسفه خاص از تقسیم کار و باز خورد به انجمن هدایت شده است.
مجوز postnuke
نام postnuke یک نام تجاری ثبت شده است و ما مجازیم که نام این نر افراز را برای هر فعالیتی که وابسته به این نرم افزار است، استفاده کنیم.
این برنامه، نرم افزار رایگان است و می‌توانیم آن را دوباره توزیع کنیم ویا تحت شرایط مجوز عمومی‌کلی GNU چناکه توسط بنیاد نرم افزاری رایگان منتشر شده است. به عنوان نسخه شماره ۲ مجوز یا هر نسخه بعدی دیگر آن را اصلاح کنیم.
این برنامه با امید به اینکه مفید خواهد بود توزیع شده اما هیچ گارانتی حتی برای قابلیت بازرگانی یا تناسب داشتن برای هدف خاصی ندارد.
خصوصیات اصلی postnuke
Postnuke یک محصول فعال و در حال رشد است در زیر بعضی از خصوصیات وعملکردها و توابع درونی آن لیست شده است.
–    واسط ساده کم حجم، موثر، سازگار و با تکنولوژی آسان مرورگر
–    قابلیت نصب آسان روی غلب ایستگاههایی که php را پشتیبانی می‌کنند و تنها به یک پایگاه داده احتیاج دارد البته قابلیت اشتراک هم دارد.
–    پشتبیانی مطلق پایگاه داده در بیشتر قسمتهای مهم پایگاه
–    تاکید بر روی امنیت قوی به طور کل، تمام فرمها چک شده اند، داده ها معتبرند و …
–    بیشتر نواحی ورود متن از منابع، اتاق گفتگو، ورودی ژورنال ها و …) می‌تواند با استفاده از یک ویرایشگر HTML داخلی wysiwyG  ویرایش شوند.
–    سایت توسط یک کاربر admin که در طول نصب تعریف می‌شود، مدیریت می‌شود.
–    قابلیت های plug – in به کاربران یا مدیر اجازه می‌دهد که سایت خود را سفارشی کنند.
–    ماژول های plug- in می‌توانند به برنامه های نصب postnuke اضافه شوند.
–    بسته های زبان plug- in اجازه می‌دهند که هر زبانی را به صورت کاملا محلی داشته باشیم. هم اکنون بیش از ۳۴ بسته زبان وجود دارند.
–    کد برنامه php قابل فهم و روشن نوشته شده تحت یک مجوز GPL است، به راحیت قابل تغییر است تا متناسب با نیاز ما در آید.
–    اهداف برنامه این است که درگیری مدیر را به حداقل مقدار کاهش دهد در حالیکه امنیت را در سطح بالا نگه می‌دارد.
–    با پشتبیانی کردن از محدوده ای از مکانیزم های سندیت از طریق ماژول های تصدیق و سندیت plug- in اجازه بر قراری  قانون جامعیت آسان، توسط سیستم های موجود را می‌دهد.
–    روش LDAP: حساب های ورودی کاربران می‌توانند از طریق یک سرور LDAP بررسی شوند. مدیر می‌تواند مشخص کند چه فیلد هایی استفاده شود.
–    IMAP، POP3، NNTP: حساب های ورودی کاربران از طریق یک سرور پست الکترونیکی یا اخبار بررسی می‌شوند. SSL، گواهی نامه ها و TSL پشتیبانی می‌شوند.
–    پایگاه داده خارجی: هر پایگاهی که حداقل شامل دو فیلد باشد می‌تواند به عنوان یک منبع سندیت خارجی استفاده شود.
–    هر شخص تنها به یک حساب برای کل سرور احتیاج دارد. هر حسابی می‌تواند قابلیت های دسترسی متفاوتی داشته باشد.
–    هر کاربر می‌توانند محدوده زمانی خودش را تعریف کند و هر تاریخی در postnuke به آن محدوده زمانی ترجمه می‌شود.
–    هر کاربر می‌تواند زبانی را که برای واسط postnuke استفاده می‌شود. (انگلیسی، فرانسوی، آلمانی، اسپانیایی، پرتقالی و ….) انتخاب کند.
–    امکان جستجو در سایت
–    API پیشرفته (واسط برنامه نویسی کاربردی)
–    ترویج همکاری، ارتباط و انجمن ها در محدوده مفاد و مندرجات
–    سیستم مجوزهای گروهی پیشرفته کاربر و همچنین لیست کوتاهی از ماژول های قابل دسترس به شرح زیر است.
–    انتشار اخبار
–    مدیریت محتوی
–    منابع قابل استفاده RSS
–    محل اخذ آراء
–    ماژول های پرچم ها و علائم
–    ماژول های توضحیات (اجازه می‌دهد ماژول های دیگر که شامل فایل های دانلودی لینک های وب، اخبار و نشریات می‌باشند، توضحیات خود را به محتویات ارسال شده بچسبانند.
–    ماژول FAQ
–    ماژول اتاق گفتگو
–    ماژول لیست اعضا
–    ماژول پیغام خصوصی

بخش دوم: نصب postnuke
این بخش چگونگی نصب postnuke را برای اولین بار نشان می‌دهد و به بعضی از جزئیات درباره برخی از مراحل آن می‌پردازد تا گوناگونی گسترده ای از تفاوت های کمی‌که بین نصب وب سرورها است را پوشش دهد بنابراین این بخش از سند ممکن است طولانی و پیچیده به نظر برسد.
بخش های این سند شامل:
۱-    نیازمندیها
۲-    دانلود
۳-    ساختار فایل
۴-    ایجاد یک فهرست داده
۵-    ایجاد یک پایگاه داده
۶-    تنظیمات مجوز برای فایل config.php
۷-    استفاده از سایت postnuke
Postnuke در ابتدا در لینکوس و با استفاده از mysql , Apache و php توسعه داده شده اما متناوبا توسط postgresql روی macos , windowsxp و سیستم عامل های ؟ ۶، آزمایش شد.
موارد مورد نیاز برای نصب postnuke به شرح زیر است:
۱-    نرم افزار وب سرور، اغلب مردم از Apache استفاده می‌کنند اما postnuke باید روی هر وب سروری که از php پشتیبانی می‌کند مثل ISS روی سکوی windows ، به خوبی کار کند.
۲-    زبان اسکریپتی php (نسخه ۴٫۱٫۰ به بعد) با تنظیمات زیر:
–    کتابخانه GD فعال با قابلیت پشتیبانی برای فرمت های PNG , JPG
–    کتابخانه zlib فعال اگر می‌خواهید از backup/ restore روی sindows استفاده کنید) sessions support فعال باشد.
–    قابلیت file, uploading فعال
–    باید safe mode غیر فعال باشد.
۳-    یک سرور پایگاه داده در حال کار و فعال: mysql یا potgresql کاملا پشتیبانی می‌شوند و برای استفاده با postnuke پیشنهاد می‌شوند.
اگر می‌خواهید postnuke ر روی کامپیوتر شخصی خود اجرا کنید مراحل زیر را گام به گام اجرا کنید.
Apache (و یا IIS)، mysql و php را نصب کنید نصب این نرم افزار ها شامل مراحل گام به گامی‌روی اغلب سکوها است.
دقت کنید، ابتدا باید Apache (یا IIS) نصب شوند و سپس نرم افزار های دیگر روی آن نصب شوند/
بعد از دانلود کردن و باز کردن بسته های آرشیوی یا بررسی کردن فایل ها از طریق cvs، فهرست شاخه ای به نام postnuke برای ما باقی خواهد ماند که شامل تعدادی فایل و فولدر است.
ما می‌توانیم کل فولدر را در فهرست مستندات وب سرورمان قرار دهیم که این حالت سایت در آدرس http:/ your web server. Com/ postunke قرار خواهد گرفت و یا اینکه تمام محتویات را مستقیما داخل فهرست مستندات وب سرور اصلی قرار دهیم که دراین حالت آدرس سایت به آسانی http:/ your web server. Com خواهد بود.
در اینجا خلاصه مختصری از محتویات فولدر postnuke را آورده ام تا برای جهت دهی شما را کمک کند.
ابتدا نیاز داریم یک پایگاه داده خالی (مثلا به نام postnuke) در داخل پایگاه داده سیستم خود همراه با یک کاربر مخصوصی (مثلا postnuke user) که فقط به این پایگاه دسترسی دارد ایجاد کنیم. اگر بخواهیم می‌توانیم از کاربر root استفاده کنیم اما این کار برای یک سیستم تولیدی توصیه نمی‌شود چرا که اگر هکرهایی بخواهند که رمز را کشف کنند تمام سیستم پایگاه داده به جای فقط یک پایگاه داده در معرض خطر قرار می‌گیرد.

خطوط فرمان نمونه برای mysql:
# mysql – u root – p
>create Database Postnuke
> grant select, inset, update, delete, create, drop , indexy alter on postmuke.*to postnukeuser   localhost indenfified by your password
> quit
Mysqladmin –p reload
خطوط فرمان نمونه برای posthtresql:
# su –post gres
>psql –c “create user postnukeuser createdb” , temp1
>psql –c “create database postnudei” – u postnukeuser temp1
>psql –c “alter user postnukeuser nocreatedb, temp1
االبته در مورد کار با my sql من پیشنهاد می‌کنم که از نرم افزار php my admiu برای مدیریت پایگاه داده ایجاد جداول خود استفاده کنید چرا که می‌توانید تمام این کارها را از طریق یک واسط وب انجام دهید به صورت گرافیکی وخیلی آسان.
 
شکل۱
در مرحله بعدی، مطمئن شوید یک ب سرورتان طوری نصب شده که فایل index. php را علاوه بر default. htm.index. html و …. به عنوان صفحه پیش فرض استفاده می‌کند. فقط در Apache این کار را با استفاده از پارامتر Directorydex در فایل httpd. Conf انجام می‌شود.
مطمئن شوید که  index. Php در لیست قرار دارد و برای کارایی بیشتر، ترجیحا در ابتدایی لیست باشد.
همچنین اگر در حال استفاده از Apache2 باشید باید متغیر Accept path Info که اجازه می‌دهد اسکریپت ها، آرگومانها را مانند http: // server/ file. Php/arg1/ arg2 ارسال کنند. فعال یا روشن کنید.
این کار برای مجوز دادن به لینک های وابسته بین منابع شما، ضروری است و همچنین برای کسانی که از وب سایت postnuke شما استفاده می‌کنند اجرا و کارایی بالایی را فراهم می‌کند.
شما می‌توانید از طریق اضافه کردن این خطوط به فایل httpd. Conf خودتان این متغیر را فعال کنید:
Accept path In fo on
و بالاخره،  postnukeبه تعدادی از تنظیمات php برای فعال کردن آن به منظور کار کردن احتیاج دارد.
باید اطمینان حاصل کنید که فایل های config تان مجوزهای صحیحی دارند. یعنی فایل های config- old. Php , cofig. Php شما باید world writable باشند و حتی باید pntemp و زیر شاخه هایش  هم world wrtable باشند. world sritable یعنی که مجموعه مجوز ۷۷۷ و ۶۶۶ متناسب با سیستم شما اگر که بر پایه یونیکس است)
پروسه نصب کاملا گرافیکی است که مجموعه ساده ای از مراحل را برای بالا آمدن و اجرای سایت فراهم می‌کند. فقط کافی است که دستورات صفحه وب را دنبال کند تا نصب انجام  شود، برنامه postnuke، پایگاه داده را نصب خواهد کرد و جداول سایت را هم برای ذخیره داده ایجاد خواهد کرد.
برای نصب سیستم postnuke فایل install. php را از مرورگر اجرا کنید تا فرآیند نصب شروع شود. URL دقیق آن به سایت ما بستگی دارد برای مثال اگر آدرس سایت www. Foo. Com باشد و postnuke در شاخه bor نصب شده باشد URL به شکل زیر خواهد شد.
http: // www foo. Com/ bar/ install. php
 
شکل۲

نکته ای که در اینجا لازم است به آن توجه شود این است که پوشه postnuke باید به حالت  webshare در آید تا بتوان آن را به راحتی در نوار آدرس، آدرس دهی کرد در حالتی که از localhost استفاده می‌کنیم آدرس به شکل زیر تغییر می‌کند.
http:/ localhost/postnuk/ html/ install. php
چون پوشه postnuke به حالت webshare در آمده در هر درایوی که باشد آدرس بالا صحیح خواهد بود اما اگر web share نباشد برای اینکه postnuke در شاخه / inetpub/ www root نصب ویندوز، ریخته شود.
در صحفحه اول نصب همانطور که در شکل  دیده شد زبان مورد نظر را انتخاب می‌کنید سپس در صبحه بعد مجوز GMU را به شما نشان می‌دهد.
 
شکل ۳

با رد شدن و تایید صفحه قبل، صفحه جدید می‌آید که مجوزهای فایل های مختلف از جمله config. Php و Gofig- old. Php را بررسی می‌کند یعنی chmodcheck را انجام می‌دهد.
در ادامه صفحه ای می‌آید که اطلاعات لازم برای ایجاد پایگاه داده و ارتباط با آن را از شما می‌پرسد تا شامل نام کاربر، کلمه عبور، …می‌باشد این اطلاعات در شکل زیر آورده است.
 
شکل ۴
بعد از تایپ و تنظیم این اطلاعات برنامه نصب صفحه جدیدی را نشان خواهد داد که همان اطلاعات وارد شده در صفحه قل توسط خود ما می‌باشد که اگر بخواهیم با دکمه edit می‌توانیم آن ها را ویرایش کنیم. در غیر اینصورت دو انتخاب دارم: نصب جدید یا new install که برای وقتی است که نصب را برای اولین بار انجام می‌دهیم ودکمه upgrade که در ادامه بحث خواهد شد.
 
شکل ۵

در صفحه بعدی با زدن علامت در کنار create database و سپس دکمه start شروع به ایجاد پایگاه داده و جداول آن خواهد کرد.
 
شکل ۶

اگر مراحل قبلی به درستی طی شده باشد و اطلاعات وارد شده برای ایجاد پایگاه داده رمز عبور کاربری معتبر باشند در این مرحله صفحه ای را خواهید دید که با پیغام db has been created و نشان دادن اسامی‌تمامی‌جداول پایگاه، ایجاد صحیح و درست پایگاه را به ما نشان می‌دهد.
 
شکل ۷
در پایان از شما خواسته خواهد شد که یک کاربر مدیر (یا admin) برای دسترسی در آینده ایجاد کنید برای این کار باید جزئیات راهمراه با اسم کاربر و کلمه عبور پر کنید و (create) را کلیک کنید. از آنجایی که برای دسترسی به سایت در آینده، اسم کاربر و کلمه رمز لازم و ضروری است مطمئن شوید که این دو مورد انتخابی را به خاطر دارید.
 
شکل۸
بعد از دادن اطلاعات کاربر admin داده های لازم فرستاده خواهد شد و مراحل نصب با پیغام finish به پایان خواهد رسید.
 
شکل ۹
بعد از اتمام نصب صفحه بعدی به شما اسکرییپت های فعال در postnuke و افرادموثر در گرد آوری این نرم افزار را معرفی خواهد کرد postnuke credit را به شما نشان می‌دهد و در این صفحه لینگی برای ورود به سایت و صفحه آغاز آن را در اختیار شما قرار می‌دهد.
 
شکل ۱۰

 
شکل ۱۱
وقتی با موفقیت وارد سایت شدید توجه کنید به لینک های administration که در پایین سمت چپ صفحه ظاهر می‌شوند. (این آیتم ها همچنین در صفحه مدیریت جداگانه ای ظاهر می‌شوند) این آیتم ها فقط برای شما قابل مشاهده هستند چرا که شما به عنوان کاربر مدیر یا admin با همان اسم کاربر و رمز عبوری که خود در هنگام نصب تعریف کرده بودید، وارد شده اید.
البته ذکر این نکته لازم است که در دفعه اولی که لینک administration را در صفحه ابتدایی سایت کلیک می‌کنید، صفحه ای می‌آید که به شما می‌گوید برای ادامه کار ودیدن امکانات صفحه administer باید ابتدا فایل و فولدر install که در پوشه اصلی postnuke هست را حذف کنید و سپس با کلیک بر روی continue صفحه administration وارد خواهید شد و تمام امکانات در اخیتار شما قرار می‌گیرد.
 
شکل ۱۲
اکنون تمام کارهای بعدی مدیریت postnuke شما می‌توانید از طریق این منوها انجام گیرد. به عنوان مثال ایجاد و حذف درس، ایجاد و ویرایش حساب کاربران، مدیریت حساب معلمان، تعویض تنظیمات سایت مانند قالب ها و …
 
شکل ۱۳
لازم است یاد داشته باشیم که در حالت نصب های جدید (new install) که پایگاه داده را هم ایجاد می‌کند کاربر mysql باید برای ایجاد پایگاه جدید اختیارات کامل داشته باشد اگر این طور نیست ابتدا پایگاه داده را ایجاد کنید و بعد به کاربر mysql خواسته شده، اختیارات کامل را بدهید، در نتیجه برای ماژول ها و برنامه نصب این امکان فراهم می‌شود که به طور آزادانه با پایگاه داده جدید فعل و انفعال داشته باشند و به درستی کار کنند هم اکنون postnuke، نسخه جدید php 4.2.x را به علاوه استاندارد امنیتی غیر قابل Apache 2.0.x , register- globals پشتیبانی می‌کند.
مراحلی که به همراه شکل ها آورده شد، مراحل نصب postnuke به صورت خود کار و گرافیکی بودند که توسط فایل install. php به صورت مرور گر وب انجام می‌شوند روش دیگری هم برای نصب وجود دارد و آن روش دستی است که در زیر اشاره مختصری به آن خواهم کرد.

روش نصب دستی
ابتدا در نرم افزار mysql می‌رویم (داخل پوشه my sql)) و در، فولدر mysql/Data یک پوشه برای بانک اطلاعاتی می‌سازیم وبه نام دلخواه تغییر می‌دهیم.
فایل postnuke , config. Php را باز می‌کنیم و به صورت دستی در قسمت مربوطه، اسم کاربر و رمز عبور مربوط به پایگاه داده را می‌نویسیم.
ضمنا در نرم افراز mysql در مسیر bin/ winsql می‌رویم و رمز عبور برای نرم افزار sql خود می‌دهیم.
سپس پوشه phoenix. Sql در فولدر phpmyadmin برای ساخت بانک خود به صورت دستی استفاده می‌کنیم. ابتدا در آدرس زیر می‌رویم تا نرم افزار phpmyadmin باز شود.
Localhost/ phpmyadmin/ index. php
با این کار صفحه این نرم افزار باز شده و سپس دکمه sql را می‌زنیم اطلاعات فایل
 phoenix .sql را در این قسمت paste می‌کنیم و بعد از تایید کردن نام پایگاه به همراه جدول هایش در لیست ظاهر می‌شود.
دقت کنیم که اگر روی سایت خیلی کار شده باشد و ضمنا مشکلی برای بانک پیش آید نباید کل بانک را پاک کرد بلکه باید نام آن جدول خاص را در phpmyadmin جستجو کنیم و آن جدول و آن خط خاص را تغییر دهیم و اصلاح کنیم.
ارتقاء یا upgrade کردن
Postnuke از ارتقاء تمام نسخه های قدیمی‌اش، همراه با تعداد زیادی از nuke های گوناگون دیگر پشتیبانی می‌کند.
برای انجام این کار نکات و مراحل زیر را باید درنظر گرفت.
۱-    قبل از انجام هر کاری از فایل ها و پایگاه داده خود پشتیبان گیری کنید، اگر در روند ارتقاء مشکلی وجود داشت پشتیبانی، تهیه کرده اید، به دو طریق به کمک شما می‌آید اول اینکه شما می‌توانید به عقب برگردید یعین به یک حالت قبل از ارتقاع و سایت شما می‌تواند با کد قدیمی‌اش در حال کار باقی بماند.
دوم اینکه تیم توسعه دهنده ممکن است که بخواهند از پایگاه داده یک کپی بگیرند تا مشکل را عینا و دقیقا ردیابی کنند و فرآیند ارتقاء را در همان جای اولی که برای شما مشکلاتی ایجاد کرده است ثابت کنند.
توجه: تا زمانی که این مرحله کامل نشده کار را ادامه ندهید.
۲) با استفاده از حساب admin وارد سایت شوید اطمینان یابید که تمام ماژول هایی که در زیر فهرست شده اند شروع به کار کردند و در حالت فعال هستید.
این گام هنگام ارتقاء یافتن به نسخه ۷۶۰ پس از اینکه تعدادی از ماژول های ضروری (modules, Blocks, admin)) در این انتشار ارتقاء یافتند، اساسی و حیاتی است.
Addstory (Ns- addstory)
Admin (or Ns-admin)
Admin – Messages(of Ns-Admin- Messages)
Blocks
Censor
Groups(or Ns- Greups)
Header- Footer
Logal
Lost password (or Ns- Lostpassword)
Mailer
Multisites (or- Ns- Multisites)
New user  (or Ns- New user)
Permissinons
pnRender
Search
Settings (or Ns- settings)
Submit- News
User (or Ns- user)
Xanthia
Your- Accomt (or – Ns-your – Account)
۳) اطمینان حاصل کنید که قالب (theme) پیش فرض سایت شما و قالب کاربر admin شما بر روی  نام Extralite تنظیم شده باشد.
ماژول xantia در این ساختار upgrade شده است و ماژول Extralite تنها قالب غیر xanthia یی است که در بر دارد.
۴) یک کپی از فایل config. Php را تهیه کند و در جایی مطمئن ذخیره کنید.
۵) اگر ارتقاع دادن شما از یک نسخه منتشر شده قدیمی‌که شامی‌کاژول های
pnrender , xanthia است می‌باشد مطمئن شوید که دایر کتوری هایpntemp , cache , compile خالی هستند.
۶) اگر تا به حال چنین کاری نکرده اید از فایل های قدیمی‌و پایگاه داده تان در یک مکان امن پشتیبان بگرید. تمام فایل هایی توزیع شده در داخل postnuke موجودتان را پاک کنید. فایل های توزیع شده جدید را در این مکان به جایش قرار دهید.
اگر شما ماژول های ۳rd party دارید و یا بلوک هانصب شده اند هم اکنون قبل از ادامه فرآیند ارتقاء آنها را از قسمت پشتیبان به داخل قسمت نصب جدیدتان کپی کنید.
۷) فایل config. Php را که در مرحله قبل ذخیره کردید، بردارید و در شاخه اصلی postnuke کپی کنید (همانی که همراه config- old. php , config. php است)
این فایل در فرآیند ارتقاء یا upgrade شدن استفاده خواهد شد.
هنگامی‌که در این مرحله هستید مطمئن شوید که با توجه به سیستم خود مجوزهای این دو فایل را به ۱۱۱ یا ۶۶۶ تنظیم کرده اید.
این کار به این خاطر لازم است که به php اجازه ارتقاء این فایل ها را بدهد بعد از اتمام مراحل نصب این مجوز را به ۴۶۶ تغییر دهید.
۸) اگر کار ارتقاء را از نسخه های زودتر از ۷۵۰ انجام می‌دهید تعدادی از ورودی های جدید دیگر هم در config .php هست که لازم است اضافه شود.
قسمت های زیر را دقیقا در زیر $ pncofig [encoded] اضافه کنید:
$ pnconfig [dbtabletype] = my I SAM
$ pnconfig [dbtabletype] = o
$ pnconfig [dbtabletype] = pntemp
و خط زیر را دقیقا در زیر $ pnconfig [dbtabletype] = o اضافه کنید:
$ pncongig [dbtabletype] = o;
۹) اگر کار ارتقاء را از نسخه های جدید تر از ۷۳۳ انجام می‌دهید فایل install. php را از مرور گرتان اجرا کنید تا مراحل نصب آغاز شود. URL دقیق سایت شما بستگی دارد. برای مثال اگر آدرس سایت شما www foo. Com باشد و postnuke در شاخه bar نصب شده باشد آدرس به صورت زیر خواهد بود.
http:// www. Foo. Com/ bar/ install. php
دستورات داخل اسکریپت را همانند فرآیند نصب که گفته شد، دنبال کنید و هنگامی‌که به مرحله انتخاب نصب یا ارتقاء (upgrade , new install) رسیدید، دکمه upgrade را انتخاب کنید، سپس نسخه postnuke (گونه دیگر nuke) را که مایلید از آن ارتقاء را انجام دهید، انتخاب کنید بقیه مراحل باید بوطور خودکار باشد.
۱۰) به خاطر اینه نسخه ۷۶۰: ماژول admin را ارتقاء می‌بخشد، احتمال دارد که لازم شود شما از طریق عبور از صفحه اصلی admin به ماژول کنترلر ماژول هایتان بروید.
http:// www. Foo. Com/ bar/ index.php? module=Modules &type= admin
تا زمانی که ماژول admin ارتقاء یابد این کار یکی از ملزومات است.
به عنوان قسمتی از کار ارتقاء ممکن است بعضی ماژول ها هم ارتقاء یابند از میان ماژول ها Admin ارتقاء می‌یابد و هر ماژولی که آن را لازم دارد را هم دوباره فعال می‌کند.
۱۱) ماژول جدید Admin، برای طبقه بندی ماژول ها مجاز است در طول مراحل ارتقاء این طبقه بندیهای تعریف می‌شوند اما ساکن و ثابت نمی‌شوند بنابراین تمام ماژول ها در طبقه بندی سه قسمتی (۳rd party)، نمایش داده می‌شوند. پیکر بندی ماژول Admin را اصلاح کنید یا تغییر دهید. و هر ماژول را به دسته و طبقه مناسبش اضافه کنید.
همچنین در این جا طبقه بندی ها می‌توانند تعریف و یا حذف شوند.
۱۲) اگر از یک قالب xanthia استفاده می‌کنید، فایل .htaccess برای URL های ساده شده در این انتشار، انعکاس دهد.
فایل های htaccess برای اشکال گوناگون URL های کوتاه را می‌توان در مسیر زیر یافت:
/modules/ xanthia/ pndocs/ pndocs/ short- urls.
هر تغییری که در فایل htaccess صورت گیرد، در فایل جدید هم نیاز به انجام دوباره آن خواهد بود.
نکته: نسخه های قبلی postnuke و مشتقات دیگر آن اغلب شامل plug- in هایی هستند که جداول اصلی پایگاه داده را از طریق اضافه کردن فیلدها، تغییر فیلدها، تغییر نام ها و تغییر می‌دهند.
باید توجه داشت که postnuke هیچ تغییر و اصلاحی از جداول اصلی آنهایی که با این نسخه منتشر postnuke آمده اند. یا دسترسی مستقیم به جداول اصلی پایگاه داده را پشتیبانی نمی‌کند. توابع API برای توسعه دهنگان فراهم شده است تا برای این اهداف از آنها استفاده کنند، بنابراین تغییرات از پیش طراحی شده کمترین اثر را روی عملیات افزایشی سه قسمتی دارند و باید در تمام زمانها مورد استفاده قرار گیرند.

خطاهای رایج نصب
– دو فایل world – writable, config- old. php نیستند. این فایل ها لازم است که توسط فرآیند وب سرور در مدت نصب یا ارتقاء قابل نوشتن شوند تا تضمین کنند که پارامترهای حتمی‌و مورد نیاز پیکر بندی، ذخیره شده اند.
تابع نصب باید این را بررسی کند و اگر فایل ها قابل نوشتن نبودند به شما هشدار دهد، توجه کنید هنگامی‌که کار نصب یا ارتقاء تکمیل شده باشد، این فایل ها می‌توانند دوباره به حالت فقط خواندنی تنظیم شوند.
–    اغلب به علت امتیارات نادرست mysqL  روی پایگاه داده مشکلات پایگاه را ایجاد می‌کنند اگر اطمینان به ااین وضعیت ندارید پس سعی کنید که به پایگاه دادهmysqL  تان توسط اسم کاربر و کلمه رمزی که دارید به صورت دستی، دسترسی پیدا کنید و سعی کنید یک پایگاه داده و جدول ایجاد کنید تا تضمین کنید که کاربر وجود دارد، رمز صحیح دارد و می‌تواند عملیاتی که postnuke برای نصب لازم دارد ر انجام دهد.

بخش سوم: مدیریت
افزودن صفحات HTML یا php به سایت
با استفاده از راه حل های سه بخشی، چندین روش برای این کار وجود دارد، Nuke wrapper که بهتر است آن را یک ابزار سودمند ساده بدانیم تا یک ماژول، اجازه می‌دهد صفحات با استفاده از قالب های انتخاب شده و یا بدون آنها نمایش داده شوند.
برای اضافه کردن صفحات php جداگانه ای که بتوانیم HTML به آنها اضافه کنیم از blank. Php استفاده می‌کنیم.
گزینه های دیگر برای اضافه کردن صفحات HTML شامل ماژول های سه بخشی زیر است.
Content express, HTML pages, paged, page setter, post wrap, static Docs.
همچنین برای یک صفحه HTML ساده می‌توانیم از ماژول start ازlottasophie  استفاده کنیم. این ماژول برای کار کردن به ترجمه توسط postnuke احتیاج دارد.  و به ما اجازه استفاده از فایل استاندارد HTML را به عنوان یک ماژول می‌دهد (به جز تگ های , ) البته باید توجه کنیم که بعضی از این ماژول ها مثل postnuke، صفحاتی را که قالبش توسط هر کار بر انتخاب شده است را ارائه نمی‌دهد.
نحوه تغییر در منوی اصلی
۱-    حذف، اضافه و ویرایش آیتم های منو
–    اگر بخواهیم تغیراتی را در منوی اصلی postnuke ایجاد کنیم باید مراحل زیر را به ترتیب انجام دهیم:
–    باید به عنوان مدیر سایت یا Adminis trator وارد شویم.
–    بر روی Administration کلیک کنیم.
–    روی Blocks کلیک کنیم.
–    در زیر عنوان Blocks، منوی را پیدا کنیم.
–    بر روی خط منوی اصلی، زیر گزینه options، روی edit کلیک کنیم
–    توسط نواز لغزان به قسمتی که content نام دارد، در جایی که یک جدول به همراه عنوان، URL وتوضیحات هر ماژول و برنامه است، به طرف پایین می‌آییم.
–    تغییر دلخواه را می‌دهیم.
–    در پایین صفحه روی commit changer کلیک می‌کنیم.
–    برای بررسی کردین تغییرات انجام شده روی home کلیک کرده و تغییراتمام را بررسی و مرور می‌کنیم.

۲-    اضافه کردن آیتم ها
می‌توان در هر جای منو یک آیتم جدید اضافه کرد اگر بخواهیم آن را در بین دو منوی موجود اضافه کنیم روی منوی بالای می‌رویم و Insert blank after و سپس commit changes را کلیک می‌کنیم. این کار یک خط خالی بعد از آیتمی‌که روی خط انتخاب شده است ایجاد می‌کند. حالا می‌توانیم بر گردیم و آیتم دلخواهمان را روی خطی که تازه ایجاد کرده ایم اضافه کنیم از لیست های موجود وحاضر به عنوان راهنما برای وارد کردن بخش URL جدول استفاده می‌کنیم صفحات مجزا توسط نام صفحه لیست می‌شوند مانند index. php اغلب ماژول ها نامشان را در براکت [] دارند مثل [PN-Zclassifieds] هر چند بعضی از آنها از آکولاد {} استفده می‌کنند مثل {post calendar}.
براکت ها برای لینک کردن ماژول های قدیمی‌استفاده می‌شوند در حالیکه آکولاد برای لینک ماژول های جدید استفاده می‌شود. ماژول های جدید کاملا سازگار و موافق pnAPI هستند در حالیکه ماژول های قدیمی‌این گونه نیستند. ماژول های سازگار با API آنهایی هستند که یک موضوع و نکته ورودی به وسیله index. php دارند مانند
Index. php? Module= postcalender
۳-    حذف کردن آیتم ها
روی خط آن آیتمی‌که می‌خواهیم حذف شود delete را کلیک می‌کنیم و سپس commint changes را می‌زنیم. هیچ اخطاری وجود ندارد و بنابراین مطمئن شوید که می‌خواهید آیتم را حذف کنید. اگر اشتباه کردید و یا بعدا خواستید آن آیتم را بازیابی کنید فقط دستور العمل های مربوط به اضافه کردن آیتم ها را دنبال کنید. مطمئن شوید که نام ماژول را دقیقا همانطور که در دایر کتوری ماژول روی سرورتان ظاهر می‌شود داخل براکت های مناسب، در لیست ثبت کنید این مورد شامل بزرگی و کوچکی حروف نام و ماژول هم می‌شوند یعنی اینکه (Down loads) ورودی مناسب URL برای down lood است نه [down goods).

۴-    جابه جا کردن آیتم ها
برای جابه جا کردن آیتم ها به خطهای مختلف، همانند تنظیم مجدد منو، استفاده از ترکیبی از حذف و اضافه کردن رالازم خواهیم داشت آیتم ها را به خط جدید اضافه می‌کنیم. و از خط قبلی حذف می‌کنیم. همچنین می‌توانیم از روش paste , cut برای جابه جایی آیتم ها استفاده کنیم.

حذف و اضافه پیام های مدیر
وقتی postnuke را نصب کردیم پیغامی‌که مشاهده می‌کنم، پیام مدیر سایت است همانند پیامی‌که postnuke را توصیف می‌کند. برای مدیران این مرحله بعد از نصب به عنوان مدیر وارد سایت بشوید بعد روی administration و سپس روی Admin message کلیک کنید. اگر می‌خواهید پیغام را حذف کنید روی delete کلیک کنید.
اضافه کردن پیام های مدیر
در بخش پیغام های مدیر، در ناحیه مربوط به اضافه کردن پیغام، اطلاعات لازم است پر می‌کنیم. اگر هنوز دولت ندارید پیغام ظاهر شود در قسمت Active گزینه No را انتخاب کنید، در غیر اینصورت yes را انتخاب کنید که به طور پیش فرض هم انتخاب هست. در ناحیه ای که می‌پرسد چه کسی پیغام را ببینید، انتخاب خود را انجام دهید و بعد روی Add messgae کلیک کنید. بعدا هم می‌توانید بر گردید و پیام را ویرایش کنیدو تغییرات را روی آن اعمال کنید که این تغییرات شامل مشکل احتمالا از این است که قالب بدون وسط است یعنی تمام بلوک های وسط یا مرکز را نشان نمی‌دهد.

تغییر صفحه آغازین سایت
از طریق حساب مدیر وارد سایت شوید و در پانل مدیریت رفته و صفحه تنظیمات (settings) را باز کنید. قسمتی به نام (start page) را پیدا کرده و بعد آن را به مدلی که دوست دارید در صفحه آغازین سایت ظاهر شود، تغییر دهید.
افزودن آیتم به منوی شخصی
مراحل زیر برای افزودن آیتم به منوی شخصی خود، دنبال کنید:
۱-    ورود به سایت به عنوان مدیر
۲-    رفتن به پانل مدیریت
۳-    ورود به قسمت Blocks
۴-    ویرایش بلوک منوهای مورد نظر
از این جا به بعد، هر چیزی که اضافه کنید تعیین خواهد کرد که چگونه لینکش را وارد کنید برای ماژول های سازگار با API نام ماژول را به طوری که داخل آکولاد باشد وارد کنید مانند {postcalendar}.
برای ماژول های غیر سازگار با API نام ماژول را داخل براکت نوشته و وارد کنید مثل [News]
برای لینک های غیر postnuke یا لینک هایی که به زیر شاخه ها می‌روند از URL استفاده کنید.

نحوه جابه جایی postnuke
در این قسمت می‌خواهیم به سوال زیر پاسخ دهم.
چگونه postnuke را به یک زیر شاخه روی سایت خود جابه جا کنیم؟ یا چگونه postnuke را از یک زیر شاخه روی سایت خود جابه جا کنیم؟
جا به جایی (نصب postnuke) روی سرورتان ساده است. تمام کاری که لازم است انجام دهید این است که نصب خود را از پوشه جاری به پوشه مورد نظرتان جابه جا کنید.
تمام لینک های تولید شده توسط postnuke نسبی هستند بنابراین مشکلی پیش نخواهد آمد. اگر هر کدام از لینک ها به URL خاصی کد شده باشند، آنها را باید به روز کرد.
(حذف حاشیه اطراف تصاویری که به عنوان لینک استفاده می‌شوند)
برای حذف حاشیه اطراف این گونه تصاویر باید به داخل پوشه theme که مربوط به قالب های سایت است رفته و در فایل style.css موارد زیر را اضافه کنید.
a         img     
border: Opx;
}
ایجاد قالب های متمایز
ایجاد قالب یا theme از طریق راههای متفاوت زیادی انجام پذیر است در postnuke که منشتر شده است زانتیا (xanthia) موتور قالب اصلی را در بر دارد. این موتور اجازه ایجاد قالب ها را با استفاده از الگوی ساده HTWL به ما می‌دهد، بدون اینکه بخواهم کدی را توسط php تغییر دهیم.
زانتیا در سری postnuke8x هم ارائه خواهد شد.
اگر هم بخواهیم می‌توانیم یک قالب را از طریق ویرایش روش قدیمی‌اش یعنی ویرایش theme. Php ایجاد کنیم که البته این راه توصیه نمی‌شود.
راه دیگر استفاده از قالب های خود کار است که ماژول هایی تجاری هستند و یا استفاده از نسخه رایگان آنها Authothemlite نام دارد.
اگر بخواهیم از theme های دانلودی استفاده کنیم بعد از دانلود کردن قالب مورد نظر وارد مسیر اصلی خود (مثلا postnuke) می‌شویم و در پوشه theme قالب دانلودی را می‌ریزیم همان و سپس با استفاده از تنظیمات قالب مورد نظر را برای سایت انتخاب می‌کنیم یعنی بعد از ورود به سایت با استفاده از حساب مدیر به داخل مسیر زیر می‌رویم.
Administrator/ settings/ defalt theme for this site
و فرم موجود در این قسمت را پر می‌کنیم و قالب مورد نظر را انتخاب می‌کنیم، همانند شکل زیر
شکل setting panel
در زیر دو نمونه از قالب های انتخاب شده توسط کار بر را می‌بینید.
 
شکل theme 1
 
theme 2

گذاشتن ماژول در postnuke
در این قسمت نحوه قرار دادن ماژول در postnuke را بررسی کرده و به عنوان نمونه ماژول nubel که فارسی ساز است انتخاب شده است.
در پوشه postnuke وارد زیر شاخه module شده و به nslanguage می‌رویم و فایل ApI. php  را باز می‌کنیم و در قسمت مربوط به زبان یک خط اضافه می‌کنیم و آن را برای فارسی تنظیم می‌کنیم.
در قسمت rsslanguage list هم مثل بالا یک خط مثل خودش اضافه می‌کنیم و تغییرات لازم را می‌دهیم.
برای این کارها اول یک پوشه به نام مثلا far در پوشه کلی language درست کرده و بعد language/ eng/ global. Php می‌رویم. ابتداداخل فایل انگلیسی (eng) می‌رویم و در جایی که زبانها هست یک فارسی هم اضافه و ذخیره می‌کنیم.
سپس یک کپی از پوشه eng می‌گیرم و به فارسی (far) تغییر نام می‌دهیم تا تغییراتی که داریم را داشته باشد.
اکنون باید ماژول nubel را پس از دانلود از سایت، داخل مسیر دوست خود قرار دهیم.
باید به این نکته توجه کرد که در ماژول ها مسیری که می‌رویم در حقیقت مسیری است که باید ماژول را در آن جا بریزیم، یعنی در همین مسیر پوشه اصلی postnuke شده و طبق بقیه مسیر در همان جا پوشه nubel را کپی می‌کنیم و وارد قسمت ترجمه می‌شویم.
کار ترجمه به صورت دستی هم می‌تواندن انجام شود یعنی در داخل خود فایل ترجمه ها را دستی انجام دهیم برای اینکه ماژول درست نصب شود باید توجه کرد که فایل nubel فقط خواندنی بنا شد.

معرفی چند ماژول
در ادامه درمورد چند ماژول قابل استفاده دیگر دراین نرم افزار قدرتمند یعنی postnuke توضیحاتی مختصر آمده است.
۱)    ماژول pnaddressbook: برای استفاده از بانک اطلاعاتی مثلا شرکت های مختلف به کار می‌رود. (کتاب آدرس)
۲)    ماژول Addstory: این ماژول در لیست خود ماژول های postnuke قرار دارد و به کاربر اجازه می‌دهد داستان دلخواه خود را از طریق فرمی‌که در شکل آمده بنویسید و در سایت قرار دهید.
شکل addstory
۳)    ماژول poll: با استفاده از این ماژول می‌توانیم از کاربراین که از سایت ما استفاده می‌کنند. در زمینه های مورد نظر و دلخواه خود (به عنوان مدیریت) نظر خواهی می‌کنیم برای این کار باید فرم شکل زیر را تکمیل کرد و تنظیمات لازم را انجام داد.
 
شکل poll
۵-    ماژول Admin message: برای حذف و اضافه پیامهای مدیر به همان طریق گفته شده
۶-    ماژول Block: برای حذف اضافه و ویرایش منو به طریق گفته شده
۷-    ماژول Auto link: برای تعریف کلمات کلیدی لینکی خود کار
۸-    ماژول censpor: در این ماژول از طریق فرم به موجود می‌توانید کلمات نامناسب را از سایت خود سانسور و حذف کنید همچنین اگر کلمه مورد نظر در لیست موجودنبود خود می‌توانید کلمه را به لیست اضافه کنید.
۹-    ماژول comment: این ماژول می‌تواند توضیحات شما در مورد هر مطلبی را روی سایت قرار دهد.
۱۰-    ماژول Downloads: فایل هایی که برای دانلود کردن هستند را مدیریت می‌کند.
۱۱-    ماژول FAQ: از طریق فرم موجود در این قسمت سوالات متداولی که اغلب مورد سوال کارران هست را می‌نویسید و در قسمت پاسخ گویی به آنها پاسخ هم می‌دهید.
۱۲-    ماژول Groups: در این قسمت گروه کاربر تشکیل می‌دهید دو گروه کلا وجود دارد گروه کاربران و گروه مدیران.
۱۳-    ماژول languages: برای پشتیبانی از چند زبانی بودن سایت استفاده می‌شود. و در این قسمت زبان مودر نظر را اضافه می‌کنند البته مثلا باید تنظیمات لازم انجام شده باشد و زبان های مورد نظر به سایت اضفاه شده باشند.
۱۴-    ماژول mailer: این ماژول به عبارتی پستچی سایت postnuke است.
۱۵-    ماژول Mailuser: این ماژول می‌تواند به تمام کاربران روی سایت شما و یا به طور مجزا به آنها نامه ارسال کند.
۱۶-    ماژول ephemierids: در این قسمت می‌توانید اتفاقات روزانه خود را وارد ومدیریت کنید.
۱۷-    ماژول xanthia: همانطور که قبلا در قسمت ماژول ها گفته شد این ماژول موتور اصلی قالب سایت شما می‌باشد.
۱۸-    ماژول Madules: واما این ماژول، خود ماژولی است که تمام ماژول های موجود در سایت و یا ماژولهایی که شما به سایت اضافه کرده اید را مدیریت و نگهداری می‌کند.
وقتی ماژولی را اضافه می‌کنید برای اینکه در لیست این قسمت بیابید برای بار اول باید آن regenerate کنید که بعد از اینکه کار نام ماژول در لیست ماژول ها دیده می‌شود. حالا برای فعال کردن ماژول باید، خط نام ماژول داخل لیست ابتدا initialize و سپس Active را کلیک کنید. تا ماژول شما به حالت فعال در آید.

بخش چهارم: توسعه یک ماژول potnuke
خلاصه: این ماژول در مورد، مفاد اساسی توسعه یک ماژول برای cms وبلاگی است که است که postnuke نامیده می‌شود.
اهداف:
۱) توصیف معماری postnuke
۲) توضیح اینکه ماژول چیست و نمایش معماری آن
۳) نشان دادن مراحلی که یک فرد برای توسعه یک ماژول postnuke نیاز دارد.
۴) دادن بعضی از اطلاعات و نکات مهم و محرمانه

معرفی
۱)    postnuke پرتال و بلاگ انجمن/ cms همراه با معماری ماژولار
۲)    یک ماژول
-یک برنامه کاربردی است که وظایف اعضای پرتال را تقویت می‌کند و آنها را به آسانی در ساختار هسته ای کامل و یکپارچه می‌کند.
-یک دایر کتوری است که شامل فایل هایی همراه با توابع است.
۳)    یک ماژول می‌تواند
–    مستقل باشد: وظایفی را انجام بدهد که مستقل از دیگر وظایف یا ماژول های پرتال باشد و از پرتال به عنوان یک موتور نمایش دهنده استفاده کند.
–    وابسته باشد: از ماژول های دیگر و آنهایی که از محتویات (اطلاعات پایگاه داده) دیگر ماژول های پرتال استفاده می‌کنند و آنها را دستکاری می‌کنند.
۴)    یک ماژول می‌تواند
–    در یک بلوک نمایش یابد و / یا
–    در ناحیه نمایش مرکزی پرتال نمایش یابد.
۵)    یک ماژول (معمولا و نه همیشه) در واسط دارد:
–    یک واسط مدیریت برای مدیر یا برای پیکر بندی ماژول و برای اینکه ابزار مدیریت سیستم را به طور کامل یکپارچه کند.
–    یک واسط کاربر برای کاربر تا ماژول را اجرا کند.

گام های اساسی
قبل بتن از طراحی و نوشتن ماژول و کلا قبل از اندام به هر عمل واقعی ابتدا باید مراحل زیر را دنبال کنید.
–    ابتدا برای آسانی و راحتی کار بهتر است تمامی‌اسناد موجود و معتبر را پرینت گرفته و کاملا مطالعه کنید.
–    از ماژول  های دیگر الهام بگیرید.
–    در مورد وضعیت کار وظیفه ماژول تصمیم بگیرید و بررسی کنید که قبلا این ماژول موجود نباشد!
–    یک نام مناسب و با معنی برای ماژول انتخاب کنید و آن را در پرتال رسمی‌PN ثبت کنید تا با اسامی‌ماژول های دیگر برخوردی نداشته باشد.
–    در مورد نوع ماژول تصمیم گیری کند: utility , item
Item: ماژول های مستقل هستند که محتویات خودشان را دستکاری می‌کنند مثل ماژول های Downloads, News , FAQ
Utiltity: ماژول هایی هستند که محتویات دیگر ماژول ها را دستکاری می‌کنند مثل ماژول ratings , comments  و همچنین آنهایی که معمولا از hooks (عکس العمل های بین ماژولی) استفاده می‌کنند.
–    ماژول خود را طراحی می‌کند.
۱-    توابع کاربرد را از توابع admin جدا کنید.
۲-    توابع API را از GNI جدا کنید (گرافیکی ها از عملیاتی ها)
۳-    تصمیم گیری در مورد اینکه آیا می‌خواهید بلوک داشته باشید.
–    در مورد ساختار جداول پایگاه داده که ماژول هایتان به آنها احتیاج خواهند داشت کاملا و با دقت فکر کنید.
–    مطابق اسناد رسمی‌و نکاتی که در ادامه می‌آید و برنامه نویسی را شروع کنید.
–    می‌توانید برای حل مشکلات خود از ماژول support forum کمک بگیرید.
–    کد خود را به سند تبدیل کنید، آزمایش و خطا گیری کنید و ماژول را توسط zip یا tar بسته بندی کنید.

ساختار یک ماژول PN
–    تمام ماژول ها در زیر شاخه modules هستند.
–    تمام فایل های یک ماژول باید در یک زیر شاخه باشند که به همان نام ماژول است.
–    ساختار داخلی این شاخه باید ماند ساختار زیر باشد.
Modules/
Vquiz/
Pninit. php
pntables .php
pnadmin. php
pnadminapi.php
pnuser.php
pnuserapi.php
pnblicks/
snaphot.php
pnimages/
admin.php
pnlang/
eng /
admin.php
user.php
init.php
manual.php
sapshot.php
pnversion.php

 
جزئیات:
 
نصب و مقدار دهی اولیه ماژول
PN یک واسط را برای آغاز و مقدار دهی اولیه، فعال و غیر فعال کردن و یا حذف یک ماژول (جداول sql مربوط اش) فراهم کرده است و فایل هایی که در این کار شرکت دارند pinit.php , pntables. Php هستند.

توصیف تمام جداول sql موجود در فایل pntables. php
در این فایل تابعی وجود دارد که در یک آرایه اصلی PN که “postnuke” نام دارد. توسط نام تمام جداولی که در یک ماژول و فیلدهایشان استفاده می‌شوند، پر می‌شوند.
به عنوان مثال جدول pn-ioinproject- members همراه با چهار فیلد را در زیر می‌بینید.
function joinproject pntables() {
// Initialise table array
    $pntable = arrayO;
// Get the name for the template item table.
$members = pnConfigGetVar(prefix) . _joinproject_ members; // Set the table name
$pntable[joinproject members] = $members; // Set the column names.
$pntable[joinproject members column] _
array(memberid    => $members . .memberid,
projid    => $members . .projid, membername => $members . .membername,
accepted    => $members . .accepted);
// Return the table information
return $pntable; }

ایجاد یا حذف جداول aql داخل فایل “pnint. php
در تابع برای این منظور وجود دارد: delete ( ), init ( )
در داخل فایل ( ) init جداول داخل پایگاه داده PN که ماژول لازم دارد، توسط فراخوانی پرس و جوهای (queries) ساده sql، ایجاد می‌شوند.
function joinproject_init() {
list ($dbconn) = pnDBGetConn () ; $pntable = pnDBGetTables();
$memberstable = $pntable[joinproject members];
$memberscolumn = &$pntable[joinproject members_ column];
$sqll = “CREATE TABLE $memberstable
$memberscolumn[memberid] tinyint unsigned NOT NULL auto_ increment, $memberscolumn[projid] tinyint unsigned NOT NULL default , $memberscolumn [membername] varchar (255) NOT NULL default ” , $memberscolumn[accepted] tinyint(l) NOT NULL default 0, PRIMARY KEY(memberid))”;
$dbconn->Execute($sgll);
// Check for an error with the database code, and if so set an // appropriate error message and return
i f ($dbconn- >ErrorNo () ! = 0) {
pnSessionSetVar(Terrormsg, _CREATETABLEFAILED);
return false;
}
}

در داخل فایل delete ( ) جداول aql ی را که به ماژول متصل هستند. با استفاده از از دستور Droptable از پایگاه داده PN حذف می‌شوند.
function joinproject delete()
{
list ($dbconn) = pnDBGetConn () ;
 $pntable = pnDBGetTables();
$sqll = “DROP TABLE
$pntable[joinproject members]”;
 $dbconn->Execute($sgll);
// Check for an error with the database code, and if so set an
// appropriate error message and return
if ($dbconn- >ErrorNo () ! = 0) {
pnSessionSetVar(Ierrormsg, DROPTABLEFAILED);
return false;
}
// Deletion successful return true;
Return true
}
آزمایش و بررسی صحت جداول sql پایگاه داده
برای آزمایش و بررسی درستی و صحبت وجود جداول sql داخل پایگاه داده می‌توان مسیر زیر را باز بینی کرد:
Adminstration    Modules  list  “My Module”
            Initia lise,
            Activate/ Deactivate,
            Remove

واسط کاربر و مدیر
واسط مدیر (Admin): این واسط از طریق قسمت “adminstration” که همان مدیریت پرتال است به قسمتهای مدیریتی ماژول دسترسی دارد.
واسط کاربر (user): از طریق یکی از راههای زیر به این واسط دسترسی دارید.
–    از طریق یک بلاک منو مثلا “main menu”، جایی که ماژول شما را فراخوانی می‌کندف خط زیر را اضافه کنید.
Title= my New module , URL={my module}
–    از طریق ایجاد یک بلاک جدید که نام ماژول را دارد.
–    و خیلی از امکانات دیگر
جدا سازی توابع خاص
توابع GUI را از توابع API باید جدا کنید.
GUI: pnadmin. Php , pnuser. php
API: pnadminapi. php., pnuserapi.php

کلاس ها و توابع
برای طراحی یک ماژول خوب باید همه چیز را در توابع یا کلاس ها قرار دهیم.
نام توابع داخل pnadminapi. Php , pnadmin. Php به شکل زیر است:
    my module- admin- main( )
     my module- admin-function( )
نام توابع داخل pnuser.php یا pnuserapi. php به شکل زیر است.
    My module- user- main ( )
    My module- user- function( )

توابع رسمی‌API
در ماژول ها بهتر است که از توابع رسمی‌API استفاده می‌شود.
فراخوانی یک تابع به صورت زیر است             pn ModuRL( )
(join project, user , main) pn ModuRL
برای تغییر مسیر یک صفحه با لینک از صفحه به صفحه دیگر به شکل زیر عمل کنید
PnRedivect ( )
pnRedivect (pn ModuRL(join project , admin , main”)

کتابخانه ADODB
PN برای دستورات sql از کتابخانه ADODB استفاده می‌کند. اساسی ترین قطعه کدهای لازم برای این کار در زیر آمده است.
List ($ dbconn)= pnDBGet conn( );
$ pntable= pnDBGettables ( );
$ ptojectstable= $ pntable [joinptoject- projects];
 Execute (“selct* from $projectstable”);  $ result 1=$ dbconn

مدیریت استنثناها
PN دارای یک سیستم داخلی برای مدیریت استثناها است (user , system) که نسبت به علاقه خود می‌توانید از آن استفاده کنید یا نکنید.

امنیبت و مجوزها
PN دارای یک سیستم دقیق برای مدیریت مجوزهاست برای همین منظور یک تابع API وجود دارد و بهتر است که در ابتدای هر تابع فرا خوانی شود تا از ایجاد حفره های امنیتی جلوگیری کند.
If (! Pnsec Auth Action (0, join project: : , : : , Access – Admin))
{
$output  text (-Templateno Auth);
Retum          $output  Getout put ( ) ;
}
چندین سطح دسترسی طبق اسناد رسمی‌وجود دارد.
ACCESS NONE No access
ACCESS OVERVIEW Allowed to get an overview of the content
ACCESS READ Allowed to read the content
ACCESS COMMENT Allowed to comment on the content
ACCESS MODERATE Allowed to moderate the content
ACCESS EDIT Allowed to edit the content
ACCESS ADD Allowed to add content
ACCESS DELETE Allowed to delete content
ACCESS ADMIN Full access

اشیاء HTML
برای کار با Html از شی “pn Html” و متدهایش استفاده کنید.
هرگز از دستورات “echo”  یا ” print” استفاده نکنید، در عوض از متدهای pnHIml که از تک های html محافظت خواهند کرد، استفاده کنید (که نتیجتا داشتن کد Html صحیح و سازگار را ضمانت می‌کند)
برای تمام انواع عناصر Html متدهای زیادی وجود دارد، بعضی آنها در زیر لست شده اند:
$output = new pnHTML () ;
 $output->Start();
 $output->End();
 $output->TableStart();
 $output->TableEnd();
 $output->TableAddRow () ;
 $output->Text();
 $output->Title();
 $output->BoldText();
 $output->FormStart();
 $output->FormEnd();
 $output->FormText();
 $output->FormTextArea();
 $output->FormHidden();
 $output->FormList();
 $output->FormSubmit();
 $output->PrintPage();
 $output->setInputMode();
 $output->setOutputMode();
 $output->Redirect();
 $output->LineBreak();
 $output->URL();
return $output->GetOutput();

ماژول های چند زباله
برای اینکه ماژول هایتان را بین المللی کنید دو راه وجود دارد:
–    داخل کد برنامه، به جای متن خام از عبارات ثابت استفاده کنید.
–    در زیر شاخه pnlang ماژول، به هر اندازه ای که زبان موردنیاز است به همان مقدار زیر شاخه درست کنید و فایل های admin. Php و usder.php را به هر کدام اضافه کنید.
به مثال زیر که در مورد زبان فرانسوی توجه کنید:
۱)File mymodule/ pnlang/ fra/ admin. Php
dfine (” – MODULETitle” , “join project module”);
define (“-ADMININTERFACE”, “Interface admins trateur”);
define (“- LISTOFPROJECTS” , “Liste des projects”);
?>
۲) File mymodule/ pnlang/ fra/ user.php
define(“-MODULETITLE”, “Join project”);
define (“- JOUNAPROJECT”, “Joindre un project”);
dfine (” –LISTOFPROJECTS”;”LIDTE des projects”);
۳) فراوانی تابع
$outpnt  Title(- MODULETITLE);
 

فصل سوم:
مستندات
 
در این فصل به عنوان نمونه و به منظور آشنایی عملی تر با نحوه ماژول نویسی و برنامه نویسی چند فایل برنامه ای یکی از ماژول های post nuke آورده شده است.
لازم به ذکر است که ماژول انتخاب شده برای این فصل ماژول اخذ آراء کار بر یا polls می‌باشد.

دانلود کتاب






مطالب مشابه با این مطلب

    انواع کلاهبرداری در حوزه ارزهای دیجیتال_ چگونه فریب نخوریم ؟

    انواع کلاهبرداری در حوزه ارزهای دیجیتال_ چگونه فریب نخوریم ؟ ۱٫۵۰/۵ (۳۰٫۰۰%) ۲ امتیازs روند رشد بلاک چین و فضای ارزهای دیجیتال بسیار جذاب است. نوآوری‌های فنی و الگوهای جدید معاملاتی به‌سرعت در حال پیشرفت و تکامل هستند و همچنان جمعیت کثیری را به […]

    آشنایی با مهم ترین اصطلاحات ارز دیجیتال

    احتمالا این روزها درباره ارزهای دیجیتال مخصوصا بیت‌کوین از گوشه‌وکنار در اخبار رادیو و تلویزیون یا شبکه‌های اجتماعی چیزهایی شنیده‌اید.

    ۱۰ مکانی که توسط گوگل مپ سانسور شده

    ۱۰ مکانی که توسط گوگل مپ سانسور شده ۵٫۰۰/۵ (۱۰۰٫۰۰%) ۱ امتیاز اکثر مناطق به علت مسائل امنیتی-سیاسی به صورت سانسور شده در نقشه های گوگل دیده می شوند و به همه این ها باید یک مورد بزرگ یعنی کشور کره شمالی را افزود […]

    توییچ (Twitch) چیست؟

    Twitch برنامه ایست که در آن بازی های ویدیویی دست به دست هم می دهند و با داشتن میلیون ها بیننده و بازی کننده راهی برای تعامل و به اشتراک گذاری محتوای خلاقانه با دیگران ارائه می دهند.

    آموزش پارتیشن بندی در ویندوز ۱۰ و تبدیل GPT و MBR به یکدیگر

    همه‌ی دیسک‌های سخت موجود برای پارتیشن بندی از ساختار قالب‌بندی داده‌ای MBR (مخفف Master Boot Record) یا GPT (مخفف GUID Partition Table) استفاده می‌کنند.

    ۵ ترفند مفید در مرورگر گوگل کروم در اندروید

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




هو الکاتب


پایگاه اینترنتی دانلود رايگان كتاب تك بوك در ستاد ساماندهي سايتهاي ايراني به ثبت رسيده است و  بر طبق قوانین جمهوری اسلامی ایران فعالیت میکند و به هیچ ارگان یا سازمانی وابسته نیست و هر گونه فعالیت غیر اخلاقی و سیاسی در آن ممنوع میباشد.
این پایگاه اینترنتی هیچ مسئولیتی در قبال محتویات کتاب ها و مطالب موجود در سایت نمی پذیرد و محتویات آنها مستقیما به نویسنده آنها مربوط میشود.
در صورت مشاهده کتابی خارج از قوانین در اینجا اعلام کنید تا حذف شود(حتما نام کامل کتاب و دلیل حذف قید شود) ،  درخواستهای سلیقه ای رسیدگی نخواهد شد.
در صورتیکه شما نویسنده یا ناشر یکی از کتاب هایی هستید که به اشتباه در این پایگاه اینترنتی قرار داده شده از اینجا تقاضای حذف کتاب کنید تا بسرعت حذف شود.
كتابخانه رايگان تك كتاب
دانلود كتاب هنر نيست ، خواندن كتاب هنر است.


تمامی حقوق و مطالب سایت برای تک بوک محفوظ است و هرگونه کپی برداری بدون ذکر منبع ممنوع می باشد.


فید نقشه سایت


دانلود کتاب , دانلود کتاب اندروید , کتاب , pdf , دانلود , کتاب آموزش , دانلود رایگان کتاب

تمامی حقوق برای سایت تک بوک محفوظ میباشد

logo-samandehi