Mojo Portal

14 downloads 2940 Views 3MB Size Report
ػیؼتن هذیشیت هحتَا سا بشسػی خَاّین کشد. دس ابتذا ًگاّی بِ عشیقِ ًلب آى خلَاّین داؿلت ٍ ػلپغ توشکلض خلَد سا بلش سٍی کلذّا قلشاس. هیذّین. ًصة. Mojo Portal.
‫تحلیل سیستم مدیریت محتوای‬

‫‪Mojo Portal‬‬

‫استاد راهنما‪ :‬مهندس ایرانی‬

‫مهدی عیسی لو‬ ‫‪8013535178‬‬

‫فْرظت‬ ‫ًصة ‪2 ........................................................................................................................ MOJO PORTAL‬‬ ‫ًلب ‪ MOJO‬با اػتفادُ اص ‪2.................................................................................. MS WEB DEPLOYMENT TOOL‬‬ ‫ًلب دػتی دس ‪7.......................................................................................................................... IIS‬‬ ‫تَظعِ دادى هَجَ ‪31 ..........................................................................................................................‬‬ ‫ًگاُ کلی بِ ػَسع کذ هَجَ ‪14 ............................................................................................................‬‬ ‫کاهپایل کشدى ػَسع کذ دس ٍیظٍال اػتَدیَ ‪15 ...........................................................................................‬‬

‫با اػتفادُ اص ‪16 ................................................................................... ASP.NET Development Server‬‬ ‫با اػتفادُ اص ‪16 ...................................................................................................................... IIS‬‬ ‫تغییش دادى ًَع ‪18 ................................................................................................................... DBMS‬‬ ‫ًگاُ کلی بِ هاطٍلْا یا ‪ّFEATURE‬ای هَجَ پَستال ‪19 .......................................................................................‬‬ ‫ایجاد یک هاطٍل ػادُ ‪21 ....................................................................................................................‬‬ ‫اضافِ کشدى هاطٍل بِ ػیؼتن ًلب خَدکاس ‪26 ............................................................................................‬‬ ‫اضافِ کشدى یک جذٍل بِ دیتابیغ اص عشیق ػولیات ًلب ‪30 ...........................................................................‬‬ ‫اضافِ کشدى الیِ ّای ‪ DATA ACCESS ٍ BUSINESS‬بِ هاطٍل ‪33 .............................................................................‬‬ ‫هعواری ‪13 .......................................................................................................................................‬‬ ‫الیِ ‪35 ....................................................................................................................... PRESENTATION‬‬ ‫الیِ ‪35 ............................................................................................................................. BUSINESS‬‬ ‫الیِ ‪36 ........................................................................................................................ DATA ACCESS‬‬

‫‪1‬‬

‫موجوپورتال (‪)MOJO Portal‬‬ ‫هَجَپَستال یک ‪ CMS‬اص جاهؼِ ‪ Open Source‬اػت کِ تقشیبا بِ كَست کاهلل تَػلظ ‪Joe‬‬ ‫‪ًَ Audette‬ؿتِ ؿذُ اػت‪ .‬ایي ػیؼتن هذیشیت هحتَا تحلت ‪ .Net‬تَػلؼِ دادُ ؿلذُ اػلت ٍ‬ ‫هیتَاًذ سٍی دیتابیغ ّای ‪SQL Server ،PostgreSQL ،MySql ،FirebirdSql ،MSSQL‬‬ ‫‪ SQLite ٍ Compact‬هَسد اػتفادُ قشاس بگیشد‪ .‬دس ایي ًَؿتِ ها اص لحلاػ بشًاهلِ ًَیؼلی ایلي‬ ‫ػیؼتن هذیشیت هحتَا سا بشسػی خَاّین کشد‪.‬‬ ‫دس ابتذا ًگاّی بِ عشیقِ ًلب آى خلَاّین داؿلت ٍ ػلپغ توشکلض خلَد سا بلش سٍی کلذّا قلشاس‬ ‫هیذّین‪.‬‬

‫ًصة ‪Mojo Portal‬‬ ‫ًلب هَجَ اص دٍ عشیق اهکاى پزیش اػت‪:‬‬ ‫‪ً .1‬لب ػادُ با اػتفادُ اص ‪Microsoft Web Deployment Tool‬‬ ‫‪ً .2‬لب دػتی سٍی ‪IIS‬‬ ‫ها ّش دٍ ًَع سا بشسػی خَاّین کشد‪:‬‬

‫ًصة ‪ Mojo‬تا اظتفادُ از ‪MS Web Deployment Tool‬‬ ‫سٍؽ کاس بِ كَست صیش اػت‪:‬‬

‫‪2‬‬

‫‪ ‬ابتذا بایذ فایل ًللب هَجلَ سا داًٍللَد کلشد‪ .‬فایلْلای ًللب داسای ًلاهی بلِ ؿلکل صیلش‬ ‫هیباؿٌذ‪:‬‬ ‫‪mojoportal-x-x-x-x-mssql-deploymentfiles.zip‬‬ ‫البتِ بشای دیتابیغ ّای دیگش ّن ًام دیتابیغ هشبَط دس آى قشاس هی گیشد‪.‬‬ ‫‪ ‬ػپغ ‪ MS Web Platform Installer‬سا داًٍلَد کٌین‪ .‬اص هیاى ابضاسّای ًولایؾ دادُ‬ ‫ؿذُ دس قؼوت ‪ Web Platform‬بشًاهِ ‪ Web Deployment Tool‬سا ًلب هیکٌین‪.‬‬ ‫پغ اص ًلب ایي بشًاهِ‪ ،‬یک گضیٌِ دس ‪ IIS‬با ًام ‪ Import Application‬ظلاّش هیـلَد‪.‬‬ ‫سٍی آى کلیک هی کٌین‪ .‬دس صیش تلاٍیش هشبَط بِ هحیظ ًشم افضاس ٍ ّوچٌلیي ‪ IIS‬سا هلی‬ ‫بیٌیذ‪.‬‬

