When to go for App Model in SharePoint 2013? - sharepoint

While learning SharePoint 2013; in some diagrams, i found that we need more than just Sharepoint servers to do app model. we should be hosting the app in separate IIS then connect to Sharepoint Servers.
Is not this costly approach?In such case, why should we go for app model and what is the correct kind of applicable scenario? Please help me understand. Any inputs will be grateful.

Some basics things are (Provider Hosted apps)
For provider-hosted apps, use any language - like HTML, JavaScript, PHP, or .NET
Apps are Safer than Sandboxed Solutions as they are executed outside server environment
Apps induce Less Load to server than Sandboxed Solutions ..
http://blogs.msdn.com/b/mvpawardprogram/archive/2013/01/21/sharepoint-2013-apps-advantages.aspx
For learning purpose you can use IIS express with Developer site.

Related

How to know web app framework by looking at the source code

I am more towards to infrastructure but want to learn web app.
I have been given access to Windows server + IIS, how do I know what web framework or even just what language of this web app? Thanks
install "Wappalyzer" browser extension
The extension automatically checks pages you visit and reveals the technologies the website is built with.

Progressive web app with asp.net core 2.0 Razor Pages

I want to create a progressive web app with ASP.NET CORE 2.0 using Razor Pages preferably because I like the code behind architecture of Razor Pages.
Please recommend me a tutorial or docs or any course where I can begin to learn this. I already know ASP.NET CORE so I don't need to learn that, but actually I want to learn and create PWA but at server side I want to use ASP.NET CORE 2.0 and Razor Pages (if possible). And then I will be hosting them in Azure.
The courses I've searched so far on the web, all of them are with node.js or any other server side technology. Which is a problem because I don't want to use JS, except on the front end, where I don't have a choice.
According to your description, I assume that you could refer to the following tutorials for getting started with PWA using .NET Core:
Yeoman PWA Angular 4 & .NET Core
PWA-Asp.NetCore
Building Progressive Web Applications (PWA) with Visual Studio
This is a very common misconception...that the client-side is tightly coupled to the server-side. They are not.
Your ASP.NET application renders pages/html on demand, at run-time, on the server. The site will work with or without the client-side code, that is why it is progressive....
Your PWA/Service Worker code is only concerned with stuff in the browser. You need to think about it as a stateless concern on the client. The service worker can add a proxy layer to the client-side where you can cache and really perform the task ASP.NET or Node Or PHP, etc perform, just in the browser, before the network must be used.
My advice, to learn the concepts, is to create a static version of your site or a test site. Get comfortable with how to make a PWA and a simple caching service worker, then apply it to your ASP.NET site.
There is nothing in ASP.NET itself your service worker needs to know about, well short of your routes. And your routes are independent of ASP.NET.

Building an App in SharePoint Online

