Microsoft SharePoint 2010 (RiaPoint)

Posted by on Jan 19, 2012 in Case Study, Our experience, Solution | Comments Off

Microsoft SharePoint 2010 (RiaPoint)

We have set us about to work on the project to create a universal solution for Microsoft Sharepoint Server 2010, supplemented with unique functions and features regarding customization of the User Interface, and the complete support for Arabic language and right-to-left (RTL) orientation (along with left-to-right for other languages).

In essence, this project was very similar to our previous mission accomplished for a different backend (IBM FileNet P8).

Thus, we used exactly the same UI approach and theme, however we approached to the functionality from a different direction. There are some major differences between FileNet and Sharepoint (like impossibility to Demote document version, or the fact there is just one content file per document possible in Sharepoint as opposed to FileNet where you can store several attachments per logical document). And for sure there are much more differences between the platforms underneath, in terms of API and some concepts standing behind.

We managed to provide user with every major feature the standard SharePoint 2010 Server shell has enabled by default. Apart from some basic document browsing, filtering, sorting and paging support, we also have implemented the advanced search feature allowing to search through a whole document library or any of its subfolders. Having content displayed, created, and edited properly, we dived deep into implementation of the actions available for folders and documents. Check in, Check out, Version History, Permissions control and even Launch Workflow were reinvented with a brand new UI giving some more comfort and convenience to the end-user.

riapoint_browsedocuments_filteropen riapoint_browsedocuments_contextmenu2

riapoint_search_contextmenu windows-phone-square-logo-nokia

[series of screenshots: (1) content browser showing list of documents, (2) the one with filter and page size open, the one of the Search form, (3) the one of the object editing screen, (4) the one with document selected and Action menu open, (5) the one with Version history shown, (6) the one with Launch workflow shown]

At last we were faced with the Dashboard task. There was no clear indication how it should look and work like, but we just knew we had to keep things going simple, easy to understand, and thus – easy to use. At the same time, we had to provide at least the same level of customization power to the end-user as it had been before with the Workplace XT dashboard interface. So we decided to start from there, and functionally recreated the same approach, however made it in a more clean and straightforward user interface so it is a pleasure to use it.

Screenshots

[series of screenshots: (1) dashboard shown, (2) portlet layout options shown, (3) some portlet options shown]

Workflows

In the scope of the project we also covered the Workflows area. In particular, we designed several screens:

  1. Inbox - for end-users to see the tasks currently assigned directly upon them, to edit them, add/remove attachments, and after all save or complete them.
  2. Queues (Public Inboxes) - for queue participants to see the queued tasks with the ability to reassign any to themselves.
  3. Active Workflows - the list of active workflows user has participated in.
  4. Task Tracker - for tracker-users, to review the entire step-history of tracked workflows with all parameters/associated data listed.
Inbox, Queues and Active Workflows are taken directly from the SharePoint 2010 Server API (it is server-side, so we had to embed our web-service in order to provide the client with the necessary functionality), whereas the Task Tracker section is completely handled by the application – it stores the full information about Task completion activities happened inside the application, and thus provides this information to the end-user. Surely, Task Tracker information is also a subject to the security model of the application.

Screenshots

[series of screenshots: (1) Inbox open, (2) Queue open, (3) Active workflows open, (4) Track workflows open]

Settings

The application settings system supposes existence of three settings levels, each one has the corresponding priority:

  • default settings – factory provided values;
  • global settings (set up by the administrator) which could override the default ones;
  • user settings - just a fraction of what is available in the global settings, and they could override some of the global ones.
This simple and straightforward model turned out to be very handy in use and understanding on the user and developer levels.

Screenshots

[series of screenshots: (1) global settings general screen, (2) user settings general screen, (3) one more screen]

Security

Security of the application consists of two parts:

  • the application level functional permissions which regulate the subsystems users have access to. For example, some users could be prohibited of use of workflows (if they are supposed to stay in the Content section).
  • the FileNet level security which controls user’s access to object stores, folders and documents, as well as Inbox and Public Inbox items available.

Application provides the means to edit both of the above as long as the current user possesses the necessary permissions.

[series of screenshots: (1) application global configuration shown, (2) per-user configuration shown, (3) FileNet security for a document shown]

Technologies used: Microsoft Silverlight, WCF, Microsoft Sharepoint Server 2010