Project Description
Nexus is an open source web 2.0 personal social platform, something like igoogle and pageflakes.

It allows you to mix both your personal, social and corporate content all into a single portal.

Nexus is done in asp.net 3.5 with interactivity done via javascript and webservices

Production URL
http://nexus.nus.edu.sg (unfortunately you need to have a valid NUS UserID and Password to access)

Technologies
  • ASP.NET Technologies
    • C#
    • Workflow Foundation
    • Extensions
    • LINQ
  • ASP.NET Ajax
  • script.aculo.us

Project Implementation
This is a 3 tier application consisting of a user interface (UI) layer, Business Layer and a Data Layer.

The UI is rendered almost completely via pure javascript and ajax calls using the libraries provided by script.aculo.us and ASP.NET Ajax. Emphasis is placed on low bandwidth and fast end user response (i.e no updatepanel is used).

The Business Layer runs on top of Workflow Foundation. Workflows are created for each business process e.g create new user, add new widget and delete tab. Each workflow consists of several activities which are reused in different workflows. e.g there is an activity to check user access permissions, which is then used each time a workflow CRUD on tab is run to ensure that the logged in user has the appropriate permission.

The Data Layer employs LINQ to SQL to simplify data access layers.

Contribute
  • If you will like to help to make nexus better, or you simply want to help with widget creation, drop me an email at cittka at nus.edu.sg or via contact me via my profile

Configuration Procedure
  1. web.config
    1. <connectionStrings>
      1. LogConnectionString : This connects to the log database (nexuslog.bak)
      2. DashboardConnectionString: This should connect to main nexus database (nexus.bak)
    2. <appSettings>
      1. DefaultEmail : The email address that emails sent from Nexus will use, and also the email which receives alerts
      2. LdapUserID: A LDAP Domain UserID which has permission to query (read) the LDAP
      3. LdapUserPassword: The password to the Ldap UserID
    3. <system.web>
      1. Machine Key: You need to update the machine key in both the main website web.config and also the one inside /sso
    4. <system.net>
      1. update the smtp settings
    5. Session State
      1. Session State is configured to start using State Server, so you can either start the default asp.net state server on your machine, or else change it to inproc
    6. SMTP
      1. SMTP is set to pickupfromiis, if there is other settings, please change accordingly
  1. IIS
    1. Create a top level web application to host all files located in the main folder
    2. Create /sso as a web application folder, ensure that it is using the same app pool as the main website


Read the Nexus Blog
rss:urlhttp://blog.nus.edu.sg/nexus/feed/
Read My Blog
rss:urlhttp://jefferytay.wordpress.com/feed/

Last edited Aug 17, 2009 at 4:38 PM by kwanann, version 10