Greetings.
Earlier this week I was tasked to create a SharePoint app. My employer wants this app in 3 weeks, fully functional. I have never developed in SharePoint before. In fact, my entire experience in SharePoint is setting up team sites. I do have a bit of experience in LAMP development, and I have done some C# Windows Forms development in the past.
So here's the basis: Current employees of the company need to be able to submit possible new hires at any one of our 10 branch offices. First I looked at just doing a list, but I can't find an easy way to allow a user to submit an item to a list, and then not be able to see it or any of the other items in that list. The managers in the branch offices need to be able to go in and see the submissions only for their office and strictly not for any other office. HR needs to be able to see all the submissions. What I'm looking for from you guys are some ideas, and some general starting points to steer me in the right direction. This is my plan at current.
The app will consist of 3 pages.
- Config Page: This page will be accessible by IT. It will contain the logic to create the lists on the site and any other setup information that might be necessary.
- Default Page: This page will be accessible by anyone in the company. It will contain a webform, which when submitted will populate one of the lists created from the config page.
- Management Page: this page will do a couple of things. First it needs to detect who is logged in. If its one of the Managers listed in the managers list (see the lists below), then the page needs to populate a table showing the submissions for the office(s)
that manager is responsible for. The manager should not be able to see submissions for any other office. If the page is loaded by HR or by IT, it should show the same as the manager, and also have the ability to switch between the offices.
I am thinking the app will also consist of 3 lists
- Main List: This list will hold all of the submission information from the Default page, as well as some other fields that the manager and hr will have access to modify.
- Office/Manager list: This list will show the relationship between the managers and the office(s) they are responsible for. This will allow me to customize the view on the Management Page for each manager.
- AdminList: This list will list the people with admin rights in the application. To be used for HR and IT(mainly just me for testing).
So the general workflow for the app will be like this:
- App is added to a site and has to be configured. I need to figure out if I want to pop up the config page first, or if I should link to it from the default page, so the setup can be modified by IT.
- After being configured, subsequent loads of the app should load the default page, accessible to anyone.
- User fills out the form, and clicks submit. The app should use the form fields to add an "item" to the list.
- Should trigger an email sent to the office manager of the site the person is being submitted to, as well as to HR.
- Manager can then go into the App and approve/deny submissions to his/her office. If manager changes a field, HR and the manager will get an email notifing of the change.
- If the manager approves, then HR goes in and begins the process of hiring the submitted person.
Okay guys, what do you think? Am I over thinking this? Any pointers? Thank you so much.
-Josh