‫شکل ‪ - 3‬هحیط ًرم افسار ‪MS Web Platform Installer‬‬

‫‪3‬‬

‫شکل ‪ - 2‬هحیط ‪ ٍ IIS‬اضافِ شذى گسیٌِ ‪ Import Application‬در قعوت پاییي ٍ راظت‬

‫‪ ‬پغ اص کلیک سٍی لیٌلک گفتلِ ؿلذُ‪ ،‬كلفحِ ای بلاص هلی ؿلَد کلِ بایلذ دس آى آدسع‬ ‫فایل فـشدُ داًٍلَد ؿذُ سا دادُ ٍ ‪ Next‬سا هیضًین‪.‬‬ ‫‪ ‬دس ایللي قؼللوت توللام کاسّللایی کللِ الصم اػللت اًجللام ؿللَد ًوللایؾ دادُ هیـللَد‪ .‬دس‬ ‫ؿکل ‪ 4‬هی تَاًیلذ ایلي كلفحِ سا هـلاّذُ ًواییلذ‪ .‬تولام گضیٌلِ ّلا سا اًتخلا کلشدُ ٍ‬ ‫اداهِ هی دّین‪.‬‬ ‫‪ ‬دس كللفحِ بؼللذ‪ ،‬هـخلللات دیتللابیغ هَسدًیللاص ًوللایؾ دادُ هیـللَد‪ .‬دس ؿللکل ‪ 5‬ایللي‬ ‫هـخلات سا هی بیٌیذ‪.‬‬

‫‪4‬‬

‫شکل ‪ - 1‬صفحِ اًتخاب فایل فشردُ هَجَ‬

‫شکل ‪ - 3‬صفحِ کارّایی کِ تایذ رٍی فایلْا اًجام شَد‬

‫‪5‬‬

‫شکل ‪ - 5‬هشخصات دیتاتیط‬

‫پغ اص تٌظین ایلي هـخللات بلا صدى دکولِ ‪ Next‬ػولیلات ًللب ؿلشٍع هلی ؿلَد ٍ بلا‬ ‫تلَیش ؿکل ‪ 6‬پایاى هی یابذ‪.‬‬

‫شکل ‪ - 6‬پایاى عولیات ًصة‬

‫‪6‬‬

‫ًصة دظتی در ‪IIS‬‬ ‫سٍؽ کاس بِ تشتیب صیش اػت‪:‬‬ ‫‪ .1‬ابتذا فایل ًلب هَجَ سا بِ تشتیبی کلِ دس قؼلوت قبلل گفتلِ ؿلذ داًٍللَد هلی کٌلین‬ ‫ٍ آى سا اص حالت فـشدُ خاسج هی کٌین‪.‬‬ ‫‪ .2‬بللا اػللتفادُ اص ابضاسّللای هللذیشیت دیتللابیغ‪ ،‬پایگللاُ دادُ هللَسد ًظللش خللَد سا ایجللاد‬ ‫هیکٌین‪ .‬بشای هثال ها اص ‪ MSSQL‬اػتفادُ هی کٌین‪.‬‬ ‫‪ .3‬پللغ اص ایجللاد دیتللابیغ خللالی‪ ،‬اص قؼللوت ‪ ،Security‬سٍی ‪ Login‬کلیللک ساػللت‬ ‫کشدُ ٍ ‪ New Login‬سا اًتخا هی کٌین‪.‬‬ ‫‪ .4‬دس پٌجشُ باص ؿذُ‪ً ،‬ام کلاسبشی سا کلِ هلی خلَاّین بلِ ػٌلَاى كلاحب دیتلابیغ بلا آى‬ ‫کللاس کٌللذ سا هـللخق هللی کٌللین ٍ سهللضی سا بللشای آى اًتخللا هیکٌللین‪ .‬قؼللوت‬ ‫‪ Enforce Password Policy‬سا غیللش فؼللال هللی کٌللین‪ .‬دس پللاییي كللفحِ ّللن ًللام‬ ‫دیتللابیغ ایجللاد ؿللذُ خللَد سا بللِ ػٌللَاى ‪ Default Database‬اًتخللا هیکٌللین‪.‬‬ ‫ػللپغ سٍی ‪ User Mapping‬کلیللک هللی کٌللین‪ .‬دس ؿللکل ‪ 7‬هللی تَاًیللذ ایللي‬ ‫تٌظیوات سا ببیٌیذ‪.‬‬ ‫‪ .5‬دس كللفحِ ‪ ،User Mapping‬دیتللابیغ ایجللاد ؿللذُ خللَد سا اص لیؼللت دیتللابیغ ّللا‬ ‫اًتخللا ًوللَدُ ٍ ػللپغ اص قؼللوت پللاییي گضیٌللِ ‪ db_owner‬سا تیللک هیللضًین‪.‬‬ ‫(ؿکل ‪ 8‬سا ببیٌیذ)‬ ‫‪ .6‬ػللپغ بللِ كللفحِ تٌظیوللات ‪ IIS‬سفتللِ ٍ سٍی ‪ Default Website‬اص ػللوت لل‬ ‫کلیللک هللی کٌللین‪ .‬اص ػللوت ساػللت‪ ،‬سٍی گضیٌللِ ‪ Basic Settings‬کلیللک هیکٌللین‪.‬‬ ‫دس پٌجشُ ای کلِ بلاص هلی ؿلَد آدسع پَؿلِ ‪ wwwroot‬سا اص فایلْلای داًٍللَد ؿلذُ‬ ‫هَجللَ سا دس قؼللوت ‪ٍ Physical Path‬اسد هللی کٌللین‪ .‬قؼللوت ّللای گفتللِ ؿللذُ دس‬ ‫ؿکل ‪ 9‬بِ سًگ قشهض ًـاى دادُ ؿذُ اًذ‪.‬‬

