UCMA 3.0 Sample Learning Project - lync-2010

I am new to UCMA 3.0 (and new to Lync server as well) and want to get a feeling about how to talk to Lync 2010 server through UCMA. I want to have something quick and dirty, such as a step-by-step tutorial showing me how to set up the development environment, writing the least UCMA code to achieve a simple task, such as connect to the Lync server, get the list of all the users with their presence information, and print the results out to console. The purpose is to get a proof of concept about how UCMA works against Lync server.
I already have a Lync 2010 server setup and running with some testing users created, I also downloaded and installed UCMA 3.0 SDK on my 64-bit Windows 7 machine which also has Visual Studio 2008 SP1 with .NET 3.5 SP1. So, all hardware and software are ready.
Any advice, links, or even better direct step-by-step answers will be greatly appreciated!

I recently posted an answer in a technet forum here that might help - sorry if you are the same person :)
Basically, it reads:
There is no single article that explains the entire process, as far as I know. You'll need to read around quite a bit.
There are no UCMA application templates in VS (there are for client-side development with the Lync SDK, but not for UCMA yet). In your console app, you'll just need to add a reference to C:\Program Files\Microsoft UCMA 3.0\SDK\Core\Bin\Microsoft.Rtc.Collaboration.dll.
You'll need to undertand the difference between User endpoints and Application endpoints, more info in the SDK documentation here: http://msdn.microsoft.com/en-us/library/hh347238.aspx (you'll need a User endpoint)
There is some information about fetching contacts and groups here: http://msdn.microsoft.com/en-us/library/hh347376.aspx
Deploying a UCMA app can be long-winded. The best place to start learning about this is in the SDK - the articles in this section from the SDK documentation should get you started: http://msdn.microsoft.com/en-us/library/hh347291.aspx
Also, check out the sample applications in the SDK.

Related

Is Azure Notifications Hub a deceased service?

Two years ago, I barely managed to make this service work.
The documentation seems to be very dated, Microsoft isn't actively pushing this and the sample code Microsoft supplies is no longer using supported libraries.
Has anyone got access to or can they supply a valid sample Android/IOS sample code that uses the Azure notification Hub?
I'm sorry to hear that's been your experience. You can find an up-to-date sample Android and iOS applications in our GitHub repositories here:
https://github.com/Azure/azure-notificationhubs-android/tree/main/notification-hubs-sample-app-java
https://github.com/Azure/azure-notificationhubs-ios/ (Several sample applications available at root level of repository)

REST Server without GUI

I've started working with delphi quite some while ago but I would say I'm still a newbie in all this.
So basically I tried creating REST Server, which can validate license keys. I got in working with Indy, but one thing bothers me. The GUI. The Server shouldn't have any kind of gui so it can work on any OS (Win, Linux, etc). Is there a way to make a REST Server without any GUI/FMX/VCL?
BTW: Working in Delphi 10.2.3 Professional.
Any advice is appreciated.
EDIT: I forgot to mention one thing: the server is supposed to run on an independent Data Center away from any user.
You can create the WebServer as a Windows Service.
You can use DelphiMVCFramework or any other Framework to create it.
With DMVC you can create console application, Windows Service, Linux daemon, Apache module (Windows and Linux) and IIS ISAPI (Windows).
With Intraweb you can also create Services.
Take a look at our mORMot Open Source REST framework, which works on Delphi but also on FPC/Lazarus.
FPC support ensures that you can target Linux with this free compiler. No need to upgrade to a newer version of Delphi Architect, which supports Linux, and is very pricey - and less stable (to my knowledge) since Linux support is quite new.
As you requested, the mORMot REST server has no UI part. You define your services as interface and class - like you do e.g. with DotNet - and you will have full JSON/REST support generated.
mORMot is used on production since years for very high performance and stability, hosted on both Windows and Linux. A version 2 is on its way, which would be even easier to use for new projects.
And you can create a Windows service or Linux daemon without using any third party framework. Delphi include everything you need. However, it is possible that third party framework will facilitate your programming. Don't forget you'll have to learn those third party framework.
Creating a Linux daemon service in Delphi
Creating a Windows Service in Delphi
In both cases, you can use the sample code you've found that make use of TIdTCPServer.

Connecting to PingFederate server for SSO using JavaScript/Angular

I found corresponding nuget package in visual studio, but my client is not c#. As i am new to SSO concept i am having trouble to get things started. Any help in this regard would be good.
thanks in advance.
We (disclaimer: I work for Ping) have a great "how to" article that should give you all the considerations and option for how to SSO enable your application regardless of the language and framework you've built it with.
Please have a read here: https://www.pingidentity.com/content/developer/en/resources/application-integration-overview.html

Difference between Lync basic and Advanced when using Lync SDK?

I am planning to develop an communication apps based on Lync SDK. I understood that in order to run my application, i have to install lync client in the computer. This is where the following question arises
Is it possible to develop advanced features (that is available when installing Lync advanced) by using Lync SDK with Lync basic as client?
What is the difference between Lync basic and Lync advanced when using Lync SDK?
Should i install Lync Advanced to use the advanced features using Lync SDK?
It would be helpful if someone could tell me the difference?
Regards,
Raja
There is pretty much no difference between the Lync Basic Client and the Lync Client when using the Lync Client SDK.
I've only found one very small difference that hit me, Lync Basic doesn't support the "PIN to Gallery" feature. If you call the "PIN to Gallery" API, it will throw and the API doesn't tell you it's not supported.
The only other limitation of Lync Basic I've hit is that you can't configure any forwards. But this is more of a client configuration rather than API access limitation.
Everything else I've done with the Lync Client SDK has worked fine between the Lync Basic and the Full Lync Clients.

