[{"data":1,"prerenderedAt":220},["ShallowReactive",2],{"\u002Fupdates\u002F2026-09-14-require-a-type-before-a-record-can-be-saved":3,"surround":211},{"id":4,"title":5,"body":6,"date":189,"description":190,"extension":191,"head":192,"meta":193,"navigation":199,"path":200,"schemaOrg":192,"screenshot":201,"screenshotMargin":202,"seo":203,"sitemap":204,"stem":205,"tags":206,"__hash__":210},"updates\u002Fupdates\u002F2026-09-14-require-a-type-before-a-record-can-be-saved.md","Require a type before a record can be saved",{"type":7,"value":8,"toc":180},"minimark",[9,13,18,38,51,55,77,81,132,136,156,160,171],[10,11,12],"p",{},"Collections can split records into types so each one shows the right fields, follows the right rules, and uses the right permissions. A Project collection might use Internal and Client types. If a record has no type, it can still be saved, and the fields, rules, and permissions for a type do not apply.",[14,15,17],"h2",{"id":16},"whats-new","What's new:",[10,19,20,21,25,26,29,30,33,34,37],{},"You can now require a type, so every record is classified before it can be saved. ",[22,23,24],"strong",{},"Required"," sits in ",[22,27,28],{},"Type lifecycle"," under ",[22,31,32],{},"Types"," in collection configuration, and the label uses the collection's own singular name - on a Project collection it reads ",[22,35,36],{},"Every project must have a type",".",[10,39,40,41,43,44,47,48,37],{},"Once ",[22,42,24],{}," is on, ",[22,45,46],{},"Type"," must be completed whenever a record is saved. While type is optional, you can leave it blank or select ",[22,49,50],{},"No type",[14,52,54],{"id":53},"why-it-matters","Why it matters:",[56,57,58,65,71],"ul",{},[59,60,61,64],"li",{},[22,62,63],{},"Classify every record"," so the right fields, rules, and permissions apply from the first save.",[59,66,67,70],{},[22,68,69],{},"See the gap first"," with a count of how many records have no type before the rule takes effect.",[59,72,73,76],{},[22,74,75],{},"Stop incomplete saves"," by blocking a record without a type, including records that already exist.",[14,78,80],{"id":79},"how-it-works","How it works:",[82,83,84,90,103,111,129],"ol",{},[59,85,86,87,37],{},"Open the collection, click the options menu (⋯), and select ",[22,88,89],{},"Configure",[59,91,92,93,96,97,99,100,102],{},"Under ",[22,94,95],{},"Setup",", open ",[22,98,32],{},". Add types if the collection does not have any yet. ",[22,101,28],{}," appears once at least one type exists.",[59,104,105,106,108,109,37],{},"Turn on ",[22,107,24],{},". The label uses the collection's singular name, for example ",[22,110,36],{},[59,112,113,114,117,118,121,122,125,126,128],{},"If records have no type, read the ",[22,115,116],{},"Require a type"," warning. Click ",[22,119,120],{},"Continue"," to apply the rule, or ",[22,123,124],{},"Cancel"," to leave ",[22,127,24],{}," off.",[59,130,131],{},"Open any record that still has no type and set one so it can be saved again.",[14,133,135],{"id":134},"when-to-use-it","When to use it:",[56,137,138,144,150],{},[59,139,140,143],{},[22,141,142],{},"Property managers"," can require every building to be saved as freehold or leasehold, so the right compliance fields and permissions apply before anyone can save.",[59,145,146,149],{},[22,147,148],{},"Manufacturing teams"," can stop a new component being saved without choosing resistor or capacitor, keeping specification fields from being left blank on the shop floor.",[59,151,152,155],{},[22,153,154],{},"Professional services firms"," can make sure each engagement is classified as fixed-fee or time-and-materials, so billing rules never depend on someone remembering to set the type later.",[14,157,159],{"id":158},"get-started","Get started",[10,161,162,163,166,167,29,169,37],{},"Open ",[22,164,165],{},"Configure → Types"," on a collection you manage and turn on ",[22,168,24],{},[22,170,28],{},[10,172,173,174,179],{},"If you have questions or feedback, we would love to hear from you. Email ",[175,176,178],"a",{"href":177},"mailto:support@kinabase.com","support@kinabase.com"," — we're listening.",{"title":181,"searchDepth":182,"depth":182,"links":183},"",2,[184,185,186,187,188],{"id":16,"depth":182,"text":17},{"id":53,"depth":182,"text":54},{"id":79,"depth":182,"text":80},{"id":134,"depth":182,"text":135},{"id":158,"depth":182,"text":159},"2026-09-14","Require a Type in collection configuration so every record is classified before it is saved. Kinabase warns you first if records still have none.","md",null,{"readingTime":194},{"text":195,"minutes":196,"time":197,"words":198},"2 min read",1.87,112200,374,true,"\u002Fupdates\u002F2026-09-14-require-a-type-before-a-record-can-be-saved","\u002Fupdates\u002F2026\u002F2026-09-14-require-a-type-before-a-record-can-be-saved.png",false,{"title":5,"description":190},{"loc":200},"updates\u002F2026-09-14-require-a-type-before-a-record-can-be-saved",[207,208,46,209],"Collection","Record","Validation","XIwAgnFlHAiTe2797x_5eGXfos7U9yI5Ve7OvtNoe-Y",[212,216],{"title":213,"path":214,"stem":215,"children":-1},"Link Outlook emails to related records you already use","\u002Fupdates\u002F2026-09-10-link-outlook-emails-to-related-records-you-already-use","updates\u002F2026-09-10-link-outlook-emails-to-related-records-you-already-use",{"title":217,"path":218,"stem":219,"children":-1},"Calculate next dates from each record's cadence","\u002Fupdates\u002F2026-09-18-calculate-next-dates-from-each-records-cadence","updates\u002F2026-09-18-calculate-next-dates-from-each-records-cadence",1789744619434]