Strategies vary enormously, depending on factors like client requirements, the preferences of the e-learning designer and on the users' level experience with Adapt-style e-learning i.e. if they are used to using your more traditional 'click next' screen-by-screen e-learning we might use trickle more to guide them down the page, making sure they don't miss any key interactions before continuing on down.
equally we often use trickle in assessments to ensure that each question is answered before the user can move onto the next one.
I would say that we use page level progress and page incomplete prompt on nearly every (multi-page*) course.
You should definitely mark as 'optional' any components that aren't key to the learning. typically 'decorative' graphics and suchlike. You'll also want to set these to not appear in page level progress.
Use of step-locking seems to be guided mostly by what the client wants, though quite often we'll use it to prevent the user from accessing the assessment until they have completed everything else. we tend to prefer to work without it as it's kind of annoying for development/testing and can be considered a bit proscriptive to the learner.
All content is mandatory in Adapt by default. if you want to mark content as 'optional' you add "_isOptional": true
to the JSON for that component.
You can check what version of Adapt you are using by looking in package.json
In addition, Adapt v3 has a 'build' property in the course that you can use to determine what version of the framework and plugins were used to build the course, more info here.
* page incomplete prompt only kicks in when you navigate away from the current page so obviously is no use in a single page course. Close extension would be useful alternative in such instances