FluentRibbon CommandJavaScript

FluentRibbon CommandJavaScript

CommandJavaScript = ""
+ "function getAllSelectedItems() {"
+ "var ctx = SP.ClientContext.get_current();"
+ "var items = SP.ListOperation.Selection.getSelectedItems(ctx);"
+ "var ids = '';"
+ "var i;"
+ "for (i in items)"
+ "{"
+ "ids += items[i].id + '|';"
+ "}"
+ "return ids;"
+ "};"
+ "SP.UI.ModalDialog.showModalDialog({title: 'Настройка выгружаемого файла', width: 800,height:800,url: '" + SPUrlUtility.CombineUrl(web.Url, "/_layouts/Report.aspx") + "?SiteUrl={SiteUrl}&SPListId={ListId}&Ids=' + getAllSelectedItems() });"
[Ещё]

SharePoint Server Rename

Например, необходимо переименовать сервер msvo-spapp2 > msvo-spwfe2


Открыть на сервере msvo-spwfe2 powershell от имени администратора.


Выполнить: 




1.


Add-PSSnapinMicrosoft.Sharepoint.Powershell -ErrorAction SilentlyContinue


try{      Remove-SPDistributedCacheServiceInstance}catch{}


Rename-SPServer -Identity "msvo-spwfe2" -Name "msvo-spapp2" 


2.       Отключить сервер от сети и исключить из домена.


3.       Перезапустить сервер.


4.       Зайти под локальным администратором


5.       Переименовать сервер через панель управления.


6.       Перезапустить сервер.


7.       Войти под локальным администратором. Присоединить сервер к сети и к домену.


8.       Перезапустить сервер


9.       Провести настройку служб через центр администрирования согласно пожеланиям.


10.   Открыть на любом сервере фермы powershell от имени администратора


11.   Выполнить:


Add-PSSnapinMicrosoft.Sharepoint.Powershell -ErrorAction SilentlyContinue


$webApp = Get-SPWebApplication http://url


$webApp.UpdateWorkflowConfigurationSettings()


12. Далее на всех серверах фермы необходимо запустить ipconfig /flushdns

[Ещё]

SPMeta2 samples

Собрал базовый комплект  примеров использования SPMeta2
Создание: полей, типов контента, списков, представлений, таймеров. Так же их взаимосвязь. думаю этот пример отлично поможет тем кто только начинает изучать SPMeta2. [Ещё]

SharePoint Helper Class

Продолжаю заполнять свой GitHub.
Очень полезные методы при работе с SharePoint.



SPWeb web = properties.Feature.Parent as SPWeb;

try
{
//Register and Unregister SharePoint timer job
d.SharePoint.SPJob.JobFactory.Register("myTimerJob", web, new SPHourlySchedule() { BeginMinute = 10, EndMinute = 30 });
d.SharePoint.SPJob.JobFactory.Unregister("myTimerJob", web);

//Register and Unregister SharePoint receiver
d.SharePoint.SPReceiver.ReceiverFactory.Register(web, "MyList", SPEventReceiverType.ItemAdding);
d.SharePoint.SPReceiver.ReceiverFactory.Unregister(web, "MyList", SPEventReceiverType.ItemAdding);

//Run code with different privileges
d.SharePoint.PortalSecurity.RunWithElevatedPrivileges(() => { web.EnsureUser(""); });
d.SharePoint.PortalSecurity.RunWithElevatedPrivileges(web, (elevatedSite, elevatedWeb) => { elevatedWeb.Update(); });
d.SharePoint.PortalSecurity.RunWithUserPriveleges(web, web.Users["someUser"], (elevatedSite, elevatedWeb) => { elevatedWeb.Update(); });
}
catch (Exception ex)
{
// log uls
d.SharePoint.SPLog.Log(ex);
d.SharePoint.SPLog.Log("FeatureActivated", ex);
}
[Ещё]

Web Session and Cache helper class

Начинаю заполнять свой репозиторий на GitHub.
Методы помогающие при работе с сессией, кэшем и параметрами веб формы.



//get key from session  
int someKey1 = d.Web.Helper.Session.Get("someKey");
int someKey2 = HttpContext.Current.Session.Get("someKey");

//if key not exists return value from function and insert to cache
int someKey3 = d.Web.Helper.Session.TryGet("someKey", () => { return 0; });
int someKey4 = d.Web.Helper.Session.TryGet("someKey", CreateNewSessionFunction );

//get key from cache
int someKey1 = d.Web.Helper.Cache.Get("someKey");
int someKey2 = HttpRuntime.Cache.Get("someKey");

//if key not exists return value from function and insert to cache
int someKey3 = d.Web.Helper.Cache.TryGet("someKey", () => { return 0; });
int someKey4 = HttpRuntime.Cache.TryGet("someKey", new TimeSpan(1000), CreateNewCacheFunction);




Web Form helper
//get value from HttpContext.Current.Request.QueryString
d.Web.Helper.Form.QueryValue("someKey");
d.Web.Helper.Form.QueryValue("someKey", "",",");
d.Web.Helper.Form.QueryValue("someKey", "yyyyMMdd");

//get value from HttpContext.Current.Request.Params
d.Web.Helper.Form.PostValue("someKey");
d.Web.Helper.Form.PostValue("someKey", "", ",");
d.Web.Helper.Form.PostValue("someKey", "yyyyMMdd");
[Ещё]