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

خلاصه پايان نامه:
در اين پروژه تحقيقاتي ابتدا با نگاهي گذرا و مختصر سيستم هاي مديريت محتوي معرفي شده است سپس بر روي يك نمونه 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 چناكه توسط بنياد نرم افزاري رايگان منتشر شده است. به عنوان نسخه شماره ۲ مجوز يا هر نسخه بعدي ديگر آن را اصلاح كنيم.
اين برنامه با اميد به اينكه مفيد خواهد بود توزيع شده اما هيچ گارانتي حتي براي قابليت بازرگاني يا تناسب داشتن براي هدف خاصي ندارد.
خصوصيات اصلي 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
7- استفاده از سايت 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 ارسال كنند. فعال يا روشن كنيد.