3rd Party apps and services that we used to build SP24 on SharePoint
This post is part of a series of posts about the SP24 Virtual SharePoint Conference:
- An SP24 Adventure – The idea
- An SP24 Adventure – Putting it all together
- An SP24 Adventure – The big day
- An SP24 Adventure – After its all done
- An SP24 Adventure – The thank you’s
- Managing SP24 – A sneak peak behind the scenes
- Software and Services that we used to build the SP24 site
- Watch all 98 Sessions free
SP24 was a free, virtual, SharePoint Conference that took place on April 14th and was then replayed on May 16th. It lasted for 24 hours and featured 98 SharePoint sessions from the world’s best and most famous speakers. We opened our virtual doors to nearly 8000 SharePoint professionals from a mind blowing 193 countries! (I am really proud we reached so many countries as this was one of our major goals when we set out).
Now that the conference is over, I am now trying to share as much information about it as time permits, partly to share this unique experience, but also so I don’t forget it! I had always fancied writing a book, but knew I wouldn’t have the patience to do it, so for me, SP24 was my book.
The SP24 Conference site was built on SharePoint Foundation 2013 hosted by Fpweb.net and required a lot of custom development to provide the features we needed to run a virtual conference. As we obviously wanted to minimise the amount of development we did, we looked to other products and services to fill in the functionality gaps we had identified. Here’s a list of what we ended up using.
Extradium – User Management in SharePoint based in SQL
To run a virtual conference you need a way for users to sign-up, log-in and manage their profiles etc. You also need a way to manage users, do password resets and update their details etc. There was absolutely no way we could build all this from scratch so we turned to Raphael Londner (CEO of Riolinx) who develops a very cool FBA Extranet product called Extradium for SharePoint. Extradium did everything we wanted and more!
I would also like to take this opportunity to say thanks to Raphael! He not only allowed us to use his product, but also helped out in many other ways as an active team member. In fact, his 2nd major focus was to integrate CometChat (a fully featured PHP chat app) into SharePoint so that logged in users could chat with each other and the speakers! If you are interested in how accomplished this, please check-out his post ‘A chat tool for SharePoint‘.
DocRead – Gets users to read and confirm documents in SharePoint
I was delighted to find a lot of uses for DocRead on SP24. DocRead allows you to assign key documents / list items to SharePoint groups, audiences, users and AD Groups. Using DocRead we were able configure documents such as the ‘Conference Guide’ to go out to ‘all attendees’ and the ‘Speakers Recording Tips’ to the ‘Speakers Group‘. The most beautiful part about the whole process (if I say so myself), is what we often refer to as ‘SmartMove’. Once you set a document to be assigned to a ‘Required Audience’, you can sit back, chill out and do something more interesting! As soon as new people get put into the group (which happened automatically with Extradium), DocRead will assign new Reading Tasks to those users. It will also give them a set number of days to complete the task before automatically sending a reminder! (To see this in action, sign up for a free account at SP24 and we will allocate you some reading to do without lifting a finger).
DocSurvey – Test understanding and get forms filled
DocSurvey is an enhanced SharePoint Survey that allows you to create quizzes and also add video / images to questions. The really powerful part occurs when DocSurvey is configured against the same document as DocRead. This turns into a very useful workflow! By simply doing this it means that when the user comes to confirm the document they can also be required to pass a test (or fill in a survey). If you have set a pass rate and they don’t achieve it they fail the test and they can’t confirm or complete the task! In fact, this is exactly what we used to get Speakers to not only agree to the Speaker terms of SP24 but also allowed us to gather all the information we needed from them. This was again a big time saver.
SPCAF – Warns you about issues with your custom code!
As we had to develop a substantial amount of code (more than we originally expected) to make SP24 work as we wanted, we needed to make sure that we didn’t have any security leaks, used only SharePoint Foundation features and and also followed best practices. To help find these issues early, we utilized the SharePoint Code Analysis Framework (SPCAF) developed by my co-organizer Matthias Einig. It’s good to work with people who have excellent products 😉
CometChat – A chat browser-based Chat Application
Ok we had to buy this one, but it cost so little you barely notice it! Cometchat is built using PHP and allows you to do pretty much everything you want in a chat client. We didn’t buy the full ‘Rolls Royce’ solution as we were worried about the performance overhead of running all those extra goodies in our SharePoint Farm. However, we ended up moving it to Azure anyway simply because we had some free MSDN credits and it’s a no brainer to spread the load of all these services.
If you want to see CometChat in action (within SharePoint), go to any Session Room and look to the right for the chat window. Raphael did an amazing job for us as he was able to get it all seamlessly integrated with the Extradium log-on.
BindTuning.com – templates that allow you brand SharePoint
BindTuning offer pre-baked templates that allow you to brand SharePoint. We pretty much based the look and feel of the white site on on of their templates. Stefan Bauer then optimised the CSS simply to strip out all the styles we didn’t need. This lowered the overall size of the CSS file going over the wire.
Kendo UI – set of HTML 5 controls to build pages
If you are a developer and haven’t checked out Kendo UI – you should! It’s really very cool. It’s built by Telerik and is basically a suite of widgets all built using HTML 5.0 and CSS (no server code at all). They have everything from grids, to sliders. In particular I took advantage of the tab strip, notifications and grid extensively.
Along with the widgets described above they also have their own MVVM Framework which is similar to Knockout. For SP24 I considered using Knockout and AngularJS but plumped for Kendo MVVM in the end. The main reason being that I didn’t know any of them in-depth and Telerik’s MVVM framework obviously works really well with their own widgets. After using, it I would recommend it, it’s really simple and removes the need for all of that plumbing code to set and monitor the data in the HTML.
SignalR – push “messages” down to browsers
You may not know, but SignalR literally saved the first SP24 conference. We discovered a CloudFlare caching configuration on sessions that had to be re-scheduled. Literally the week before the conference, I had learnt SignalR, wired it into the Session Room, hosted it on Azure and created an Admin page to remote control the session rooms. The intent at that time was to use it for live sessions, where we had a connectivity problem with the Speaker. In this instance I wanted to be able to swap out the live feed with the video back up without having to tell people in the chat room to do a full page refresh. As it turns out we used SignalR to push down messages to the player a whole lot more than we expected (including the Keynote). This is worth a whole blog post on it’s own as it really is a story to tell!
CloudFlare.com – a CDN that saves I/O on SharePoint
WARNING! Although, it does an amazing job at protecting SharePoint (up to 60% of all requests for us), it does have periods where it’s on “go-slow”. It’s also very easy to ‘over cache’ something, so take care on what and when you cache.
Windows Azure – Cloud services that can scale really easily!
I know the description is only a drop in the ocean of what Windows Azure can do. This was pretty much my first time using Windows Azure properly. (Late to the party or what!). I have got to say, sometime MS produce applications / services that are lacking and sometimes they produce very sweet ones. I think Azure is amazing! We used it to host CometChat on a VM and on the big day we were able to pump up the box size in seconds.
We also used their Cloud Services for all of the SignalR code. The most impressive thing for me (being a developer), is the speed with which it deploys. It really is very cool and I am so excited about starting to move the DocRead and DocSurvey engines to it this summer!
Visual Studio Load Testing – performance testing
We also used Visual Studio Load Testing to hit SP24 with some serious load and were able to utilise test agents hosted in Azure. I wasn’t actually involved in any of this set-up but please have a chat with Jasjit Chopra from Penthara Technologies for more information as he led this area.
I don’t profess to know much about this one as Stefan Bauer implemented it all, but it’s a very fast and cool way of slicing and dicing how you see your data. The library is free and can be downloaded from here. To see what it is, have a play with it, check out the SP24 speakers page and start clicking!
Fpweb.net – host SharePoint in a Private Cloud!
Finally, last but certainly not least comes Fpweb.net. Fpweb.net hosted the entire platform for us and also ended up scaling it to a very hefty 3 Server Farm ready for the big day. I have to say that although they donated the entire Farm to the SP24 cause, they still treated us as a paying customer. Their support engineers are both knowledgeable and extremely helpful. The whole way through the relationship has been amazing and without Fpweb.net SP24 wouldn’t have happened! So, if you are looking to move part or all of your business to a Private Cloud and require a greater degree of customization than perhaps Office 365 can offer – get in touch with the folks at Fpweb.net!!
That’s all folks!
I hope this post helps you get some background into how we put SP24 together! As always, any questions please post a comment below.