1

I am an experienced .NET Developer acting as interim SharePoint Developer, and am new to SharePoint. After determining that I need to go with an application page instead of a site page for a new project due to it's complexity and need of custom code behind. Before developing the entire solution, I wanted to tie up the loose ends of my understanding of application page deployments. I need to add this page as a URL on the left side of a Site Collection page (kind of like what happens when adding a subsite to a site page.) I have read about the modules, which seems extremely hacky to me. There must be a better way to develkop a custom page on top of SharePoint without the page being accessible to anyone on the entire site.

EDIT The application I am wanting to develop on top of SharePoint exists purely for data entry and reporting purposes.

Josh McKearin
  • 742
  • 4
  • 19
  • 42

1 Answers1

1

Have you considered using a Webpart?

With a visual webpart which is essencially a usercontrol wrapped in a webpart you can add as much complexity as you want and you also have code behind to hook to events etc.

The benefit of using a webpart is that you can then drop it on a page, and use all OOB sharepoint access controls.

You mention that you want to develop a data entry reporting app. So something you can do is to create a subsite. Look all access to modify pages except to owners. Create all your screens by adding pages to the subsite and dropping webparts on it with the logic you require for each screen.

Also make sure you deploy the werbparts via a web feature that only is activated in your subsite, this way the webparts are only available in that particular subsite.

Luis
  • 5,979
  • 2
  • 31
  • 51
  • The gist of what I am understanding is that web parts are not purposed for LOB Applications hosted on top of SharePoint and that this purpose is exactly what Application Pages are for... however, Application Pages are horribly crippled in the SharePoint environment. http://brett.maytom.net/2008/07/13/sharepoint-the-role-of-a-web-part-vs-using-application-pages/ – Josh McKearin Aug 28 '13 at 15:31
  • I have built several LOB applications for sharepoint and the majority of the screens are built on webparts. I sometimes have a requirement to build application pages but they are rare. What are your requirements? – Luis Aug 28 '13 at 15:33
  • I have an external database (BDC Service) that contains "line items." The user has to be presented with a menu which will allow them to import line items (I have to crawl a spreadsheet), view line items, search line items depending on specific criteria, create reports of the line items, create new line items and add document attachments and notes to it. The system also has to have admin/user type roles. I could easily do this in an ASP.NET application, but the requirement is to incorporate it into SharePoint. Are you sure this is something that can be achieved with simple web parts? – Josh McKearin Aug 28 '13 at 15:46
  • Again all of that can be easily implemented using a combination of pages and webparts as described in my update above. Also in that subsite you can then use the subsite roles to drive your application as you can access them using the Sharepoint Object Model API to drive whatever logic you need in your app. You can even fine tune the access to your pages to specific roles etc. And remember all of that is contained in the subsite. – Luis Aug 28 '13 at 15:51
  • If you do that at the application level then you dont have a natural way to contain your app to a specific set of users sure you can implement logic on the code-behind to restrict access etc but why would you? – Luis Aug 28 '13 at 15:52
  • 1
    I'm accepting this as an answer... I need to take this time to say that I don't like SharePoint. Lol. – Josh McKearin Aug 28 '13 at 15:54
  • You are not the only one my friend :) – Luis Aug 28 '13 at 15:54
  • When you do Sharepoint try to use as much OOB as possible otherwise you are fighting the monster and believe me you dont want that, not with Sharepoint – Luis Aug 28 '13 at 15:55
  • I concur with Luis. Go with the flow. what you are describing should probably be done as a web part. If you need to restrict access to a page, then you can use SharePoint security model to restrict access. By customizing the Left Nav, you can make the page visible, if needed as well. – Roman Aug 30 '13 at 05:22