Concepts, value, and typical clone scenarios — less code.
Concepts, value, and typical clone scenarios — less code.
Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Підготовка контенту платформи Ring
Ring Platform ships a TipTap scientific publication editor for structured long-form work (research notes, technical articles, cooperative reports). It is not the news ArticleEditor — news uses a leaner TipTap NewsEditor with slash commands, embeds, and community revise. See News Module.
Use the Founder / Developer tabs in the docs sidebar to filter this page.
TipTap news authoring, My News, and pending-revision amendments.
next-intl bundles including editor.json.
Tunnel transport — foundation for gated publication CRDT collab.
| Concern | Scientific Editor | News TipTap NewsEditor |
|---|---|---|
| Content store | Publications TipTap JSON (publications collection) | News HTML string (news.content) |
| Route | Authenticated /editor | /news/create, admin news, /news/[slug]/revise |
| Math / citations | LaTeX + citation detector | Not included |
| Version history | publication_versions API + panel | Side-channel news_revisions (community propose) |
Slash / menu | Toolbar-first today | Notion-style slash shipped |
| Live CRDT |
Use the Scientific Editor when your community needs papers and long technical docs with equations, citations, and snapshot/restore. Use News for newspaper-style articles, embeds, Mood Player, and community revise on published posts.
Typical flow: open /editor → write → autosave creates/updates a publication → snapshot versions when you need a restore point → publish when your product workflow allows.
Ring Platform ships a TipTap scientific publication editor for structured long-form work (research notes, technical articles, cooperative reports). It is not the news ArticleEditor — news uses a leaner TipTap NewsEditor with slash commands, embeds, and community revise. See News Module.
Use the Founder / Developer tabs in the docs sidebar to filter this page.
TipTap news authoring, My News, and pending-revision amendments.
next-intl bundles including editor.json.
Tunnel transport — foundation for gated publication CRDT collab.
| Concern | Scientific Editor | News TipTap NewsEditor |
|---|---|---|
| Content store | Publications TipTap JSON (publications collection) | News HTML string (news.content) |
| Route | Authenticated /editor | /news/create, admin news, /news/[slug]/revise |
| Math / citations | LaTeX + citation detector | Not included |
| Version history | publication_versions API + panel | Side-channel news_revisions (community propose) |
Slash / menu | Toolbar-first today | Notion-style slash shipped |
| Live CRDT |
Use the Scientific Editor when your community needs papers and long technical docs with equations, citations, and snapshot/restore. Use News for newspaper-style articles, embeds, Mood Player, and community revise on published posts.
Typical flow: open /editor → write → autosave creates/updates a publication → snapshot versions when you need a restore point → publish when your product workflow allows.
Ring Platform ships a TipTap scientific publication editor for structured long-form work (research notes, technical articles, cooperative reports). It is not the news ArticleEditor — news uses a leaner TipTap NewsEditor with slash commands, embeds, and community revise. See News Module.
Use the Founder / Developer tabs in the docs sidebar to filter this page.
TipTap news authoring, My News, and pending-revision amendments.
next-intl bundles including editor.json.
Tunnel transport — foundation for gated publication CRDT collab.
| Concern | Scientific Editor | News TipTap NewsEditor |
|---|---|---|
| Content store | Publications TipTap JSON (publications collection) | News HTML string (news.content) |
| Route | Authenticated /editor | /news/create, admin news, /news/[slug]/revise |
| Math / citations | LaTeX + citation detector | Not included |
| Version history | publication_versions API + panel | Side-channel news_revisions (community propose) |
Slash / menu | Toolbar-first today | Notion-style slash shipped |
| Live CRDT |
Use the Scientific Editor when your community needs papers and long technical docs with equations, citations, and snapshot/restore. Use News for newspaper-style articles, embeds, Mood Player, and community revise on published posts.
Typical flow: open /editor → write → autosave creates/updates a publication → snapshot versions when you need a restore point → publish when your product workflow allows.
Scaffolded (useCollaboration, snapshot API) — not TipTap-wired |
Same gate; news channel collab:news:{id} planned |
app/[locale]/(protected)/editor/page.tsx| Authenticated editor route (platform) |
GET/POST /api/publications — list and createGET/PUT/DELETE /api/publications/[id] — single publicationGET/POST /api/publications/[id]/versions — list / snapshot / restoreBacked by features/publications/services/publication-service.ts and DatabaseService *Doc methods. Content field is TipTap JSON (Record<string, unknown>).
| Piece | Status |
|---|---|
hooks/use-collaboration.ts | Y.Doc + YjsTunnelProvider when NEXT_PUBLIC_COLLAB_ENABLED + native WSS |
app/api/collab/[publicationId]/snapshot | Gated stub — snapshot persistence TODO |
| TipTap Collaboration / CollaborationCaret | Not mounted on ScientificEditor yet |
Do not document live multi-cursor editing as shipped. Channel pattern for publications: collab:{publicationId}.
Editor UI copy lives in locales/{en,uk,ru}/editor.json via next-intl (useTranslations('editor.*')). See Locale system.
components/editor/extensions/citation-detector-extension.ts, lib/citation-detector/.
Scaffolded (useCollaboration, snapshot API) — not TipTap-wired |
Same gate; news channel collab:news:{id} planned |
app/[locale]/(protected)/editor/page.tsx| Authenticated editor route (platform) |
GET/POST /api/publications — list and createGET/PUT/DELETE /api/publications/[id] — single publicationGET/POST /api/publications/[id]/versions — list / snapshot / restoreBacked by features/publications/services/publication-service.ts and DatabaseService *Doc methods. Content field is TipTap JSON (Record<string, unknown>).
| Piece | Status |
|---|---|
hooks/use-collaboration.ts | Y.Doc + YjsTunnelProvider when NEXT_PUBLIC_COLLAB_ENABLED + native WSS |
app/api/collab/[publicationId]/snapshot | Gated stub — snapshot persistence TODO |
| TipTap Collaboration / CollaborationCaret | Not mounted on ScientificEditor yet |
Do not document live multi-cursor editing as shipped. Channel pattern for publications: collab:{publicationId}.
Editor UI copy lives in locales/{en,uk,ru}/editor.json via next-intl (useTranslations('editor.*')). See Locale system.
components/editor/extensions/citation-detector-extension.ts, lib/citation-detector/.
Scaffolded (useCollaboration, snapshot API) — not TipTap-wired |
Same gate; news channel collab:news:{id} planned |
app/[locale]/(protected)/editor/page.tsx| Authenticated editor route (platform) |
GET/POST /api/publications — list and createGET/PUT/DELETE /api/publications/[id] — single publicationGET/POST /api/publications/[id]/versions — list / snapshot / restoreBacked by features/publications/services/publication-service.ts and DatabaseService *Doc methods. Content field is TipTap JSON (Record<string, unknown>).
| Piece | Status |
|---|---|
hooks/use-collaboration.ts | Y.Doc + YjsTunnelProvider when NEXT_PUBLIC_COLLAB_ENABLED + native WSS |
app/api/collab/[publicationId]/snapshot | Gated stub — snapshot persistence TODO |
| TipTap Collaboration / CollaborationCaret | Not mounted on ScientificEditor yet |
Do not document live multi-cursor editing as shipped. Channel pattern for publications: collab:{publicationId}.
Editor UI copy lives in locales/{en,uk,ru}/editor.json via next-intl (useTranslations('editor.*')). See Locale system.
components/editor/extensions/citation-detector-extension.ts, lib/citation-detector/.