Developing with Azure Mobile Services?

What is currently the "best" way to develop a back-end system in Azure Mobile Services?
Specifically, what tools are available? From what I've seen, most examples just go to the Management portal and manually add a few lines into the script window. This is worse than using just Notepad, and doesn't have any concept of version control...
Is there any way to make a project in VS 2012 that contains all the Node.js code that will run in the Azure Mobile service? Is there a way of fully running that code on a local development environment that mimics the Mobile Services?
I need to have server-side code with much more complexity than is shown in most of the Mobile Services samples or documentation that I've been able to find.
I have a web site, and a Win 8 Store App that need to authenticate against, and access relatively complex data structures from a back-end database. The solution being pushed right now all seem to include Mobile Services at the center of it, using simple REST against raw tables, but all the examples are too simple to be useful.
Can someone point me to a "real-life" sample of using Mobile Services, and a "mature" way of developing and testing such a system using the tools in Visual Studio?
Thanks.
Why you have no other option than the Management portal is really beyond me. It seems very awkward for a C#/.NET developer to go back to Notepad style programming with console.log() debugging.
What I would love to see is some Node.js entry points that you could connect to a regular C# assembly which could fulfill the request (as in ASP.NET MVC or Web API) having the full .NET Framework at your disposal.
What I could see as a possible architecture is to have:
ASP.NET MVC hosted on Azure
--- writes processed data with logic to --->
Azure SQL DB <--- reads from --- Azure Mobile Services ---- bridge to ---> Mobile devices
Or
Cloud Worker Role on Azure ---- crunching/processing ----> Azure SQL DB <---- reading/writing raw data ---- Azure Mobile Services ---- bridge to ---> Mobile devices
You can use the Mobile Services facility for mobile devices facilities, scheduling and push notifications with limited code and do most of the coding in a managed .NET environment.
The AMS (Azure Mobile Services) along with Azure has advanced dramatically since this post was written and the replied answers.
Some of this stuff still holds true. If you have a ton of node.js written not in the Azure cloud portal, you will want to copy and paste to the portal online, custom api calls section and even perhaps sql backend tables for CRUD operations.
The hope for C# developers is that it is NOW in preview mode in which YOU CAN skip node.js and build everything without node.js very shortly... Some bugs to work out, but in 6 months this will be fairly solid.
I had questions and issue and a guy named Carlos carlosfigueira was very helpful.
Azure Mobile Services - Getting more user information
Josh covers unit testing server-scripts here: http://www.thejoyofcode.com/Unit_testing_Mobile_Services_scripts_Day_7_.aspx
In this tutorial, he uses the Mocha testing framework for JS (id TDD mode) and walks through an example for testing an INSERT script that encrypts the value of a particular property (text) and a read script that decrypts it (value is encrypted at rest in SQL db).
You can also find aggregation of links and tutorials here.
I would suggest that you build this solution using Windows Azure Mobile solutions especially it supports the Node JS NPM right now, which means you can create the API you want on the Windows Azure using the Node JS NPM and can work with it using WAMS easily. have a look on the following link it will help you understand what I want to say more.
http://weblogs.asp.net/scottgu/archive/2013/06/14/windows-azure-major-updates-for-mobile-backend-development.aspx
For the Client I also suggest that you build it using SignalR which is designed for cases such yours where real time applications require a lot of transactions from the server side.
http://www.asp.net/signalr
you can also find more details about how you can integrate both of them in the following link: http://hhaggan.wordpress.com/2013/07/12/signalr-node-js/
I hope these help you, let me know if you need anything else.
For running locally, the mobile service has the same Kudu environment available in azure websites, so you can browse to https://your_service_name.scm.azure-mobile.net If you navigate to the Debug Console from the top nav, you can download everything running in the site/wwwroot folder.
You can run this nodejs project locally (On windows only if you require the SQL Server npm package). Your code is in App_Data/config/scripts. If you replace the downloaded content with your current local git working copy, you can develop and debug locally, and then push changes as usual.
Tools I use:
Eclipse with JS environment (or any nodejs IDE).
Git
Postman
Steps:
Enable source control to your azure mobile service.
Pull to your local and create a eclipse project with the source.
Make changes and push.
Test with POSTman
This procedure allows me to develop really fast and eclipse tell me the common JS errors. But it has obvious downside:
No debugging (I use console.log)
The project ended up with a lot of commits (its hard to use git for proper source control)
I just did a blog post on running Azure Mobile Services locally: http://www.mikelanzetta.com/2014/09/running-azure-mobile-services-locally/ - basically it interrogates the API and starts up express, and allows you to run mocha yourself locally. It's a bit cleaner than pulling down the full wwwroot from the scm link, and I found using my local runner as a git submodule made it easy to work with (and easy for me to use VSO for managing my tests).
Anyway, for actual development, I use the Git integration and WebStorm - it automatically figures out the tasks in my local Gruntfile and makes it easy to run and test. For once it's deployed, Postman is helpful.