[{"data":1,"prerenderedAt":454},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fworkspace\u002Fwhere-records-live":254,"surround-\u002Fworkspace\u002Fwhere-records-live":451},[4,33,86,114,173,212,231],{"title":5,"path":6,"stem":7,"children":8},"Start","\u002Fstart","1.start",[9,13,18,23,28],{"title":10,"path":6,"stem":11,"description":12},"Start here","1.start\u002Findex","What Desifex is, and how to get an application of your own running.",{"title":14,"path":15,"stem":16,"description":17},"What Desifex is","\u002Fstart\u002Fwhat-desifex-is","1.start\u002F1.what-desifex-is","An application factory where conversation is the interface — and the handful of things it deliberately will not do.",{"title":19,"path":20,"stem":21,"description":22},"Your first application","\u002Fstart\u002Fyour-first-application","1.start\u002F2.your-first-application","From a sentence to something running, in about twenty minutes, with nothing to install.",{"title":24,"path":25,"stem":26,"description":27},"The workbench","\u002Fstart\u002Fthe-workbench","1.start\u002F3.the-workbench","A tour of the screen you will spend your time on — the conversation, the six tabs, and the menu.",{"title":29,"path":30,"stem":31,"description":32},"What to expect","\u002Fstart\u002Fwhat-to-expect","1.start\u002F4.what-to-expect","How long things take, what a good working rhythm looks like, and the parts that genuinely go wrong.",{"title":34,"path":35,"stem":36,"children":37},"Building","\u002Fbuilding","2.building",[38,41,46,51,56,61,66,71,76,81],{"title":34,"path":35,"stem":39,"description":40},"2.building\u002Findex","Getting what you actually wanted out of the conversation.",{"title":42,"path":43,"stem":44,"description":45},"Describing what you need","\u002Fbuilding\u002Fdescribing-what-you-need","2.building\u002F1.describing-what-you-need","How to phrase a request so that what comes back is what you meant.",{"title":47,"path":48,"stem":49,"description":50},"Watching a build","\u002Fbuilding\u002Fwatching-a-build","2.building\u002F2.watching-a-build","What the steps mean, what is happening underneath, and why you are not shown a log.",{"title":52,"path":53,"stem":54,"description":55},"Changing your mind","\u002Fbuilding\u002Fchanging-your-mind","2.building\u002F3.changing-your-mind","Interrupting a build, correcting a misunderstanding, and undoing something you asked for.",{"title":57,"path":58,"stem":59,"description":60},"When a build fails","\u002Fbuilding\u002Fwhen-a-build-fails","2.building\u002F4.when-a-build-fails","What a failure actually means, what to try, and when to ask us.",{"title":62,"path":63,"stem":64,"description":65},"Showing it a file","\u002Fbuilding\u002Fshowing-it-files","2.building\u002F5.showing-it-files","Attaching a screenshot, a spreadsheet or a document to the conversation — often faster than describing it.",{"title":67,"path":68,"stem":69,"description":70},"Choosing a design system","\u002Fbuilding\u002Fchoosing-a-design-system","2.building\u002F6.choosing-a-design-system","What a design system decides, how to pick one, and what changing it later does.",{"title":72,"path":73,"stem":74,"description":75},"Asking for settings","\u002Fbuilding\u002Fasking-for-settings","2.building\u002F7.asking-for-settings","The conversation reaches the whole platform — addresses, icons, redirects, users, integrations and shipping. If you do not know where a setting is, ask.",{"title":77,"path":78,"stem":79,"description":80},"When it asks you","\u002Fbuilding\u002Fwhen-it-asks-you","2.building\u002F8.when-it-asks-you","Some decisions arrive as a screen rather than a message — a table to correct, a list to choose from — and the build waits for your answer.",{"title":82,"path":83,"stem":84,"description":85},"Starting from what you have","\u002Fbuilding\u002Fstarting-from-what-you-have","2.building\u002F9.starting-from-what-you-have","A spreadsheet, a document, a picture or a page of your own site — attached, read, and built from.",{"title":87,"path":88,"stem":89,"children":90},"Shipping","\u002Fshipping","3.shipping",[91,94,99,104,109],{"title":87,"path":88,"stem":92,"description":93},"3.shipping\u002Findex","Getting what you built in front of people, and getting back to an earlier version.",{"title":95,"path":96,"stem":97,"description":98},"Versions","\u002Fshipping\u002Fversions","3.shipping\u002F1.versions","Every build is kept, named after what was asked for, and can be compared and restored.",{"title":100,"path":101,"stem":102,"description":103},"Environments","\u002Fshipping\u002Fenvironments","3.shipping\u002F2.environments","Preview, test and live — what each one is, who can reach it, and why their data is separate.",{"title":105,"path":106,"stem":107,"description":108},"Deploying","\u002Fshipping\u002Fdeploying","3.shipping\u002F3.deploying","Putting a version into test or live, what happens while it deploys, and what happens if it fails.",{"title":110,"path":111,"stem":112,"description":113},"Going back","\u002Fshipping\u002Fgoing-back","3.shipping\u002F4.going-back","Restoring an earlier version when a change turned out to be wrong.",{"title":115,"path":116,"stem":117,"children":118},"Running","\u002Frunning","4.running",[119,123,128,133,138,143,148,153,158,163,168],{"title":120,"path":116,"stem":121,"description":122},"Running it","4.running\u002Findex","Everything in Settings — addresses, access, people, files, integrations and what crawlers are told.",{"title":124,"path":125,"stem":126,"description":127},"Addresses and domains","\u002Frunning\u002Faddresses-and-domains","4.running\u002F01.addresses-and-domains","The address an application gets, and how to put it on a domain you own.",{"title":129,"path":130,"stem":131,"description":132},"Who can reach it","\u002Frunning\u002Fwho-can-reach-it","4.running\u002F02.who-can-reach-it","Open, behind one shared password, or accounts — and why the choice is enforced in front of the application.",{"title":134,"path":135,"stem":136,"description":137},"People who sign in","\u002Frunning\u002Fpeople-who-sign-in","4.running\u002F03.people-who-sign-in","The workspace's user directory — adding the people who use your applications, which ones each may open, what you can keep about them, and two-step sign-in.",{"title":139,"path":140,"stem":141,"description":142},"Published files","\u002Frunning\u002Fpublished-files","4.running\u002F04.published-files","Documents your application hands to its users — a price list, a brochure, a form — with a stable address and no build to change them.",{"title":144,"path":145,"stem":146,"description":147},"Integrations","\u002Frunning\u002Fintegrations","4.running\u002F05.integrations","Email, SMS and Google — connected once, used by the application without it ever holding a credential.",{"title":149,"path":150,"stem":151,"description":152},"Appearance","\u002Frunning\u002Fappearance","4.running\u002F06.appearance","The browser tab, the icon, what a link looks like when somebody pastes it, and adding it to a phone's home screen.",{"title":154,"path":155,"stem":156,"description":157},"Redirects and search engines","\u002Frunning\u002Fredirects-and-search-engines","4.running\u002F07.redirects-and-search-engines","Old addresses that still get visited, and what crawlers are told about each environment.",{"title":159,"path":160,"stem":161,"description":162},"Configuration values","\u002Frunning\u002Fconfiguration-values","4.running\u002F08.configuration-values","Named values the application needs but must not contain — API keys, account numbers, thresholds.",{"title":164,"path":165,"stem":166,"description":167},"Your data","\u002Frunning\u002Fyour-data","4.running\u002F09.your-data","The Data tab — reading, correcting, adding to and clearing out what your application has stored, one environment at a time.",{"title":169,"path":170,"stem":171,"description":172},"Visitors","\u002Frunning\u002Fvisitors","4.running\u002F10.visitors","Who is using the application, counted without identifying anybody and with nothing to set up.",{"title":174,"path":175,"stem":176,"children":177},"Workspace","\u002Fworkspace","5.workspace",[178,182,187,192,197,202,207],{"title":179,"path":175,"stem":180,"description":181},"Your workspace","5.workspace\u002Findex","What every application in it shares — the domain, the design systems, the people, the user directory and, if you want it, one set of records — and how to be in more than one.",{"title":183,"path":184,"stem":185,"description":186},"People and roles","\u002Fworkspace\u002Fpeople-and-roles","5.workspace\u002F1.people-and-roles","Three roles, what each can do, how they apply to the builder as well as to the buttons, and why they belong to a workspace rather than to an account.",{"title":188,"path":189,"stem":190,"description":191},"More than one workspace","\u002Fworkspace\u002Fmore-than-one-workspace","5.workspace\u002F2.more-than-one-workspace","Belonging to several, switching between them, the role you hold in each, and why nothing crosses over.",{"title":193,"path":194,"stem":195,"description":196},"Organising applications","\u002Fworkspace\u002Ffolders-and-organising","5.workspace\u002F3.folders-and-organising","Folders on the dashboard, and how to keep a growing list navigable.",{"title":198,"path":199,"stem":200,"description":201},"Your own design systems","\u002Fworkspace\u002Fyour-own-design-systems","5.workspace\u002F4.your-own-design-systems","Authoring a design system for your brand, or a client's, by importing guidelines, a website or a Figma library.",{"title":203,"path":204,"stem":205,"description":206},"Your profile","\u002Fworkspace\u002Fyour-profile","5.workspace\u002F5.your-profile","Your name, your password, your picture, and the theme.",{"title":208,"path":209,"stem":210,"description":211},"Where records live","\u002Fworkspace\u002Fwhere-records-live","5.workspace\u002F6.where-records-live","One store per environment, one across an application's environments, or one the whole workspace shares — what each costs you, and how to change it.",{"title":213,"path":214,"stem":215,"children":216},"Developers","\u002Fdevelopers","6.developers",[217,221,226],{"title":218,"path":214,"stem":219,"description":220},"For developers","6.developers\u002Findex","What is actually generated, and what to do when you inherit one.",{"title":222,"path":223,"stem":224,"description":225},"What gets built","\u002Fdevelopers\u002Fwhat-gets-built","6.developers\u002F1.what-gets-built","The stack, the shape of the repository, and the parts the platform provides rather than the application.",{"title":227,"path":228,"stem":229,"description":230},"Taking one over","\u002Fdevelopers\u002Ftaking-it-over","6.developers\u002F2.taking-it-over","For the developer who has just been handed an application built here.",{"title":232,"path":233,"stem":234,"children":235},"Reference","\u002Freference","7.reference",[236,239,244,249],{"title":232,"path":233,"stem":237,"description":238},"7.reference\u002Findex","Terms, limits, and what to do when something specific has gone wrong.",{"title":240,"path":241,"stem":242,"description":243},"Glossary","\u002Freference\u002Fglossary","7.reference\u002F1.glossary","Every term this documentation uses, in one place.",{"title":245,"path":246,"stem":247,"description":248},"Limits","\u002Freference\u002Flimits","7.reference\u002F2.limits","The boundaries that are real, so you do not discover them at an inconvenient moment.",{"title":250,"path":251,"stem":252,"description":253},"Troubleshooting","\u002Freference\u002Ftroubleshooting","7.reference\u002F3.troubleshooting","Specific symptoms, and what each one usually means.",{"id":255,"title":208,"body":256,"description":211,"extension":444,"hidden":445,"meta":446,"navTitle":447,"navigation":448,"path":209,"seo":449,"stem":210,"__hash__":450},"docs\u002F5.workspace\u002F6.where-records-live.md",{"type":257,"value":258,"toc":434},"minimark",[259,263,270,275,278,289,299,302,306,309,316,327,330,365,368,371,374,380,384,396,402,408,412,427,431],[260,261,262],"p",{},"Every application keeps its records to itself, and inside it every\nenvironment keeps its own again. Nothing you do on Test can reach what the\nlive application is running on, because the two are not connected.",[260,264,265,269],{},[266,267,268],"strong",{},"That is the default and it is usually right."," This page is about the two\ntimes it is not.",[271,272,274],"h2",{"id":273},"one-store-across-an-applications-environments","One store across an application's environments",[260,276,277],{},"Somebody wants the test copy working on the real records rather than on\ninvented ones — to reproduce a customer's problem, or to check a change\nagainst something true.",[260,279,280,283,284,288],{},[266,281,282],{},"Settings › Data",", on the application, and choose ",[285,286,287],"em",{},"One store for every\nenvironment",".",[290,291,293,296],"note",{"type":292},"warning",[260,294,295],{},"This is the guarantee going away. From then on a version being tested writes\nto the records the business is running on: a wrong loop on Test deletes live\nbookings, and there is no separation left to stop it.",[260,297,298],{},"An owner's decision, and worth being the exception rather than how you work.",[260,300,301],{},"The Data tab says so afterwards — every environment carries a marker — and the\ntool for copying records between environments is switched off, because there\nis nothing to copy between.",[271,303,305],{"id":304},"one-store-several-applications-share","One store several applications share",[260,307,308],{},"A portal and a back office over the same customers are two applications and\none set of records. Copying between them would be a synchronisation problem\nnobody wants to own.",[260,310,311,312,315],{},"So a store can be a thing in the workspace with a name — ",[285,313,314],{},"Customer data"," —\nthat applications attach to.",[260,317,318,319,322,323,326],{},"If you already know the second application is coming, the store can be made\nas you create the first: ",[266,320,321],{},"A new shared store"," on the ",[285,324,325],{},"Should it share its\ninformation?"," question. That saves creating the application on its own store,\nmoving it afterwards, and leaving behind whatever it wrote in between. An\nowner's choice, there as everywhere else.",[260,328,329],{},"Otherwise:",[331,332,333],"steps",{},[334,335,336,346,356,359],"ol",{},[337,338,339,342,343,288],"li",{},[266,340,341],{},"Data"," in the main navigation, then ",[266,344,345],{},"New store",[337,347,348,349,351,352,355],{},"Name it after what is in it — ",[285,350,314],{},", not ",[285,353,354],{},"Portal",". It will\noutlive whichever application uses it first.",[337,357,358],{},"Choose whether it keeps a store per environment, or one for all of them.\nThe warning above applies to the second just the same.",[337,360,361,362,364],{},"On each application, ",[266,363,282],{},", and pick the store.",[260,366,367],{},"An application being created is asked the same thing, once a store exists to\nchoose — which saves creating it, letting it write somewhere, and moving it\nafterwards.",[260,369,370],{},"A new store is a name and nothing else. It holds nothing until the first\napplication is pointed at it, and from then on it is offered to the\napplications that can share it.",[260,372,373],{},"Both applications then read and write the same tables. A customer added in one\nis there in the other, with nothing to synchronise and nothing to go stale.",[260,375,376,379],{},[266,377,378],{},"The store outlives the applications on it."," Deleting the portal leaves the\ncustomers exactly where they were, and the back office carries on. That is the\nwhole reason a store is its own thing rather than a setting on an application.",[271,381,383],{"id":382},"what-changing-it-does-and-does-not","What changing it does, and does not",[260,385,386,389,390,395],{},[266,387,388],{},"Nothing is moved."," The records an application had are still in the store it\nhad them in. The store you point it at has whatever is already in it — which\nis usually why you are pointing it there. Use\n",[391,392,394],"a",{"href":393},"\u002Frunning\u002Fyour-data#copying-records-between-environments","the Data tab"," to\ncopy anything across.",[260,397,398,401],{},[266,399,400],{},"The preview moves at once."," Test and Live move the next time you deploy to\nthem, because a deployment is a frozen thing and that is when it changes.",[260,403,404,407],{},[266,405,406],{},"Nothing is deleted either."," The records the application had are still in\nthe store it left, untouched — change the setting back and they are there\nagain. They are simply not what the application is working on in the meantime.",[271,409,411],{"id":410},"what-you-will-be-stopped-from-doing","What you will be stopped from doing",[413,414,415,421],"ul",{},[337,416,417,420],{},[266,418,419],{},"Deleting a store something still uses."," The refusal names the\napplications, because moving them is the next thing to do.",[337,422,423,426],{},[266,424,425],{},"Pointing an application at a store it could not read."," Only applications\nbuilt the same way can share one. You are never asked how yours was built:\na new store fits anything, takes its shape from the first application on it,\nand afterwards only appears on the applications that can share it.",[271,428,430],{"id":429},"if-you-are-not-sure","If you are not sure",[260,432,433],{},"Leave it alone. The default costs nothing, and the separation it gives you is\nthe reason a bad afternoon on Test stays on Test.",{"title":435,"searchDepth":436,"depth":436,"links":437},"",3,[438,440,441,442,443],{"id":273,"depth":439,"text":274},2,{"id":304,"depth":439,"text":305},{"id":382,"depth":439,"text":383},{"id":410,"depth":439,"text":411},{"id":429,"depth":439,"text":430},"md",false,{},null,true,{"title":208,"description":211},"4ydb_jfB1u8fKHExNN9wgyz9jwS9xKDbjRxUqRQ0qXw",[452,453],{"title":203,"path":204,"stem":205,"description":206,"children":-1},{"title":218,"path":214,"stem":219,"description":220,"children":-1},1790202296897]