I’m working to generate a .net application that will run on a 2010 SharePoint server.
The application is a project to take a 12 page paper form that is mailed to users once a year and create a web interface. The data has been collected since 2003 and resides in an access DB. Here’s what I’ve figured out so far.
- Move the tables from Access to the SQL Server that SharePoint uses. Then point the tables in access to the SQL Server. All queries to the data should be created as stored procedures in the SQL Server. This is to avoid having to update many .net pages if for instance a new column is added to a table.
- Develop the application as a vb.net 3.5 application which will run on the SharePoint server under the _layouts folder.
- I don’t know if I should develop in Visual Studio, a vb.net project or a SharePoint project. The only thing I want to access from SharePoint is the currently logged in user so my application knows who is attempting to use the application and whether the user is authorized. This will avoid having users login twice.
- With regards to getting the logged in user, I understand that using a SharePoint project I can read SPContext.Current.Web.CurrentUser.ToString to get the username. Using a vb.net project, I am able to use JavaScript to read the username from the user dropdown menu by reading the .innerHTML and can send it to the .net application as I wouldn’t have access to the SP objects. This JavaScript is added to a page on the SP site that calls the application. This approach might run into problems if a user has JavaScript disabled in the browser. I could inform users that they need to have JavaScript enabled. Then again, I don’t think SP will function without JS.
- As far as to whether or not to use a SharePoint project, it all comes down to whether having SharePoint manage the app rather than IIS is going to slow down performance. Last year I tried using access services and ran into horrible performance issues that I don’t want to reproduce. I think I turned a lot of people off to the idea of using the web. That’s why I’m tempted to get SharePoint out of the mix and let IIS do its thing. SP projects also have the advantage of being deployed from Visual Studio. I could manually copy files to the server. Also I’d have to tell SharePoint not to manage the app… What do you think?
Mike