Coda as Courses Platform - Students access level


I managed to create a complete courses platform on Coda where students can participate in a course, watch a vide, read the text content, and click NEXT, and BACK to move between lessons. I implemented an advanced quiz system as well where instructors can create questions and answers and they appear as part of the different courses.

My only challenge is that I have to access level where students can answer questions (One button for each answer), and click on NEXT, and BACK buttons on the different pages without having a full access on the whole document.

I would like to give them very limited edit access on the different screens.

It took us 2 weeks to create the platform but this became a bottleneck for moving forward with our courses platform on Coda.

Does anyone have any solution?

Hey @UXSalon_Team

Have you taken a look into Locking? On team or enterprise plans, you can lock certain pages and allow only certain interactions. In your case, you’d allow users to press buttons, but prevent page text edits, manually adding/deleting table rows, etc.

Give it a look, it sounds like the solution that’ll work for what you need, and it’s really quick and easy to setup…

If you’re not on an appropriate Coda plan, your best bet would be to publish your doc, and use forms to handle submissions. It’s a bit of a workaround and you’ll be quite limited, but it’s a feasible option. Happy to look at this with you if you need some input.

1 Like

That sounds great. We can upgrade to teams tier.

Do you know whether viewers can have access “interact” or they must be editors? That wasn’t clear enough in the documentation


Hi @UXSalon_Team

I really like the way that locking works - the Coda team have clearly given it a lot of thought, so I strongly suspect that you’ll be able to build a solution for whatever use case you require.

Here’s how it works in a bit more detail:

  • You setup locking individually for each Coda doc. Locking settings for the doc apply to all users in that doc. Users will see a little lock icon at the top of the screen, and if they try to do something that contravenes the lock settings, they’re notified as to why they can’t proceed. If they have permission to unlock the doc, then they will have to do so before making the modifications they want.
  • You can specify which users can unlock the doc. The default setting is “all editors”, but you can choose to restrict unlocking to a list of specific users if that’s more suitable. Unlocking allows that user to temporarily have full control over the doc, and also allows them to update locking settings. When they’re done, they relock the doc and they’re back to interacting with the doc exactly how all other users can. I really like the way this works, because it means even as a doc maker, I can test out my workflows exactly as if I were a regular user.
  • There are default settings which apply to all pages in the doc. You can make it “read only”, “full control”, or “interact only” which allows you to define specific actions you want to allow. In your case, it sounds like you’d probably want to disallow all options except “use buttons, controls, and forms”. This will mean users can’t add/delete/edit table content directly and can’t edit page content. This allows you to build really controlled workflows, and protects your doc from unwanted changes.
  • In addition to default settings which apply to all pages, each page can have unique locking settings which override the default settings on that particular page. So if there’s a page where you want to allow the user to edit row contents, for example, you can enable that on a page level.
  • When locking is enabled on a doc, users can’t add columns, modify “open row” layouts, create pages, etc. They’d need to first unlock the doc before they can do those actions.
  • Finally, if you have buttons which perform actions that are locked, and you allow users to press buttons, then those button actions are allowed. The restrictions to adding/editing/deleting rows only apply to direct manipulations of the tables.

Give it a go! If you have any further questions, feel free to reach out. And good luck with the rest of your build - it sounds like you’ve built a really cool solution!

1 Like

Amazing. That makes it very clear. I’ll upgrade the account to teams and give it a try. I’ll update you with the result of our usecase as well.

Thanks a lot.

Great stuff! If it’s not too proprietary, would you consider releasing the doc to the Coda Gallery? It sounds like a solution that a ton of people would find really useful.

Let me know how you get along, and good luck with the rest of your build :slight_smile:

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.