‫‪7‬‬

‫شکل ‪ - 7‬تٌظین کارتر ترای دیتاتیط‬

‫شکل ‪ - 8‬تٌظین دظترظی کارتر‬

‫‪8‬‬

‫شکل ‪ - 9‬تٌظیوات ‪ IIS‬ترای هشخص کردى آدرض فیسیکی‬

‫‪ .7‬سٍی ‪ Application Pools‬اص ػللوت ساػللت کلیللک کللشدُ ٍ دس لیؼللت بللاص ؿللذُ‬ ‫سٍی ‪ DefaultAppPool‬کلیللک هللی کٌللین‪ .‬اص ػللوت ساػللت گضیٌللِ ‪Advanced‬‬ ‫‪ Settings‬سا اًتخللللللللا هللللللللی کٌللللللللین ٍ دس آى‪ Identity ،‬سا بشابللللللللش‬ ‫‪ NetworkService‬قشاس هی دّلین‪ .‬بلِ ایلي دلیلل ایلي کلاس سا اًجلام هلی دّلین کلِ‬ ‫بتللَاًین سٍی دػتشػللی ّللای ؿللبکِ کٌتللشل الصم سا داؿللتِ باؿللین‪ .‬دس ؿللکل ‪ 10‬ایللي‬ ‫قؼوتْا ًوایؾ دادُ ؿذُ اًذ‪.‬‬ ‫‪ .8‬حال بِ پَؿِ فایلْلای ًللب هَجلَ هلی سٍیلن‪ .‬پَؿلِ ‪ wwwroot‬سا اًتخلا کلشدُ ٍ‬ ‫بللِ تٌظیوللات آى هللی سٍیللن‪ .‬دس قؼللوت دػتشػللی ّللای کللاسبشاى‪ ،‬بللشای ‪Network‬‬ ‫‪ Service‬دػتشػلللی ّلللای ‪ٍ List Folder Contents ،Read & Execute‬‬ ‫‪ Read‬سا فؼال هی کٌین( ؿکل ‪)11‬‬

‫‪9‬‬

‫شکل ‪ - 31‬تٌظیوات پیشرفتِ‬

‫‪ .9‬دس داخللل پَؿللِ ‪ ،wwwroot‬دٍ پَؿللِ بللِ ًاهْللای ‪ٍ App_Data ٍ Data‬جللَد‬ ‫داسد‪ .‬بللشای ایللي دٍ پَؿللِ‪ ،‬تٌظیوللات سا تغییللش هللی دّللین تللا کللاسبش ‪Network‬‬ ‫‪ Service‬بتَاًذ هحتَیات آى سا تغییلش دّلذ‪ .‬یؼٌلی ّواًٌلذ قلذم قبللی ػولل هیکٌلین‬ ‫با ایي تفاٍت کِ بِ ایي کاسبش تظیوات ‪ Full Control‬هی دّین‪.‬‬

‫‪10‬‬

‫شکل ‪ - 33‬تٌظیوات پَشِ ‪wwwroot‬‬

‫‪ .10‬حلللللال دس داخلللللل پَؿلللللِ ‪ ،wwwroot‬بلللللِ دًبلللللال فلللللایلی بلللللا ًلللللام‬ ‫‪ user.config.sample‬هیگللشدین‪ً .‬للام آى سا بللِ ‪ user.config‬تغییللش هللی دّللین‬ ‫ٍ آى سا بللاص هللی کٌللین‪ .‬دس ایللي فایللل‪ Connection String ،‬هشبللَط بللِ دیتللابیغ‬ ‫خَدهاى سا تٌظین هیکٌین‪ .‬ػپغ فایل سا رخیشُ کشدُ ٍ هی بٌذین‪.‬‬ ‫‪ .11‬یللک هشٍسگللش ایٌتشًللت هللث ‪ firefox‬سا بللاص هیکٌللین ٍ دس آى ایللي آدسع سا ٍاسد‬ ‫هیکٌین‪:‬‬ ‫‪http://localhost/‬‬ ‫‪ .12‬اگش تٌظیوات بِ دسػتی اًجام ؿذُ باؿٌذ‪ً ،‬لب با هَفقیت بِ پایاى هیشػذ‪ .‬دس ؿلکل ‪12‬‬ ‫ًتیجِ ػولیات ًلب هَفقیت آهیض سا هی بیٌیذ‪.‬‬

‫‪11‬‬

‫شکل ‪ً - 32‬وایش ًصة هَفقیت آهیس‬

‫‪ .13‬حللال هللی تللَاى بللا کلیللک سٍی لیٌللک ‪ٍ Site Home Page‬اسد كللفحِ اكلللی‬ ‫ػللایت ؿللذ‪ .‬بللا ًللام کللاسبشی ‪ ٍ [email protected]‬سهللض ‪ٍ admin‬اسد ػللایت‬ ‫هیـَین‪ .‬كفحِ اكلی ػایت سا دس صیش هی بیٌیذ‪.‬‬

