unfalse
Альтернативные названия Sharepoint: Ballspoint -> Cojonespoint -> Urinetarget
unfalse
JS и DOM это весело.
window.parent.window.SP.UI.ModalDialog.commonModalDialogClose(0);
unfalse
Собрался тут немного разгрузить свой второй комп от БД Sharepoint 2013 Foundation. С этой целью собрался перенести эту самую БД на хостинг от databasemart. Интересно, поможет ли?..
unfalse
Насколько же шустрее работает виртуалка в Azure, чем сервера на работе, где страницы Sharepoint грузятся секунд по 10, а rdp постоянно подвисает, иногда секунд на 20. Уж за 5 лет могли настроить.
unfalse
"One example is how users circumvented the dangers of loops in workflows. In fact, I’ve even myself written about how to create loops in SharePoint Designer workflows (in SharePoint Designer 2007 Workflows, if you’re wondering), even though I know from decades of experience how dangerous loops are. More times than once have I received distress calls from people who have done it wrong and taken down entire farms of SharePoint servers."
Положить ферму серверов одним циклом - ок.
unfalse
Вот так новости: React, Knockout и RequireJS будут в новом Sharepoint.
Это хорошо, например. А, и TypeScript ещё каким-то боком.
unfalse
Мои лучи ненависти по поводу построителя строк в редакторе рабочих процессов внутри Sharepoint Designer 2013.
unfalse
Уже начинаю ненавидеть Sharepoint и его "рабочие процессы" (workflow) всей душой. Программирование этих РП сделано не для программистов и выполнено просто отвратительно.
unfalse
Типичный инпут в Sharepoint, тип поля "подстановка":
<div id="ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField_upLevelDiv"
tabindex="0" onfocus="StoreOldValue('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField'); saveOldEntities('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField');
Sys.UI.DomElement.addCssClass(this, 'ms-inputBoxActive');"
aria-multiline="true"
onblur="if(typeof(ExternalCustomControlCallback)=='function'){ if(ShouldCallCustomCallBack('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField',event)){if(!ValidatePickerControl('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField')){ShowValidationError();return false;}
else{ExternalCustomControlCallback('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField');}}}
Sys.UI.DomElement.removeCssClass(this, 'ms-inputBoxActive');"
class="ms-inputuserfield ms-inputBox" onclick="onClickRw(true, true,event,'ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField');"
onchange="updateControlValue('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField');"
onpaste="dopaste('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField',event);"
prefercontenteditablediv="true" autopostback="0"
rows="1" ondragstart="canEvt(event);"
onkeyup="return onKeyUpRw('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField');"
oncopy="docopy('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField',event);" title="Выбор людей"
onkeydown="return onKeyDownRw('ctl00_ctl42_g_133595e1_1be7_4c4e_be3d_2f845840220f_ctl00_ctl05_ctl08_ctl00_ctl00_ctl04_ctl00_ctl00_UserField', 3, true, event);"
spellcheck="false"
contenteditable="true"
aria-haspopup="true"
style="word-wrap: break-word;overflow-x: hidden;"
name="upLevelDiv"
role="textbox"> </div>
unfalse
В то время, как весь мир, даже мелкие веб-студии давно используют Ajax, монструозный Sharepoint (в дефолтной поставке) продолжает ползать со страницы на страницу так, как будто никакого Ajax вообще никогда не существовало. Кусок говна.