Sources
The source picker sits in the top bar and is easy to miss, yet it decides what
every page below it is reading. A source is where the console fetches this
project's dcupl.lc.json from.
flowchart LR P["Source picker"] --> C["dcupl.lc.json<br/>from that source"] C --> R["Models · Data · Applications<br/>everything below"]
The models, data and applications the project shows you are the ones that one file declares. Change the file, and the workspace changes with it.
Two kinds of source
- dcupl Cloud — a version of this project, hosted by dcupl. Every version you create shows up in the picker as its own source. This is the normal way to work, and it is what the CLI pushes to and pulls from.
- Url — anywhere else. A URL source points at any host that serves a
dcupl.lc.jsonand the resources it declares: a CDN, a static bucket, a colleague's preview build.
Owners and editors manage sources under Project Settings → Sources. A source
has a Name, a Type (dcupl Cloud or Url), a Version (dcupl Cloud) or
Base Url (Url), a Loader File Name (default dcupl.lc.json),
Variables, and for a Url source Request Headers. The versions of the
project are listed there as read-only System Sources. Set default Source
picks the source a project opens on from the project list. Your plan caps the
number of sources: 2 on Community, 3 on Basic, 5 on Business. The built-in
sources count toward the cap, so a new Community project has no free slot.
Localhost via dcupl serve
Local development is a URL source that happens to point at your own machine.
Every project already has one: dcupl CLI / Localhost, pointing at
http://localhost:8083, the port dcupl serve uses by default. Run
dcupl serve in your workspace and pick that source; the console then reads the
files on your disk instead of the cloud. If you serve on another port, edit the
source's URL under Project Settings → Sources. The Getting Started card on
the project dashboard has the exact commands.
dcupl serve listens on 127.0.0.1 and lets the dcupl Console read and edit
the served files. A self-hosted Console (for example on
https://console.example.com) can only read; to edit from it, start the server with
dcupl serve --allow-origin https://console.example.com, or paste the file-edit
token that dcupl serve prints at startup (x-dcupl-serve-token) into the
dialog the console shows when serve refuses an edit. The token stays in that
browser tab and is sent only to that serve; a restarted serve prints a new one,
and the console asks again. The console sends the token and offers the dialog
only for a serve on this machine, so a dcupl serve --host on another machine
cannot be edited from the console: edit the files on that machine. The flags
are listed under CLI commands.
If a URL source fails to load, the console says so directly with a Dev Server
not started error — the usual cause is that dcupl serve is not running. A
cloud source that cannot be reached fails quietly instead, because an empty
version is a normal state.
Switching reloads the project around the source
The source is part of the page address, not in-memory state. The workspace URL carries both the project and the source, so picking another source is a navigation: the console rebuilds its dcupl instance, re-fetches the loader config, and re-derives the whole workspace from it. You get different files and different applications, not a filtered version of the same ones.
That also makes a workspace link precise. Sharing a console URL shares the source it was opened on.
What needs a cloud or local source
Some features cannot run against an arbitrary URL, because they need a project the console can write to and deploy from:
- The file editor works on any dcupl Cloud source and on a URL source whose
address contains
://localhost. A URL source on127.0.0.1does not count as local. - Workflows and REST APIs are enabled in the sidebar only while the draft version is the selected source. On any other source, localhost included, their entries are greyed out.
Both sidebar entries are also shown only to owners and editors. They are on for new projects; if either entry is missing, ask your dcupl contact to turn it on for your project. If an entry is there but greyed out, check the picker before anything else.