Welcome to the first post in the Sitefinity SNP series. In this post I will explain the basic plan of action for building a Sitefinity SNP.
Though Sitefinity Social Network Platform sounds as something very complex, the basic idea of it (and of the most other the social networks) is actually very simple: We will have persons who will have the ability to interact in various ways.
Persons will have the ability to connect to other persons through connections or belong to one more groups of persons. On a very abstract level, that sentence is our whole specification.
Take a look at the following graphic which describes the Sitefinity SNP.
Person is a main building block of our social network. Each person will have a profile that will describe it. In addition to this a person will be able to recommend other person and receive recommendations from other persons. Also, our website will use Sitefinity built-in modules blogs and forum. Collection of all comments on blogs and posts on any of the forums will be accessible through the person’s page. Each person will have a page with unique url which will display that person’s profile, received recommendations, given recommendations, that person’s blog comments and forum posts.
Any person will be able to create a special interest group (e.g. bird watching group, LA Lakers fan group, XY High school board group…) that can be private (membership by invitation) or public (anyone can join). In the beginning the only feature of the groups is a directory of persons, though later we may implement posting messages, setting up events etc.
Connections are the binding mechanism between persons. Each person can have unlimited number of connections, though in order to create a connection both of the parties must agree on the connection. E.g. a person that adds a connection will have to receive a confirmation from the other person so that a connection can take place.
In the next post…
In the next post we will start implementing person. Persons will be implemented through ASP.NET membership. Each person will be a user and associated profile will be implemented through ASP.NET profile provider. We won’t be doing much of coding, since all this is available in Sitefinity (event the login controls). Also, we’ll take advantage of Sitefinity’s API to programmatically create a new page for every person after registration.