‫‪12‬‬

‫شکل ‪ - 31‬صفحِ اصلی ظایت‬

‫تَظعِ دادى هَجَ‬ ‫بشای ایي کِ بتَاًین دس هَجَ تغییشاتلی ایجلاد کٌلینث هلث ایلي کلِ یلک ٍیظگلی جذیلذ بلِ آى‬ ‫اضللافِ کٌللین‪ ،‬جللذٍلی بللِ پایگللاُ دادُ آى اضللافِ کٌللین ٍ ‪ً ، ...‬یللاص داسیللن کللِ آى سا دس هحللیظ‬ ‫بشًاهللِ ًَیؼللی ٍاسد کٌللین‪ّ .‬وللاًغَس کللِ قللب اؿللاسُ ؿللذ‪ Mojo Portal ،‬یللک ػیؼللتن‬ ‫هذیشیت هحتَای هتي باص اػت ٍ ػَسع کذ آى دس ػایتؾ قابل دػتشػی اػت‪.‬‬ ‫هیخللَاّین ػللَسع کللذ هَجللَ سا دس هحللیظ ‪ Visual Studio‬بللاص کٌللین‪ .‬البتللِ هللی تللَاى دس‬ ‫هحیظ لیٌَکغ ّن ایي کذّا سا با اػتفادُ اص ‪ MonoDevelop‬باص ًوَد‪.‬‬

‫‪13‬‬

‫بللشای ایللي کللِ بتللَاًین پللشٍطُ سا دس ‪ Visual Studio‬بللاص کٌللین‪ ،‬بایللذ آؿللٌایی هحللذٍدی بللا‬ ‫فایلْای هَجَد دس پشٍطُ داؿتِ باؿین‪.‬‬

‫ًگاُ کلی تِ ظَرض کذ هَجَ‬ ‫اگش ػَسع کلذ هَجلَ سا داًٍللَد کٌیلذ‪ ،‬هلی بیٌیلذ کلِ تؼلذاد صیلادی پَؿلِ بلِ ّولشاُ تؼلذاد‬ ‫بؼیاس صیادی فایل دس آى ٍجلَد داسد‪ .‬هَجلَ بلِ كلَستی کلِ داًٍللَد هلی ؿلَد‪ ،‬هجوَػلِ ای اص‬ ‫‪ 25‬پللشٍطُ اػللت‪ .‬اگللش فقللظ بخللَاّین ب لا ‪ MSSQL‬کللاس کٌللین‪ ،‬تؼللذاد ایللي پللشٍطُ ّللا بللِ ‪14‬‬ ‫هیشػذ‪.‬‬ ‫فایللل اكلللی پللشٍطُ ‪ mojoportal.sln‬اػللت‪ .‬اص ایللي ‪ solution‬هیتللَاى تٌظیوللات هشبللَط‬ ‫بِ ‪ Data Layer‬سا تغییش داد‪ .‬بلشای هثلال فلشم کٌیلذ کلِ هلی خَاّیلذ اص سٍی ػلَسع کلذ‪،‬‬ ‫فایلْای قابل ًللب بلشای دیتلابیغ ّلای ‪ PgSQL‬سا ایجلاد کٌیلذ‪ .‬بلشای ایلي کلاس بایلذ اص ایلي‬ ‫‪ solution‬اػتفادُ کٌیذ‪ .‬بؼذا گًَگی اًجام ایي کاس سا خَاّین دیذ‪.‬‬ ‫اگش بخلَاّین فقلظ اص ‪ MSSQL‬اػلتفادُ کٌلین (کلِ هؼولَال ّویٌغلَس اػلت)‪ ،‬هلی تلَاًین بلِ‬ ‫جللای فایللل بللاال اص ‪ mojoportal.mssqlonly.sln‬اػللتفادُ کٌللین‪ .‬ایللي ‪ Solution‬بللِ‬ ‫كَست کاهل بشای کلاس بلا ‪ MSSQL‬تٌظلین ؿلذُ ٍ ًیلاص بلِ تظیولات اضلافی ًیؼلت‪ .‬هلا ّولِ‬ ‫جللا اص ایللي فایللل اػللتفادُ خللَاّین کللشد‪ ،‬هگللش ایللي کللِ بللِ كللَست ٍاضلل بگللَیین کللِ اص‬ ‫‪ّ Solution‬ای دیگشی اػتفادُ هی کٌین‪.‬‬ ‫دس هیللاى ‪ 14‬پللشٍطُ ای کللِ دس ‪ٍ solution‬جللَد داسًللذ‪ً ،‬للام یللک پللشٍطُ بللِ كللَست ‪bold‬‬ ‫ًَؿللتِ ؿللذُ اػللت‪ .‬پللشٍطُ ‪ ،mojoPortal.Web‬پللشٍطُ اكلللی ٍ ‪ startup‬دس بللیي ایللي‬ ‫پشٍطُ ّاػت‪.‬‬ ‫سًٍذ کاس کاهپایل بِ ایي كَست اػت‪:‬‬

‫‪14‬‬

