11 06 2009
SharePoint: Internal developer portal – first thoughts
My file system has one bad tumor – it is called over 6 months old My Documents. I have there a lot of stuff, it is somehow organized but it is still more like chaos. Most of these files are materials about different technologies and so on and also some business papers. Another chaos is my bookmarks collection… I thought about these files and links and suddenly I made conclusion – why not build separate SharePoint site to my company’s SharePoint server and publish all useful stuff there? I am sure that other guys have also stuff that may be interesting to others. So, here’s my first thoughts about developer info site on SharePoint server.
At first let’s see what kind of information I have. Here is the list of information types I have in my different chaotic places:
- whitepapers about languages and technologies,
- training kits,
- example projects,
- downloads (programs, utilities, etc),
- online content (code examples, guides etc),
Also we may have some chaotic information about solving different problems we have faced and it would be nice if we can fit also this information somewhere.
First ideas about features
Now I want to organize this information somehow so it is easy to find and manage. I put here everything that goes through my brain when I started thinking. So, don’t consider this as any accurate analysis and don’t take this list as official requirements document. These are only notes and nothing more.
Here are my first ideas.
- Content types. I need some content types for different pieces of information. My first idea is to create content types for media types – whitepaper, specification, training kit, video, etc. I thing whitepaper and specification may be also same content type, let’s say document.
- Topics list. I need some list of topics so I can assign topics to every content item I have. It makes it easier to find information we need.
- Document conversions. If we base on MOSS 2007 we can also consider automatic document conversion so Word, Excel, PDF and other documents are automatically converted to HTML documents. I’m not sure about it but may be it makes sense.
- Internal blog. Blog is simplest tool to publish information fast. Every developer should be able to use Windows Live Writer to post new content about solving different technical problems.
- Authors list. We should keep the list of authors so we can search content also by author. Also it is good if we keep some background information about authors. If there is some author I don’t know then I can click on his or her name and read more.
- Comments. We need commenting features for all content we have. It is specially good if there are some very valuable pieces of information buried deep to some documents or if there is something important mentioned in some videos. Also we need comments to warn others about mistakes that materials may contain.
- Ranking. We should be able to rank the content we have. It is good if newer guys can find high quality content faster.
- Content expiration. Each content item may have expiration date. After some time most of documents and other materials expire. New technologies and new software versions replace older ones and we don’t want to keep a large archive of relics. When something expires it will be deleted automatically.
First ideas about user interface
Usually I try to create also first picture of system I am planning. It is not exact vision of how the interface will be in the future, but it helps me find my direction and analyze the solution at common level better. Okay, here are my first thoughts about UI.
- Main page. Main page will be like dashboard. There will be short greeting text and some notes about content and then different listings: top rated content, new content, last comments, last blog entries, expiring content.
- Videos. It would be nice if it is possible to stream videos and watch them directly from site. We need also possibility to download videos if we need.
- Authors. Authors pages should contain author name, company, short bio and links to author homepage and blog.
- Commenting and ranking. There should be comments list and comment inserting box on all detail views for content items. Also we need ranking box at same places.
- Aggregated feeds. We need something that brings in popular feeds we list and this something should create aggregated feed we can show in site.
- Search results. When we search something then results should be formatted based on content type. I mean that authors and videos are shown differently.
For now, this is it. As a next thing I have to go more specific with my requirements and model the first data structures so we can think about site columns and content types.