آی تی نرد

اشتراک اطلاعات و تجربیات در زمینه ی توسعه ی دات نت و البته شیرپوینت

انتقال یک یا چند مجموعه سایت به دیتابیس دیگر و یا وب اپلیکیشن دیگر

سلام به دوستان

یه روزی به دلایلی نیاز داشتم که که چندتا مجموعه سایت رو که داخل یک دیتابیس بودند رو به یک وب اپلیکیشن دیگه منتقل کنم چندتا سرچ که کردم مطالبی که پیدا میشد مربوط به انتقال یک یا چند مجموعه سایت به یک دیتابیس دیگه بود. که دستوراتش به صورت زیر بود : (دستور زیر برای انتقال یک مجموعه سایت به دیتابیس میباشد)

Move-SPSite <http://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>

 

که پارامتر اول نام مجموعه سایت و پارامتر دوم نام دیتابیسی که قصد انتقال به اون رو دارید هست.

برای انتقال چند مجموعه سایت به یک دیتابیس میتونید از دستور زیر هم استفاده کنید:

Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>

 

بخش اول دستور تمام مجموعه سایت هایی که داخل دیبتابیس <SourceContentDb> باشه رو برمیگردونه و به بخش دوم دستور پاس میده از اونجایی که پارامتر پیشفرض دستور Move-SPSite نام مجموعه سایت یا آبجکت SPSite هست به ازای هر مجموعه سایت اونها رو به دیتابیس <DestinationContentDb> منتقل میکنه.

با تمام توضیحات که دادم هنوز مشکل من حل نشده بود چون من میخواستم چند تا مجموعه سایت رو به یک وب اپلیکیشن (WebApplication) دیگه منتقل کنم.

اگه دستورات بالا رو برای این منظور استفاده کنید به خطای زیر بر میخورید :

 The site collection being moved and the destination content database must be within the same Web application.

 

این پیغام میگه که مجموعه سایت و دیتابیس مقصد باید در یک وب اپلیکیشن باشند!

بیشتر که تحقیق کردم مطلب مناسبی در این مورد پیدا نکردم. یاد صحبت یکی از دوستان (حمید جلالی) افتادم که میگفت بعضی مواقع علت اینکه پاسخ یه مسئله ای توی اینترنت پیداه نمیشه بیش از حد ساده بودن اون مsئله میتونه باشه!.

راه حلی که به ذهن من رسید این بود : 

بیشتر...

رفع مشکل اسکرول شیرپوینت در مرورگرهای غیر IE مانند کروم

سلام به دوستان

يکي از مشکلاتي که ممکنه کاربران علاقمند به شيرپوينت در کار با اون مواجه شده باشند کار با شيرپوينت در مرورگرهاي غير IE است که باعث برخي اختلالات ظاهري در استفاده از شيرپوينت ميشود.

اولين مشکل شيرپوينت با مرورگر کروم عدم نمايش اسکرول (Scroll) در برخي صفحات ميباشد که اين مشکل بخاطر اجرا نشدن به موقع برخي توابع جاوا اسکرييپتي شيرپوينت ميباشد.

براي رفع اين مشکل بايد تابع جاوا اسکريپت زير رو در پايان صفحه فراخواني کرد.

FixRibbonAndWorkspaceDimensions();

اما مسئله اي که بايد به آن توجه داشت اين است که اين  تابع فقط بايد در صفحات غير ديالوگي فراخواني شود و زماني که صفحات شيرپوينت در ديالوگ باز ميشود نيازي به فراخواني اين تابع نميباشد.

براي اين منظور قسمت کد ساده اي براي تشخيص صفحات ديالوگي نوشته شده است که در آن از تابع فوق استفاده شده است.

try{
			var str=window.location.href.toLowerCase();
			var IsDLG = true;
			if(str.search("isdlg=1") == -1)
			IsDLG = false;
			if(IsDLG == false)
			{
				FixRibbonAndWorkspaceDimensions();
			}
				
}catch(err){
		
}