‫‪ .1‬توللام پللشٍطُ ّللای هَجللَد دس ‪ ،solution‬دس صهللاى اجللشا‪ ،‬کاهپایللل هیـللًَذ‪ .‬البتللِ‬ ‫هیتَاى اًجام بؼضی اص آًْا سا (هلَاسدی کلِ هشبلَط بلِ ‪ّ UI‬ؼلتٌذ) هتَقلک کلشد‪ .‬بلشای‬ ‫ایللي کللاس‪ ،‬ابتللذا پللشٍطُ هللَسد ًظللش سا اًتخللا هللی کٌللین ٍ ػللپغ دس ‪ properties‬آى‪،‬‬ ‫گضیٌِ ‪ Always start when debugging‬سا بِ ‪ false‬تغییش هیذّین‪.‬‬ ‫‪ .2‬پللشٍطُ ّللای غیللش اص ‪ ،UI‬پللغ اص کاهپایللل ؿللذى‪ ،‬یللک فایللل ‪ dll‬ایجللاد هللی کٌٌللذ‪ .‬اهللا‬ ‫پشٍطُ ّای ‪ ،UI‬بِ ایي كَست کاهپایل ًویـًَذ‪ .‬ػللت ایلي اػلت کلِ ایلي پلشٍطُ ّلا بلِ‬ ‫كللَست ‪ّ Web Project‬ؼللتٌذ ٍ خشٍجللی آًْللا ػلل ٍُ بللش فایلْللای ‪ ،dll‬فایلْللای‬ ‫‪ aspx‬یا ‪ ٍ ascx‬یا ‪ً ashx‬یض ّؼت‪.‬‬ ‫‪ .3‬پللشٍطُ ّللای ‪ UI‬پللغ اص اتوللام ػوللل کاهپایللل‪ ،‬فایلْللایی سا بللِ پَؿللِ ّ لای هَجللَد دس‬ ‫پَؿِ ‪ Web‬کپی هی کٌٌذ‪ .‬بلشای ایلي کلِ گلًَگی ایلي ػولل سا ببیٌیلذ‪ ،‬هلی تَاًیلذ‬ ‫سٍی یکللی اص پللشٍطُ ّللای ‪ UI‬ساػللت کلیللک کللشدُ ٍ ‪ Properties‬سا اًتخللا کٌیللذ‪.‬‬ ‫دس پٌجللشُ بللاص ؿللذُ دس قؼللوت ‪ ،Build Events‬هللی تَاًیللذ لیؼللتی اص دػللتَسات‬ ‫‪ xcopy‬سا ببیٌیللذ کللِ دس قؼللوت ‪ًَ Post-build events‬ؿللتِ ؿللذُ اًللذ‪ .‬ایللي‬ ‫دػللتَسات پللغ اص کاهپایللل کاهللل‪ ،‬اجللشا هللی ؿللًَذ ٍ فایلْللای ‪ dll‬سا بللِ پَؿللِ ‪،bin‬‬ ‫فایلْلای ‪ ascx‬سا بلِ پَؿلِ ّلای هشبللَط بلِ خَدؿلاى ٍ فایلْلای هشبلَط بللِ ‪ setup‬سا‬ ‫دس پَؿِ ‪ Setup‬کِ ّوگلی دس پَؿلِ ‪ّ Web‬ؼلتٌذ کپلی هلی کٌلذ‪ .‬هلی تَاًیلذ ایلي‬ ‫فایلْللا سا دس پلللشٍطُ ‪ mojoPortal.Web‬ببیٌیلللذ البتلللِ قبلللل اص آى بایلللذ اص بلللاالی‬ ‫قؼوت ‪ ،solution‬گضیٌِ ‪ show all files‬سا اًتخا کٌیذ‪.‬‬ ‫‪ .4‬پللغ اص پایللاى یللافتي کاهپایللل توللام پللشٍطُ ّللا‪ ،‬پللشٍطُ ٍ بللِ ػٌللَاى پللشٍطُ آغللاصیي‪،‬‬ ‫ؿشٍع هی ؿَد ٍ كفحِ ‪ default.aspx‬دس كفحِ هشٍسگش ًوایؾ دادُ هیـَد‪.‬‬

‫کاهپایل کردى ظَرض کذ در ٍیصٍال اظتَدیَ‬ ‫بِ دٍ سٍؽ هی تَاى ایي کاس سا اًجام داد‪.‬‬

‫‪15‬‬

‫تا اظتفادُ از ‪ASP.NET Development Server‬‬ ‫قبلل اص ایلي کلِ بتَاًیلذ پلشٍطُ سا دس ٍیلظٍال اػلتَدیَ اجلشا کٌیلذ‪ ،‬بایلذ کاسّلای صیلش سا اًجللام‬ ‫دّیذ‪:‬‬ ‫‪ .1‬اص عشیلق ‪ DBMS‬هللَسد ًظللش خلَد‪ ،‬دیتللابیغ خللَد سا ایجلاد ًواییللذ ٍ کللاسبشاى هشبللَط‬ ‫بِ آى سا ّن دس كَست لضٍم تؼشیک کٌیذ‪.‬‬ ‫‪ .2‬اص قؼلوت بلاالی ًلام پلشٍطُ ّلا دس پٌجلشُ ‪ ،Solution Explorer‬گضیٌلِ ‪Show all‬‬ ‫‪ files‬سا اًتخا کٌیذ‪.‬‬ ‫‪ .3‬بللِ پللشٍطُ ‪ mojoPortal.Web‬بشٍیللذ ٍ دس هیللاى فایلْللای صیللادی کللِ دس آًجللا ٍجللَد‬ ‫داسد‪ ،‬فایلی با ًام ‪ user.config.sample‬بیابیذ‪.‬‬ ‫‪ً .4‬ام ایي فایل سا تبذیل بِ ‪ user.config‬کٌیذ ٍ آى سا باص ًواییذ‪.‬‬ ‫‪ .5‬دس بللاالی فایللل‪ ،‬قؼللوت هشبللَط بللِ ‪ Connection String‬سا بللا تَجللِ بللِ ًللام‬ ‫دیتابیؼی کِ ایجاد کشدُ ایذ‪ ،‬تلحی کٌیذ‪.‬‬ ‫‪ .6‬پشٍطُ سا با صدى کلیذ ‪ F5‬دس اجشا ًواییذ‪.‬‬

