Charting the progress of a custom-built library: designing, building and implementing library and knowledge management applications in SharePoint