Manual · 2

Getting started

Starting

make run          # builds the admin app + server and starts on port 8080

Or with a ready-made binary:

./illusioncms -addr :8080 -data ./data

Open http://localhost:8080/cms-admin. On the very first start you create the admin login (username, password with at least 8 characters). After that you sign in with these credentials.

A new installation has no pages yet – until then, every address, including /, returns the 404 page. Under Pages you create your first website with + Create website, or take over an existing one via import.

All content lives in the data folder (./data): the database illusion.db and the uploads under media/. More on this in Operation.

Trying out the demo website

To get to know it, IllusionCMS comes with a ready-made demo: two example websites (Bäckerei Morgenrot with an English subtree and Kulturverein Lindenhof), the page builder with blocks and a global block, Collections with all field types, a REST source, Workflows including a custom node, Pens, redirects and sample files.

  • During setup: When creating the first admin account, tick Also install the demo website (off by default). After a few seconds the demo is imported, and the REST source automatically points to the address under which you opened the admin. The checkbox only appears during setup and only in builds with an embedded demo – the release binaries always have it, self-built ones only after scripts/build-demo.sh (or make demo).
  • As a download: Every release also contains the demo as the file illusioncms-vX.Y.Z-demo.icb. Import it into a fresh instance as a bundle under Settings → Synchronization – note that a bundle replaces the complete content (IllusionCMS creates a backup first). Afterwards the REST source termine-api points to the placeholder http://demo.invalid: under REST sources, enter the address of your instance, e.g. http://localhost:8080/api/v1/collections/termine/items. The sample request in the live Collection Anfragen is only included if you tick Also take over the entries of Collections with live data from the bundle when importing.

The second website has the domain lindenhof.localhost; Chrome and Firefox open it locally at http://lindenhof.localhost:8080/, on a server you enter a domain of your own. Once you no longer need the demo, delete the websites under Pages (then Clean up removes the unused files) or replace everything with a bundle of your own.

The admin at a glance

  • Main menu (left): Pages, Statistics, CSS & JS, Snippets, Files, Collections, REST sources, Workflows, Pens, Import, Redirects, Manual, Settings. At the very bottom sit Appearance (Light/Dark/System), Language (flag) and the arrow for collapsing the menu into a narrow icon bar. When the window is short, only the list of menu items scrolls.
  • Search (at the top of the menu, Ctrl+K from anywhere – even from the code editor): the command palette. Type, Enter, done – it finds pages (title or path), websites, Snippets, CSS/JS, Collections, Workflows, REST sources and sections of the manual and API docs, and can run a few actions (clear cache, open website, sign out). Without a search term it shows the most recently opened results.
  • Instance (at the very top of the menu): Local or a saved connection to another server – the whole admin then works live with that server (see Multiple instances).
  • Settings are divided into sections that you select on the left (also via Ctrl+K, e.g. “Settings: API tokens”): Synchronization (bundles, syncing with a server, backups – see Bundles), Connections, Users, API tokens, My account (password) and System (admin switch, country data for the statistics, installed version, uptime, page cache).
  • Open website opens the public site in a new tab. With several websites, a selection appears. If the admin runs under the domain of a website, the others open via their own domain – websites without a domain are then grayed out, because the admin’s domain always takes precedence.
  • You can recognize unsaved changes by the orange dot (on the Save button and on the tabs). When you leave, the CMS asks for confirmation.
  • History: Pages, Snippets, CSS/JS files and Workflows have a History button. Before every save, the CMS backs up the previous state (saving several times within 2 minutes counts as one editing session, at most 100 versions). In the history you see the HTML/Head or code of each version and which fields differ from the current one; Restore brings it back – the current state is backed up itself beforehand. For pages, the URL and publication status stay as they are. A re-import that overwrites an edited page also leaves a version behind.
  • Edited at the same time? If someone else (or you in a second tab) saved a page, a Snippet, a CSS/JS file, a Workflow or a Collection entry after you opened it, the CMS asks when you save instead of silently overwriting those changes.

Your first page

  1. Pages → (the first time, + Create website) → select the home page → + Page.
  2. Enter a title; the slug (URL part) is suggested automatically. If there are page layouts, choose one – otherwise you get an empty page with a heading.
  3. Write in the HTML tab – the live preview on the right updates as you type.
  4. Check Published, save with Ctrl+S.