‫تا اظتفادُ از ‪IIS‬‬ ‫اػللتفادُ اص ‪ IIS‬بللِ دلیللل ایللي کللِ دقیقللا هـللابِ ػشٍسّاػللت‪ ،‬بْتللش اص اػللتفادُ اص ػللشٍس‬ ‫‪ ASP.NET‬اػللت‪ .‬هوکللي اػللت گللاّی یللک ػللایت دس ػللشٍس ‪ ASP.NET‬بللِ ؿللکلی دیللذُ‬ ‫ؿَد اها صهلاًی کلِ دس ػلشٍس آپللَد هلی ؿلَد‪ ،‬تغییشاتلی دس آى بَجلَد بیایلذ‪ .‬البتلِ بایلذ ایلي‬ ‫ًکتِ سا دس ًظش بگیشیذ کِ کاس کشدى با ػشٍس ‪ ASP.NET‬ساحت تش اص ‪ IIS‬اػت‪.‬‬ ‫بشای اجشای پشٍطُ دس حالت ‪ ،debug‬بش سٍی ‪ IIS‬بِ ایي تشتیب ػول کٌیذ‪:‬‬

‫‪16‬‬

‫‪ .1‬قذهْای اٍل تا پٌجن هـابِ سٍؽ قبلی اػت‪.‬‬ ‫‪ .2‬ػللپغ بللِ كللفحِ تٌظیوللات ‪ IIS‬سفتللِ ٍ سٍی ‪ Default Web site‬اص ػللوت ل‬ ‫کلیللک هللی کٌللین‪ .‬اص ػللوت ساػللت‪ ،‬سٍی گضیٌللِ ‪ Basic Settings‬کلیللک هیکٌللین‪.‬‬ ‫دس پٌجللشُ ای کللِ بللاص هللی ؿللَد آدسع پَؿللِ ‪ Web‬سا اص فایلْللای ػللَسع کللذ هَجللَ‬ ‫دس قؼوت ‪ٍ Physical Path‬اسد هی کٌین‪.‬‬ ‫‪ .3‬سٍی ‪ Application Pools‬اص ػللوت ساػللت کلیللک کللشدُ ٍ دس لیؼللت بللاص ؿللذُ‬ ‫سٍی ‪ DefaultAppPool‬کلیللک هللی کٌللین‪ .‬اص ػللوت ساػللت گضیٌللِ ‪Advanced‬‬ ‫‪ Settings‬سا اًتخلللا هلللی کٌلللین ٍ دس آى‪ Identity ،‬سا بشابلللش ‪NetworkService‬‬ ‫قشاس هی دّین‬ ‫‪ .4‬حال بِ پَؿلِ فایلْلای ػلَسع کلذ هَجلَ هلی سٍیلن‪ .‬پَؿلِ ‪ Web‬سا اًتخلا کلشدُ ٍ‬ ‫بللِ تٌظیوللات آى هللی سٍیللن‪ .‬دس قؼللوت دػتشػللی ّللای کللاسبشاى‪ ،‬بللشای ‪Network‬‬ ‫‪ Service‬دػتشػلللی ّلللای ‪ٍ List Folder Contents ،Read & Execute‬‬ ‫‪ Read‬سا فؼللال هللی کٌللین‪ .‬بللشای پَؿللِ ّللای ‪ App_Data ٍ Data‬کللِ دس داخللل‬ ‫پَؿِ ‪ّ Web‬ؼتٌذ‪ ،‬دػتشػی ‪ Full Control‬سا اًتخا هی کٌین‪.‬‬ ‫‪ٍ .5‬یلللظٍال اػلللتَدیَ سا بؼلللتِ ٍ آى سا بلللِ كلللَست ‪ Run as administrator‬اجلللشا‬ ‫هیکٌین‪.‬‬ ‫‪ .6‬فایللل ‪ Solution‬سا اص هٌللَی فایللل بللاص هللی کٌللین‪ .‬سٍی ‪ mojoPortal.Web‬ساػللت‬ ‫کلیک کشدُ ٍ ‪ Properties‬سا اًتخا هی کٌین‪.‬‬ ‫‪ .7‬دس پٌجشُ بلاص ؿلذُ‪ ،‬بلِ قؼلوت ‪ Web‬هلی سٍیلن ٍ دس بخلؾ ‪ ،Servers‬گضیٌلِ ‪Use‬‬ ‫‪ Local IIS Web server‬سا اًتخا هی کٌین‪.‬‬ ‫‪ .8‬حال هی تلَاًین بلا صدى کلیلذ ‪ F5‬پلشٍطُ سا اجلشا کٌلین‪ .‬البتلِ تَجلِ داؿلتِ باؿلیذ کلِ‬ ‫ایللي ًللَع اجللشا بللِ ایللي دلیللل بْتللش اص اجللشای دػللتی بللا اػللتفادُ اص ‪ IIS‬اػللت کللِ دس‬ ‫كَست بشٍص هـکل هی تَاى دس هحیظ ٍیظٍال اػتَدیَ‪ ،‬خغاّا سا بشعشف کشد‪.‬‬

