In my previous post about SharePoint architecture, I have started describing our demo project. It is all about organizing a conference: we want to make a piece of software will support organizers and participants of such a conference, on such a way that they can perform different tasks related to the conference.
The main goal of this project is to present some of the ideas how to architect a complex, enterprise solution based on a SharePoint. But, why not – to have a working, functional solution, which can be used as a basis for conference organization for all those who want to use it.
The first relevant question, when starting any solution, is why do we choose any specific technology, or set of technologies, for a project. In this case, it would be a question – why should we base such a solution on SharePoint. There are a number of reasons why SharePoint is a right choice for the conference solution, just to list some of them:
- Many administrative tasks can be performed out of the box.
Maintaining information about speakers, sessions, maintaining agenda – this all can be done using SharePoint’s out of the box features, without writing a single line of code. And this is what we don’t want: we don’t want to write a code for the tasks where we don’t have to write the code
- Permissions management
Since we will have content which will be accessible only to the administrators (which authenticate over the standard Windows authentication), then a content which will be accessible to the conference participants (who login over ID), and a public content accessible to everyone, SharePoint with claims authentication and highly granulated permissions model can save us a lot of time and efforts with managing different levels of permissions
- Public-Facing Website
Each conference needs a web site. Of course you can build one separately, where you somehow make connection between standard web site information, and conference-relevant data (i.e. agenda, speakers info), but there isn’t a single reason why you wouldn’t build a public-facing website in SharePoint, and expose there the data you anyway have in SharePoint
- Maintaining supporting information.
You need a number of supporting information and building blocks in your conference organization – and in your web site. Just to start with conference news and announcements, polls, and all the other nice stuff you see in the conference websites. Yes, it can be done in SharePoint out of the box.
- Maintaining conference organization data
Set of lists and libraries where conference data will be stored. SharePoint Out Of the Box features – no development needed
- Registration form
We will develop a registration form, as a web part, which will allow to participants (visitors, speakers, sponsors) to register for the conference
- Session registration
We will develop the session registration logic, which registers a visitor’s presence on the session. We will expose then this logic through the various interfaces – to enable registration through the web, QR Code, RFID, or whatever could come up as the idea
- Session rating
Session rating logic – we will allow the visitors to rate the sessions. This rating logic will then be exposed to the outer world as web part (for the conference web), as smartphone-optimized web page, or, again, whatever we want to have there.
We will expose the session agenda as a cool, animated Silverlight web part, which will be displayed on the web site
- My Schedule
We will develop the "My schedule" logic for all participants, and expose it to the visitors as a web part (web page), and Windows Phone 7 application
- Session Rating overview
A web part for administrators to check the session ratings, as they come
- Geographical distribution of the speakers and visitors
A cool Silverlight web part, which will combine SharePoint data and Bing Maps to represent the geographical distribution of the conference participants.
So, that would be it for now – in the next post, I will start explaining the data and permissions model, and we will finally start writing some code.