I am going to try to describe this the best I can… Bare with me.
Background: My app provides a step by step course for people to go through. But the steps they go through can be assigned to them as a ‘custom process.’
So what I have accomplished is making it so that the steps available can be assigned to people. Which shows the person what steps they have assigned to them, and shows the assignor the same thing, so they can track their progress.
Here is where I am having issues;
I need only the steps that they have been assigned to show up for them as they go through the process. The main problem is that I have broken up steps into parts, and I can’t figure out how to make the next and back buttons to show the right steps.
Before I just made it so everyone had the same 20 steps, but I kept getting feedback to make it customizeable, and here I am.
I feel like there should be a way to get the ‘next’ item in a list? In my head it should be something along the lines of search for thing, but instead of first item, it would be next /current item?
If anyone can help me figure this out, it would be a huge help to me.
Here are some screenshots that hopefully help? Can also record some videos too.
it looks like it’s a list (I’ll call it a list of steps). You need to store a current step (basically an index number) and then just add 1 to your index when user presses the next arrow. Minus 1 to the index when the user presses previous, etc.
To get to the current indexed step, it’s Venture's list of steps:item #index number
If you’re sending unique IDs to the page URLs, the query is Venture's list of steps: item #index number's unique id
You’ll need a consistent sorting mechanism to make sure each user’s course steps are sorted the same exact way no matter how the page loads.
Okay that makes sense, but I think that would only be a temporary solution. The direction I am going with this is to let the organization create their own steps to build a custom process.
So from a product roadmap perspective, the first version was to let them create a custom process using the steps I had already built in, and then the next version would allow them to add their own steps which is of course going to have a variety of other complexities to it. But I want to build things out now to allow for that in the future if that makes sense.
I guess the question is: Would there be a way to make indexing work even if there is going to be hundreds (maybe thousands) of steps in the database eventually, but only a select 20 or so assigned to each specific person?
i think the solution works @ scale. With this method, you’re just creating a dynamic index number to query through your long list of of steps to get the exact step the user is on (instead of iterating through all the steps in the list).