Monday, 14 May 2012

Using VPN on CloudShare

I am using CloudShare on all my latest SharePoint projects. The ease of use and sharing, not to mention the financial side of things, makes it a far more compelling option than running a local VM.

On many occasions, I have found a need to connect to services within a private network. Integrations with ERP systems and data warehouse solutions are the most common scenario. CloudShare does, however, act a little differently when using VPN.

In all scenarios, I install a local VPN client or use the standard Windows VPN tunnel and set the default gateway to the remote network. When I connect, I lose contact with the remote machine. I need to connect using Microsoft Remote Desktop client.

From the connection toolbar, press “More details” to get the “mstsc” command.

image

Copy this link and press “Windows+R” to launch the run command window:

image

We can now login to the machine even when connected via VPN. I do however have issues connecting to external resources when using the VPN. In my case, I cannot connect to TFS Azure at the same time, making development extremely tedious. Therefore, I locate the IP of TFS and the sign-in services using a command prompt:

image

All servers are evidently on Microsoft’s network, so I will bypass the VPN gateway for all communication to the “65” A network.

The host on CloudShare is 10.160.0.1 in my case  as seen by an IPCONFIG trace:

image

I add a routing rule using the ROUTE ADD command and then print the routing table as:

image

From now on I can be connected to VPN and also use TFS Azure.

Thursday, 10 May 2012

Is your SharePoint Cloud Ready?

With SharePoint 2010 came sandboxed solutions, a technology that allows better support for multi-tenancy and governance of solution deployment. This would be the de-facto implementation solution for Office 365 customizations. However, most SharePoint developers that I know keep developing farm-wide solutions for on-premise deployments. I urge anyone who want to future-proof their solutions to look at sandboxing, Office 365 and cloud technologies as an alternative.

 

Why hasn’t sandboxed solutions taken off?

Let’s be frank here. Developing for the sandbox is not as easy as developing farm solutions. It takes time, discipline and limits your options – something that most developers have a huge problem with. Anything that slows us down or tells us what to do will be thrown out the window.

Going forward, we must accept sandboxed solutions and the limitations of cloud computing. We must separate data tiers, business logic and user interface. With the arrival of BYOD and increased demands for mobile interfaces to services we need to think of the interface as a thin client that accesses logic and data from another service. Sandboxed solutions can do just that.

 

Why are we not deploying more Office 365?

I’m not sure if we as developers are ready and I am certain that the clients aren’t. It takes a paradigm shift to allow deployment of business applications on remote servers and the idea of a “cloud” that mashes everyone’s data and applications together is daunting.

We all need to look at how cloud services actually work and demystify the concept as a whole. Help your colleagues, co-workers and clients understand the benefits of “off-premise” solutions. Get in touch with your contacts at Microsoft and tour the data centers to see for yourself what it’s really about.

 

Spending more time in the UI

Sandboxed solutions and “gadgets” work in a separated runtime space and cannot talk directly to the SharePoint backend. The question is, do you have to do this in order to build solutions?

If the interface in itself merely talks to a service, preferably using client technologies such as the SharePoint client object model, OData, REST and jQuery, then we can expose the business logic as a service instead. Thinking of customizations as “apps” is a good start!

 

SharePoint and Azure

Azure is a technology that allows us to deploy IIS applications, storage, SQL server, authentication and WCF services in the cloud. We can use Azure services when SharePoint/Office365 does not allow us to run the code we require. Also, think of it as the area where we deploy our business logic and the default place to store SaaS applications. In this way, it doesn’t matter if the UI client is SharePoint or a native Windows Phone/iOS/Android application.

 

Where do we go from here?

I believe that the area where most SharePoint developers lack proficiency is in the client technologies. Study HTML5, jQuery and the client object model.

- HTML5 Tutorial (W3 schools)

- Making Sense of HTML5 with SharePoint: What is HTML5?
(Marc D Anderson, EndUserSharePoint.com)

- jQuery Tutorials (jQuery.com)

- Using the SharePoint Foundation 2010 Managed Client Object Model (MSDN)

We also need to control the business logic/mid-tier space and extend our knowledge to Azure. Microsoft is bringing in a whole new set of Cloud certifications and getting to grips with .NET 4.0, Azure and AppFabric is definitely the way to go.

- .NET Framework Developer Center (MSDN)

- SharePoint and Windows Azure Training Course (MSDN)

- Microsoft Cloud Certifications Overview (Microsoft Learning)

Friday, 4 May 2012

Automated Test Plan Exports from TFS

I had a look at the TFS Test Plan Word Add-in project on Codeplex and thought it was a brilliant idea. You can create a Word export of your test plans simply by adding content regions within a Word document.

image

The original release did not, however, come with an installer or the ability to handle rich text formatting as seen in the example above.

I added the rich-text formatting using the HTML to OpenXML library and added an installer to the project. You can download the release here:

Codeplex: Test Plan Word Writer for TFS

Hope you find it as useful as I do!

Thursday, 1 March 2012

I’m Joining Altran as SharePoint Practice Lead

200px-ALTRAN_RGBFrom the end of March 2012, I will be leaving Sogeti and joining Altran as SharePoint Practice Lead. Altran specializes in Enterprise Content Management and Embedded Systems and I will work in the ECM division and focus on SharePoint architecture and delivery guidance.

 

Who are Altran?

Altran is a global company but is predominately situated in Europe. I will primarily be based in Gothenburg but will work in all offices across Scandinavia. Altran is a Microsoft partner with a strong focus on SharePoint application development for websites, Intranets, Extranets, Business Intelligence and Search.

 

What is a SharePoint Practice Lead?

The role is new and will be formed within the next few weeks, but the main focus is on establishing guidance around best practices for delivery of SharePoint platforms, projects and strategies. It will also involve packaged solutions and service offerings.

 

Looking at the Future!

I am hoping to spend a lot more time in the SharePoint community, especially SharePoint User Group. I am also intent on writing a lot more on my blog but will focus more on Enterprise architecture for SharePoint and best practices around planning and delivering applications on the SharePoint platform.

Monday, 23 January 2012

Configuring SMTP relay to Live Mail for SharePoint 2010

When developing SharePoint solutions, you normally use a virtual image locally or hosted on a Cloud service. If you wish to use outgoing emails you normally require an Exchange server. Instead, I am now installing relay to my live.com account hosted by Microsoft.

First, I activate the SMTP server feature on the server via Server Manager:

image

I then open the IIS 6.0 Manager, connect to the local SMTP server instance and configure the properties of the relay server.

image

Under Access select Relay and select the “All except the list below” option

image

From Delivery, click Outbound Security and enter your Live ID credentials and check the TLS encryption option.

image

Under Advanced set the smart host address to smtp.live.com.

image

Last, configure the outgoing email settings from the Central Administration site under System Settings/Outgoing Email Settings.

image