What is the best way to lock a menu item that should remain locked the duration of the course?
I have a client who has a plan for a project that includes about a dozen menu items. However, these items will be built in phases. Since the titles of these future topics are already finalized, the client has the desire to have the items appear in the menu. They will appear with styling that indicates they are “under construction,” and they will not be clickable.
I want to be able to mark contentObjects as “locked” via JSON in a location as logical as contentObjects.json. I want to avoid forcing a developer to jump into a javascript file in the future when these menu items are ready to be enabled. Almost all the functionality I require is available in Adapt’s locking model. I’d like to have all my styling based on the “locked” class. The piece that is missing (I believe) is being able to set the value of “_isLocked” from the contentObject. Should I add this javascript code? Or is there a clever and better way to invoke locking, say by adding an invisible dummy contentObject that is referenced in "_lockedBy" but that is unreachable/inaccessible? (I was unsuccessful in my attempts at this.)
I have experimented with adding the following attributes directly to the contentObject JSON:
"_isAvailable": false – removes the item completely; cannot be referenced in "_lockedBy"
"_isHidden": true – no effect; same as unlocked item
"_isEnabled": false – no effect; same as unlocked item
I am working in the framework with box-menu. Tracking course completion by an LMS is not a requirement.