Download the PHP package medienreaktor/neos-studio without Composer

On this page you can find all versions of the php package medienreaktor/neos-studio. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package neos-studio

Medienreaktor.NeosStudio

A revolutionary, blazingly fast, collaborative (multiplayer!) editing UI for Neos 9. Built from scratch on a clean HTTP API — fully independent of Neos.Neos.Ui, free to make its own architectural choices. This is what content editing in Neos can feel like: instant, fluid, together with your team, and open for extension from day one.

Neos Studio is a modern single-page application (Vite + React + TypeScript + TanStack Query + Tailwind CSS v4) that talks to Neos exclusively through Medienreaktor.NeosApi — a unified OAuth-secured REST API over the Event-Sourced Content Repository. No Fusion-rendered backend modules, no shared React runtime with the classic UI — just a fast, typed, cache-smart client in front of a well-defined, documented API.

Why a new UI? The classic Neos UI is a great piece of engineering that has served editors well for years — and Studio owes a lot to the ideas it pioneered. But some of its 2016-era architectural constraints are hard to move past today: the plugin API ties extensions to React 16, and the internal wire protocol was never designed as a public contract. Neos Studio starts from a different premise: an API-first backend, a lean modern frontend, and extensibility through observable registries that are the public contract. It grows alongside the classic UI, adopting editing surfaces one at a time.

Highlights

🤝 Collaborative editing — multiplayer for Neos

Edit together in the same workspace, live. Every shared workspace offers a Collaborative entry in the workspace switcher: pick it, and you and your colleagues edit the same content directly — no personal-workspace detours, no publish-to-see-each-other, no conflicts to untangle afterwards.

🗂️ Task workflow — feature branches for content

Content work, organized like code: every task is a feature branch. Creating a task spins up a workspace of its own, so an editor can pick a task up, check it out, do the work and send it to review — without touching live or stepping on anyone else's changes.

🔐 Access roles — restrict who reaches what

Dynamic, editable access roles: name a set of restrictions and assign editors to it, in the UI, without touching Policy.yaml or deploying anything. What the classic distributions solved with Sandstorm.NeosAcl, rebuilt for Neos 9 — where the node-level privilege targets that approach relied on no longer exist.

⚡ Blazingly fast, everywhere

🧩 Dockable panel system

The entire workspace is built from panels: document tree, content outliner, inspector, media browser, node creation, clipboard, preview — every surface is a panel that can be docked, resized and toggled. Panels live in a PanelRegistry, which means third-party packages register their own panels into the same layout system the built-in ones use. Your panel is a first-class citizen, not an iframe in a corner.

✍️ Lightweight inline Rich Text Editing

Inline editing runs on TipTap 3 — a lean, headless, ProseMirror-based editor instead of a monolithic CKEditor build. The RTE lives inside the preview iframe with a floating toolbar, driven by a guest-side formatting registry, so what you edit is exactly what renders. The same normalized formatting engine powers the inspector's rich-text editor, and the shared Link Editor (with a pluggable tab registry) handles links in both the RTE and the inspector's link fields.

🖱️ Context menus and drag & drop

🔍 A complete, extensible inspector

Full parity with the classic inspector — and then some:

🌐 Full editing environment

🔌 Extensible by design — registries all the way down

Extensibility isn't bolted on; it's the architecture. Studio's building blocks are observable registries:

Registry What you can add
Panels Whole new workspace surfaces, docked anywhere
Inspector editors Custom property editors for any node type property
Inspector views Custom read-only views and widgets
Validators Custom client-side validation
Link editor tabs New link source types in the shared link modal
Modals App-level dialogs
Workspace decorators Badges and grouping for workspaces in the switcher and administration (this is how task branches get their status colors)
Node decorators Per-node visuals on every tree row: replace the type icon, layer badge overlays onto it, tint or dim the whole row (this is how hidden nodes dim and deleted nodes get their red badge)
Keyboard shortcuts App-wide shortcuts alongside the built-in ones

Third-party packages ship a small IIFE bundle that binds to the shell's public plugin API (window.NeosStudio — React instance, useStudio() app state, and all registries) with full TypeScript types generated from the shell's own source. The shell injects your bundle via a single Settings.yaml entry — no build-system fusion, no webpack surgery, no version lock-in dance. Registration is late-bindable and observable: register, and the UI re-renders.

Start here: Medienreaktor.NeosStudio.ExamplePlugins — a copy-me boilerplate that registers an example panel, a custom inspector editor (a color picker) and a node decorator from a completely separate package.

The package family

Package What it is
Medienreaktor.NeosApi The foundation: OAuth 2.1 (PKCE, refresh token rotation, client credentials, dynamic registration), a read API over the ContentGraph, a write API for CR commands with batching and idempotency, workspace publishing, media API, data sources. Feature-based endpoint policy per role, structural content authorization through the CR itself. Useful far beyond Studio — for integrations, importers and MCP servers.
Medienreaktor.NeosStudio (this package) The editing UI built on that API.
Medienreaktor.NeosStudio.ExamplePlugins Plugin boilerplate: example panel + example inspector editor, with the full build setup for extending Studio from your own package.

Getting started

Requires Neos ^9.1, PHP ^8.2 and Node 22 (pinned via .nvmrc) for building the frontend.

Open /neos/studio and log in with your Neos backend account. That's it — Studio lazily provisions its own OAuth client on first load; there is nothing to configure.

The realtime sidecar (optional)

Multiplayer needs no extra infrastructure — but it can use some. Resources/Private/Realtime/ ships a small Hocuspocus WebSocket server that upgrades Studio's collaboration transport from HTTP polling to push. Without it, everything keeps working: collaboration falls back to plain HTTP polling against the Neos API (2s change feed, 5s presence heartbeat). The fallback is also automatic at runtime — while the sidecar is unreachable, connected Studios poll; when it comes back, they stop.

One WebSocket per editing session (document name workspace:<name>):

Authentication

Two credentials, deliberately separate:

Running

Variable Default Purpose
PORT 1234 Listen port
NEOS_BASE_URL http://127.0.0.1:8080 Base URL of the Neos installation
NEOS_HOST_HEADER (none) Host header override for internal hostnames
REALTIME_SHARED_SECRET (required) Must equal Medienreaktor.NeosStudio.realtime.sharedSecret
FEED_INTERVAL_MS 1000 Feed tail cadence per active workspace

Then point the Studio at it:

TLS termination is expected to happen in front (reverse proxy); the sidecar itself speaks plain WS/HTTP.

Development

The SPA sources live in Resources/Private/Studio/ (Vite, src/, index.html); the build output goes to Resources/Public/Studio/. The realtime sidecar lives next to it in Resources/Private/Realtime/ (plain Node, no build step).

Conventions: every query key comes from api/keys.ts (never inline literals); one hook file per API resource; feature folders own their UI and hooks; @/ aliases src/. Styling is Tailwind v4 (CSS-first config) mapped onto the shadcn token contract with the official Neos palette; primitives are Base UI (@base-ui/react), not Radix.

npm run dev starts the Vite dev server for fast iteration; end-to-end auth is tested against the built-and-served shell at /neos/studio (the OAuth redirect URIs are bound to that origin).

License

Neos Studio is free software, released under the GNU General Public License, version 3 or later.

Copyright (C) 2026 medienreaktor GmbH


Built by medienreaktor with ❤️ for the Neos community. Feedback, issues and plugin experiments very welcome — this is where the Neos editing experience is headed. Come shape it.


All versions of neos-studio with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
neos/neos Version ^9.1
medienreaktor/neos-api Version ^1.14.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package medienreaktor/neos-studio contains the following files

Loading the files please wait ...