{"id":1374,"date":"2016-01-07T08:50:23","date_gmt":"2016-01-07T07:50:23","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=1374"},"modified":"2023-07-24T08:35:00","modified_gmt":"2023-07-24T06:35:00","slug":"sharepoint-add-ins-vs-farm-solutions","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/sharepoint-add-ins-vs-farm-solutions\/","title":{"rendered":"SharePoint Add-ins vs Farm Solutions"},"content":{"rendered":"\n<p>Microsoft w wersji SharePoint 2013 udost\u0119pni\u0142 nowy model tworzenia aplikacji &#8211; SharePoint Add-ins. SharePoint Add-in jest rozwi\u0105zaniem, kt\u00f3re mo\u017ce obejmowa\u0107 tylko kod HTML, CSS, JavaScript, obrazy i inne pliki statyczne. Wa\u017cn\u0105 rzecz\u0105 jest jednak fakt, \u017ce aplikacja nie mo\u017ce zawiera\u0107 \u017cadnych bibliotek dll, a co za tym idzie kodu wykonywanego po stronie serwera.<\/p>\n\n\n\n<p>Aplikacje mog\u0105 by\u0107 uruchamiane na osobnej witrynie lub oddzielone od farmy SharePoint poprzez hostowanie na innej dedykowanej farmie. W pierwszym przypadku, do po\u0142\u0105czenia si\u0119 z witryn\u0105 mog\u0105 one u\u017cywa\u0107 JSOM (JavaScript Object Model), natomiast w drugim przypadku dodatki mog\u0105 korzysta\u0107 z powi\u0119kszonych mo\u017cliwo\u015bci CSOM (Client Site Object Model).<\/p>\n\n\n\n<p>Trzy, moim zdaniem, najwa\u017cniejsze zalety nowego modelu, to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ograniczony wp\u0142yw na wydajno\u015b\u0107 farmy &#8211; aplikacja sama w sobie nie ma wp\u0142ywu na ca\u0142okszta\u0142t wydajno\u015bci farmy.<\/li>\n\n\n\n<li>mo\u017cliwo\u015b\u0107 rozpowszechniania napisanych aplikacji za pomoc\u0105 MS App Store<\/li>\n\n\n\n<li>mo\u017cliwo\u015b\u0107 wdro\u017cenia aplikacji zar\u00f3wno na platform\u0119 Office 365, jak i na \u015brodowiska on-premise<\/li>\n<\/ul>\n\n\n\n<p>W por\u00f3wnaniu do istniej\u0105cego ju\u017c modelu Farm Solutions, SharePoint Add-ins maj\u0105 du\u017ce ograniczenia, ale s\u0105 jedyn\u0105 (opr\u00f3cz nierekomekdowanego modelu Sandbox) mo\u017cliwo\u015bci\u0105 pisana rozwi\u0105za\u0144 dzia\u0142aj\u0105cych w kontek\u015bcie platformy Office 365.<\/p>\n\n\n\n<p>Por\u00f3wnanie obecnych modeli rozwi\u0105za\u0144 SharePoint:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th>&nbsp;<\/th><th>SharePoint Add-ins<\/th><th>Farm Solutions<\/th><\/tr><tr><th>Gdzie s\u0105 uruchamiane<\/th><td>Kod dla aplikacji dzia\u0142a w r\u00f3\u017cnych miejscach, w zale\u017cno\u015bci od tego, gdzie aplikacja jest hostowana. Aplikacja mo\u017ce dzia\u0142a\u0107 w przegl\u0105darce lub w ramach docelowej platformy.<\/td><td>S\u0105 instalowane przez administratora farmy. Uruchamiane s\u0105 na serwerze SharePoint.<\/td><\/tr><tr><th>Jak s\u0105 uruchamiane<\/th><td>Podczas wdra\u017cania aplikacji, SharePoint tworzy now\u0105 dedykowan\u0105 witryn\u0119, na kt\u00f3rej uruchamiana jest aplikacja. Poza tym, witryna pozwala na przechowywanie stron, list i bibliotek i innych niezb\u0119dnych struktur.<\/td><td>Aplikacja mo\u017ce dzia\u0142a\u0107 w dowolnym miejscu na dowolnej witrynie.<\/td><\/tr><tr><th>Autentykacja<\/th><td>\u2022\u00a0Wewn\u0105trz SharePoint (SharePoint-hosted app): autentykacja jest automatyczna. <br>\u2022\u00a0W chmurze (Provider-hosted app): OAuth 2.0.  <\/td><td>Autentykacja automatyczna.<\/td><\/tr><tr><th>Zarz\u0105dzanie alokacj\u0105 zasob\u00f3w<\/th><td>Administratorzy mog\u0105 monitorowa\u0107 zu\u017cycie zasob\u00f3w i odpowiednio je modyfikowa\u0107.<\/td><td>Brak ogranicze\u0144 zu\u017cycia zasob\u00f3w.<\/td><\/tr><tr><th>Ograniczenia tworzenia komponent\u00f3w<\/th><td>Nie mog\u0105 by\u0107 u\u017cywane m.in.: <br>\u2022\u00a0Kod serwerowy <br>\u2022\u00a0Po\u0142\u0105czenia do innej kolekcji witryn<br>\u2022\u00a0Definicje witryn<br>\u2022\u00a0Kontrolki u\u017cytkownika (.ascx)<br>\u2022\u00a0Kontrolki typu 'Delegate controls&#8217;  <\/td><td>Praktycznie wszystkie komponenty mog\u0105 by\u0107 dodane u\u017cywaj\u0105c Farm Solution.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;1374&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 ( votes: 0)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;SharePoint Add-ins vs Farm Solutions&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft w wersji SharePoint 2013 udost\u0119pni\u0142 nowy model tworzenia aplikacji &#8211; SharePoint Add-ins. SharePoint Add-in jest rozwi\u0105zaniem, kt\u00f3re mo\u017ce obejmowa\u0107 &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/sharepoint-add-ins-vs-farm-solutions\/\">Continued<\/a><\/p>\n","protected":false},"author":20,"featured_media":1838,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1314],"tags":[214,215],"class_list":["post-1374","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-farm-solutions","tag-sharepoint-add-ins"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2016\/01\/sharepointCloud.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/1374"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=1374"}],"version-history":[{"count":2,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/1374\/revisions"}],"predecessor-version":[{"id":23038,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/1374\/revisions\/23038"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/1838"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=1374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=1374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=1374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}