Company Wiki: Pages or Table Canvas

New to coda and have consumed a ton of youtube content and courses from the help center. I am in search of guidance on architecture for our company knowledge base/wiki.

I want our team to be able to write help articles and tag them to functional departments and document types.

I want users to be able to discover these articles by browsing each tag category and also be able to discover via search (article title and content).

I am not sure if we should create these articles as pages or as table canvas. I started building a test page in a table canvas and noticed while these canvas pages look a lot like pages they are missing some features like authors, last edit time, locking, and generally seem to be less user friendly. However the ability to assign metadata in the table format seems like a plus for this structure.

If you have feedback or recommendations for us I’d really appreciate your thoughts. Thanks!

Ex. Canvas

1 Like

I’ve run into similar use cases where I need to be able to create meta-data so need tables but the features/usability of a page. There’s a couple of options I’ve used and some get a little crazy using the Doc Explorer pack.

First question: Do you need the full power of a Canvas Column for the article content or will a table Text column (can still do all formatting, images, checklists, etc) work for you?

I think i need full power of canvas column. i plan to embed videos along with text on many of the articles.

Hi Laurence, welcome to Coda, and the community!

You can add a column for creator, and another for modified by. Each with an accompanying date and time. You can add a 3rd name if you have, say, an owner which is different from the creator/ modifier.

I follow exactly that approach with my office doc, but a little bit more elaborate. I call these thoughts, and I can have different thought types, some with their own boilerplate. E.g. a functional design document has a very different boilerplate to a technical design document.

I have a simpler version in the gallery for personal use called rambling Pete’s integrated thinking environment 2.1 you could have a look at.

1 Like

Gotcha. Canvas columns can’t trigger automationsso you can’t auto set authors / last time edited for the article content field (I don’t know any hacks around that). Here’s a couple of options that may or may not help you in your decision and how to implement:

Table w/ Canvas Column

  1. Last Edit Time - There’s a Modified On built in column. This will show the last time any column, including Canvas column was changed. So it may help you, but remember change any field on the row and it’s going to update.
    image

  2. Authors - Create a People column on the row and set to “Allow multiple selections”
    image

  3. Locking - There various implementations to make it harder to edit a row. Ex of 1 way is locking the table page and allow “Use buttons, controls and forms”. Then create a button that only allows specific people like the “Authors” to click it and opens up a layout that allows them to edit. If you want to explore this and need help, happy to create some examples for you.

Hybrid Table & Page
Sometimes a Canvas column just doesn’t cut it and you want or need an entire page but you want meta data like a table. This option has a lot of limitations but can help split the difference:

  1. Create a table, with a “Create Article” button
  2. Pressing the button creates the article (from a templated page), places it in a specific folder and then saves the created page in a column in the table
  3. Now you can have organized meta-data for your pages but still have full page level usability/feature sets.
  4. If you want to get really crazy you can also use the Doc Explorer pack which pulls all the page meta-data like page last edited, title, subtitle, etc. I’ve used this pack to pull page contents into table columns so make page content searchable in a table.

Hope it helps in making a decision.

2 Likes

hey ryan. thanks for laying out these options!. For the hybrid option, is this creating a page/subpage or merely a row in the table? if the former, does it only work if you are a maker? I’m having a hard time picturing how this is set up.

Hi friends, thank you for sharing your recommendations. This past weekend I built the beginning of a wiki based on a template from @Micah_Lucero. More on his template here The Essential Company Wiki — Documentation in Coda (youtube.com).

So far so good!



1 Like

@AJM It’s a table that creates the new article (page) when you push the button on the row and stores the page name in the row. Here’s a quick example.

Essential Company Wiki is great.

I’m a heavy coda user, made a lot of complex docs for my company, but didn’t have the time to create a nice knowledge base from scratch. So I bought this template and don’t regret it. It is very polished, has a lot of nice features I didn’t know I needed.

We even extended it and built a section with courses my team can take.

1 Like

so only makers can use the button, right?

You can decide who can push the button and who can’t. Coda allows anyone to push the button unless you either:

  1. Restrict control through page Locking

  2. Disable the button based on who the user is. I don’t see any option on the User() object where you can determine their Coda role. So best way to handle is:
    a. List emails in the formula
    b. Create a table with emails that have permission and then the formula checks if the users email is in that table

yes, but only makers can create pages in coda. so wouldn’t the button not work for editors? maybe I’m misunderstanding your “create page” action…

Sorry misunderstood what you’re asking. Yes that’s correct. Only Makers can create pages and a button push will try to create the page under the users account role.

If you need non-makers to create pages there is a workaround:

  1. Change the button to update a hidden column on the row
  2. Create an Automation that triggers on that hidden column change, then creates the page and stores the link to the page in the row.

The only downfall is the automation can runs async and can sometimes be a couple of minutes. So there is a lag btw button push and page creation.

1 Like

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