I have a uploaded slides from PowerPoint to a document library that can then be collected for a staff meeting presentation. Each slide has its own number and place where it belongs for the slideshow. When I add a new slide, SP automatically puts the new slide at the end of the document library which is fine, but I want to be able to change the slide number and have it automatically go to the correct spot in the presentation without having multiple slides have the same slide number. If I want the new slide to be number 2 but there is already a slide that says it is number 2, the current slide should switch to 3 along with the rest changing to their perspective spots/numbers in the presentation. Is there an automatic way to do this without manually editing each slide property?
2 Answers
Out of the box there is no such mechanism.
You could use a new column of type Integer (also set to Uniqueness on it to avoid duplicate numbers) and define the Default view to Order slides based on that column (name it OrderBy) - of course this would force user to change # of the other slide prior to re-use it.
Or... you could envision building your own workflow to change that particular value, using a "Wait for change" activity and update the other slide # after the new one get set. The major issue I see is recursivity that could set it as one change would trigger another, and it would get either get you a long cycle, or all slides following the one you just update, shall be also updated with Idx+1 (where Idx is the # of the slide you just updated).
The only thing within Sharepoint that allows this is a list based on the Links List template. I don't know if attaching your own content type and attaching the slides to the items would work.
You'll probably have to roll your own somehow. You might be able to pull off something fancy with jQuery UI Sortable. Once reordered and submitted, it would set an order column in the list to achieve what you want.