Large record add without an iteration function

I have a simple check list app with two primary tables - one for Projects and the other is a table of checklist items. There is a set of over 300 standard checklist items that need to be associated with each project. I am looking for way for a user to add a project and have the 300 new checklist items added to the checklist table, but I can’t figure out how to do this other than creating 300 separate record rules associated with an Add Project page. I can do this as an admin by just doing an import/append to the data base with the 300 items in a CSV file. I think what frustrates me is that Knack does not have an iteration function - like do this until this condition is reached. I am just curious what others might be doing in a similar situation.

Example 1

If I understand this correctly, you add a project and want to create a related checklist of 300+ line items from a predefined list / template object.

Knack doesn’t have an append function like you’d find in MS Access. You could do it via record rules but setting up 300+ rules on one form would likely make the submission of that form so long the user would think the page had stopped responding.

I’m happy to be corrected but I don’t believe there is a simple native solution. I’d use Make to create the line items triggering the scenario from the creation of the project. This would still take a few minutes to complete creating all the records so may not be ideal. Depends on whether the user needs to access all 300+ items on the checklist immediately.

Also could be done with JavaScript and may be a lot quicker. Not a coder I’m afraid

Thanks Carl. I had not thought of using Make. General performance of the Knack data base has been spotty lately for me. I am just wondering if I should explore another platform like Bubble - Just thinking out loud.

It’s definitely something we’re aware of and working hard to improve as rapidly as possible, because it’s a huge pain point. The move to the new performance environment was a huge first step (even though it might not feel that way yet!) because it is a much more scalable and performant architecture, -but- it requires some further optimization for us to be the best it can be. While I won’t ask you not to test something else, I’d also say stick with us, we’re working on it.

1 Like

I second your idea to use Make or a task to create the line items. Without knowing exactly your check list app’s requirements, i have been wondering whether a sufficient number of unassigned projects (incl. all connected records) could be produced “on stock” in less busy times. If a “new” projects needs to be assigned to a user, such a “prefabricated” project (most of the fields are still blank) could be displayed in a table view of projects (filtered to “Field(s) abc is blank” & “Use only the first 1 records”). Populating the empty fields in this table view (maybe triggering a rule assigning this project to the current user) will not take very much time.

As @CarlHolmes said it can’t be done natively in Knack right now without using either of two options:

  1. Javascript to create the checklist items from a template list somewhere. We use this for a small number of items like Estimate Items and takes some coding to work.
  2. Make.com or Zapier type automation. We’ve found this more robust for higher number of items and have settled on Make.com as our preference.

Either way needs the setup of a Project Type in the Projects table, that has connected Checklist items that creates a ‘template’, then the automation can loop over the items to add them as new items to the new Project.

And we’d love this to be a feature in knack natively @Bill !

1 Like

Agreed. I’ll look into Make. Seems like the most practical solution at the moment.

David, you can reach out if you need any help with Make.

I am may be wrong but why wouldn’t you have the checklist items in a table and use an API call to add the checklist items into the project record? I use this function to create standard templates based on established criteria that determines which checklist items to add.
Pete

Hi @David2

I cover almost this precise scenario in my article series “Programming Knack with Integromat” (Make now of course):

I hope you find this useful.

Julian

Juilian: Great series of posts on Knack and Make. I got a lot to learn.

1 Like