‫‪17‬‬

‫تغییر دادى ًَع ‪DBMS‬‬ ‫دس ًؼللخِ ّللای جذیللذ ػللَسع کللذ‪ً ،‬یللاصی بللِ تغییللش ًللَع ‪ٍ DBMS‬جللَد ًللذاسد‪ .‬پللشٍطُ سا بللا‬ ‫اػللتفادُ اص فایللل ‪ mojoportal.sln‬بللاص کٌیللذ‪ .‬اگللش بللِ قؼللوت بللاالی ٍیللظٍال اػللتَدیَ ًگللاُ‬ ‫کٌیللذ‪ ،‬ػبللاست ‪ Debug‬سا دس آًجللا خَاّیللذ دیللذ‪ .‬اگللش سٍی فلللؾ کٌللاس آى کلیللک کٌیللذ‪،‬‬ ‫هیبیٌیللذ کللِ بللشای ّللش کللذام اص ‪ّDBMS‬للا گضیٌللِ جذاگاًللِ ای ٍجللَد داسد‪ .‬ایللي هغلللب سا دس‬ ‫ؿکل ‪ 14‬هی تَاًیذ ببیٌیذ‪.‬‬

‫شکل ‪ - 33‬شکل ّای هختلف ترای ‪Release ٍ Debug‬‬

‫اها اگش اص ًؼلخِ ّلای قلذیوی تلش ػلَسع کلذ اػلتفادُ هلی کٌیلذ هلی تَاًیلذ بلِ ایلي ؿلکل‬ ‫ػول ًواییذ‪:‬‬ ‫‪ .1‬پلللشٍطُ ‪ ٍ mojoPortal.Business‬اص آًجلللا‪ ،‬قؼلللوت ‪ References‬سا بلللاص کٌیلللذ‪.‬‬ ‫هی بیٌیذ کِ یک اسجاع بِ ‪ mojoPortal.Data.MSSQL‬دس آى ٍجَد داسد‪.‬‬ ‫‪ .2‬اگللش هللی خَاّیللذ بللِ ‪DBMS‬ی غیللش اص ‪ٍ MSSQL‬كللل ؿللَیذ‪ ،‬ایللي اسجللاع سا حللزف‬ ‫کٌیذ‪.‬‬

‫‪18‬‬

‫‪ .3‬سٍی ‪ References‬ساػلللت کلیلللک کلللشدُ ٍ ‪ Add Reference‬سا اًتخلللا کٌیلللذ‪.‬‬ ‫دس پٌجللشُ بللاص ؿللذُ بللِ قؼللوت ‪ Project‬بشٍیللذ ٍ یکللی اص اسجللاع ّللا سا کللِ بللا‬ ‫‪ mojoPortal.Data‬ؿشٍع هیـًَذ سا اًتخا ًواییذ‪.‬‬ ‫‪ّ .4‬وللیي کللاس سا بللشای ‪ّ mojoPortal.Features.Business‬للن تکللشاس کٌیللذ ٍلللی‬ ‫دس آًجللا یکللی اص اسجللاع ّللا سا اًتخلا کٌیللذ کللِ بللا ‪mojoPortal.Features.Data‬‬ ‫ؿشٍع هی ؿًَذ‪.‬‬ ‫‪ .5‬اگللش هللی خَاّیللذ اص ‪ MySQL‬اػللتفادُ کٌیللذ‪ ،‬هللی تَاًیللذ بللشای پللشٍطُ ‪WebStore‬‬ ‫ّللن ایللي کللاس سا اًجللام دّیللذ‪ .‬دس غیللش ایللي كللَست بایللذ آى سا اص پللشٍطُ خللَد کٌللاس‬ ‫بگزاسیذ‪.‬‬

‫شکل ‪ - 35‬پٌجرُ اضافِ کردى ارجاعات‬

‫ًگاُ کلی تِ هاشٍلْا یا ‪ّFeature‬ای هَجَ پَرتال‬ ‫هَجَپَستال هی تَاًذ هاطٍلْلای صیلادی سا دس خلَد جلای دّلذ‪ّ .‬واًگًَلِ کلِ قلب گفتلِ ؿلذ‪،‬‬ ‫هاطٍلْلللای هَجَپَستلللال‪ ،‬بلللِ كلللَست فایلْلللای ‪ّ dll ٍ ashx ٍ aspx ،ascx‬ؼلللتٌذ‪ّ .‬لللش‬ ‫هللاطٍل هللی تَاًللذ ٌللذ فایللل اص اًللَاع گفتللِ ؿللذُ سا داؿللتِ باؿللذ‪ .‬بللشای ایللي کللِ هاطٍلْللا دس‬

‫‪19‬‬

