0

Sharepoint may not be the best choice for this job, but it's what I have to work with...

SP Server 2013. I think it's enterprise, but may be standard, I'm not sure. End user site-owner level stuff, I don't have access to the server itself. I have built a handful of sites with an older version (WSS 3 I think?) mostly simple stuff, but I have worked with workflows and designer. I do have Designer 2013 (and 2007) available. I do not currently have Infopath, but I think I can get it (although I have zero experience with it). Finally, I am comfortable with code (HTML, CSS, and JS) if necessary but would probably need pretty specific instructions.

What I want to build is an order form with quantities. Name, location, I need 3 apples, 2 oranges, and 6 bananas, etc.

The simple way I'd do this is to make a custom list with a number field for each item and give users the New page as the order form, BUT I want the ability to manage the items themselves in a separate list. I am only building this site and then handing off its ongoing maintenance to another team that is not technically minded, I don't want them having to go in and mess with columns every time an item needs to be added or removed (i.e. we no longer offer oranges, but need to add apricots). So I'd like to have a separate list that they can manage of all the items as rows, which will also give them additional data (costs etc) for each item. Possibly even some tracking data and reporting, i.e. keeping track of how many apples are ordered and having a dashboard showing most popular etc. I figure I can do the tracking stuff with workflows (incrementing an "ordered" column) but I have no idea how I'd build the order form itself where the item options are listed and the end user can enter a quantity per item...

I hope that all makes sense. Any help is appreciated.

3
  • Just a brief thought - If your "order form" creates a new list item in List #1, you could have a workflow run on item creation that essentially copies all those item attributes to a new item in List #2. Then List #2 could be managed separately from List #1. – clk Aug 6 '15 at 19:23
  • What kind of data volume are you expecting? – Arsalan Shahid Aug 6 '15 at 19:29
  • @ArsalanShahid Not a huge amount, roughly 100 users creating 2-3 orders a month at most. – Chaz Aug 6 '15 at 19:51
1

SharePoint is not the best choice for this sort of application. Lists are not suitable for this type of storage because you will need lookups and then the item limit throttling will become a problem.

If you must use lists

then I see three lists

  1. Product lists
  2. Orders list, looking into products
  3. Items list looking into orders. This list is going to reach 5000 really soon.

For the logic, I would suggest using SharePoint hosted app. It would require Visual Studio and some setup by the admin on the server to enable apps, but it seems like the way to go. Visual Studio Community Edition will work. If you don't want to use Visual Studio then create a 30 day trial developer account in office 365 and install NAPA. This would allow you to develop everything in the browser (with intellisense!!!).

If you don't want to use the app model then use HTML + CSS + Javascript with SharePoint Designer pages and put all of your logic into Javascript files (.js) using CSOM. Using js files will allow easy migration from Dev to Test to Production.

If you can use a database

I would strongly suggest using a database for this type of application and if you are familiar with any type of server side technology (ASP.NET, ASP.NET MVC, PHP, JSP, JSF) go for a provider hosted app.

Hope this helps. Regards.

1
  • To help with Item throttling: if he puts in some extra columns that would help sort the orders into meaningful groups he can then index by those columns. Only thing would be to make 100% sure that the every column that needs to be indexed is indexed before the 5k limit is hit. – Roland Aug 7 '15 at 6:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.