New Page + Row (synced on page name) on button click

Hi everyone :wave: !
I am new to Coda, but very impressed so far. I thought it was the best thing since sliced bread, until I hit a wall on what I thought would be a very simple use case.

My business requirement is pretty simple: As a Project Manager, I want to have:

  1. a single “project page”, which has ALL the details of the project. This includes metadata such as “name”, “assignee”, “stage”, AND it also should include ALL other details for that project on the same page or at least in sub-pages (e.g. project requirements, technical specification tables, images, other attachments, etc).
  2. an “All Projects” table which has the synced metadata such as “name”, “status”, “assignee” etc, and a link to the “Project Details” page. This is used to create boards grouped by status, etc.

The project detail data do not need to be in the metadata table, but at least easily accessible from that table as a link.

So far, I seem to have hit an absolute wall on this.

I have the “All Projects” table setup, and the Board view, etc is all good. But I cannot figure out how to create the “Project Details” page.

I have tried to add a “Add New Project” button, which would copy a template page, and then add that link to the new row in “All Projects”. But:

  1. this “Add New Project” button is NOT at the “row” level, rather it is above the “All Projects” table. So when I click on the button, it seems I can just do duplicatePage (from a template, but with generic name only), and then addRow (which creates an empty row, with just the link to the generic new page).
  2. how do I sync the name of the meta data in the “All Projects” row, to the data in the “Project Details” page? Can I create a details page with just that specific projects info from the All Projects table? How do I join this?

Is there any way that I can do these steps in this order?:

  1. popup the “Add Project” form (for adding a new row to the “All Projects” table)
  2. take the inputs from that row, and create a new page with the information from 1
  3. Go back to the “All projects” table, and add a link to the newly created page from 2

I hope that I am not overcomplicating things because of my ignorance of something basic! If there’s a simpler way to achieve my objective, happy to learn!

Thanks in advance!

Hi Samudra

Welcome to Coda. and yes, it IS the best thing since sliced bread. And Wifi. :wink:

I am busy with a template that does the same concept. (The doc is not quite complete, but the concept is ready.)

In the doc, I have a “gap list” of gaps for which information is gathered on a separate page. There is a button that creates an entry in the “gap list”, in the gap list table there is a column based button that will create a new page from a template. The name of the page is based on a formula, which concatenates the number and the name of the gap.

I think that if you substitute “gap” with “project” you’ll satisfy your requirement. (From your description, you were about 90% there - all that I basically have additional is to integrate the duplicatePage on the meta data table. That makes the creation of the page an integral part of creating the gap/project).

In addition there is a table of action items, which might be useful for you. This is shown on the detail page, and can also be viewed for all gaps/projects together.


Hi Samudra, Piet–
Still a n00b myself, but @Samudra_Bhuyan, perhaps this gets you a little closer to your page generation?

I am working on a client management system for my wife’s small business. I want a list of her clients in a master Clients table (the “root” of the system), then a child Client Detail Page for each client (ideally pulling in information from the corresponding row of the Clients table). This detail page would then have sub pages that connect into hour-logs, timesheets, invoices etc.

I am able to create a Client Details Page based on duplicating a template as you mentioned with a button element for each Client’s row in the Client table. (the Add client button below the table simply creates a new row in the Clients Table for a new client’s info.)

The options for the button create a name for the page based on the client’s company name (a column in the Clients table). The resulting link to that page is stored in the results column “Client Page Link”.

On each row, clicking the button creates a new page for that client, named after that client and stored as a sub page under the Clients doc.

I haven’t yet fully figured out how to pull in data from each client row in the Client’s table to that details page, but am seeing some results with a Lookups: Using Lookups | Coda Help Center (though still a bit manual.

Not sure if that is exactly what you’re looking for but the analogy might be your “all Projects” table analogous to my Clients table, and your Project detail page analogous to my Client Details page. In the Clients table, the column “Client Page Link” gets filled in as a result of clicking the Create Client Page button (which might satisfy your item 3 in the list.

I hope that is helpful in some way.