[{"data":1,"prerenderedAt":1981},["ShallowReactive",2],{"nav-docs-de":3,"page-/de/docs/webspace/create-database":1155,"surround-/de/docs/webspace/create-database":1975,"raw-/de/docs/webspace/create-database":1978},[4,67,374,775,902,1073,1083,1108],{"title":5,"tags":6,"slug":6,"path":7,"stem":8,"children":9,"page":66,"sourcePath":7},"Erste Schritte mit SpaceBuilder",null,"/getting-started","00.getting-started",[10,15,20,27,34,39,45,50,55,60],{"title":11,"path":12,"stem":13,"tags":6,"slug":14,"sourcePath":12},"Einführung in SpaceBuilder","/getting-started/overview","00.getting-started/00.overview","/getting-started/overview/",{"title":16,"path":17,"stem":18,"tags":6,"slug":19,"sourcePath":17},"SetFN-Konto erstellen","/getting-started/create-setfn-account","00.getting-started/05.create-setfn-account","/getting-started/create-setfn-account/",{"title":21,"path":22,"stem":23,"tags":24,"slug":26,"sourcePath":22},"Installation unter Linux","/getting-started/install-linux","00.getting-started/10.install-linux",[25],"recommended","/getting-started/install-linux/",{"title":28,"path":29,"stem":30,"tags":31,"slug":33,"sourcePath":29},"Installation mit Docker","/getting-started/install-docker","00.getting-started/12.install-docker",[32],"preparing","/getting-started/install-docker/",{"title":35,"path":36,"stem":37,"tags":6,"slug":38,"sourcePath":36},"Installation unter Windows","/getting-started/install-windows","00.getting-started/14.install-windows","/getting-started/install-windows/",{"title":40,"path":41,"stem":42,"tags":43,"slug":44,"sourcePath":41},"Installation unter macOS","/getting-started/install-macos","00.getting-started/16.install-macos",[32],"/getting-started/install-macos/",{"title":46,"path":47,"stem":48,"tags":6,"slug":49,"sourcePath":47},"Ersteinrichtung","/getting-started/initial-setup","00.getting-started/20.initial-setup","/getting-started/initial-setup/",{"title":51,"path":52,"stem":53,"tags":6,"slug":54,"sourcePath":52},"Lizenzaktivierung","/getting-started/license-activation","00.getting-started/30.license-activation","/getting-started/license-activation/",{"title":56,"path":57,"stem":58,"tags":6,"slug":59,"sourcePath":57},"Zugriffsadresse ermitteln (lokal/internes Netzwerk)","/getting-started/access-url","00.getting-started/35.access-url","/getting-started/access-url/",{"title":61,"path":62,"stem":63,"tags":64,"slug":65,"sourcePath":62},"Methode für den externen Zugriff auswählen","/getting-started/access-domain","00.getting-started/40.access-domain",[25],"/getting-started/access-domain/",false,{"title":68,"tags":6,"slug":6,"path":69,"stem":70,"children":71,"page":66,"sourcePath":69},"Space verwalten","/admin","10.admin",[72,92,162,197,249,274,289,299,339],{"title":73,"tags":6,"slug":6,"path":74,"stem":75,"children":76,"page":66,"sourcePath":74},"Admin-Startseite","/admin/home","10.admin/00.home",[77,82,87],{"title":78,"path":79,"stem":80,"tags":6,"slug":81,"sourcePath":79},"Zugriff auf die Administrationsseite","/admin/home/admin-page-access","10.admin/00.home/00.admin-page-access","/admin/home/admin-page-access/",{"title":83,"path":69,"stem":84,"tags":6,"slug":85,"sourcePath":86},"Überblick über die Administratormenüs","10.admin/00.home/00.overview","/admin/","/admin/home/overview",{"title":88,"path":89,"stem":90,"tags":6,"slug":91,"sourcePath":89},"Lizenzverwaltung","/admin/home/license","10.admin/00.home/20.license","/admin/home/license/",{"title":93,"tags":6,"slug":6,"path":94,"stem":95,"children":96,"page":66,"sourcePath":94},"Benutzerverwaltung","/admin/user-management","10.admin/10.user-management",[97,102,107,112,117,122,127,132,137,142,147,152,157],{"title":98,"path":99,"stem":100,"tags":6,"slug":101,"sourcePath":99},"Registrierungsrichtlinie und Standardberechtigungen festlegen","/admin/user-management/signup-policy","10.admin/10.user-management/02.signup-policy","/admin/user-management/signup-policy/",{"title":103,"path":104,"stem":105,"tags":6,"slug":106,"sourcePath":104},"Registrierungsbedingungen hinterlegen","/admin/user-management/signup-terms","10.admin/10.user-management/04.signup-terms","/admin/user-management/signup-terms/",{"title":108,"path":109,"stem":110,"tags":6,"slug":111,"sourcePath":109},"Benutzerkonto erstellen","/admin/user-management/invite-new-member","10.admin/10.user-management/10.invite-new-member","/admin/user-management/invite-new-member/",{"title":113,"path":114,"stem":115,"tags":6,"slug":116,"sourcePath":114},"Benutzerkonto bearbeiten","/admin/user-management/edit-member","10.admin/10.user-management/11.edit-member","/admin/user-management/edit-member/",{"title":118,"path":119,"stem":120,"tags":6,"slug":121,"sourcePath":119},"Administrator hinzufügen","/admin/user-management/add-new-admin","10.admin/10.user-management/12.add-new-admin","/admin/user-management/add-new-admin/",{"title":123,"path":124,"stem":125,"tags":6,"slug":126,"sourcePath":124},"Teamverwaltung","/admin/user-management/team","10.admin/10.user-management/22.team","/admin/user-management/team/",{"title":128,"path":129,"stem":130,"tags":6,"slug":131,"sourcePath":129},"Stufenverwaltung","/admin/user-management/level","10.admin/10.user-management/24.level","/admin/user-management/level/",{"title":133,"path":134,"stem":135,"tags":6,"slug":136,"sourcePath":134},"Zugangsprotokolle einsehen","/admin/user-management/access-log","10.admin/10.user-management/30.access-log","/admin/user-management/access-log/",{"title":138,"path":139,"stem":140,"tags":6,"slug":141,"sourcePath":139},"Aktive Geräte verwalten","/admin/user-management/active-devices","10.admin/10.user-management/31.active-devices","/admin/user-management/active-devices/",{"title":143,"path":144,"stem":145,"tags":6,"slug":146,"sourcePath":144},"Konto- und Sicherheitsrichtlinien festlegen","/admin/user-management/account-security","10.admin/10.user-management/32.account-security","/admin/user-management/account-security/",{"title":148,"path":149,"stem":150,"tags":6,"slug":151,"sourcePath":149},"Roboterprüfung (CAPTCHA) einrichten","/admin/user-management/captcha","10.admin/10.user-management/33.captcha","/admin/user-management/captcha/",{"title":153,"path":154,"stem":155,"tags":6,"slug":156,"sourcePath":154},"Mitgliederhinweise einrichten","/admin/user-management/notice-settings","10.admin/10.user-management/34.notice-settings","/admin/user-management/notice-settings/",{"title":158,"path":159,"stem":160,"tags":6,"slug":161,"sourcePath":159},"Rundmail an Mitglieder senden","/admin/user-management/bulk-mail","10.admin/10.user-management/36.bulk-mail","/admin/user-management/bulk-mail/",{"title":163,"tags":6,"slug":6,"path":164,"stem":165,"children":166,"page":66,"sourcePath":164},"Dienstkonfiguration","/admin/service-config","10.admin/20.service-config",[167,172,177,182,187,192],{"title":168,"path":169,"stem":170,"tags":6,"slug":171,"sourcePath":169},"Dateibereich-Einstellungen","/admin/service-config/file-area","10.admin/20.service-config/10.file-area","/admin/service-config/file-area/",{"title":173,"path":174,"stem":175,"tags":6,"slug":176,"sourcePath":174},"Webhook-Einstellungen","/admin/service-config/webhook-settings","10.admin/20.service-config/16.webhook-settings","/admin/service-config/webhook-settings/",{"title":178,"path":179,"stem":180,"tags":6,"slug":181,"sourcePath":179},"Community-Einstellungen","/admin/service-config/community-space","10.admin/20.service-config/22.community-space","/admin/service-config/community-space/",{"title":183,"path":184,"stem":185,"tags":6,"slug":186,"sourcePath":184},"KI-Chatbot-Richtlinie festlegen","/admin/service-config/community-ai-chatbot","10.admin/20.service-config/24.community-ai-chatbot","/admin/service-config/community-ai-chatbot/",{"title":188,"path":189,"stem":190,"tags":6,"slug":191,"sourcePath":189},"E-Mail-Einstellungen","/admin/service-config/email-settings","10.admin/20.service-config/30.email-settings","/admin/service-config/email-settings/",{"title":193,"path":194,"stem":195,"tags":6,"slug":196,"sourcePath":194},"Branding-Einstellungen","/admin/service-config/brand","10.admin/20.service-config/40.brand","/admin/service-config/brand/",{"title":198,"tags":6,"slug":6,"path":199,"stem":200,"children":201,"page":66,"sourcePath":199},"Wissensdienste","/admin/knowledge","10.admin/30.knowledge",[202,207,214,219,224,229,234,239,244],{"title":203,"path":199,"stem":204,"tags":6,"slug":205,"sourcePath":206},"Überblick über die Wissensdienste","10.admin/30.knowledge/00.overview","/admin/knowledge/","/admin/knowledge/overview",{"title":208,"path":209,"stem":210,"children":211,"tags":6,"slug":213,"sourcePath":209},"Erfassung & Indexierung","/admin/knowledge/indexing","10.admin/30.knowledge/10.indexing",[212],{"title":208,"path":209,"stem":210,"tags":6,"slug":213,"sourcePath":209},"/admin/knowledge/indexing/",{"title":215,"path":216,"stem":217,"tags":6,"slug":218,"sourcePath":216},"Suchqualität & Sprachen","/admin/knowledge/search","10.admin/30.knowledge/20.search","/admin/knowledge/search/",{"title":220,"path":221,"stem":222,"tags":6,"slug":223,"sourcePath":221},"Wissensspeicher","/admin/knowledge/storage","10.admin/30.knowledge/30.storage","/admin/knowledge/storage/",{"title":225,"path":226,"stem":227,"tags":6,"slug":228,"sourcePath":226},"Wissensspeicher betreiben","/admin/knowledge/storage-operations","10.admin/30.knowledge/32.storage-operations","/admin/knowledge/storage-operations/",{"title":230,"path":231,"stem":232,"tags":6,"slug":233,"sourcePath":231},"Qdrant verbinden","/admin/knowledge/qdrant","10.admin/30.knowledge/34.qdrant","/admin/knowledge/qdrant/",{"title":235,"path":236,"stem":237,"tags":6,"slug":238,"sourcePath":236},"Qdrant-Server vorbereiten","/admin/knowledge/qdrant-server-setup","10.admin/30.knowledge/35.qdrant-server-setup","/admin/knowledge/qdrant-server-setup/",{"title":240,"path":241,"stem":242,"tags":6,"slug":243,"sourcePath":241},"Milvus verbinden","/admin/knowledge/milvus","10.admin/30.knowledge/36.milvus","/admin/knowledge/milvus/",{"title":245,"path":246,"stem":247,"tags":6,"slug":248,"sourcePath":246},"Externe Suche & Quellen","/admin/knowledge/web-search","10.admin/30.knowledge/40.web-search","/admin/knowledge/web-search/",{"title":250,"tags":6,"slug":6,"path":251,"stem":252,"children":253,"page":66,"sourcePath":251},"KI-Dienste","/admin/ai","10.admin/35.ai",[254,259,264,269],{"title":255,"path":251,"stem":256,"tags":6,"slug":257,"sourcePath":258},"KI-Dienste verwalten","10.admin/35.ai/00.overview","/admin/ai/","/admin/ai/overview",{"title":260,"path":261,"stem":262,"tags":6,"slug":263,"sourcePath":261},"Modelle & Laufzeitumgebung einrichten","/admin/ai/models","10.admin/35.ai/10.models","/admin/ai/models/",{"title":265,"path":266,"stem":267,"tags":6,"slug":268,"sourcePath":266},"Werkzeuge & Integrationen einrichten","/admin/ai/integrations","10.admin/35.ai/20.integrations","/admin/ai/integrations/",{"title":270,"path":271,"stem":272,"tags":6,"slug":273,"sourcePath":271},"MCP-Server verwalten","/admin/ai/mcp","10.admin/35.ai/30.mcp","/admin/ai/mcp/",{"title":275,"tags":6,"slug":6,"path":276,"stem":277,"children":278,"page":66,"sourcePath":276},"Plugins","/admin/plugin","10.admin/40.plugin",[279,284],{"title":280,"path":281,"stem":282,"tags":6,"slug":283,"sourcePath":281},"Plugins verwalten","/admin/plugin/overview","10.admin/40.plugin/00.overview","/admin/plugin/overview/",{"title":285,"path":286,"stem":287,"tags":6,"slug":288,"sourcePath":286},"Einstellungen der Erweiterungs-Plugins","/admin/plugin/settings","10.admin/40.plugin/10.settings","/admin/plugin/settings/",{"title":290,"path":291,"stem":292,"children":293,"page":66,"sourcePath":291},"Operations","/admin/operations","10.admin/45.operations",[294],{"title":295,"path":291,"stem":296,"tags":6,"slug":297,"sourcePath":298},"Betriebs- und Auditprotokolle prüfen","10.admin/45.operations/00.overview","/admin/operations/","/admin/operations/overview",{"title":300,"tags":6,"slug":6,"path":301,"stem":302,"children":303,"page":66,"sourcePath":301},"Sicherheitsverwaltung","/admin/security","10.admin/50.security",[304,309,314,319,324,329,334],{"title":305,"path":306,"stem":307,"tags":6,"slug":308,"sourcePath":306},"Sicherheitsübersicht","/admin/security/overview","10.admin/50.security/00.overview","/admin/security/overview/",{"title":310,"path":311,"stem":312,"tags":6,"slug":313,"sourcePath":311},"Auditprotokoll einsehen","/admin/security/audit-log","10.admin/50.security/05.audit-log","/admin/security/audit-log/",{"title":315,"path":316,"stem":317,"tags":6,"slug":318,"sourcePath":316},"Blockierungsverwaltung","/admin/security/block-management","10.admin/50.security/10.block-management","/admin/security/block-management/",{"title":320,"path":321,"stem":322,"tags":6,"slug":323,"sourcePath":321},"Sicherheitseinstellungen","/admin/security/security-setting","10.admin/50.security/12.security-setting","/admin/security/security-setting/",{"title":325,"path":326,"stem":327,"tags":6,"slug":328,"sourcePath":326},"Geräte mit ausstehender Freigabe bearbeiten","/admin/security/device-approvals","10.admin/50.security/14.device-approvals","/admin/security/device-approvals/",{"title":330,"path":331,"stem":332,"tags":6,"slug":333,"sourcePath":331},"IP-Zugriffsbeschränkung","/admin/security/ip-restriction","10.admin/50.security/16.ip-restriction","/admin/security/ip-restriction/",{"title":335,"path":336,"stem":337,"tags":6,"slug":338,"sourcePath":336},"Zwei-Faktor-Authentifizierung für Administratoren einrichten","/admin/security/two-factor-auth","10.admin/50.security/18.two-factor-auth","/admin/security/two-factor-auth/",{"title":340,"tags":6,"slug":6,"path":341,"stem":342,"children":343,"page":66,"sourcePath":341},"Systemverwaltung","/admin/system-admin","10.admin/60.system-admin",[344,349,354,359,364,369],{"title":345,"path":346,"stem":347,"tags":6,"slug":348,"sourcePath":346},"Geräteinformationen","/admin/system-admin/device-info","10.admin/60.system-admin/10.device-info","/admin/system-admin/device-info/",{"title":350,"path":351,"stem":352,"tags":6,"slug":353,"sourcePath":351},"Serverneustart und Systemwartung","/admin/system-admin/server-restart","10.admin/60.system-admin/12.server-restart","/admin/system-admin/server-restart/",{"title":355,"path":356,"stem":357,"tags":6,"slug":358,"sourcePath":356},"Hintergrunddienste","/admin/system-admin/background-service","10.admin/60.system-admin/14.background-service","/admin/system-admin/background-service/",{"title":360,"path":361,"stem":362,"tags":6,"slug":363,"sourcePath":361},"SpaceBuilder aktualisieren","/admin/system-admin/update","10.admin/60.system-admin/16.update","/admin/system-admin/update/",{"title":365,"path":366,"stem":367,"tags":6,"slug":368,"sourcePath":366},"SpaceBuilder deinstallieren","/admin/system-admin/uninstall","10.admin/60.system-admin/18.uninstall","/admin/system-admin/uninstall/",{"title":370,"path":371,"stem":372,"tags":6,"slug":373,"sourcePath":371},"Server umziehen","/admin/system-admin/server-migration","10.admin/60.system-admin/20.server-migration","/admin/system-admin/server-migration/",{"title":375,"tags":6,"slug":6,"path":376,"stem":377,"children":378,"page":66,"sourcePath":376},"Arbeitsbereich verwenden","/workspace","20.workspace",[379,419,439,523,662,718,754],{"title":380,"tags":6,"slug":6,"path":381,"stem":382,"children":383,"page":66,"sourcePath":381},"Menü","/workspace/menu","20.workspace/05.menu",[384,389,394,399,404,409,414],{"title":385,"path":386,"stem":387,"tags":6,"slug":388,"sourcePath":386},"Einführung in den Arbeitsbereich","/workspace/menu/overview","20.workspace/05.menu/00.overview","/workspace/menu/overview/",{"title":390,"path":391,"stem":392,"tags":6,"slug":393,"sourcePath":391},"Teambereich","/workspace/menu/team-space","20.workspace/05.menu/05.team-space","/workspace/menu/team-space/",{"title":395,"path":396,"stem":397,"tags":6,"slug":398,"sourcePath":396},"Client-Bereich","/workspace/menu/client-space","20.workspace/05.menu/06.client-space","/workspace/menu/client-space/",{"title":400,"path":401,"stem":402,"tags":6,"slug":403,"sourcePath":401},"Favoriten","/workspace/menu/favorites","20.workspace/05.menu/10.favorites","/workspace/menu/favorites/",{"title":405,"path":406,"stem":407,"tags":6,"slug":408,"sourcePath":406},"Zuletzt verwendete Dokumente","/workspace/menu/recent","20.workspace/05.menu/20.recent","/workspace/menu/recent/",{"title":410,"path":411,"stem":412,"tags":6,"slug":413,"sourcePath":411},"Externe Freigabe","/workspace/menu/external-share","20.workspace/05.menu/30.external-share","/workspace/menu/external-share/",{"title":415,"path":416,"stem":417,"tags":6,"slug":418,"sourcePath":416},"Papierkorb","/workspace/menu/trash","20.workspace/05.menu/40.trash","/workspace/menu/trash/",{"title":420,"tags":6,"slug":6,"path":421,"stem":422,"children":423,"page":66,"sourcePath":421},"Konto","/workspace/account","20.workspace/10.account",[424,429,434],{"title":425,"path":426,"stem":427,"tags":6,"slug":428,"sourcePath":426},"Registrierung und Anmeldung","/workspace/account/signup","20.workspace/10.account/10.signup","/workspace/account/signup/",{"title":430,"path":431,"stem":432,"tags":6,"slug":433,"sourcePath":431},"Passwort zurücksetzen","/workspace/account/reset-password","20.workspace/10.account/20.reset-password","/workspace/account/reset-password/",{"title":435,"path":436,"stem":437,"tags":6,"slug":438,"sourcePath":436},"Kontoeinstellungen","/workspace/account/account-settings","20.workspace/10.account/30.account-settings","/workspace/account/account-settings/",{"title":440,"tags":6,"slug":6,"path":441,"stem":442,"children":443,"page":66,"sourcePath":441},"Ordner","/workspace/folder","20.workspace/20.folder",[444,449,454,459,464,471,476,481,486,491,496,501,506,511,518],{"title":445,"path":446,"stem":447,"tags":6,"slug":448,"sourcePath":446},"Grundfunktionen für Ordner","/workspace/folder/basic","20.workspace/20.folder/10.basic","/workspace/folder/basic/",{"title":450,"path":451,"stem":452,"tags":6,"slug":453,"sourcePath":451},"Mehrere Ordner auf einmal erstellen","/workspace/folder/bulk-folder-creation","20.workspace/20.folder/12.bulk-folder-creation","/workspace/folder/bulk-folder-creation/",{"title":455,"path":456,"stem":457,"tags":6,"slug":458,"sourcePath":456},"Filter","/workspace/folder/filter","20.workspace/20.folder/13.filter","/workspace/folder/filter/",{"title":460,"path":461,"stem":462,"tags":6,"slug":463,"sourcePath":461},"Ordneransichtsoptionen festlegen","/workspace/folder/folder-view-options","20.workspace/20.folder/14.folder-view-options","/workspace/folder/folder-view-options/",{"title":465,"path":466,"stem":467,"tags":468,"slug":470,"sourcePath":466},"Ordner als Pinnwand verwenden","/workspace/folder/board-view","20.workspace/20.folder/15.board-view",[469],"hot","/workspace/folder/board-view/",{"title":472,"path":473,"stem":474,"tags":6,"slug":475,"sourcePath":473},"Webansicht für Ordner","/workspace/folder/folder-web-view","20.workspace/20.folder/16.folder-web-view","/workspace/folder/folder-web-view/",{"title":477,"path":478,"stem":479,"tags":6,"slug":480,"sourcePath":478},"Ordner organisieren","/workspace/folder/folder-organize","20.workspace/20.folder/17.folder-organize","/workspace/folder/folder-organize/",{"title":482,"path":483,"stem":484,"tags":6,"slug":485,"sourcePath":483},"Ordnerhinweis (README)","/workspace/folder/folder-readme","20.workspace/20.folder/18.folder-readme","/workspace/folder/folder-readme/",{"title":487,"path":488,"stem":489,"tags":6,"slug":490,"sourcePath":488},"Ordner-/Dateiliste exportieren","/workspace/folder/folder-export","20.workspace/20.folder/20.folder-export","/workspace/folder/folder-export/",{"title":492,"path":493,"stem":494,"tags":6,"slug":495,"sourcePath":493},"Zugriffsberechtigungen nach Stufe festlegen","/workspace/folder/level-access-permissions","20.workspace/20.folder/24.level-access-permissions","/workspace/folder/level-access-permissions/",{"title":497,"path":498,"stem":499,"tags":6,"slug":500,"sourcePath":498},"Zugriffsberechtigungen nach Team festlegen","/workspace/folder/team-access-permissions","20.workspace/20.folder/26.team-access-permissions","/workspace/folder/team-access-permissions/",{"title":502,"path":503,"stem":504,"tags":6,"slug":505,"sourcePath":503},"Dateiregeln festlegen","/workspace/folder/file-rules","20.workspace/20.folder/28.file-rules","/workspace/folder/file-rules/",{"title":507,"path":508,"stem":509,"tags":6,"slug":510,"sourcePath":508},"Ordner-Webhooks","/workspace/folder/webhook","20.workspace/20.folder/30.webhook","/workspace/folder/webhook/",{"title":512,"path":513,"stem":514,"children":515,"tags":6,"slug":517,"sourcePath":513},"Wissensindex für Ordner festlegen","/workspace/folder/knowledge-index","20.workspace/20.folder/32.knowledge-index",[516],{"title":512,"path":513,"stem":514,"tags":6,"slug":517,"sourcePath":513},"/workspace/folder/knowledge-index/",{"title":519,"path":520,"stem":521,"tags":6,"slug":522,"sourcePath":520},"Ordner für Aufgabenautomatisierung","/workspace/folder/automation","20.workspace/20.folder/40.automation","/workspace/folder/automation/",{"title":524,"tags":6,"slug":6,"path":525,"stem":526,"children":527,"page":66,"sourcePath":525},"Dateien","/workspace/file","20.workspace/30.file",[528,533,538,543,548,553,558,563,568,573,578,583,588,593,598,603,608,613,618,623,628,633,637,642,647,652,657],{"title":529,"path":530,"stem":531,"tags":6,"slug":532,"sourcePath":530},"Grundfunktionen der Dateiverwaltung","/workspace/file/overview","20.workspace/30.file/00.overview","/workspace/file/overview/",{"title":534,"path":535,"stem":536,"tags":6,"slug":537,"sourcePath":535},"Dateiliste beim Betrachten anzeigen","/workspace/file/list-in-file","20.workspace/30.file/05.list-in-file","/workspace/file/list-in-file/",{"title":539,"path":540,"stem":541,"tags":6,"slug":542,"sourcePath":540},"Markdown- und Textdateien anzeigen und bearbeiten","/workspace/file/text-file-viewer","20.workspace/30.file/10.text-file-viewer","/workspace/file/text-file-viewer/",{"title":544,"path":545,"stem":546,"tags":6,"slug":547,"sourcePath":545},"HTML-Dateien anzeigen","/workspace/file/html-viewer","20.workspace/30.file/11.html-viewer","/workspace/file/html-viewer/",{"title":549,"path":550,"stem":551,"tags":6,"slug":552,"sourcePath":550},"CSV-Dateien anzeigen und bearbeiten","/workspace/file/csv-viewer","20.workspace/30.file/12.csv-viewer","/workspace/file/csv-viewer/",{"title":554,"path":555,"stem":556,"tags":6,"slug":557,"sourcePath":555},"Bild-/Videodateien anzeigen","/workspace/file/image-file-viewer","20.workspace/30.file/13.image-file-viewer","/workspace/file/image-file-viewer/",{"title":559,"path":560,"stem":561,"tags":6,"slug":562,"sourcePath":560},"Office-/PDF-Dateien anzeigen","/workspace/file/office-viewer","20.workspace/30.file/14.office-viewer","/workspace/file/office-viewer/",{"title":564,"path":565,"stem":566,"tags":6,"slug":567,"sourcePath":565},"Webseite einfügen (HTML)","/workspace/file/paste-html","20.workspace/30.file/20.paste-html","/workspace/file/paste-html/",{"title":569,"path":570,"stem":571,"tags":6,"slug":572,"sourcePath":570},"Screenshot einfügen","/workspace/file/paste-screenshot","20.workspace/30.file/21.paste-screenshot","/workspace/file/paste-screenshot/",{"title":574,"path":575,"stem":576,"tags":6,"slug":577,"sourcePath":575},"Markdown einfügen (MD)","/workspace/file/paste-md","20.workspace/30.file/22.paste-md","/workspace/file/paste-md/",{"title":579,"path":580,"stem":581,"tags":6,"slug":582,"sourcePath":580},"Bildschirm aufnehmen","/workspace/file/screen-recording","20.workspace/30.file/23.screen-recording","/workspace/file/screen-recording/",{"title":584,"path":585,"stem":586,"tags":6,"slug":587,"sourcePath":585},"Schnellnotiz","/workspace/file/quick-note","20.workspace/30.file/24.quick-note","/workspace/file/quick-note/",{"title":589,"path":590,"stem":591,"tags":6,"slug":592,"sourcePath":590},"Datei-Tags","/workspace/file/file-tag","20.workspace/30.file/33.file-tag","/workspace/file/file-tag/",{"title":594,"path":595,"stem":596,"tags":6,"slug":597,"sourcePath":595},"Mehrere Dateien auf einmal umbenennen","/workspace/file/bulk-name-revise","20.workspace/30.file/34.bulk-name-revise","/workspace/file/bulk-name-revise/",{"title":599,"path":600,"stem":601,"tags":6,"slug":602,"sourcePath":600},"Dateikonvertierung","/workspace/file/file-convert-overview","20.workspace/30.file/40.file-convert-overview","/workspace/file/file-convert-overview/",{"title":604,"path":605,"stem":606,"tags":6,"slug":607,"sourcePath":605},"Vorlagendateien","/workspace/file/templates","20.workspace/30.file/41.templates","/workspace/file/templates/",{"title":609,"path":610,"stem":611,"tags":6,"slug":612,"sourcePath":610},"Aufgabenliste (Todo)","/workspace/file/template-todo","20.workspace/30.file/42.template-todo","/workspace/file/template-todo/",{"title":614,"path":615,"stem":616,"tags":6,"slug":617,"sourcePath":615},"Genehmigungsformular","/workspace/file/template-approval","20.workspace/30.file/43.template-approval","/workspace/file/template-approval/",{"title":619,"path":620,"stem":621,"tags":6,"slug":622,"sourcePath":620},"Kanban-Board","/workspace/file/template-kanban","20.workspace/30.file/44.template-kanban","/workspace/file/template-kanban/",{"title":624,"path":625,"stem":626,"tags":6,"slug":627,"sourcePath":625},"Zeitleiste","/workspace/file/template-timeline","20.workspace/30.file/45.template-timeline","/workspace/file/template-timeline/",{"title":629,"path":630,"stem":631,"tags":6,"slug":632,"sourcePath":630},"Notizblock","/workspace/file/template-memo","20.workspace/30.file/46.template-memo","/workspace/file/template-memo/",{"title":634,"path":635,"stem":636,"tags":6,"slug":635,"sourcePath":635},"KI-Chat-Datei","/workspace/file/ai-chat-file","20.workspace/30.file/47.ai-chat-file",{"title":638,"path":639,"stem":640,"tags":6,"slug":641,"sourcePath":639},"Änderungsverlauf von Dateien einsehen","/workspace/file/audit-trail","20.workspace/30.file/50.audit-trail","/workspace/file/audit-trail/",{"title":643,"path":644,"stem":645,"tags":6,"slug":646,"sourcePath":644},"Versionsverwaltung für Dateien","/workspace/file/version-trail","20.workspace/30.file/51.version-trail","/workspace/file/version-trail/",{"title":648,"path":649,"stem":650,"tags":6,"slug":651,"sourcePath":649},"Bearbeitungssperre","/workspace/file/file-lock","20.workspace/30.file/52.file-lock","/workspace/file/file-lock/",{"title":653,"path":654,"stem":655,"tags":6,"slug":656,"sourcePath":654},"Dateiverschlüsselung","/workspace/file/file-encrypt","20.workspace/30.file/53.file-encrypt","/workspace/file/file-encrypt/",{"title":658,"path":659,"stem":660,"tags":6,"slug":661,"sourcePath":659},"Dateien von der Festplatte registrieren","/workspace/file/disk-file-registration","20.workspace/30.file/60.disk-file-registration","/workspace/file/disk-file-registration/",{"title":663,"tags":6,"slug":6,"path":664,"stem":665,"children":666,"page":66,"sourcePath":664},"Zusammenarbeit","/workspace/cooperation","20.workspace/35.cooperation",[667,672,677,682,687,692,697,702,707,713],{"title":668,"path":669,"stem":670,"tags":6,"slug":671,"sourcePath":669},"Kommentare zu Dateien und Ordnern","/workspace/cooperation/file-comments","20.workspace/35.cooperation/00.file-comments","/workspace/cooperation/file-comments/",{"title":673,"path":674,"stem":675,"tags":6,"slug":676,"sourcePath":674},"Chat","/workspace/cooperation/chat","20.workspace/35.cooperation/10.chat","/workspace/cooperation/chat/",{"title":678,"path":679,"stem":680,"tags":6,"slug":681,"sourcePath":679},"Gemeinsamer Chat und Bearbeitungssperre","/workspace/cooperation/collaboration-chat","20.workspace/35.cooperation/11.collaboration-chat","/workspace/cooperation/collaboration-chat/",{"title":683,"path":684,"stem":685,"tags":6,"slug":686,"sourcePath":684},"Teammitgliedern an ihren Arbeitsort folgen","/workspace/cooperation/follow-team-location","20.workspace/35.cooperation/12.follow-team-location","/workspace/cooperation/follow-team-location/",{"title":688,"path":689,"stem":690,"tags":6,"slug":691,"sourcePath":689},"Erwähnungen","/workspace/cooperation/mention","20.workspace/35.cooperation/14.mention","/workspace/cooperation/mention/",{"title":693,"path":694,"stem":695,"tags":6,"slug":696,"sourcePath":694},"Direktnachrichten","/workspace/cooperation/dm","20.workspace/35.cooperation/16.dm","/workspace/cooperation/dm/",{"title":698,"path":699,"stem":700,"tags":6,"slug":701,"sourcePath":699},"Benachrichtigungsarchiv","/workspace/cooperation/notification-inbox","20.workspace/35.cooperation/18.notification-inbox","/workspace/cooperation/notification-inbox/",{"title":703,"path":704,"stem":705,"tags":6,"slug":706,"sourcePath":704},"Teamaktivitäten einsehen","/workspace/cooperation/file-activity","20.workspace/35.cooperation/30.file-activity","/workspace/cooperation/file-activity/",{"title":708,"path":709,"stem":710,"tags":711,"slug":712,"sourcePath":709},"Externen Freigabelink erstellen","/workspace/cooperation/share-link-creation","20.workspace/35.cooperation/40.share-link-creation",[469],"/workspace/cooperation/share-link-creation/",{"title":714,"path":715,"stem":716,"tags":6,"slug":717,"sourcePath":715},"Externen Freigabelink per E-Mail senden","/workspace/cooperation/share-link-email","20.workspace/35.cooperation/42.share-link-email","/workspace/cooperation/share-link-email/",{"title":719,"tags":6,"slug":6,"path":720,"stem":721,"children":722,"page":66,"sourcePath":720},"Suche","/workspace/search","20.workspace/40.search",[723,728,734,739,744,749],{"title":724,"path":725,"stem":726,"tags":6,"slug":727,"sourcePath":725},"Dateisuche","/workspace/search/search","20.workspace/40.search/00.search","/workspace/search/search/",{"title":729,"path":730,"stem":731,"tags":732,"slug":733,"sourcePath":730},"Kontextsuche (KI-Suche)","/workspace/search/context-search","20.workspace/40.search/10.context-search",[469],"/workspace/search/context-search/",{"title":735,"path":736,"stem":737,"tags":6,"slug":738,"sourcePath":736},"Bildsuche","/workspace/search/image-search","20.workspace/40.search/20.image-search","/workspace/search/image-search/",{"title":740,"path":741,"stem":742,"tags":6,"slug":743,"sourcePath":741},"Chatsuche","/workspace/search/chat-search","20.workspace/40.search/30.chat-search","/workspace/search/chat-search/",{"title":745,"path":746,"stem":747,"tags":6,"slug":748,"sourcePath":746},"Kommentarsuche","/workspace/search/comment-search","20.workspace/40.search/40.comment-search","/workspace/search/comment-search/",{"title":750,"path":751,"stem":752,"tags":6,"slug":753,"sourcePath":751},"Synonymsuche","/workspace/search/synonym-search","20.workspace/40.search/50.synonym-search","/workspace/search/synonym-search/",{"title":755,"tags":6,"slug":6,"path":756,"stem":757,"children":758,"page":66,"sourcePath":756},"KI","/workspace/ai","20.workspace/50.ai",[759,764,770],{"title":760,"path":761,"stem":762,"tags":6,"slug":763,"sourcePath":761},"KI-Funktionen im Überblick","/workspace/ai/overview","20.workspace/50.ai/00.overview","/workspace/ai/overview/",{"title":765,"path":766,"stem":767,"tags":768,"slug":769,"sourcePath":766},"Lokale KI mit Aufgaben beauftragen","/workspace/ai/ai-work","20.workspace/50.ai/10.ai-work",[469],"/workspace/ai/ai-work/",{"title":771,"path":772,"stem":773,"tags":6,"slug":774,"sourcePath":772},"Externe KI nutzen","/workspace/ai/external-ai","20.workspace/50.ai/20.external-ai","/workspace/ai/external-ai/",{"title":776,"tags":6,"slug":6,"path":777,"stem":778,"children":779,"page":66,"sourcePath":777},"Webspace","/webspace","40.webspace",[780,785,790,795,800,805,811,816,821,826,831,866],{"title":781,"path":782,"stem":783,"tags":6,"slug":784,"sourcePath":782},"Was ist Webspace?","/webspace/overview","40.webspace/00.overview","/webspace/overview/",{"title":786,"path":787,"stem":788,"tags":6,"slug":789,"sourcePath":787},"Website bereitstellen","/webspace/website-release","40.webspace/10.website-release","/webspace/website-release/",{"title":791,"path":792,"stem":793,"tags":6,"slug":794,"sourcePath":792},"Schemadatei (.sfn) erstellen","/webspace/create-database","40.webspace/20.create-database","/webspace/create-database/",{"title":796,"path":797,"stem":798,"tags":6,"slug":799,"sourcePath":797},"APIs erstellen und Datenbank bereitstellen","/webspace/api-overview","40.webspace/24.api-overview","/webspace/api-overview/",{"title":801,"path":802,"stem":803,"tags":6,"slug":804,"sourcePath":802},"Frontend-Beispiel ansehen","/webspace/frontend-example","40.webspace/26.frontend-example","/webspace/frontend-example/",{"title":806,"path":807,"stem":808,"tags":809,"slug":810,"sourcePath":807},"Internen Webservice für das Team erstellen","/webspace/internal-webservice","40.webspace/32.internal-webservice",[469],"/webspace/internal-webservice/",{"title":812,"path":813,"stem":814,"tags":6,"slug":815,"sourcePath":813},"Öffentlich zugänglichen Webservice erstellen","/webspace/external-webservice","40.webspace/34.external-webservice","/webspace/external-webservice/",{"title":817,"path":818,"stem":819,"tags":6,"slug":820,"sourcePath":818},"SQL importieren und exportieren","/webspace/sql-converter","40.webspace/42.sql-converter","/webspace/sql-converter/",{"title":822,"path":823,"stem":824,"tags":6,"slug":825,"sourcePath":823},"Schema in Code umwandeln","/webspace/code-converter","40.webspace/44.code-converter","/webspace/code-converter/",{"title":827,"path":828,"stem":829,"tags":6,"slug":830,"sourcePath":828},"Leistung und Skalierung","/webspace/performance","40.webspace/48.performance","/webspace/performance/",{"title":832,"tags":6,"slug":6,"path":833,"stem":834,"children":835,"page":66,"sourcePath":833},"Webspace verwalten","/webspace/admin","40.webspace/50.admin",[836,841,846,851,856,861],{"title":837,"path":838,"stem":839,"tags":6,"slug":840,"sourcePath":838},"Erste Schritte mit der Webspace-Verwaltung","/webspace/admin/overview","40.webspace/50.admin/00.overview","/webspace/admin/overview/",{"title":842,"path":843,"stem":844,"tags":6,"slug":845,"sourcePath":843},"Betriebsübersicht","/webspace/admin/operations","40.webspace/50.admin/10.operations","/webspace/admin/operations/",{"title":847,"path":848,"stem":849,"tags":6,"slug":850,"sourcePath":848},"Arbeitsbereichszugriff","/webspace/admin/workspace-access","40.webspace/50.admin/20.workspace-access","/webspace/admin/workspace-access/",{"title":852,"path":853,"stem":854,"tags":6,"slug":855,"sourcePath":853},"API- und Site-Sicherheit","/webspace/admin/api-site-security","40.webspace/50.admin/30.api-site-security","/webspace/admin/api-site-security/",{"title":857,"path":858,"stem":859,"tags":6,"slug":860,"sourcePath":858},"Dienste und Kapazität","/webspace/admin/service-capacity","40.webspace/50.admin/40.service-capacity","/webspace/admin/service-capacity/",{"title":862,"path":863,"stem":864,"tags":6,"slug":865,"sourcePath":863},"Bereitstellungsverwaltung und Frontend-Releases","/webspace/admin/deployments","40.webspace/50.admin/50.deployments","/webspace/admin/deployments/",{"title":867,"tags":868,"slug":6,"path":869,"stem":870,"children":871,"page":66,"sourcePath":869},"Webspace-Tutorials",[469],"/webspace/examples","40.webspace/60.examples",[872,876,881,887,892,897],{"title":867,"path":869,"stem":873,"tags":6,"slug":874,"sourcePath":875},"40.webspace/60.examples/00.overview","/webspace/examples/","/webspace/examples/overview",{"title":877,"path":878,"stem":879,"tags":6,"slug":880,"sourcePath":878},"Eigenes Geschäftssystem erstellen","/webspace/examples/my-own-system","40.webspace/60.examples/10.my-own-system","/webspace/examples/my-own-system/",{"title":882,"path":883,"stem":884,"tags":885,"slug":886,"sourcePath":883},"Echtzeit-Gomoku-Spiel erstellen","/webspace/examples/realtime-gomoku","40.webspace/60.examples/20.realtime-gomoku",[469],"/webspace/examples/realtime-gomoku/",{"title":888,"path":889,"stem":890,"tags":6,"slug":891,"sourcePath":889},"Material-Pinnwand aus Ordnerdateien erstellen","/webspace/examples/folder-board","40.webspace/60.examples/30.folder-board","/webspace/examples/folder-board/",{"title":893,"path":894,"stem":895,"tags":6,"slug":896,"sourcePath":894},"Gemeinsamen Monster-Raid erstellen","/webspace/examples/monster-raid","40.webspace/60.examples/40.monster-raid","/webspace/examples/monster-raid/",{"title":898,"path":899,"stem":900,"tags":6,"slug":901,"sourcePath":899},"Beispiel für einen KI-Support-Chat bereitstellen","/webspace/examples/ai-support-chat","40.webspace/60.examples/50.ai-support-chat","/webspace/examples/ai-support-chat/",{"title":903,"tags":6,"slug":6,"path":904,"stem":905,"children":906,"page":66,"sourcePath":904},"Plugins verwenden","/plugin","50.plugin",[907,912,932,992,1013,1048],{"title":908,"path":909,"stem":910,"tags":6,"slug":911,"sourcePath":909},"Plugin-Überblick","/plugin/overview","50.plugin/00.overview","/plugin/overview/",{"title":913,"tags":6,"slug":6,"path":914,"stem":915,"children":916,"page":66,"sourcePath":914},"Kalender","/plugin/calendar","50.plugin/10.calendar",[917,922,927],{"title":918,"path":919,"stem":920,"tags":6,"slug":921,"sourcePath":919},"Kalender im Überblick","/plugin/calendar/overview","50.plugin/10.calendar/00.overview","/plugin/calendar/overview/",{"title":923,"path":924,"stem":925,"tags":6,"slug":926,"sourcePath":924},"Termine erstellen, bearbeiten und löschen","/plugin/calendar/create-event","50.plugin/10.calendar/10.create-event","/plugin/calendar/create-event/",{"title":928,"path":929,"stem":930,"tags":6,"slug":931,"sourcePath":929},"Aktivitätsprotokolle prüfen","/plugin/calendar/file-activity","50.plugin/10.calendar/40.file-activity","/plugin/calendar/file-activity/",{"title":933,"tags":6,"slug":6,"path":934,"stem":935,"children":936,"page":66,"sourcePath":934},"E-Mail","/plugin/email","50.plugin/20.email",[937,942,946,951,956,962,967,972,977,982,987],{"title":938,"path":939,"stem":940,"tags":6,"slug":941,"sourcePath":939},"E-Mail im Überblick","/plugin/email/overview","50.plugin/20.email/00.overview","/plugin/email/overview/",{"title":188,"path":943,"stem":944,"tags":6,"slug":945,"sourcePath":943},"/plugin/email/setfn-email-setting","50.plugin/20.email/05.setfn-email-setting","/plugin/email/setfn-email-setting/",{"title":947,"path":948,"stem":949,"tags":6,"slug":950,"sourcePath":948},"Externes E-Mail-Konto verbinden","/plugin/email/external-email","50.plugin/20.email/07.external-email","/plugin/email/external-email/",{"title":952,"path":953,"stem":954,"tags":6,"slug":955,"sourcePath":953},"E-Mail-Grundfunktionen","/plugin/email/email-basic","50.plugin/20.email/10.email-basic","/plugin/email/email-basic/",{"title":957,"path":958,"stem":959,"tags":6,"slug":960,"sourcePath":961},"KI-Assistenten für E-Mails verwenden","/plugin/email/ai-assistant","50.plugin/20.email/15.email-ai-assistant","/plugin/email/ai-assistant/","/plugin/email/email-ai-assistant",{"title":963,"path":964,"stem":965,"tags":6,"slug":966,"sourcePath":964},"E-Mails verfassen und senden","/plugin/email/email-compose","50.plugin/20.email/20.email-compose","/plugin/email/email-compose/",{"title":968,"path":969,"stem":970,"tags":6,"slug":971,"sourcePath":969},"Dateien anhängen","/plugin/email/email-attachment","50.plugin/20.email/30.email-attachment","/plugin/email/email-attachment/",{"title":973,"path":974,"stem":975,"tags":6,"slug":976,"sourcePath":974},"E-Mail-Ordner verwalten","/plugin/email/email-folders","50.plugin/20.email/40.email-folders","/plugin/email/email-folders/",{"title":978,"path":979,"stem":980,"tags":6,"slug":981,"sourcePath":979},"E-Mails automatisch sortieren","/plugin/email/email-auto-classify","50.plugin/20.email/50.email-auto-classify","/plugin/email/email-auto-classify/",{"title":983,"path":984,"stem":985,"tags":6,"slug":986,"sourcePath":984},"E-Mail-Dateien aufbewahren und teilen","/plugin/email/email-open-in-space","50.plugin/20.email/60.email-open-in-space","/plugin/email/email-open-in-space/",{"title":988,"path":989,"stem":990,"tags":6,"slug":991,"sourcePath":989},"E-Mail-Sicherheit","/plugin/email/email-security","50.plugin/20.email/70.email-security","/plugin/email/email-security/",{"title":993,"tags":6,"slug":6,"path":994,"stem":995,"children":996,"page":66,"sourcePath":994},"Workflow (Automatisierung)","/plugin/workflow","50.plugin/30.workflow",[997,1002,1008],{"title":998,"path":999,"stem":1000,"tags":6,"slug":1001,"sourcePath":999},"Workflow im Überblick","/plugin/workflow/overview","50.plugin/30.workflow/00.overview","/plugin/workflow/overview/",{"title":1003,"path":1004,"stem":1005,"tags":1006,"slug":1007,"sourcePath":1004},"Neuen Workflow erstellen","/plugin/workflow/new-workflow","50.plugin/30.workflow/10.new-workflow",[469],"/plugin/workflow/new-workflow/",{"title":1009,"path":1010,"stem":1011,"tags":6,"slug":1012,"sourcePath":1010},"Ausführungsverlauf prüfen","/plugin/workflow/execution-history","50.plugin/30.workflow/20.execution-history","/plugin/workflow/execution-history/",{"title":1014,"tags":6,"slug":6,"path":1015,"stem":1016,"children":1017,"page":66,"sourcePath":1015},"Fine-Tuning (KI-Training)","/plugin/fine-tuning","50.plugin/40.fine-tuning",[1018,1023,1028,1033,1038,1043],{"title":1019,"path":1020,"stem":1021,"tags":6,"slug":1022,"sourcePath":1020},"Einführung in das Fine-Tuning","/plugin/fine-tuning/overview","50.plugin/40.fine-tuning/00.overview","/plugin/fine-tuning/overview/",{"title":1024,"path":1025,"stem":1026,"tags":6,"slug":1027,"sourcePath":1025},"Trainingsdaten vorverarbeiten","/plugin/fine-tuning/pre-processing","50.plugin/40.fine-tuning/10.pre-processing","/plugin/fine-tuning/pre-processing/",{"title":1029,"path":1030,"stem":1031,"tags":6,"slug":1032,"sourcePath":1030},"Training","/plugin/fine-tuning/training","50.plugin/40.fine-tuning/20.training","/plugin/fine-tuning/training/",{"title":1034,"path":1035,"stem":1036,"tags":6,"slug":1037,"sourcePath":1035},"Evaluierung","/plugin/fine-tuning/evaluation","50.plugin/40.fine-tuning/30.evaluation","/plugin/fine-tuning/evaluation/",{"title":1039,"path":1040,"stem":1041,"tags":6,"slug":1042,"sourcePath":1040},"Chat-Test","/plugin/fine-tuning/chat-test","50.plugin/40.fine-tuning/40.chat-test","/plugin/fine-tuning/chat-test/",{"title":1044,"path":1045,"stem":1046,"tags":6,"slug":1047,"sourcePath":1045},"Exportieren","/plugin/fine-tuning/export","50.plugin/40.fine-tuning/50.export","/plugin/fine-tuning/export/",{"title":1049,"tags":6,"slug":6,"path":1050,"stem":1051,"children":1052,"page":66,"sourcePath":1050},"EDC (Datenerfassung)","/plugin/edc","50.plugin/50.edc",[1053,1058,1063,1068],{"title":1054,"path":1055,"stem":1056,"tags":6,"slug":1057,"sourcePath":1055},"Einführung in EDC","/plugin/edc/overview","50.plugin/50.edc/00.overview","/plugin/edc/overview/",{"title":1059,"path":1060,"stem":1061,"tags":6,"slug":1062,"sourcePath":1060},"Dateneingabe, Audit Trail","/plugin/edc/data-entry","50.plugin/50.edc/10.data-entry","/plugin/edc/data-entry/",{"title":1064,"path":1065,"stem":1066,"tags":6,"slug":1067,"sourcePath":1065},"Builder","/plugin/edc/builder","50.plugin/50.edc/20.builder","/plugin/edc/builder/",{"title":1069,"path":1070,"stem":1071,"tags":6,"slug":1072,"sourcePath":1070},"Benutzer und Studienzentren einrichten","/plugin/edc/account","50.plugin/50.edc/30.account","/plugin/edc/account/",{"title":1074,"tags":6,"slug":6,"path":1075,"stem":1076,"children":1077,"page":66,"sourcePath":1075},"Befehlszeilentools","/cli","90.cli",[1078],{"title":1079,"path":1080,"stem":1081,"tags":6,"slug":1082,"sourcePath":1080},"Server über Befehle verwalten","/cli/commands","90.cli/10.commands","/cli/commands/",{"title":1084,"tags":6,"slug":6,"path":1085,"stem":1086,"children":1087,"page":66,"sourcePath":1085},"Sicherheitsupdates","/security-updates","95.security-updates",[1088,1093,1098,1103],{"title":1089,"path":1090,"stem":1091,"tags":6,"slug":1092,"sourcePath":1090},"Sicherheitsprüfungen und Update-Verfahren kennenlernen","/security-updates/overview","95.security-updates/00.overview","/security-updates/overview/",{"title":1094,"path":1095,"stem":1096,"tags":6,"slug":1097,"sourcePath":1095},"Protokoll der Sicherheitsprüfungen","/security-updates/review-log","95.security-updates/10.review-log","/security-updates/review-log/",{"title":1099,"path":1100,"stem":1101,"tags":6,"slug":1102,"sourcePath":1100},"Prüfstatus wichtiger Schwachstellen","/security-updates/vulnerability-status","95.security-updates/20.vulnerability-status","/security-updates/vulnerability-status/",{"title":1104,"path":1105,"stem":1106,"tags":6,"slug":1107,"sourcePath":1105},"Sicherheitsupdates des Servers prüfen","/security-updates/server-checklist","95.security-updates/30.server-checklist","/security-updates/server-checklist/",{"title":1109,"tags":6,"slug":6,"path":1110,"stem":1111,"children":1112,"page":66,"sourcePath":1110},"FAQ","/faq","99.FAQ",[1113,1119,1125,1131,1137,1143,1149],{"title":1114,"path":1115,"stem":1116,"tags":6,"slug":1117,"sourcePath":1118},"SetFN vs. Cloud-Dienste im Vergleich","/FAQ/comparison-cloud","99.FAQ/10.comparison-cloud","/FAQ/comparison-cloud/","/faq/comparison-cloud",{"title":1120,"path":1121,"stem":1122,"tags":6,"slug":1123,"sourcePath":1124},"SetFN vs. NAS im Vergleich","/FAQ/comparison-nas","99.FAQ/20.comparison-nas","/FAQ/comparison-nas/","/faq/comparison-nas",{"title":1126,"path":1127,"stem":1128,"tags":6,"slug":1129,"sourcePath":1130},"Sicherheitsrichtlinie","/FAQ/security-policy","99.FAQ/30.security-policy","/FAQ/security-policy/","/faq/security-policy",{"title":1132,"path":1133,"stem":1134,"tags":6,"slug":1135,"sourcePath":1136},"Warum SetFN so schnell ist","/FAQ/why-fast","99.FAQ/40.why-fast","/FAQ/why-fast/","/faq/why-fast",{"title":1138,"path":1139,"stem":1140,"tags":6,"slug":1141,"sourcePath":1142},"Lizenz-FAQ","/FAQ/license-faq","99.FAQ/50.license-faq","/FAQ/license-faq/","/faq/license-faq",{"title":1144,"path":1145,"stem":1146,"tags":6,"slug":1147,"sourcePath":1148},"FAQ zu KI-Funktionen","/FAQ/ai-faq","99.FAQ/60.ai-faq","/FAQ/ai-faq/","/faq/ai-faq",{"title":1150,"path":1151,"stem":1152,"tags":6,"slug":1153,"sourcePath":1154},"Leitfaden zur Fehlerbehebung","/FAQ/troubleshooting","99.FAQ/70.troubleshooting","/FAQ/troubleshooting/","/faq/troubleshooting",{"id":1156,"title":791,"body":1157,"cover":6,"description":1959,"extension":1960,"image":6,"meta":1961,"navigation":1962,"path":792,"reviewSummary":6,"reviewedAt":6,"seo":1963,"slug":794,"stem":793,"tags":6,"thumbnail":6,"thumbnailPosition":6,"thumbnailScale":6,"__hash__":1974},"docs_de/40.webspace/20.create-database.md",{"type":1158,"value":1159,"toc":1940},"minimal",[1160,1164,1168,1176,1179,1184,1203,1206,1210,1223,1230,1237,1246,1250,1253,1258,1265,1311,1314,1320,1330,1333,1337,1350,1357,1363,1367,1370,1375,1385,1429,1433,1447,1450,1561,1580,1584,1587,1612,1616,1627,1630,1839,1848,1852,1855,1869,1873,1883,1886,1890,1901,1905,1911,1915,1936],[1161,1162,791],"h1",{"id":1163},"schemadatei-sfn-erstellen",[1165,1166,1167],"p",{},"Der Spaß mit Webspace beginnt mit einer einzigen kleinen Datei. Legen Sie in einer Schemadatei (.sfn) fest, welche Daten gespeichert werden und wer darauf zugreifen darf, und stellen Sie sie bereit: Datenbank und APIs stehen dann gemeinsam bereit. Darauf aufbauend können Sie einen Dienst erstellen, in dem Eingaben aus einem Bildschirm tatsächlich gespeichert werden und in Echtzeit auf den Bildschirmen anderer Benutzer erscheinen.",[1165,1169,1170,1171,1175],{},"Die Schemadatei ist der Bauplan Ihres Dienstes. Beim Speichern der Datei ändert sich die tatsächliche Datenbank noch nicht; erst durch die Bereitstellung in der ",[1172,1173,1174],"code",{},"API-Erstellung"," wird sie in die Laufzeitumgebung übernommen.",[1177,1178],"hr",{},[1180,1181,1183],"h2",{"id":1182},"ablauf-der-erstellung","Ablauf der Erstellung",[1185,1186,1187,1191,1194,1197,1200],"ol",{},[1188,1189,1190],"li",{},"Erstellen Sie eine Schemadatei.",[1188,1192,1193],{},"Legen Sie Tabellen und Spalten an.",[1188,1195,1196],{},"Prüfen Sie die Zugriffsberechtigungen je API.",[1188,1198,1199],{},"Wählen Sie eine Speicherengine und stellen Sie bereit.",[1188,1201,1202],{},"Rufen Sie die erzeugten APIs aus HTML oder einer App auf.",[1165,1204,1205],{},"Sie müssen nicht von Anfang an alles vollständig ausarbeiten. Am leichtesten verständlich ist es, mit einer kleinen Tabelle zu beginnen, auf einem echten Bildschirm Daten einzugeben und anschließend Struktur und Berechtigungen nach Bedarf zu erweitern.",[1180,1207,1209],{"id":1208},"neue-schemadatei-erstellen","Neue Schemadatei erstellen",[1165,1211,1212,1213,1216,1217,1216,1219,1222],{},"Wählen Sie im Arbeitsbereich ",[1172,1214,1215],{},"Erstellen"," > ",[1172,1218,604],{},[1172,1220,1221],{},"Neues Schema (DB)",".",[1165,1224,1225],{},[1226,1227],"img",{"alt":1228,"src":1229},"Schemadatei erstellen","./_screenshots/new-schema_en.png",[1165,1231,1232,1233],{},"Geben Sie einen Dateinamen ein und speichern Sie; die Schemadatei wird angelegt.\n",[1226,1234],{"alt":1235,"src":1236},"Schemadatei","./_screenshots/schema-file-first_en.png",[1165,1238,1239,1240,1245],{},"In diesem Schritt wählen Sie noch keine Datenbankengine. Erstellen Sie zuerst die Datenstruktur und wählen Sie dann im ",[1241,1242,1244],"a",{"href":1243},"./api-overview","Bereitstellungsschritt"," die tatsächliche Speicherengine aus SQLite3, PostgreSQL, MySQL oder MariaDB.",[1180,1247,1249],{"id":1248},"datenstruktur-erstellen","Datenstruktur erstellen",[1165,1251,1252],{},"Sie können die Struktur von Grund auf selbst anlegen oder mit KI einen Entwurf erstellen und diesen verfeinern. Wenn Sie bereits SQL verwenden, können Sie es importieren und damit starten.",[1254,1255,1257],"h3",{"id":1256},"_1-entwurf-mit-ki-erstellen","1. Entwurf mit KI erstellen",[1165,1259,1260,1261],{},"Sie müssen nicht alle Tabellenbegriffe kennen. Beschreiben Sie zuerst, welche Informationen Sie mit wem verwalten möchten, und die KI erstellt eine Struktur, mit der Sie beginnen können.\n",[1226,1262],{"alt":1263,"src":1264},"Schemaentwurf mit KI erstellen","./_screenshots/schema-file-ai-copy-button_en.png",[1185,1266,1267,1273,1280,1293,1300],{},[1188,1268,1269,1270,1222],{},"Klicken Sie auf die Schaltfläche ",[1172,1271,1272],{},"KI-Prompt kopieren",[1188,1274,1275,1276],{},"Fügen Sie den kopierten Prompt in das Chatfenster des KI-Dienstes ein, den Sie verwenden.\n",[1226,1277],{"alt":1278,"src":1279},"In den KI-Prompt einfügen","./_screenshots/schema-paste-to-ai.png",[1188,1281,1282,1283,1286,1287],{},"Beschreiben Sie ganz unten in der Anleitung unter ",[1172,1284,1285],{},"## Anfrage"," den Dienst, den Sie erstellen möchten.",[1288,1289,1290],"blockquote",{},[1165,1291,1292],{},"Beispiel: Verwalte Patentname, Anmeldenummer, zuständige Person und Bearbeitungsstatus, und erlaube nur der zuständigen Person und Administratoren das Bearbeiten.",[1188,1294,1295,1296],{},"Kopieren Sie das von der KI erzeugte JSON und fügen Sie es im Importbildschirm ein.\n",[1226,1297],{"alt":1298,"src":1299},"Schema importieren","./_screenshots/schema-load_en.png",[1188,1301,1302,1303,1306,1307],{},"Wenn Sie die Schaltfläche ",[1172,1304,1305],{},"Importieren"," drücken, wird die Tabellenstruktur wie in der Abbildung unten im Schema angelegt.\n",[1226,1308],{"alt":1309,"src":1310},"Schemabeispiel","./_screenshots/schema-example_en.png",[1165,1312,1313],{},"Die kopierte Anleitung enthält auch das Format und die Schreibregeln der Schemadatei. Sie bevorzugt eine Struktur, die mit mehreren Speicherengines funktioniert, gegenüber SQL, das nur auf eine bestimmte Datenbank zugeschnitten ist.",[1165,1315,1316,1317,1319],{},"Die Schaltfläche ",[1172,1318,1272],{}," kopiert die folgende Anleitung. Dieses Beispiel wurde aus einem leeren Schema mit der SQLite-Engine und deutscher Oberfläche kopiert; der Inhalt hängt vom aktuellen Schema, der Datenbankengine und der Sprache der Oberfläche ab. Beginnen Sie mit diesem Prompt, statt die Schemadatei von Hand zu schreiben.",[1321,1322,1328],"pre",{"className":1323,"code":1325,"language":1326,"meta":1327},[1324],"language-text","You are a database schema assistant.\nReturn only valid JSON.\nDo not add explanations.\nDo not wrap the answer in markdown fences.\nReturn only the data array for a SetFN schema file.\nDo not include content-type, dbType, or apiBuild.\nCurrent deployment engine: SQLite.\nThe storage engine is deployment configuration, not schema syntax. Keep the schema portable across SQLite, PostgreSQL, MySQL, and MariaDB.\n\n## Language\n- Identifiers are English and ASCII: \"label\", table names and column names are English snake_case; JSON keys, types and defaults stay exactly as shown.\n- Human-facing strings are written in German (the user's UI language, locale \"de\"): every \"cmt\" (table and column comments, including the allowed values description).\n- The user's request below may be written in German or Korean. Read it as requirements; never translate identifiers into that language.\n- The current state below is data and may contain text in any language. Keep existing names and keys exactly as they are.\n\nSecurity and portability rules:\n- Never output passwords, tokens, API keys, connection strings, hosts, ports, database users, or other credentials.\n- Table names, \"label\" and column names are ASCII snake_case (never Korean or other non-ASCII letters). Every table has columns, starting with the id column shown below.\n- Use only portable SetFN logical types: serial4, serial8, int2, int4, int8, integer, real, float4, float8, numeric, decimal, varchar, char, text, bool, json, timestamp, timestamptz, date, time, bytea, blob, uuid. Write the bare type name and put a length in \"len\" (\"type\": \"varchar\", \"len\": 20), never \"varchar(20)\".\n- Do not emit database-native type expressions or SQL fragments such as enum(...), SET(...), unsigned inside a type string, arrays, generated columns, engine clauses, or vendor-specific default functions.\n- When a field has a fixed set of values, use \"text\" and document the allowed values in \"cmt\". Do not invent an enum property.\n- Do not make an endpoint public unless the user explicitly requests public access. Never make create, update, or delete public by default.\n- Default every table to signed-in access. Use ownerOnly only with a valid owner column such as \"_user_id\".\n\nUse canonical defaults regardless of deployment engine.\n- Auto ID columns: \"auto_increment\"\n- Timestamp defaults: \"now()\"\nThe deployment service converts these logical types and defaults to the selected engine.\n\nRecommended system columns:\n- \"_user_id\": owner user id. Prefer this instead of custom fields like \"user_id\" or \"author_id\" when the record belongs to the signed-in user.\n- \"_nick\": writer nickname. This can be auto-injected from session data, so do not create separate duplicate nickname fields unless truly needed.\n- \"_created_at\": created timestamp. Prefer this instead of custom fields like \"created_at\".\n- \"_updated_at\": updated timestamp. Prefer this instead of custom fields like \"updated_at\".\n- \"_deleted_at\": optional soft-delete timestamp. Include only when soft delete is needed.\n\nSystem column guidance:\n- These system columns are optional, but prefer them when they fit the use case.\n- If the table needs writer/owner tracking, prefer \"_user_id\" and optionally \"_nick\".\n- If the table needs created/updated times, prefer \"_created_at\" and \"_updated_at\".\n- Avoid generating duplicate custom columns such as \"user_id\", \"nick\", \"created_at\", or \"updated_at\" when the matching system columns can be used.\n- It is okay to omit system columns if the requested schema clearly does not need them.\n\nTurn-based board game contract:\n- Apply this only when the user asks for a turn-based board game such as a line-connection game.\n- Create three portable tables whose names may match the user's game: a games table, a moves table, and a players table.\n- The games table must contain: id, room_code (unique), status, black_user_id, white_user_id, current_turn, winner_user_id, result, move_count, board_size, win_length, black_time_ms, white_time_ms, turn_started_at, finish_reason, finished_at, _created_at, _updated_at.\n- The moves table must contain: id, game_id (indexed), move_no, user_id, stone, row, col, result, _created_at. Make (game_id, row, col) unique when the schema format supports it.\n- The players table must contain: id, user_id (unique), nickname, wins, losses, draws, score, _updated_at.\n- Use portable logical types and defaults. Do not add an eventProcessor field to table data. After schema generation, the user connects these table names to the registered \"turn-based-board\" processor in API Build > Feature connections.\n- Do not invent processor IDs or game-specific server handlers.\n\nRequired shape:\n[\n  {\n    \"label\": \"users\",\n    \"table\": { \"name\": \"users\", \"cmt\": \"Members\" },\n    \"columns\": [\n      {\n        \"name\": \"id\",\n        \"type\": \"serial4\",\n        \"notnull\": true,\n        \"primary\": true,\n        \"index\": false,\n        \"unique\": false,\n        \"default\": \"auto_increment\",\n        \"cmt\": \"PK\"\n      },\n      {\n        \"name\": \"_user_id\",\n        \"type\": \"int4\",\n        \"notnull\": true,\n        \"index\": true,\n        \"unique\": false,\n        \"default\": null,\n        \"cmt\": \"Owner ID (injected from the session)\"\n      },\n      {\n        \"name\": \"_created_at\",\n        \"type\": \"timestamp\",\n        \"notnull\": false,\n        \"index\": false,\n        \"unique\": false,\n        \"default\": \"now()\",\n        \"cmt\": \"Created at\"\n      }\n    ],\n    \"permissions\": {\n      \"security\": { \"login\": true, \"ownerColumn\": \"_user_id\" },\n      \"ops\": {\n        \"list\": { \"login\": true },\n        \"view\": { \"login\": true },\n        \"create\": { \"login\": true },\n        \"update\": { \"login\": true, \"ownerOnly\": true },\n        \"delete\": { \"login\": true, \"roles\": [\"admin\"] }\n      }\n    }\n  }\n]\n\nExample \"cmt\" values are English only to show the shape; follow the Language rules for real values.\n\nCurrent data:\n[]\n\n## Ergebnis\nAntworten Sie nur mit dem data-Array als JSON im obigen Format. Schreiben Sie für Menschen lesbare Texte wie Beschreibungen, Labels und Hinweise auf Deutsch.\n\n## Anfrage\n[Beschreiben Sie hier das Schema, das Sie erstellen oder ändern möchten]\n","text","",[1172,1329,1325],{"__ignoreMap":1327},[1165,1331,1332],{},"Das KI-Ergebnis ist nur ein Entwurf. Prüfen Sie vor der Bereitstellung selbst, ob die Namen verständlich sind, ob personenbezogene Daten enthalten sind und wer die Daten abfragen und bearbeiten darf.",[1254,1334,1336],{"id":1335},"_2-sql-importieren","2. SQL importieren",[1165,1338,1339,1340,1216,1342,1345,1346,1349],{},"Unter ",[1172,1341,1305],{},[1172,1343,1344],{},"SQL"," können Sie vorhandene ",[1172,1347,1348],{},"CREATE TABLE","-Anweisungen einfügen. Die wichtigsten Typen, Standardwerte, Indizes und Einschränkungen von SQLite, PostgreSQL und MySQL/MariaDB werden gelesen und in die Struktur der Schemadatei umgewandelt.",[1165,1351,1352,1353,1356],{},"Wenn Sie im Arbeitsbereich eine SQL-Datei geöffnet haben, können Sie auch ",[1172,1354,1355],{},"In SetFN-Schema umwandeln"," verwenden. Unabhängig vom gewählten Weg gelten dieselben Umwandlungsregeln.",[1358,1359,1360],"warning",{},[1165,1361,1362],{},"Datenbankspezifische Typen, Funktionen, Trigger, Partitionen und gespeicherte Prozeduren werden möglicherweise nicht unverändert übernommen oder ändern ihre Bedeutung. Prüfen Sie das Umwandlungsergebnis und die Warnungen und verifizieren Sie es anschließend erneut mit der Speicherengine, die Sie verwenden werden.",[1254,1364,1366],{"id":1365},"_3-direkt-auf-dem-bildschirm-erstellen","3. Direkt auf dem Bildschirm erstellen",[1165,1368,1369],{},"Im tabellenförmigen Bearbeitungsbildschirm können Sie Tabellen und Spalten einzeln hinzufügen.",[1371,1372,1374],"h4",{"id":1373},"tabelle-hinzufügen","Tabelle hinzufügen",[1165,1376,1377,1381,1382,1384],{},[1226,1378],{"alt":1379,"src":1380},"Tabelle/Spalte hinzufügen","./_screenshots/schema-add-table-column_en.png","\nKlicken Sie oben im Hauptbildschirm auf die Schaltfläche ",[1172,1383,1374],{},". Geben Sie die Tabelleninformationen ein.",[1386,1387,1388,1401],"table",{},[1389,1390,1391],"thead",{},[1392,1393,1394,1398],"tr",{},[1395,1396,1397],"th",{},"Element",[1395,1399,1400],{},"Beschreibung",[1402,1403,1404,1413,1421],"tbody",{},[1392,1405,1406,1410],{},[1407,1408,1409],"td",{},"Table Name",[1407,1411,1412],{},"Tabellenname, der auch in der API-Adresse verwendet wird (z. B. user_profile)",[1392,1414,1415,1418],{},[1407,1416,1417],{},"Explain",[1407,1419,1420],{},"Für Benutzer leicht verständliche Beschreibung der Tabelle",[1392,1422,1423,1426],{},[1407,1424,1425],{},"Schema",[1407,1427,1428],{},"Name des Datenbankschemas (z. B. public)",[1371,1430,1432],{"id":1431},"spalte-hinzufügen","Spalte hinzufügen",[1165,1434,1269,1435,1438,1439,1442,1443,1446],{},[1172,1436,1437],{},"Hinzufügen"," und wählen Sie ",[1172,1440,1441],{},"Oben hinzufügen"," oder ",[1172,1444,1445],{},"Unten hinzufügen","; der Spaltenliste wird eine neue Zeile (row) hinzugefügt.\nEine Zeile entspricht einer Spalte.",[1165,1448,1449],{},"Sie können die folgenden Elemente festlegen.",[1386,1451,1452,1463],{},[1389,1453,1454],{},[1392,1455,1456,1458,1460],{},[1395,1457,1397],{},[1395,1459,1400],{},[1395,1461,1462],{},"Beispiel",[1402,1464,1465,1476,1487,1498,1509,1520,1531,1541,1551],{},[1392,1466,1467,1470,1473],{},[1407,1468,1469],{},"Column Name",[1407,1471,1472],{},"Spaltenname",[1407,1474,1475],{},"user_id, email",[1392,1477,1478,1481,1484],{},[1407,1479,1480],{},"Type",[1407,1482,1483],{},"Datentyp",[1407,1485,1486],{},"varchar, int, bool",[1392,1488,1489,1492,1495],{},[1407,1490,1491],{},"Length",[1407,1493,1494],{},"Datenlänge",[1407,1496,1497],{},"255",[1392,1499,1500,1503,1506],{},[1407,1501,1502],{},"Comment",[1407,1504,1505],{},"Beschreibung der Spalte",[1407,1507,1508],{},"Benutzername",[1392,1510,1511,1514,1517],{},[1407,1512,1513],{},"Default",[1407,1515,1516],{},"Standardwert",[1407,1518,1519],{},"auto_increment, NULL",[1392,1521,1522,1525,1528],{},[1407,1523,1524],{},"Unsigned",[1407,1526,1527],{},"Ob nur positive Zahlen erlaubt sind",[1407,1529,1530],{},"-",[1392,1532,1533,1536,1539],{},[1407,1534,1535],{},"Index",[1407,1537,1538],{},"Ob ein Index gesetzt wird",[1407,1540,1530],{},[1392,1542,1543,1546,1549],{},[1407,1544,1545],{},"Unique",[1407,1547,1548],{},"Ob ein eindeutiger Wert gesetzt wird",[1407,1550,1530],{},[1392,1552,1553,1556,1559],{},[1407,1554,1555],{},"Not null",[1407,1557,1558],{},"Ob die Eingabe erforderlich ist",[1407,1560,1530],{},[1165,1562,1563,1564,1567,1568,1571,1572,1575,1576,1579],{},"Im Menü ",[1172,1565,1566],{},"Systemspalten"," können Sie häufig verwendete Spalten wie ",[1172,1569,1570],{},"_user_id",", ",[1172,1573,1574],{},"_nick"," und ",[1172,1577,1578],{},"_created_at"," auswählen und hinzufügen, mit denen Benutzer und Erstellungszeitpunkt erfasst werden.",[1371,1581,1583],{"id":1582},"spalte-kopieren-und-löschen","Spalte kopieren und löschen",[1165,1585,1586],{},"Klicken Sie mit der rechten Maustaste auf eine Spalte, um das Kontextmenü zu öffnen.",[1588,1589,1590,1606],"ul",{},[1188,1591,1592,1593,1571,1596,1571,1599,1442,1602,1605],{},"Kopieren und einfügen: Wählen Sie ",[1172,1594,1595],{},"Kopieren und oberhalb der Auswahl einfügen",[1172,1597,1598],{},"Kopieren und unterhalb der Auswahl einfügen",[1172,1600,1601],{},"Kopieren und ganz oben einfügen",[1172,1603,1604],{},"Kopieren und ganz unten einfügen",", um eine Spalte mit denselben Eigenschaften wie die ausgewählte Spalte hinzuzufügen.",[1188,1607,1608,1611],{},[1172,1609,1610],{},"Ausgewählte Zeile löschen",": Löscht die ausgewählte Spalte.",[1254,1613,1615],{"id":1614},"_4-als-json-bearbeiten","4. Als JSON bearbeiten",[1165,1617,1618,1622,1623,1626],{},[1226,1619],{"alt":1620,"src":1621},"Schema-Editor","./_screenshots/schema-editor_en.png","\nWenn Sie oben rechts auf der Seite ",[1172,1624,1625],{},"Editor"," wählen, können Sie die gesamte Struktur als JSON schreiben. JSON und der tabellenförmige Bearbeitungsbildschirm verwenden denselben Inhalt, sodass Sie je nach Bedarf zwischen beiden wechseln und bearbeiten können.",[1165,1628,1629],{},"Unten sehen Sie ein einfaches Beispiel eines Benutzerprofils, das eine E-Mail-Adresse speichert.",[1321,1631,1635],{"className":1632,"code":1633,"language":1634,"meta":1327,"style":1327},"language-json shiki shiki-themes github-light github-dark monokai","{\n  \"content-type\": \"application/setfn-schema\",\n  \"dbType\": \"sqlite3\",\n  \"data\": [\n    {\n      \"table\": { \"name\": \"user_profile\", \"schema\": \"public\" },\n      \"columns\": [\n        {\n          \"name\": \"email\",\n          \"type\": \"varchar\",\n          \"len\": 255,\n          \"unique\": true,\n          \"notnull\": true\n        }\n      ],\n      \"label\": \"Benutzerprofil\"\n    }\n  ]\n}\n","json",[1172,1636,1637,1646,1663,1676,1685,1691,1721,1729,1735,1748,1761,1774,1787,1798,1804,1810,1821,1827,1833],{"__ignoreMap":1327},[1638,1639,1642],"span",{"class":1640,"line":1641},"line",1,[1638,1643,1645],{"class":1644},"sMOD_","{\n",[1638,1647,1649,1653,1656,1660],{"class":1640,"line":1648},2,[1638,1650,1652],{"class":1651},"s-m8C","  \"content-type\"",[1638,1654,1655],{"class":1644},": ",[1638,1657,1659],{"class":1658},"sCZoN","\"application/setfn-schema\"",[1638,1661,1662],{"class":1644},",\n",[1638,1664,1666,1669,1671,1674],{"class":1640,"line":1665},3,[1638,1667,1668],{"class":1651},"  \"dbType\"",[1638,1670,1655],{"class":1644},[1638,1672,1673],{"class":1658},"\"sqlite3\"",[1638,1675,1662],{"class":1644},[1638,1677,1679,1682],{"class":1640,"line":1678},4,[1638,1680,1681],{"class":1651},"  \"data\"",[1638,1683,1684],{"class":1644},": [\n",[1638,1686,1688],{"class":1640,"line":1687},5,[1638,1689,1690],{"class":1644},"    {\n",[1638,1692,1694,1697,1700,1703,1705,1708,1710,1713,1715,1718],{"class":1640,"line":1693},6,[1638,1695,1696],{"class":1651},"      \"table\"",[1638,1698,1699],{"class":1644},": { ",[1638,1701,1702],{"class":1651},"\"name\"",[1638,1704,1655],{"class":1644},[1638,1706,1707],{"class":1658},"\"user_profile\"",[1638,1709,1571],{"class":1644},[1638,1711,1712],{"class":1651},"\"schema\"",[1638,1714,1655],{"class":1644},[1638,1716,1717],{"class":1658},"\"public\"",[1638,1719,1720],{"class":1644}," },\n",[1638,1722,1724,1727],{"class":1640,"line":1723},7,[1638,1725,1726],{"class":1651},"      \"columns\"",[1638,1728,1684],{"class":1644},[1638,1730,1732],{"class":1640,"line":1731},8,[1638,1733,1734],{"class":1644},"        {\n",[1638,1736,1738,1741,1743,1746],{"class":1640,"line":1737},9,[1638,1739,1740],{"class":1651},"          \"name\"",[1638,1742,1655],{"class":1644},[1638,1744,1745],{"class":1658},"\"email\"",[1638,1747,1662],{"class":1644},[1638,1749,1751,1754,1756,1759],{"class":1640,"line":1750},10,[1638,1752,1753],{"class":1651},"          \"type\"",[1638,1755,1655],{"class":1644},[1638,1757,1758],{"class":1658},"\"varchar\"",[1638,1760,1662],{"class":1644},[1638,1762,1764,1767,1769,1772],{"class":1640,"line":1763},11,[1638,1765,1766],{"class":1651},"          \"len\"",[1638,1768,1655],{"class":1644},[1638,1770,1497],{"class":1771},"s7F3e",[1638,1773,1662],{"class":1644},[1638,1775,1777,1780,1782,1785],{"class":1640,"line":1776},12,[1638,1778,1779],{"class":1651},"          \"unique\"",[1638,1781,1655],{"class":1644},[1638,1783,1784],{"class":1771},"true",[1638,1786,1662],{"class":1644},[1638,1788,1790,1793,1795],{"class":1640,"line":1789},13,[1638,1791,1792],{"class":1651},"          \"notnull\"",[1638,1794,1655],{"class":1644},[1638,1796,1797],{"class":1771},"true\n",[1638,1799,1801],{"class":1640,"line":1800},14,[1638,1802,1803],{"class":1644},"        }\n",[1638,1805,1807],{"class":1640,"line":1806},15,[1638,1808,1809],{"class":1644},"      ],\n",[1638,1811,1813,1816,1818],{"class":1640,"line":1812},16,[1638,1814,1815],{"class":1651},"      \"label\"",[1638,1817,1655],{"class":1644},[1638,1819,1820],{"class":1658},"\"Benutzerprofil\"\n",[1638,1822,1824],{"class":1640,"line":1823},17,[1638,1825,1826],{"class":1644},"    }\n",[1638,1828,1830],{"class":1640,"line":1829},18,[1638,1831,1832],{"class":1644},"  ]\n",[1638,1834,1836],{"class":1640,"line":1835},19,[1638,1837,1838],{"class":1644},"}\n",[1165,1840,1841,1844,1845,1847],{},[1172,1842,1843],{},"dbType"," dient der Kompatibilität mit vorhandenen Dateien und legt die tatsächliche Laufzeitengine nicht fest. Die endgültige Engine und die Verbindungsinformationen legen Sie im Speicherschritt der ",[1172,1846,1174],{}," fest.",[1180,1849,1851],{"id":1850},"api-berechtigungen-sind-so-wichtig-wie-die-daten","API-Berechtigungen sind so wichtig wie die Daten",[1165,1853,1854],{},"Für jede API können Sie festlegen, ob eine Anmeldung erforderlich ist, welche Mindeststufe gilt, ob Administratoren oder Teams zugreifen dürfen und ob nur die eigenen Daten der erstellenden Person erlaubt sind.",[1588,1856,1857,1860,1863,1866],{},[1188,1858,1859],{},"Wenn die Listenabfrage personenbezogene Daten enthält, verwenden Sie keine öffentliche Berechtigung.",[1188,1861,1862],{},"Für benutzerbezogene Daten geben Sie eine Spalte an, die den Eigentümer kennzeichnet.",[1188,1864,1865],{},"Es ist sicherer, Bearbeiten und Löschen mit engeren Berechtigungen zu beginnen als das Abfragen.",[1188,1867,1868],{},"Prüfen Sie in der Berechtigungsübersicht auf dem Bildschirm, ob alle beabsichtigten Bedingungen angezeigt werden.",[1180,1870,1872],{"id":1871},"nach-dem-speichern","Nach dem Speichern",[1165,1874,1875,1876,1879,1880,1882],{},"Speichern Sie die Schemadatei mit der Schaltfläche Speichern oben links oder mit ",[1172,1877,1878],{},"Ctrl+S",". Jetzt können Sie in der ",[1172,1881,1174],{}," Endpunkte und Berechtigungen prüfen und in eine tatsächliche Datenbank bereitstellen.",[1165,1884,1885],{},"Legen Sie nach der Bereitstellung einen kleinen Datensatz an. Von dem Moment an, in dem die eben erstellte Struktur als API-Antwort zurückkommt, ist die Schemadatei kein bloßes Dokument mehr, sondern ein laufender Dienst.",[1180,1887,1889],{"id":1888},"hinweise","Hinweise",[1588,1891,1892,1895,1898],{},[1188,1893,1894],{},"Verwenden Sie in Tabellen- und Spaltennamen nur Kleinbuchstaben, Ziffern und Unterstriche (_).",[1188,1896,1897],{},"Bei vielen Spalten nutzen Sie die JSON-Bearbeitung oder den SQL-Import.",[1188,1899,1900],{},"Das Überschreiben eines Schemas mit vorhandenen Daten kann je nach Administratorrichtlinie untersagt oder nur Administratoren und Bereitstellungsverantwortlichen erlaubt sein.",[1180,1902,1904],{"id":1903},"nächste-schritte","Nächste Schritte",[1165,1906,1907,1908,1910],{},"Prüfen Sie jetzt unter ",[1241,1909,796],{"href":1243}," die Speicherengine und die Endpunkte und führen Sie Ihre erste API aus.",[1180,1912,1914],{"id":1913},"verwandte-dokumente","Verwandte Dokumente",[1588,1916,1917,1922,1926,1931],{},[1188,1918,1919],{},[1241,1920,882],{"href":1921},"./examples/realtime-gomoku",[1188,1923,1924],{},[1241,1925,796],{"href":1243},[1188,1927,1928],{},[1241,1929,817],{"href":1930},"./sql-converter",[1188,1932,1933],{},[1241,1934,801],{"href":1935},"./frontend-example",[1937,1938,1939],"style",{},"html pre.shiki code .sMOD_, html code.shiki .sMOD_{--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .s-m8C, html code.shiki .s-m8C{--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sCZoN, html code.shiki .sCZoN{--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#CFCFC2}html pre.shiki code .s7F3e, html code.shiki .s7F3e{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":1327,"searchDepth":1648,"depth":1665,"links":1941},[1942,1943,1944,1954,1955,1956,1957,1958],{"id":1182,"depth":1648,"text":1183},{"id":1208,"depth":1648,"text":1209},{"id":1248,"depth":1648,"text":1249,"children":1945},[1946,1947,1948,1953],{"id":1256,"depth":1665,"text":1257},{"id":1335,"depth":1665,"text":1336},{"id":1365,"depth":1665,"text":1366,"children":1949},[1950,1951,1952],{"id":1373,"depth":1678,"text":1374},{"id":1431,"depth":1678,"text":1432},{"id":1582,"depth":1678,"text":1583},{"id":1614,"depth":1665,"text":1615},{"id":1850,"depth":1648,"text":1851},{"id":1871,"depth":1648,"text":1872},{"id":1888,"depth":1648,"text":1889},{"id":1903,"depth":1648,"text":1904},{"id":1913,"depth":1648,"text":1914},"Erklärt, wie Sie in einer Schemadatei (.sfn) die Datenstruktur und die API-Berechtigungen entwerfen und als Webspace-Dienst bereitstellen.","md",{},true,{"title":1964,"description":1965,"ogType":1966,"twitterCard":1967,"keywords":1968},"Schemadatei (.sfn) erstellen | Webspace Docs","Erfahren Sie, wie Sie mit KI, SQL-Import und dem Bearbeitungsbildschirm eine Schemadatei für Webspace erstellen.","article","summary_large_image",[1228,1969,755,1970,1971,1972,1973],"API","DB","Schemadatei anlegen","KI-Schema","SQL-Import","PA4ni77j7fX1AVHJ065i5j569YhmLiA6C-_7I1XkO4M",[1976,1977],{"title":786,"path":787,"stem":788,"slug":789,"children":-1},{"title":796,"path":797,"stem":798,"slug":799,"children":-1},{"title":791,"filename":1979,"content":1980},"create-database","# Schemadatei (.sfn) erstellen\n\nDer Spaß mit Webspace beginnt mit einer einzigen kleinen Datei. Legen Sie in einer Schemadatei (.sfn) fest, welche Daten gespeichert werden und wer darauf zugreifen darf, und stellen Sie sie bereit: Datenbank und APIs stehen dann gemeinsam bereit. Darauf aufbauend können Sie einen Dienst erstellen, in dem Eingaben aus einem Bildschirm tatsächlich gespeichert werden und in Echtzeit auf den Bildschirmen anderer Benutzer erscheinen.\n\nDie Schemadatei ist der Bauplan Ihres Dienstes. Beim Speichern der Datei ändert sich die tatsächliche Datenbank noch nicht; erst durch die Bereitstellung in der `API-Erstellung` wird sie in die Laufzeitumgebung übernommen.\n\n---\n\n## Ablauf der Erstellung\n\n1. Erstellen Sie eine Schemadatei.\n2. Legen Sie Tabellen und Spalten an.\n3. Prüfen Sie die Zugriffsberechtigungen je API.\n4. Wählen Sie eine Speicherengine und stellen Sie bereit.\n5. Rufen Sie die erzeugten APIs aus HTML oder einer App auf.\n\nSie müssen nicht von Anfang an alles vollständig ausarbeiten. Am leichtesten verständlich ist es, mit einer kleinen Tabelle zu beginnen, auf einem echten Bildschirm Daten einzugeben und anschließend Struktur und Berechtigungen nach Bedarf zu erweitern.\n\n## Neue Schemadatei erstellen\n\nWählen Sie im Arbeitsbereich `Erstellen` > `Vorlagendateien` > `Neues Schema (DB)`.\n\n![Schemadatei erstellen](./_screenshots/new-schema_en.png)\n\nGeben Sie einen Dateinamen ein und speichern Sie; die Schemadatei wird angelegt.\n![Schemadatei](./_screenshots/schema-file-first_en.png)\n\nIn diesem Schritt wählen Sie noch keine Datenbankengine. Erstellen Sie zuerst die Datenstruktur und wählen Sie dann im [Bereitstellungsschritt](./24.api-overview.md) die tatsächliche Speicherengine aus SQLite3, PostgreSQL, MySQL oder MariaDB.\n\n## Datenstruktur erstellen\n\nSie können die Struktur von Grund auf selbst anlegen oder mit KI einen Entwurf erstellen und diesen verfeinern. Wenn Sie bereits SQL verwenden, können Sie es importieren und damit starten.\n\n### 1. Entwurf mit KI erstellen\n\nSie müssen nicht alle Tabellenbegriffe kennen. Beschreiben Sie zuerst, welche Informationen Sie mit wem verwalten möchten, und die KI erstellt eine Struktur, mit der Sie beginnen können.\n![Schemaentwurf mit KI erstellen](./_screenshots/schema-file-ai-copy-button_en.png)\n\n1. Klicken Sie auf die Schaltfläche `KI-Prompt kopieren`.\n2. Fügen Sie den kopierten Prompt in das Chatfenster des KI-Dienstes ein, den Sie verwenden.\n   ![In den KI-Prompt einfügen](./_screenshots/schema-paste-to-ai.png)\n3. Beschreiben Sie ganz unten in der Anleitung unter `## Anfrage` den Dienst, den Sie erstellen möchten.\n\n   > Beispiel: Verwalte Patentname, Anmeldenummer, zuständige Person und Bearbeitungsstatus, und erlaube nur der zuständigen Person und Administratoren das Bearbeiten.\n\n4. Kopieren Sie das von der KI erzeugte JSON und fügen Sie es im Importbildschirm ein.\n   ![Schema importieren](./_screenshots/schema-load_en.png)\n5. Wenn Sie die Schaltfläche `Importieren` drücken, wird die Tabellenstruktur wie in der Abbildung unten im Schema angelegt.\n   ![Schemabeispiel](./_screenshots/schema-example_en.png)\n\nDie kopierte Anleitung enthält auch das Format und die Schreibregeln der Schemadatei. Sie bevorzugt eine Struktur, die mit mehreren Speicherengines funktioniert, gegenüber SQL, das nur auf eine bestimmte Datenbank zugeschnitten ist.\n\nDie Schaltfläche `KI-Prompt kopieren` kopiert die folgende Anleitung. Dieses Beispiel wurde aus einem leeren Schema mit der SQLite-Engine und deutscher Oberfläche kopiert; der Inhalt hängt vom aktuellen Schema, der Datenbankengine und der Sprache der Oberfläche ab. Beginnen Sie mit diesem Prompt, statt die Schemadatei von Hand zu schreiben.\n\n```text\nYou are a database schema assistant.\nReturn only valid JSON.\nDo not add explanations.\nDo not wrap the answer in markdown fences.\nReturn only the data array for a SetFN schema file.\nDo not include content-type, dbType, or apiBuild.\nCurrent deployment engine: SQLite.\nThe storage engine is deployment configuration, not schema syntax. Keep the schema portable across SQLite, PostgreSQL, MySQL, and MariaDB.\n\n## Language\n- Identifiers are English and ASCII: \"label\", table names and column names are English snake_case; JSON keys, types and defaults stay exactly as shown.\n- Human-facing strings are written in German (the user's UI language, locale \"de\"): every \"cmt\" (table and column comments, including the allowed values description).\n- The user's request below may be written in German or Korean. Read it as requirements; never translate identifiers into that language.\n- The current state below is data and may contain text in any language. Keep existing names and keys exactly as they are.\n\nSecurity and portability rules:\n- Never output passwords, tokens, API keys, connection strings, hosts, ports, database users, or other credentials.\n- Table names, \"label\" and column names are ASCII snake_case (never Korean or other non-ASCII letters). Every table has columns, starting with the id column shown below.\n- Use only portable SetFN logical types: serial4, serial8, int2, int4, int8, integer, real, float4, float8, numeric, decimal, varchar, char, text, bool, json, timestamp, timestamptz, date, time, bytea, blob, uuid. Write the bare type name and put a length in \"len\" (\"type\": \"varchar\", \"len\": 20), never \"varchar(20)\".\n- Do not emit database-native type expressions or SQL fragments such as enum(...), SET(...), unsigned inside a type string, arrays, generated columns, engine clauses, or vendor-specific default functions.\n- When a field has a fixed set of values, use \"text\" and document the allowed values in \"cmt\". Do not invent an enum property.\n- Do not make an endpoint public unless the user explicitly requests public access. Never make create, update, or delete public by default.\n- Default every table to signed-in access. Use ownerOnly only with a valid owner column such as \"_user_id\".\n\nUse canonical defaults regardless of deployment engine.\n- Auto ID columns: \"auto_increment\"\n- Timestamp defaults: \"now()\"\nThe deployment service converts these logical types and defaults to the selected engine.\n\nRecommended system columns:\n- \"_user_id\": owner user id. Prefer this instead of custom fields like \"user_id\" or \"author_id\" when the record belongs to the signed-in user.\n- \"_nick\": writer nickname. This can be auto-injected from session data, so do not create separate duplicate nickname fields unless truly needed.\n- \"_created_at\": created timestamp. Prefer this instead of custom fields like \"created_at\".\n- \"_updated_at\": updated timestamp. Prefer this instead of custom fields like \"updated_at\".\n- \"_deleted_at\": optional soft-delete timestamp. Include only when soft delete is needed.\n\nSystem column guidance:\n- These system columns are optional, but prefer them when they fit the use case.\n- If the table needs writer/owner tracking, prefer \"_user_id\" and optionally \"_nick\".\n- If the table needs created/updated times, prefer \"_created_at\" and \"_updated_at\".\n- Avoid generating duplicate custom columns such as \"user_id\", \"nick\", \"created_at\", or \"updated_at\" when the matching system columns can be used.\n- It is okay to omit system columns if the requested schema clearly does not need them.\n\nTurn-based board game contract:\n- Apply this only when the user asks for a turn-based board game such as a line-connection game.\n- Create three portable tables whose names may match the user's game: a games table, a moves table, and a players table.\n- The games table must contain: id, room_code (unique), status, black_user_id, white_user_id, current_turn, winner_user_id, result, move_count, board_size, win_length, black_time_ms, white_time_ms, turn_started_at, finish_reason, finished_at, _created_at, _updated_at.\n- The moves table must contain: id, game_id (indexed), move_no, user_id, stone, row, col, result, _created_at. Make (game_id, row, col) unique when the schema format supports it.\n- The players table must contain: id, user_id (unique), nickname, wins, losses, draws, score, _updated_at.\n- Use portable logical types and defaults. Do not add an eventProcessor field to table data. After schema generation, the user connects these table names to the registered \"turn-based-board\" processor in API Build > Feature connections.\n- Do not invent processor IDs or game-specific server handlers.\n\nRequired shape:\n[\n  {\n    \"label\": \"users\",\n    \"table\": { \"name\": \"users\", \"cmt\": \"Members\" },\n    \"columns\": [\n      {\n        \"name\": \"id\",\n        \"type\": \"serial4\",\n        \"notnull\": true,\n        \"primary\": true,\n        \"index\": false,\n        \"unique\": false,\n        \"default\": \"auto_increment\",\n        \"cmt\": \"PK\"\n      },\n      {\n        \"name\": \"_user_id\",\n        \"type\": \"int4\",\n        \"notnull\": true,\n        \"index\": true,\n        \"unique\": false,\n        \"default\": null,\n        \"cmt\": \"Owner ID (injected from the session)\"\n      },\n      {\n        \"name\": \"_created_at\",\n        \"type\": \"timestamp\",\n        \"notnull\": false,\n        \"index\": false,\n        \"unique\": false,\n        \"default\": \"now()\",\n        \"cmt\": \"Created at\"\n      }\n    ],\n    \"permissions\": {\n      \"security\": { \"login\": true, \"ownerColumn\": \"_user_id\" },\n      \"ops\": {\n        \"list\": { \"login\": true },\n        \"view\": { \"login\": true },\n        \"create\": { \"login\": true },\n        \"update\": { \"login\": true, \"ownerOnly\": true },\n        \"delete\": { \"login\": true, \"roles\": [\"admin\"] }\n      }\n    }\n  }\n]\n\nExample \"cmt\" values are English only to show the shape; follow the Language rules for real values.\n\nCurrent data:\n[]\n\n## Ergebnis\nAntworten Sie nur mit dem data-Array als JSON im obigen Format. Schreiben Sie für Menschen lesbare Texte wie Beschreibungen, Labels und Hinweise auf Deutsch.\n\n## Anfrage\n[Beschreiben Sie hier das Schema, das Sie erstellen oder ändern möchten]\n```\n\nDas KI-Ergebnis ist nur ein Entwurf. Prüfen Sie vor der Bereitstellung selbst, ob die Namen verständlich sind, ob personenbezogene Daten enthalten sind und wer die Daten abfragen und bearbeiten darf.\n\n### 2. SQL importieren\n\nUnter `Importieren` > `SQL` können Sie vorhandene `CREATE TABLE`-Anweisungen einfügen. Die wichtigsten Typen, Standardwerte, Indizes und Einschränkungen von SQLite, PostgreSQL und MySQL/MariaDB werden gelesen und in die Struktur der Schemadatei umgewandelt.\n\nWenn Sie im Arbeitsbereich eine SQL-Datei geöffnet haben, können Sie auch `In SetFN-Schema umwandeln` verwenden. Unabhängig vom gewählten Weg gelten dieselben Umwandlungsregeln.\n\n::warning\nDatenbankspezifische Typen, Funktionen, Trigger, Partitionen und gespeicherte Prozeduren werden möglicherweise nicht unverändert übernommen oder ändern ihre Bedeutung. Prüfen Sie das Umwandlungsergebnis und die Warnungen und verifizieren Sie es anschließend erneut mit der Speicherengine, die Sie verwenden werden.\n::\n\n### 3. Direkt auf dem Bildschirm erstellen\n\nIm tabellenförmigen Bearbeitungsbildschirm können Sie Tabellen und Spalten einzeln hinzufügen.\n\n#### Tabelle hinzufügen\n\n![Tabelle/Spalte hinzufügen](./_screenshots/schema-add-table-column_en.png)\nKlicken Sie oben im Hauptbildschirm auf die Schaltfläche `Tabelle hinzufügen`. Geben Sie die Tabelleninformationen ein.\n\n| Element    | Beschreibung                                                          |\n| ---------- | --------------------------------------------------------------------- |\n| Table Name | Tabellenname, der auch in der API-Adresse verwendet wird (z. B. user_profile) |\n| Explain    | Für Benutzer leicht verständliche Beschreibung der Tabelle           |\n| Schema     | Name des Datenbankschemas (z. B. public)                              |\n\n#### Spalte hinzufügen\n\nKlicken Sie auf die Schaltfläche `Hinzufügen` und wählen Sie `Oben hinzufügen` oder `Unten hinzufügen`; der Spaltenliste wird eine neue Zeile (row) hinzugefügt.\nEine Zeile entspricht einer Spalte.\n\nSie können die folgenden Elemente festlegen.\n\n| Element     | Beschreibung                      | Beispiel             |\n| ----------- | --------------------------------- | -------------------- |\n| Column Name | Spaltenname                       | user_id, email       |\n| Type        | Datentyp                          | varchar, int, bool   |\n| Length      | Datenlänge                        | 255                  |\n| Comment     | Beschreibung der Spalte           | Benutzername         |\n| Default     | Standardwert                      | auto_increment, NULL |\n| Unsigned    | Ob nur positive Zahlen erlaubt sind | -                  |\n| Index       | Ob ein Index gesetzt wird         | -                    |\n| Unique      | Ob ein eindeutiger Wert gesetzt wird | -                 |\n| Not null    | Ob die Eingabe erforderlich ist   | -                    |\n\nIm Menü `Systemspalten` können Sie häufig verwendete Spalten wie `_user_id`, `_nick` und `_created_at` auswählen und hinzufügen, mit denen Benutzer und Erstellungszeitpunkt erfasst werden.\n\n#### Spalte kopieren und löschen\n\nKlicken Sie mit der rechten Maustaste auf eine Spalte, um das Kontextmenü zu öffnen.\n\n- Kopieren und einfügen: Wählen Sie `Kopieren und oberhalb der Auswahl einfügen`, `Kopieren und unterhalb der Auswahl einfügen`, `Kopieren und ganz oben einfügen` oder `Kopieren und ganz unten einfügen`, um eine Spalte mit denselben Eigenschaften wie die ausgewählte Spalte hinzuzufügen.\n- `Ausgewählte Zeile löschen`: Löscht die ausgewählte Spalte.\n\n### 4. Als JSON bearbeiten\n\n![Schema-Editor](./_screenshots/schema-editor_en.png)\nWenn Sie oben rechts auf der Seite `Editor` wählen, können Sie die gesamte Struktur als JSON schreiben. JSON und der tabellenförmige Bearbeitungsbildschirm verwenden denselben Inhalt, sodass Sie je nach Bedarf zwischen beiden wechseln und bearbeiten können.\n\nUnten sehen Sie ein einfaches Beispiel eines Benutzerprofils, das eine E-Mail-Adresse speichert.\n\n```json\n{\n  \"content-type\": \"application/setfn-schema\",\n  \"dbType\": \"sqlite3\",\n  \"data\": [\n    {\n      \"table\": { \"name\": \"user_profile\", \"schema\": \"public\" },\n      \"columns\": [\n        {\n          \"name\": \"email\",\n          \"type\": \"varchar\",\n          \"len\": 255,\n          \"unique\": true,\n          \"notnull\": true\n        }\n      ],\n      \"label\": \"Benutzerprofil\"\n    }\n  ]\n}\n```\n\n`dbType` dient der Kompatibilität mit vorhandenen Dateien und legt die tatsächliche Laufzeitengine nicht fest. Die endgültige Engine und die Verbindungsinformationen legen Sie im Speicherschritt der `API-Erstellung` fest.\n\n## API-Berechtigungen sind so wichtig wie die Daten\n\nFür jede API können Sie festlegen, ob eine Anmeldung erforderlich ist, welche Mindeststufe gilt, ob Administratoren oder Teams zugreifen dürfen und ob nur die eigenen Daten der erstellenden Person erlaubt sind.\n\n- Wenn die Listenabfrage personenbezogene Daten enthält, verwenden Sie keine öffentliche Berechtigung.\n- Für benutzerbezogene Daten geben Sie eine Spalte an, die den Eigentümer kennzeichnet.\n- Es ist sicherer, Bearbeiten und Löschen mit engeren Berechtigungen zu beginnen als das Abfragen.\n- Prüfen Sie in der Berechtigungsübersicht auf dem Bildschirm, ob alle beabsichtigten Bedingungen angezeigt werden.\n\n## Nach dem Speichern\n\nSpeichern Sie die Schemadatei mit der Schaltfläche Speichern oben links oder mit `Ctrl+S`. Jetzt können Sie in der `API-Erstellung` Endpunkte und Berechtigungen prüfen und in eine tatsächliche Datenbank bereitstellen.\n\nLegen Sie nach der Bereitstellung einen kleinen Datensatz an. Von dem Moment an, in dem die eben erstellte Struktur als API-Antwort zurückkommt, ist die Schemadatei kein bloßes Dokument mehr, sondern ein laufender Dienst.\n\n## Hinweise\n\n- Verwenden Sie in Tabellen- und Spaltennamen nur Kleinbuchstaben, Ziffern und Unterstriche (\\_).\n- Bei vielen Spalten nutzen Sie die JSON-Bearbeitung oder den SQL-Import.\n- Das Überschreiben eines Schemas mit vorhandenen Daten kann je nach Administratorrichtlinie untersagt oder nur Administratoren und Bereitstellungsverantwortlichen erlaubt sein.\n\n## Nächste Schritte\n\nPrüfen Sie jetzt unter [APIs erstellen und Datenbank bereitstellen](./24.api-overview.md) die Speicherengine und die Endpunkte und führen Sie Ihre erste API aus.\n\n## Verwandte Dokumente\n\n- [Echtzeit-Gomoku-Spiel erstellen](./60.examples/20.realtime-gomoku.md)\n- [APIs erstellen und Datenbank bereitstellen](./24.api-overview.md)\n- [SQL importieren und exportieren](./42.sql-converter.md)\n- [Frontend-Beispiel ansehen](./26.frontend-example.md)\n",1793056575549]