خلاصه پايان نامه:
در اين پروژه تحقيقاتي ابتدا با نگاهي گذرا و مختصر سيستم هاي مديريت محتوي معرفي شده است سپس بر روي يك نمونه cms به نام postnuke تمركز كرده و معرفي و تجزيه و تحليل آن آمده است.
ابتدا سعي شده كه مراحل نصب را به صورت گام به گام و بصري ذكر گردد.
همچنين تعدادي از ماژول ها و theme هاي آن معرفي شده كه در بخش مستندات نمونه اي از كدهاي برنامه نويسي ماژول هم آورده شده است ضمنا براي آشنايي بيشتر نكاتي راجع به توسعه ماژول و نحوه ماژول نويسي هم آمده است.
مقدمه:
امروزه پيشرفت تكنولوژي روند رو به رشدي را به سرعت طي ميكند و در اين ميان كامپيوتر و IT نقش اساسي را بر عهده دارند و دنياي بزرگ ما را به دهكده كوچك جهاني تبديل كرده اند.
اينترنت، فضاي سايبر و سايت هاي وب همگي مسئول ارتباط ما با اين دهكده جهاني اند، از طرفي كاربران براي انجام امور مختلف خود هميشه فاكتورهاي خاصي را در نظر دارند از اين رو دانشمندان IT همواره سعي كرده اند با خلق مفاهيم و تكنولوژي هاي جديد همه فاكتورهاي اساسي كاربران ازجمله كارايي، سرعت، دقت، امنيت، آساني و زيبايي و ... را تا حد مطلوب مورد توجه قرار دهند.
سيستم هاي مديريت محتوي يا cms يكي از اين دستاوردها است كه دراين مجال اندك سعي شده است تا حدودي به آن پرداخته شود و به عنوان نمونه روي سيستم مديريت محتوي خاصي به نام postnuke تمركز شده است.
فصل اول
سيستم هاي مديريت محتوي (cms)
فصل اول
سيستم مديريت محتوا (CMS) چيست؟
دنياي امروز دنياي اطلاع رساني است. در صحنه رقابت تنگاتنگي كه امروزه بين شركتها و موسسات وجود دارد، يكي از اصول اوليه براي بقا و پيشرفت اطلاع رساني صحيح و لحظه به لحظه است. واضح است كه اولين وسيله ارتباطي و اطلاعاتي در عصر حاضر شبكه جهاني اينترنت ميباشد. تقريبا هيچ شركت يا موسسه اي را در دنيا نميتوانيد پيدا كنيد كه در زمينه كاري خود موفق باشد بدون اينكه از طريق وب سايت اينترنتي خود را به ديگران معرفي كرده باشد. با توجه به اهميت بالايي كه پايگاه هاي اينترنتي در دنياي تجارت دارند،معمولا مديران ارشد شركتها تمايل دارند خود شخصا بر محتويات آن نظارت داشته باشند اين در حالي است كه آنان معمولا فاقد دانش فني در مورد نحوه طراحي و توليد و ايجاد تفكرات در يك سايت اينترنتي هستند. در اين موارد سيستم مديريت محتوا ميتواند بهترين راه حل باشد. سيستم مديريت محتوا CMS چيست؟ اين سيستم ها كه امروزه در وب به نام CMS شناخته ميشوند مخفف Content Management System ميباشند كه يك برنامه نرم افزاري روي سرور هستند و به مدير سايت اجازه ميدهند تا بدون نياز به طراحي دوباره سايت محتواي سايت را تغيير دهد. سيستم مديريت محتواي سايت اين امكان را به شما ميدهد خودتان سايت خود را توليد كرده و آن را به طور كامل مديريت نماييد و براي اين امر نياز به دانش تخصصي در اين زمينه نداريد. با استفاده از اين نرم افزار بسيار ساده تر از آنچه تصور كنيد ميتوانيد بخشهاي مختلف سايت خود را مديريت كنيد بخشهاي جديد ايجاد كرده و به سايت خود اضافه كنيد و يا محتويات آنها را تغيير دهيد. براي اين منظور حتي لازم نيست اطلاعات را مجددا بر روي وب سرور خود بارگذاري كنيد. كليه اين تغييرات بلافاصله پس از آنكه دستور تغيير وارد ميشود اعمال ميشوند همه چيز بسيار ساده تر از آنچه شما تصور ميكنيد انجام خواهد شد. چرا شما يك 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 چناكه توسط بنياد نرم افزاري رايگان منتشر شده است. به عنوان نسخه شماره 2 مجوز يا هر نسخه بعدي ديگر آن را اصلاح كنيم.
اين برنامه با اميد به اينكه مفيد خواهد بود توزيع شده اما هيچ گارانتي حتي براي قابليت بازرگاني يا تناسب داشتن براي هدف خاصي ندارد.
خصوصيات اصلي postnuke
Postnuke يك محصول فعال و در حال رشد است در زير بعضي از خصوصيات وعملكردها و توابع دروني آن ليست شده است.
- واسط ساده كم حجم، موثر، سازگار و با تكنولوژي آسان مرورگر
- قابليت نصب آسان روي غلب ايستگاههايي كه php را پشتيباني ميكنند و تنها به يك پايگاه داده احتياج دارد البته قابليت اشتراك هم دارد.
- پشتبياني مطلق پايگاه داده در بيشتر قسمتهاي مهم پايگاه
- تاكيد بر روي امنيت قوي به طور كل، تمام فرمها چك شده اند، داده ها معتبرند و ...
- بيشتر نواحي ورود متن از منابع، اتاق گفتگو، ورودي ژورنال ها و ...) ميتواند با استفاده از يك ويرايشگر HTML داخلي
wysiwyG[1] ويرايش شوند.
- سايت توسط يك كاربر admin كه در طول نصب تعريف ميشود، مديريت ميشود.
- قابليت هاي plug – in به كاربران يا مدير اجازه ميدهد كه سايت خود را سفارشي كنند.
- ماژول هاي plug- in ميتوانند به برنامه هاي نصب postnuke اضافه شوند.
- بسته هاي زبان plug- in اجازه ميدهند كه هر زباني را به صورت كاملا محلي داشته باشيم. هم اكنون بيش از 34 بسته زبان وجود دارند.
- كد برنامه php قابل فهم و روشن نوشته شده تحت يك مجوز GPL است، به راحيت قابل تغيير است تا متناسب با نياز ما در آيد.
- اهداف برنامه اين است كه درگيري مدير را به حداقل مقدار كاهش دهد در حاليكه امنيت را در سطح بالا نگه ميدارد.
- با پشتبياني كردن از محدوده اي از مكانيزم هاي سنديت از طريق ماژول هاي تصديق و سنديت plug- in اجازه بر قراري قانون جامعيت آسان، توسط سيستم هاي موجود را ميدهد.
- روش LDAP: حساب هاي ورودي كاربران ميتوانند از طريق يك سرور LDAP بررسي شوند. مدير ميتواند مشخص كند چه فيلد هايي استفاده شود.
- IMAP، POP3، NNTP: حساب هاي ورودي كاربران از طريق يك سرور پست الكترونيكي يا اخبار بررسي ميشوند. SSL، گواهي نامه ها و TSL پشتيباني ميشوند.
- پايگاه داده خارجي: هر پايگاهي كه حداقل شامل دو فيلد باشد ميتواند به عنوان يك منبع سنديت خارجي استفاده شود.
- هر شخص تنها به يك حساب براي كل سرور احتياج دارد. هر حسابي ميتواند قابليت هاي دسترسي متفاوتي داشته باشد.
- هر كاربر ميتوانند محدوده زماني خودش را تعريف كند و هر تاريخي در postnuke به آن محدوده زماني ترجمه ميشود.
- هر كاربر ميتواند زباني را كه براي واسط postnuke استفاده ميشود. (انگليسي، فرانسوي، آلماني، اسپانيايي، پرتقالي و ....) انتخاب كند.
- امكان جستجو در سايت
- API پيشرفته (واسط برنامه نويسي كاربردي)
- ترويج همكاري، ارتباط و انجمن ها در محدوده مفاد و مندرجات
- سيستم مجوزهاي گروهي پيشرفته كاربر و همچنين ليست كوتاهي از ماژول هاي قابل دسترس به شرح زير است.
- انتشار اخبار
- مديريت محتوي
- منابع قابل استفاده RSS
- محل اخذ آراء
- ماژول هاي پرچم ها و علائم
- ماژول هاي توضحيات (اجازه ميدهد ماژول هاي ديگر كه شامل فايل هاي دانلودي لينك هاي وب، اخبار و نشريات ميباشند، توضحيات خود را به محتويات ارسال شده بچسبانند.
- ماژول FAQ
- ماژول اتاق گفتگو
- ماژول ليست اعضا
- ماژول پيغام خصوصي
بخش دوم: نصب postnuke
اين بخش چگونگي نصب postnuke را براي اولين بار نشان ميدهد و به بعضي از جزئيات درباره برخي از مراحل آن ميپردازد تا گوناگوني گسترده اي از تفاوت هاي كميكه بين نصب وب سرورها است را پوشش دهد بنابراين اين بخش از سند ممكن است طولاني و پيچيده به نظر برسد.
بخش هاي اين سند شامل:
1- نيازمنديها
2- دانلود
3- ساختار فايل
4- ايجاد يك فهرست داده
5- ايجاد يك پايگاه داده
6- تنظيمات مجوز براي فايل config.php
7- استفاده از سايت postnuke
Postnuke در ابتدا در لينكوس و با استفاده از mysql , Apache و php توسعه داده شده اما متناوبا توسط postgresql روي macos , windowsxp و سيستم عامل هاي ؟ 6، آزمايش شد.
موارد مورد نياز براي نصب postnuke به شرح زير است:
1- نرم افزار وب سرور، اغلب مردم از Apache استفاده ميكنند اما postnuke بايد روي هر وب سروري كه از php پشتيباني ميكند مثل ISS روي سكوي windows ، به خوبي كار كند.
2- زبان اسكريپتي php (نسخه 4.1.0 به بعد) با تنظيمات زير:
- كتابخانه GD فعال با قابليت پشتيباني براي فرمت هاي PNG , JPG
- كتابخانه zlib فعال اگر ميخواهيد از backup/ restore روي sindows استفاده كنيد) sessions support فعال باشد.
- قابليت file, uploading فعال
- بايد safe mode غير فعال باشد.
3- يك سرور پايگاه داده در حال كار و فعال: 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 براي مديريت پايگاه داده ايجاد جداول خود استفاده كنيد چرا كه ميتوانيد تمام اين كارها را از طريق يك واسط وب انجام دهيد به صورت گرافيكي وخيلي آسان.
عكس 1
در مرحله بعدي، مطمئن شويد يك ب سرورتان طوري نصب شده كه فايل 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 يعني كه مجموعه مجوز 777 و 666 متناسب با سيستم شما اگر كه بر پايه يونيكس است)
پروسه نصب كاملا گرافيكي است كه مجموعه ساده اي از مراحل را براي بالا آمدن و اجراي سايت فراهم ميكند. فقط كافي است كه دستورات صفحه وب را دنبال كند تا نصب انجام شود، برنامه postnuke، پايگاه داده را نصب خواهد كرد و جداول سايت را هم براي ذخيره داده ايجاد خواهد كرد.
براي نصب سيستم postnuke فايل install. php را از مرورگر اجرا كنيد تا فرآيند نصب شروع شود. URL دقيق آن به سايت ما بستگي دارد براي مثال اگر آدرس سايت www. Foo. Com باشد و postnuke در شاخه bor نصب شده باشد URL به شكل زير خواهد شد.
http: // www foo. Com/ bar/ install. php
عكس 2
نكته اي كه در اينجا لازم است به آن توجه شود اين است كه پوشه postnuke بايد به حالت webshare در آيد تا بتوان آن را به راحتي در نوار آدرس، آدرس دهي كرد در حالتي كه از localhost استفاده ميكنيم آدرس به شكل زير تغيير ميكند.
http:/ localhost/postnuk/ html/ install. php
چون پوشه postnuke به حالت webshare در آمده در هر درايوي كه باشد آدرس بالا صحيح خواهد بود اما اگر web share نباشد براي اينكه postnuke در شاخه / inetpub/ www root نصب ويندوز، ريخته شود.
در صحفحه اول نصب همانطور كه در شكل ديده شد زبان مورد نظر را انتخاب ميكنيد سپس در صبحه بعد مجوز GMU را به شما نشان ميدهد.
شكل 3
با رد شدن و تاييد صفحه قبل، صفحه جديد ميآيد كه مجوزهاي فايل هاي مختلف از جمله config. Php و Gofig- old. Php را بررسي ميكند يعني chmodcheck را انجام ميدهد.
در ادامه صفحه اي ميآيد كه اطلاعات لازم براي ايجاد پايگاه داده و ارتباط با آن را از شما ميپرسد تا شامل نام كاربر، كلمه عبور، ...ميباشد اين اطلاعات در شكل زير آورده است.
عكس 4
بعد از تايپ و تنظيم اين اطلاعات برنامه نصب صفحه جديدي را نشان خواهد داد كه همان اطلاعات وارد شده در صفحه قل توسط خود ما ميباشد كه اگر بخواهيم با دكمه edit ميتوانيم آن ها را ويرايش كنيم. در غير اينصورت دو انتخاب دارم: نصب جديد يا new install كه براي وقتي است كه نصب را براي اولين بار انجام ميدهيم ودكمه upgrade كه در ادامه بحث خواهد شد.
عكس 5
در صفحه بعدي با زدن علامت در كنار create database و سپس دكمه start شروع به ايجاد پايگاه داده و جداول آن خواهد كرد.
شكل 6
اگر مراحل قبلي به درستي طي شده باشد و اطلاعات وارد شده براي ايجاد پايگاه داده رمز عبور كاربري معتبر باشند در اين مرحله صفحه اي را خواهيد ديد كه با پيغام db has been created و نشان دادن اساميتماميجداول پايگاه، ايجاد صحيح و درست پايگاه را به ما نشان ميدهد.
شكل 7
در پايان از شما خواسته خواهد شد كه يك كاربر مدير (يا admin) براي دسترسي در آينده ايجاد كنيد براي اين كار بايد جزئيات راهمراه با اسم كاربر و كلمه عبور پر كنيد و (create) را كليك كنيد. از آنجايي كه براي دسترسي به سايت در آينده، اسم كاربر و كلمه رمز لازم و ضروري است مطمئن شويد كه اين دو مورد انتخابي را به خاطر داريد.
شكل pn8
بعد از دادن اطلاعات كاربر admin داده هاي لازم فرستاده خواهد شد و مراحل نصب با پيغام finish به پايان خواهد رسيد.
شكل pn9
بعد از اتمام نصب صفحه بعدي به شما اسكرييپت هاي فعال در postnuke و افرادموثر در گرد آوري اين نرم افزار را معرفي خواهد كرد postnuke credit را به شما نشان ميدهد و در اين صفحه لينگي براي ورود به سايت و صفحه آغاز آن را در اختيار شما قرار ميدهد.
شكل pn10 و pn11
وقتي با موفقيت وارد سايت شديد توجه كنيد به لينك هاي administration كه در پايين سمت چپ صفحه ظاهر ميشوند. (اين آيتم ها همچنين در صفحه مديريت جداگانه اي ظاهر ميشوند) اين آيتم ها فقط براي شما قابل مشاهده هستند چرا كه شما به عنوان كاربر مدير يا admin با همان اسم كاربر و رمز عبوري كه خود در هنگام نصب تعريف كرده بوديد، وارد شده ايد.
البته ذكر اين نكته لازم است كه در دفعه اولي كه لينك administration را در صفحه ابتدايي سايت كليك ميكنيد، صفحه اي ميآيد كه به شما ميگويد براي ادامه كار وديدن امكانات صفحه administer بايد ابتدا فايل و فولدر install كه در پوشه اصلي postnuke هست را حذف كنيد و سپس با كليك بر روي continue صفحه administration وارد خواهيد شد و تمام امكانات در اخيتار شما قرار ميگيرد.
شكل pn12
اكنون تمام كارهاي بعدي مديريت postnuke شما ميتوانيد از طريق اين منوها انجام گيرد. به عنوان مثال ايجاد و حذف درس، ايجاد و ويرايش حساب كاربران، مديريت حساب معلمان، تعويض تنظيمات سايت مانند قالب ها و ...
شكل pn13
لازم است ياد داشته باشيم كه در حالت نصب هاي جديد (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 هاي گوناگون ديگر پشتيباني ميكند.
براي انجام اين كار نكات و مراحل زير را بايد درنظر گرفت.
1- قبل از انجام هر كاري از فايل ها و پايگاه داده خود پشتيبان گيري كنيد، اگر در روند ارتقاء مشكلي وجود داشت پشتيباني، تهيه كرده ايد، به دو طريق به كمك شما ميآيد اول اينكه شما ميتوانيد به عقب برگرديد يعين به يك حالت قبل از ارتقاع و سايت شما ميتواند با كد قديمياش در حال كار باقي بماند.
دوم اينكه تيم توسعه دهنده ممكن است كه بخواهند از پايگاه داده يك كپي بگيرند تا مشكل را عينا و دقيقا رديابي كنند و فرآيند ارتقاء را در همان جاي اولي كه براي شما مشكلاتي ايجاد كرده است ثابت كنند.
توجه: تا زماني كه اين مرحله كامل نشده كار را ادامه ندهيد.
2) با استفاده از حساب admin وارد سايت شويد اطمينان يابيد كه تمام ماژول هايي كه در زير فهرست شده اند شروع به كار كردند و در حالت فعال هستيد.
اين گام هنگام ارتقاء يافتن به نسخه 760 پس از اينكه تعدادي از ماژول هاي ضروري (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)
3) اطمينان حاصل كنيد كه قالب (theme) پيش فرض سايت شما و قالب كاربر admin شما بر روي نام Extralite تنظيم شده باشد.
ماژول xantia در اين ساختار upgrade شده است و ماژول Extralite تنها قالب غير xanthia يي است كه در بر دارد.
4) يك كپي از فايل config. Php را تهيه كند و در جايي مطمئن ذخيره كنيد.
5) اگر ارتقاع دادن شما از يك نسخه منتشر شده قديميكه شاميكاژول هاي
pnrender , xanthia است ميباشد مطمئن شويد كه داير كتوري هايpntemp , cache , compile خالي هستند.
6) اگر تا به حال چنين كاري نكرده ايد از فايل هاي قديميو پايگاه داده تان در يك مكان امن پشتيبان بگريد. تمام فايل هايي توزيع شده در داخل postnuke موجودتان را پاك كنيد. فايل هاي توزيع شده جديد را در اين مكان به جايش قرار دهيد.
اگر شما ماژول هاي 3rd party داريد و يا بلوك هانصب شده اند هم اكنون قبل از ادامه فرآيند ارتقاء آنها را از قسمت پشتيبان به داخل قسمت نصب جديدتان كپي كنيد.
7) فايل config. Php را كه در مرحله قبل ذخيره كرديد، برداريد و در شاخه اصلي postnuke كپي كنيد (هماني كه همراه config- old. php , config. php است)
اين فايل در فرآيند ارتقاء يا upgrade شدن استفاده خواهد شد.
هنگاميكه در اين مرحله هستيد مطمئن شويد كه با توجه به سيستم خود مجوزهاي اين دو فايل را به 111 يا 666 تنظيم كرده ايد.
اين كار به اين خاطر لازم است كه به php اجازه ارتقاء اين فايل ها را بدهد بعد از اتمام مراحل نصب اين مجوز را به 466 تغيير دهيد.
8) اگر كار ارتقاء را از نسخه هاي زودتر از 750 انجام ميدهيد تعدادي از ورودي هاي جديد ديگر هم در config .php هست كه لازم است اضافه شود.
قسمت هاي زير را دقيقا در زير $ pncofig ['encoded'] اضافه كنيد:
$ pnconfig ['dbtabletype'] = 'my I SAM
$ pnconfig ['dbtabletype'] = 'o'
$ pnconfig ['dbtabletype'] = 'pntemp'
و خط زير را دقيقا در زير $ pnconfig ['dbtabletype'] = 'o' اضافه كنيد:
$ pncongig ['dbtabletype'] = 'o';
9) اگر كار ارتقاء را از نسخه هاي جديد تر از 733 انجام ميدهيد فايل install. php را از مرور گرتان اجرا كنيد تا مراحل نصب آغاز شود. URL دقيق سايت شما بستگي دارد. براي مثال اگر آدرس سايت شما www foo. Com باشد و postnuke در شاخه bar نصب شده باشد آدرس به صورت زير خواهد بود.
http:// www. Foo. Com/ bar/ install. php
دستورات داخل اسكريپت را همانند فرآيند نصب كه گفته شد، دنبال كنيد و هنگاميكه به مرحله انتخاب نصب يا ارتقاء (upgrade , new install) رسيديد، دكمه upgrade را انتخاب كنيد، سپس نسخه postnuke (گونه ديگر nuke) را كه مايليد از آن ارتقاء را انجام دهيد، انتخاب كنيد بقيه مراحل بايد بوطور خودكار باشد.
10) به خاطر اينه نسخه 760: ماژول admin را ارتقاء ميبخشد، احتمال دارد كه لازم شود شما از طريق عبور از صفحه اصلي admin به ماژول كنترلر ماژول هايتان برويد.
http:// www. Foo. Com/ bar/ index.php? module=Modules &type= admin
تا زماني كه ماژول admin ارتقاء يابد اين كار يكي از ملزومات است.
به عنوان قسمتي از كار ارتقاء ممكن است بعضي ماژول ها هم ارتقاء يابند از ميان ماژول ها Admin ارتقاء مييابد و هر ماژولي كه آن را لازم دارد را هم دوباره فعال ميكند.
11) ماژول جديد Admin، براي طبقه بندي ماژول ها مجاز است در طول مراحل ارتقاء اين طبقه بنديهاي تعريف ميشوند اما ساكن و ثابت نميشوند بنابراين تمام ماژول ها در طبقه بندي سه قسمتي (3rd party)، نمايش داده ميشوند. پيكر بندي ماژول Admin را اصلاح كنيد يا تغيير دهيد. و هر ماژول را به دسته و طبقه مناسبش اضافه كنيد.
همچنين در اين جا طبقه بندي ها ميتوانند تعريف و يا حذف شوند.
12) اگر از يك قالب 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 احتياج دارد.
[2] و به ما اجازه استفاده از فايل استاندارد
HTML را به عنوان يك ماژول ميدهد (به جز تگ هاي
<head> , <body>) البته بايد توجه كنيم كه بعضي از اين ماژول ها مثل
postnuke، صفحاتي را كه قالبش توسط هر كار بر انتخاب شده است را ارائه نميدهد.
نحوه تغيير در منوي اصلي
1- حذف، اضافه و ويرايش آيتم هاي منو
- اگر بخواهيم تغيراتي را در منوي اصلي postnuke ايجاد كنيم بايد مراحل زير را به ترتيب انجام دهيم:
- بايد به عنوان مدير سايت يا Adminis trator وارد شويم.
- بر روي Administration كليك كنيم.
- روي Blocks كليك كنيم.
- در زير عنوان Blocks، منوي را پيدا كنيم.
- بر روي خط منوي اصلي، زير گزينه options، روي edit كليك كنيم
- توسط نواز لغزان به قسمتي كه content نام دارد، در جايي كه يك جدول به همراه عنوان، URL وتوضيحات هر ماژول و برنامه است، به طرف پايين ميآييم.
- تغيير دلخواه را ميدهيم.
- در پايين صفحه روي commit changer كليك ميكنيم.
- براي بررسي كردين تغييرات انجام شده روي home كليك كرده و تغييراتمام را بررسي و مرور ميكنيم.
2- اضافه كردن آيتم ها
ميتوان در هر جاي منو يك آيتم جديد اضافه كرد اگر بخواهيم آن را در بين دو منوي موجود اضافه كنيم روي منوي بالاي ميرويم و Insert blank after و سپس commit changes را كليك ميكنيم. اين كار يك خط خالي بعد از آيتميكه روي خط انتخاب شده است ايجاد ميكند. حالا ميتوانيم بر گرديم و آيتم دلخواهمان را روي خطي كه تازه ايجاد كرده ايم اضافه كنيم از ليست هاي موجود وحاضر به عنوان راهنما براي وارد كردن بخش URL جدول استفاده ميكنيم صفحات مجزا توسط نام صفحه ليست ميشوند مانند index. php اغلب ماژول ها نامشان را در براكت [] دارند مثل [PN-Zclassifieds] هر چند بعضي از آنها از آكولاد {} استفده ميكنند مثل {post calendar}.
براكت ها براي لينك كردن ماژول هاي قديمياستفاده ميشوند در حاليكه آكولاد براي لينك ماژول هاي جديد استفاده ميشود. ماژول هاي جديد كاملا سازگار و موافق pnAPI هستند در حاليكه ماژول هاي قديمياين گونه نيستند. ماژول هاي سازگار با API آنهايي هستند كه يك موضوع و نكته ورودي به وسيله index. php دارند مانند
Index. php? Module= postcalender
3- حذف كردن آيتم ها
روي خط آن آيتميكه ميخواهيم حذف شود delete را كليك ميكنيم و سپس commint changes را ميزنيم. هيچ اخطاري وجود ندارد و بنابراين مطمئن شويد كه ميخواهيد آيتم را حذف كنيد. اگر اشتباه كرديد و يا بعدا خواستيد آن آيتم را بازيابي كنيد فقط دستور العمل هاي مربوط به اضافه كردن آيتم ها را دنبال كنيد. مطمئن شويد كه نام ماژول را دقيقا همانطور كه در داير كتوري ماژول روي سرورتان ظاهر ميشود داخل براكت هاي مناسب، در ليست ثبت كنيد اين مورد شامل بزرگي و كوچكي حروف نام و ماژول هم ميشوند يعني اينكه (Down loads) ورودي مناسب URL براي down lood است نه [down goods).
4- جابه جا كردن آيتم ها
براي جابه جا كردن آيتم ها به خطهاي مختلف، همانند تنظيم مجدد منو، استفاده از تركيبي از حذف و اضافه كردن رالازم خواهيم داشت آيتم ها را به خط جديد اضافه ميكنيم. و از خط قبلي حذف ميكنيم. همچنين ميتوانيم از روش paste , cut براي جابه جايي آيتم ها استفاده كنيم.
حذف و اضافه پيام هاي مدير
وقتي postnuke را نصب كرديم پيغاميكه مشاهده ميكنم، پيام مدير سايت است همانند پياميكه postnuke را توصيف ميكند. براي مديران اين مرحله بعد از نصب به عنوان مدير وارد سايت بشويد بعد روي administration و سپس روي Admin message كليك كنيد. اگر ميخواهيد پيغام را حذف كنيد روي delete كليك كنيد.
اضافه كردن پيام هاي مدير
در بخش پيغام هاي مدير، در ناحيه مربوط به اضافه كردن پيغام، اطلاعات لازم است پر ميكنيم. اگر هنوز دولت نداريد پيغام ظاهر شود در قسمت Active گزينه No را انتخاب كنيد، در غير اينصورت yes را انتخاب كنيد كه به طور پيش فرض هم انتخاب هست. در ناحيه اي كه ميپرسد چه كسي پيغام را ببينيد، انتخاب خود را انجام دهيد و بعد روي Add messgae كليك كنيد. بعدا هم ميتوانيد بر گرديد و پيام را ويرايش كنيدو تغييرات را روي آن اعمال كنيد كه اين تغييرات شامل مشكل احتمالا از اين است كه قالب بدون وسط است يعني تمام بلوك هاي وسط يا مركز را نشان نميدهد.
تغيير صفحه آغازين سايت
از طريق حساب مدير وارد سايت شويد و در پانل مديريت رفته و صفحه تنظيمات (settings) را باز كنيد. قسمتي به نام (start page) را پيدا كرده و بعد آن را به مدلي كه دوست داريد در صفحه آغازين سايت ظاهر شود، تغيير دهيد.
افزودن آيتم به منوي شخصي
مراحل زير براي افزودن آيتم به منوي شخصي خود، دنبال كنيد:
1- ورود به سايت به عنوان مدير
2- رفتن به پانل مديريت
3- ورود به قسمت Blocks
4- ويرايش بلوك منوهاي مورد نظر
از اين جا به بعد، هر چيزي كه اضافه كنيد تعيين خواهد كرد كه چگونه لينكش را وارد كنيد براي ماژول هاي سازگار با 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 توضيحاتي مختصر آمده است.
1) ماژول pnaddressbook: براي استفاده از بانك اطلاعاتي مثلا شركت هاي مختلف به كار ميرود. (كتاب آدرس)
2) ماژول Addstory: اين ماژول در ليست خود ماژول هاي postnuke قرار دارد و به كاربر اجازه ميدهد داستان دلخواه خود را از طريق فرميكه در شكل آمده بنويسيد و در سايت قرار دهيد.
شكل addstory
3) ماژول poll: با استفاده از اين ماژول ميتوانيم از كاربراين كه از سايت ما استفاده ميكنند. در زمينه هاي مورد نظر و دلخواه خود (به عنوان مديريت) نظر خواهي ميكنيم براي اين كار بايد فرم شكل زير را تكميل كرد و تنظيمات لازم را انجام داد.
شكل poll
5- ماژول Admin message: براي حذف و اضافه پيامهاي مدير به همان طريق گفته شده
6- ماژول Block: براي حذف اضافه و ويرايش منو به طريق گفته شده
7- ماژول Auto link: براي تعريف كلمات كليدي لينكي خود كار
8- ماژول censpor: در اين ماژول از طريق فرم به موجود ميتوانيد كلمات نامناسب را از سايت خود سانسور و حذف كنيد همچنين اگر كلمه مورد نظر در ليست موجودنبود خود ميتوانيد كلمه را به ليست اضافه كنيد.
9- ماژول comment: اين ماژول ميتواند توضيحات شما در مورد هر مطلبي را روي سايت قرار دهد.
10- ماژول Downloads: فايل هايي كه براي دانلود كردن هستند را مديريت ميكند.
11-ماژول FAQ: از طريق فرم موجود در اين قسمت سوالات متداولي كه اغلب مورد سوال كارران هست را مينويسيد و در قسمت پاسخ گويي به آنها پاسخ هم ميدهيد.
12- ماژول Groups: در اين قسمت گروه كاربر تشكيل ميدهيد دو گروه كلا وجود دارد گروه كاربران و گروه مديران.
13-ماژول languages: براي پشتيباني از چند زباني بودن سايت استفاده ميشود. و در اين قسمت زبان مودر نظر را اضافه ميكنند البته مثلا بايد تنظيمات لازم انجام شده باشد و زبان هاي مورد نظر به سايت اضفاه شده باشند.
14- ماژول mailer: اين ماژول به عبارتي پستچي سايت postnuke است.
15- ماژول Mailuser: اين ماژول ميتواند به تمام كاربران روي سايت شما و يا به طور مجزا به آنها نامه ارسال كند.
16- ماژول ephemierids: در اين قسمت ميتوانيد اتفاقات روزانه خود را وارد ومديريت كنيد.
17- ماژول xanthia: همانطور كه قبلا در قسمت ماژول ها گفته شد اين ماژول موتور اصلي قالب سايت شما ميباشد.
18-ماژول Madules: واما اين ماژول، خود ماژولي است كه تمام ماژول هاي موجود در سايت و يا ماژولهايي كه شما به سايت اضافه كرده ايد را مديريت و نگهداري ميكند.
وقتي ماژولي را اضافه ميكنيد براي اينكه در ليست اين قسمت بيابيد براي بار اول بايد آن regenerate كنيد كه بعد از اينكه كار نام ماژول در ليست ماژول ها ديده ميشود. حالا براي فعال كردن ماژول بايد، خط نام ماژول داخل ليست ابتدا initialize و سپس Active را كليك كنيد. تا ماژول شما به حالت فعال در آيد.
بخش چهارم: توسعه يك ماژول potnuke
خلاصه: اين ماژول در مورد، مفاد اساسي توسعه يك ماژول براي cms وبلاگي است كه است كه postnuke ناميده ميشود.
اهداف:
1) توصيف معماري postnuke
2) توضيح اينكه ماژول چيست و نمايش معماري آن
3) نشان دادن مراحلي كه يك فرد براي توسعه يك ماژول postnuke نياز دارد.
4) دادن بعضي از اطلاعات و نكات مهم و محرمانه
معرفي
1) postnuke پرتال و بلاگ انجمن/ cms همراه با معماري ماژولار
2)يك ماژول
-يك برنامه كاربردي است كه وظايف اعضاي پرتال را تقويت ميكند و آنها را به آساني در ساختار هسته اي كامل و يكپارچه ميكند.
-يك داير كتوري است كه شامل فايل هايي همراه با توابع است.
3) يك ماژول ميتواند
- مستقل باشد: وظايفي را انجام بدهد كه مستقل از ديگر وظايف يا ماژول هاي پرتال باشد و از پرتال به عنوان يك موتور نمايش دهنده استفاده كند.
- وابسته باشد: از ماژول هاي ديگر و آنهايي كه از محتويات (اطلاعات پايگاه داده) ديگر ماژول هاي پرتال استفاده ميكنند و آنها را دستكاري ميكنند.
4) يك ماژول ميتواند
- در يك بلوك نمايش يابد و / يا
- در ناحيه نمايش مركزي پرتال نمايش يابد.
5) يك ماژول (معمولا و نه هميشه) در واسط دارد:
- يك واسط مديريت براي مدير يا براي پيكر بندي ماژول و براي اينكه ابزار مديريت سيستم را به طور كامل يكپارچه كند.
- يك واسط كاربر براي كاربر تا ماژول را اجرا كند.
گام هاي اساسي
قبل بتن از طراحي و نوشتن ماژول و كلا قبل از اندام به هر عمل واقعي ابتدا بايد مراحل زير را دنبال كنيد.
- ابتدا براي آساني و راحتي كار بهتر است تمامياسناد موجود و معتبر را پرينت گرفته و كاملا مطالعه كنيد.
- از ماژول هاي ديگر الهام بگيريد.
- در مورد وضعيت كار وظيفه ماژول تصميم بگيريد و بررسي كنيد كه قبلا اين ماژول موجود نباشد!
- يك نام مناسب و با معني براي ماژول انتخاب كنيد و آن را در پرتال رسميPN ثبت كنيد تا با اساميماژول هاي ديگر برخوردي نداشته باشد.
- در مورد نوع ماژول تصميم گيري كند: utility , item
Item: ماژول هاي مستقل هستند كه محتويات خودشان را دستكاري ميكنند مثل ماژول هاي Downloads, News , FAQ
Utiltity: ماژول هايي هستند كه محتويات ديگر ماژول ها را دستكاري ميكنند مثل ماژول ratings , comments و همچنين آنهايي كه معمولا از hooks (عكس العمل هاي بين ماژولي) استفاده ميكنند.
- ماژول خود را طراحي ميكند.
1- توابع كاربرد را از توابع admin جدا كنيد.
2- توابع API را از GNI جدا كنيد (گرافيكي ها از عملياتي ها)
3- تصميم گيري در مورد اينكه آيا ميخواهيد بلوك داشته باشيد.
- در مورد ساختار جداول پايگاه داده كه ماژول هايتان به آنها احتياج خواهند داشت كاملا و با دقت فكر كنيد.
- مطابق اسناد رسميو نكاتي كه در ادامه ميآيد و برنامه نويسي را شروع كنيد.
- ميتوانيد براي حل مشكلات خود از ماژول 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
جزئيات:
صفحه Details
نصب و مقدار دهي اوليه ماژول
PN يك واسط را براي آغاز و مقدار دهي اوليه، فعال و غير فعال كردن و يا حذف يك ماژول (جداول sql مربوط اش) فراهم كرده است و فايل هايي كه در اين كار شركت دارند pinit.php , pntables. Php هستند.
توصيف تمام جداول sql موجود در فايل pntables. php
در اين فايل تابعي وجود دارد كه در يك آرايه اصلي PN كه "postnuke" نام دارد. توسط نام تمام جداولي كه در يك ماژول و فيلدهايشان استفاده ميشوند، پر ميشوند.
به عنوان مثال جدول pn-ioinproject- members همراه با چهار فيلد را در زير ميبينيد.
قسمت برنامه
ايجاد يا حذف جداول aql داخل فايل "pnint. php''
در تابع براي اين منظور وجود دارد: delete ( ), init ( )
در داخل فايل ( ) init جداول داخل پايگاه داده PN كه ماژول لازم دارد، توسط فراخواني پرس و جوهاي (queries) ساده sql، ايجاد ميشوند.
برنامه 2
در داخل فايل delete ( ) جداول aql ي را كه به ماژول متصل هستند. با استفاده از از دستور Droptable از پايگاه داده PN حذف ميشوند.
برنامه 3
آزمايش و بررسي صحت جداول sql پايگاه داده
براي آزمايش و بررسي درستي و صحبت وجود جداول sql داخل پايگاه داده ميتوان مسير زير را باز بيني كرد:
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 ( ) ;
}
چندين سطح دسترسي طبق اسناد رسميوجود دارد.
برنامه 4
اشياء HTML
براي كار با Html از شي "pn Html" و متدهايش استفاده كنيد.
هرگز از دستورات "echo" يا " print" استفاده نكنيد، در عوض از متدهاي pnHIml كه از تك هاي html محافظت خواهند كرد، استفاده كنيد (كه نتيجتا داشتن كد Html صحيح و سازگار را ضمانت ميكند)
براي تمام انواع عناصر Html متدهاي زيادي وجود دارد، بعضي آنها در زير لست شده اند:
صفحه 6
ماژول هاي چند زباله
براي اينكه ماژول هايتان را بين المللي كنيد دو راه وجود دارد:
- داخل كد برنامه، به جاي متن خام از عبارات ثابت استفاده كنيد.
- در زير شاخه pnlang ماژول، به هر اندازه اي كه زبان موردنياز است به همان مقدار زير شاخه درست كنيد و فايل هاي admin. Php و usder.php را به هر كدام اضافه كنيد.
به مثال زير كه در مورد زبان فرانسوي توجه كنيد:
1)File mymodule/ pnlang/ fra/ admin. Php
<? Php
dfine (" – MODULETitle" , "join project module");
define ("-ADMININTERFACE", "Interface admins trateur");
define ("- LISTOFPROJECTS" , "Liste des projects");
?>
2) File mymodule/ pnlang/ fra/ user.php
<?php
define("-MODULETITLE", "Join project");
define ("- JOUNAPROJECT", "Joindre un project");
dfine (" –LISTOFPROJECTS";"LIDTE des projects");
3) فراواني تابع
$outpnt
Title(- MODULETITLE);
فصل سوم:
مستندات
در اين فصل به عنوان نمونه و به منظور آشنايي عملي تر با نحوه ماژول نويسي و برنامه نويسي چند فايل برنامه اي يكي از ماژول هاي post nuke آورده شده است.
لازم به ذكر است كه ماژول انتخاب شده براي اين فصل ماژول اخذ آراء كار بر يا polls ميباشد.
فصل چهارم:
ارزيابي و نتيجه گيري
ارزيابي پروژه:
اين پروژه يك پروژه تحقيقاتي ميباشد و به صورت تك نفره انجام شده است و بر روي يك موضوع نسبتا تازه و جديد بحث كرده است.
سيستم هاي مديريت محتوا، به تازگي وارد بازار ايران شده اند و هنوز كتاب منبعي به زبان فارسي در اين زمينه خاص، به ويژه نرم افزار postnuke وجود ندارد. لذا در اين مجال سعي كردم با استفاده از منابع و اسناد خود سايت كه مطالب جامع و كاملي بودند تحقيق را انجام بدهم. از اينرو يكي از نقاط قوت اين پروژه را ميتوان اين مسئله عنوان كرد كه تماميمطالب ارائه شده به دور از برداشته هاي شخصي است و بعد از مطالعه و ترجمه مطالب ضمن كار كردن تمام نكات آمده به صورت عملي، صحت آنها بررسي شده است. نكته ديگر اين است كه postnuke يكي از سخت ترين cms هاي موجود است و بيشتر سعي من در اين پروژه اين بوده كه تماميمطالب آمده را به صورت گام به گام و تا حد امكان يك كلمه است ارائه كنم تا در صورت نياز قابل استفاده تر شود.
ضمنا خالي از لطف نيست كه اين نكته را ياد آوري كنم كه چون اين پروژه تحقيقاتي ميباشد و زمان محدود، لذا نميتوان ادعا كرد كه تمام مطالب لازم و ياموجود در اين زمينه آورده شده است.
اما ميتواند نقطه شروع خوب و كاملي براي افراد ناآشنا در اين زمينه باشد.
نتيجه گيري:
پايان نامه فرصت مناسبي براي يادگيري بيشتر و گسترده تر ميباشد و زمان مناسبي است كه ميتوان آن را صرف پژوهش و تحقيق در زمينه تخصصي و مورد علاقه خود كرده و فراتر از آموخته هاي دانشگاهي و كلاسيك گام برداشت پروژه هاي تحقيقات براي رسيدن به مرحله كاربردي نياز به زمان زيادي دارند. (چرا كه معمولا در زمينه اي تحقيق انجام ميشود كه هيچ شناختي در آن زمينه حداقل براي خود فرد محقق و يا گروه تحقيقات او وجود ندارد) ولي خود عمليات تحقيق هم ميتواند آموزش هاي زيادي را براي فرد تحقيق كننده در بر داشته باشد.
در يك نتيجه گيري كلي ميتوان گفت كه تحقيق و پژوهش زير بناي پيشرفت جوامع در زمينه هاي مختلف علميميباشد و حداقل اثر آن ميتواند گشودن دنيايي جديد پيش روي چشمان ما باشد و جوهر جهل را كمرنگ تر كند.
پيشنهاد در مورد ادامه كار
بايد توجه داشت كه كلا پروژه هاي تحقيقاتي قابليت گستردگي بسيار زيادي دارند و هر چه بيشتر روي آنها وقت بگذاريم كامل تر و بهتر ميشوندو به همين جهت هنوز ميتواند اين تحقيق ادامه يابد و زمان محدود 3 الي 4 ماهه براي انجام يك پروژه تحقيقاتي كافي نيست.
بنابراين پيشنهاد اوليه من براي ادامه كار در اين زمينه ميتواند ادامه تحقيق باشد و يا حتي تاليف كتابي در اين زمينه و اما پيشنهاد ديگر اين است كه از امكانات اين سايت در زمينه عملي و كاربردي استفاده شود و هر سازمان ياموسسه اي كه احتياج به يك سايت گسترده با قابليت هاي بالا دارد از اين نرم افزار استفاده كند همانطور كه هم اكنون يكي دو سازمان به مزيت استفاده از آن پي برده اند و نرم افزار postnuke را اساس و پايه طراحي و پياده سازي سايت خود قرار داده اند.
منابع:
1) www. Postnuke. Com
2) meds. Postnuke. Com
3) support. Postnuke. Com
4) Designs 4 Nuke. Com
5) Manual. TxT
wysiwyG: what you see is what you get [1]