‫هَجَ ًلب ؿلًَذ‪ ،‬اع ػلاتی اص آًْلا دس دیتلابیغ ٍ اع ػلات دیگلشی بلِ كلَست فایلل اص آًْلا‬ ‫رخیشُ هیـَد‪ .‬اع ػات بِ كَست صیش هی باؿٌذ‪:‬‬ ‫‪ .1‬فایلْللای ‪ ashx ٍ aspx ،ascx‬کللِ هشبللَط بللِ کٌتللشل ّللای ٍ ّؼللتٌذ‪ .‬ایللي فایلْللا‬ ‫داسای فایلْللای ‪ code behind‬یللا ‪ّ cs‬للن ّؼللتٌذ کللِ بؼللذا ایللي قؼللوت اص آًْللا‬ ‫تبذیل بِ فایلْای ‪ dll‬هیـَد‪.‬‬ ‫‪ .2‬فایلْللای ‪ dll‬بللِ دػللت آهللذُ اص پللشٍطُ ّللای غیللش اص ‪ ،UI‬دس ٍاقللغ ‪Class Library‬‬ ‫ّؼتٌذ ٍ ّش کذام هجوَػِ ای اص ک ػْای ‪ّ CS‬ؼتٌذ‪.‬‬ ‫‪ .3‬فایلْللای ‪ config‬کللِ هشبللَط بللِ هـخلللات هاطٍلْللا ّؼللتٌذ‪ .‬هللث فایلْللای ‪config‬‬ ‫بللشای ایجللاد دیتللابیغ ٍ ‪ . ...‬اص ایللي فایلْللا هؼوللَالبشای اضللافِ کللشدى یللک هللاطٍل بللِ‬ ‫‪ Setup‬هَجَ اػتفادُ هیـَد‪.‬‬ ‫‪ .4‬فایلْللای ‪ resx‬کللِ فایلْللای اػللتاًذاسد ‪ Resource‬دس ٍیللظٍال اػللتَدیَ ّؼللتٌذ‪ .‬ایللي‬ ‫فایلْا‪ ،‬حاٍی توام هتي ّا‪ّ Label ،‬ا‪ً ،‬ام دکوِ ّا ٍ ‪ ...‬دس هاطٍلْاػت‪.‬‬ ‫‪ .5‬جلللذٍل ‪ ModuleDefinitions‬دس دیتلللابیغ‪ ،‬هشبلللَط بلللِ آدسع فایلْلللای ‪ascx‬‬ ‫هاطٍلْاػت‪.‬‬ ‫‪ .6‬جللذٍل ‪ ModuleDefinitionSettings‬دس دیتللابیغ‪ ،‬اع ػللات بللِ دػللت آهللذُ اص‬ ‫فایلْللای ‪ resx ٍ config‬اػللت‪ .‬ایللي دیتللابیغ هـخلللات تٌظللین ؿللذُ بللشای ّللش‬ ‫هلاطٍل سا رخیلشُ هللی کٌٌلذ‪ّ .‬لش هللاطٍل هیتَاًلذ ٌلذیي قؼللوت بلشای تٌظلین کللشدى‬ ‫داؿللتِ باؿللذ‪ .‬صهللاًی کللِ یللک هللاطٍل بللِ كللفحِ اضللافِ ؿللذ‪ ،‬تٌظیوللات آى اص عشیللق‬ ‫لیٌللک ‪ Setting‬کللِ دس بللاالی آى قللشاس داسد‪ ،‬قابللل دػتشػللی اػللت‪ .‬ایللي جللذٍل بللا‬ ‫جذٍل ‪ ModuleDefinitions‬سابغِ ٌذ بِ یک داسد‪.‬‬ ‫ّللش کللذام اص هاطٍلْللای ‪ Mojo Portal‬هللی تَاًٌللذ ػللِ الیللِ داؿللتِ باؿللٌذ‪ّ .‬وچٌللیي ّللش‬ ‫هاطٍل هی تَاًذ ٌذ جذٍل دس دیتابیغ داؿتِ باؿذ‪.‬‬

‫‪20‬‬

‫ایجاد یک هاشٍل ظادُ‬ ‫بشای ایي کاس هی تَاًیذ اص ‪ solution‬هَجلَ بلِ كلَست هؼلتقین اػلتفادُ کٌیلذ‪ .‬اهلا بلِ دلیلل‬ ‫ایي کِ ًوی خَاّین تغییلشات هلا دس آى باػلی ایجلاد هـلک ت ؿلَد‪ ،‬یلک کپلی اص آى سا تْیلِ‬ ‫کشدُ ٍ با ًاهی دیگش دس ّواى پَؿِ رخیشُ هی کٌین‪.‬‬ ‫پَؿِ ای دس ػَسع کذ ایجاد هی کٌین تلا کٌتلشل آى ساحلت تلش ؿلَد‪ .‬دس ایلي پلشٍطُ هلا فقلظ‬ ‫هللی خللَاّین یللک كللفحِ خللَؽ آهللذگَیی سا اضللافِ کٌللین‪ .‬بٌللابشایي ًیللاصی بللِ الیللِ ّللای‬ ‫‪ً Data ٍ Business‬للذاسین‪ .‬دس ًتیجللِ دس ‪ solution‬خللَد‪ ،‬پللشٍطُ ای اص ًللَع ‪Asp.net‬‬ ‫‪ Empty Web Application‬ایجللاد هللی کٌللین‪ .‬آدسع آى سا بللِ پَؿللِ ای کللِ اخیللشا‬ ‫ایجاد کشدین‪ ،‬تٌظین هی کٌین‪ً .‬ام پشٍطُ سا ‪ Hello.Web.UI‬قشاس هی دّین‪.‬‬

‫شکل ‪ - 36‬صفحِ ایجاد پرٍشُ جذیذ ‪VS2010 -‬‬

‫فایللل ‪ web.config‬ایجللاد ؿللذُ سا بللاص هللی کٌللین‪ .‬ػللپغ بللِ پللشٍطُ ‪mojoPortal.Web‬‬ ‫سفتللِ ٍ اص فایللل ‪ web.config‬هَجللَد دس آى‪ ،‬کللل قؼللوت >‪ ‪‪ٍ ‪