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.
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.
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:
- 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.
- 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 @Kat !
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.