I have a client that wanted an easier way for his team members to build/update pages on their site, their site is heavily customized with a lot of JavaScript. The issues is that when a team member wanted to add a new section to the page they had consult a dev person to hard code in the desired features. So we decided to create customizable web parts of those features making the site more self-serviceable.
When I first started I found some documentation that said to use visual studios to build the web part using sandbox code, upload it to the site and then they would just need to activate it to deploy it on the site. Buuut unbeknownst to me code based sandbox solutions are no longer supported in Sharepoint and therefore the web parts we built could not be deployed. I was then told that I needed to build it as an Add-in, but as I started building the add-ins I found that the customizable field properties (i.e. ability to change background color, text style/color and banner color) that I want are not implementable as a add-ins.
So now I’m back at square one and I don’t know if it’s even possible to build a web part as a add-in or do I need to go a different route?
Any thoughts or links to sources you can provide would be HUGELY appreciated!
Thanks
Terek
In SharePoint 2016 things have changed a lot from the traditional model which was the classic way of building web parts. The way you worked before is called "classic", the new way is called "modern", and the way to get your dev environment is the following (brace yourself, it is a long answer):
1) In SP2016/Online you will need to configure your dev machine with the following environment, installing the following:
NodeJS Long Term Support version
Yeoman (which will be used to create web parts)
GULP (which will play the role of virtual web server)
Once the three components above are installed, you will install the Yeoman SharePoint Generator to create the SharePoint Web Parts, Yeoman simplifies the process of creating things by delivering templates ready to use and making all the configurations standard, you gonna love this guy!
To configure your machine see the following link:
https://dev.office.com/sharepoint/docs/spfx/set-up-your-development-environment
2) In SP2016/SP Online, you will develop for SPFx (SharePoint Framework), Microsoft has made significant efforts to address the changes and help developers to embark on this new journey by publishing training and educational material at GitHub, YouTube, and on its official website (I will add link below), but for the purpose of helping you, please follow this tutorial, it helped me to learn how to develop Modern Web Parts for SP 2016/Online:
https://dev.office.com/sharepoint/docs/spfx/web-parts/get-started/build-a-hello-world-web-part
3) From the tutorial above, you will get a fully functional Modern Web Part that can be deployed to SP2016/Online, you will see the new modern architecture allows you that old experience of "sandboxing" web parts in a faster way without, thus solving your problem of constant updating/refactoring components in a live production environment. This way now allows you to constantly update the code and see the results in real-time , you will be able to see results on your dev environment by calling: https://localhost:4321/temp/workbench.html and at same time on your SP environment. for example: http://portal.company.com/_layouts/workbench.aspx
Links:
YouTube "SharePoint Framework Tutorials" - it is the step by step tutorial video showing the whole process of creating a web part:
https://www.youtube.com/playlist?list=PLR9nK3mnD-OXvSWvS2zglCzz4iplhVrKq
GitHub repository with the full documentation, samples and extras for the SPFx and PnP (this is another story for another time):
https://github.com/SharePoint
I hope it helps you!

Windows 10 universal app cross app communication availability

I am an WPF developer with little knowledge for the way "mobile" apps work but in general I believe that they work in some sort of sandbox way (meaning they should not be able to access each others process, info etc., I might be totally incorrect on this one). So I am wondering if such "limitations" are applied to the Universal Windows Platform (UWP) apps?
The reasoning for my question is that I would like to write and app that checks if another Universal App is in process and use some of its information. In WPF there are ways of doing just that but in UWP apps I am not sure if it is/should/will be possible.
Thanks.
There are a couple of solutions in Windows 10. Firstly, if you are building an enterprise app and can also side-load normal Desktop apps, you can use this technique to build your UI as a UWP but also be able to break out of the sandbox and do other things on the desktop.
Secondly, if the app you want to read from is cooperative (ie, is designed to provide information; you're not just grabbing it without permission) then you can use App to App services to send and receive information between two consenting applications.
Both links are to //build videos but you can download the slides too that should contain code samples.

Microsoft Lync Server integration as a portlet

I came up with an idea to integrate Lync Server as a Java portlet to Liferay environment. What I would like to have is people names, photos, presence information and contact points on a portlet which communicates the data from Lync server.
(With contact point I mean those direct Voip or IM communications integrations that I suppose belong to the Lync concept.)
I don't know if there exist any ready integrations and if not, what material could be found about APIs and stuff like that so that I could probably code one of my own.
Thanks for interest and tips already beforehand!
I'm no Liferay expert, but i'm guessing Web Based Portal - right? If so, then yes, you can do what you need to.
Are you running the Lync client on the machines? if not, then you'll need to build some server infrastructure.
First step would be to download and install the UCMA 3.0 SDK.
At the back end, you would need to build a UCMA application that logs on to your Lync environment - the process of building and deploying is fairly lengthy, but described well here
You'd also need to build in a web service layer, so you can expose methods over the web, e.g. GetContacts, etc. The methods behind your web service would need to call into the UCMA app to fetch the required information.
Then you'd just need to build the necessary html and javascript to call the web services.
There is a codeplex project that does some of this - at the very least, it would be a great starting point
The whole thing is a lot easier if you are running Lync on the client, and if Silverlight is an option.
You'd need to download the Lync SDK. This contains a bunch of Silverlight controls that allow the user to e.g. see contact details, see a contacts availability, click to call etc. It would then just be a case of creating a Silverlight app using the controls, and then wrapping this inside a portlet.
Edit: George Durzi and Michael Greenlee's book is great for getting started with this, whichever route you go down.

Resources