Challenge Overview
Welcome to "Dinnaco - Request List Tool Sharepoint Challenge". This app will be used by employees and clients to manage all documentation lists within their project. The main purpose of this app is to create a tool that can provide the best method to manage all documentation for a project with our clients using sharepoint enterprise app (This tool will be run in Sharepoint).
We’ve wrapped up a challenge to build a UI prototype for this application. We would now like to convert this into a Sharepoint application using the ‘1-Click Install’ solution that we’ve developed in a previous challenge.
Existing Prototype
Simply host the existing prototype code (provided in forums) on any web server to see the existing UI. Currently, there is no login page so open the dashboard page to see the various flows.
Requirements
- Convert the existing UI prototype into a Sharepoint add-in using ASPX pages
- The application will need to support 2 roles - ‘users’ and ‘clients’. See the dashboard-client.html and dashboard-user.html for a full list of features available to each of the categories.
- There’s no Login page designed for now. Build a simple auth page which uses Claims-based authentication for ‘clients’. For users, simply mock authentication using configurable credentials. A user can add/ delete/ archive request lists & do CRUD operations on categories while the client can only search and view request lists.
- You need to implement the following entities
- Enter sample data for template object
- Categories - Allow Edit/ Update/Delete/ Create as shown in prototype
- ‘Upload’ functionality must allow the user to upload chosen files to a Sharepoint library (which is kept configurable)
- Implement operations on Search list as shown in various screens.
- It should be possible to select one or more lists from the list view and delete/ archive those.
- Clicking ‘archive’ should use the ‘record archive’ feature from Sharepoint
- It should be possible to filter the list based on Live/ Not Live and Archived status
- Keep ‘Client name’ configurable and use that value for populating in the list view
- The counts for ALL REQUEST LIST, RECEIVED & BEING CHECKED, CHECKED AND ACCEPTED, OVERDUE must be the sum total of all values for all request lists (all pages)
* Users (with roles - user/client)
* Request List (Created DateTime, Status (Live/Not Live), Template Id, Audit Period Start Date, Audit Period End Date, Stage (Not Received Count, Received & … Count, Checked & Accepted Count, Overdue Count)
* Template (Name)
* Settings (specific to each user, fields as described on settings page)
* Category (Area, Client Manager User id, Dinnaco Manager user id, Due Date)
* Item Request (Request Id, Category Id, Area Id, array of file paths)
Known Issues (To Be Fixed)
- Spelling of CATEGORY (it’s spelled as CATEGORY)
- Add New Category should convert the ‘Choose Category’ dropdown into a text box with placeholder text ‘Enter Category’
- Implement pagination for Request List View
- Allow sorting on all columns in Request List View
- Dashboard page:
- Request List pages:
Item upload screen:
- Title currently “DASHBOARD / UPLOAD FILES” - should just be “DASHBOARD”
- Filter headings “ALL REQUESTS LIST” - should be “ALL REQUEST LISTS”
- Should be able to sort on request list column headings
- Right hand side “ACTIVETY” should be “ACTIVITY”
- ‘Upload file’ column - Client users should still be able to RE-upload a file to replace an existing item, so if an item has been uploaded then the column should still show the - option to ‘Upload’ as well as a ‘Delete’ option.
- Dinnaco manager should be able to switch the request list to Live / Not Live on this page using a toggle graphic
- Checkboxes to be added for each line so the users can select more than 1 item and a check/uncheck all function so users can perform a multiple action..
- For client users the ‘Upload all items’ button should be changed to “Upload selected items” accordingly.
- For Dinnaco users the ‘Upload all items’ button should be changed to “Download selected items” accordingly.
- ID is currently showing as a link, this is not needed.
- Should include all fields from the request list view (i.e. needs to add in owners, notes, due date etc not already shown).
- Ability for the user who is uploading the file to add a note that accompanies the uploaded file (i.e. to help the Dinnaco user understand what the file is)
- Users should be able to navigate back to the request list view, i.e. by using the ‘Request List A’ title as a link to return.
Unsupported Sharepoint Features
In the forums, we’ve attached a PDF listing the unsupported Sharepoint features in client environment. Developers are strictly advised not to use the features mentioned in this document.
Final Submission Guidelines
Final Submission Guidelines
- The Add-in, meeting the requirements above (Visual Studio project files)
- Document consisting of full configuration, deployment and verification information
- A video demonstrating the installation and use of your add-in