Old Roadmap

Last modified by Ludovic Dubost on 2024/04/05 16:05

Macro Planning

  • error September: Prototyping & Project setup
  • accept October:
    • accept Manuel & Clement D. on-boarding
    • error Technical architecture decisions
    • accept dev environment setup
    • error start working on module designs
  • accept November:
    • accept Convert prototype to code base help
    • accept More module work
    • accept On-boarding UX Engineer
  • error 2024-Q1: Alpha version help
  • cancel 2024-Q2: Beta version help

Detailed Task List

Starting the Project

  • accept Set up a project environment → Manuel
  • error Move tasks to issue management tool - Currently done on demand
  • accept Announce Project -> Manuel
  • error Specification Work -> Ludovic
    • error General Principles (Partial)
    • accept User Stories List
    • accept MVP List
    • cancel User Stories Details
    • accept JSON-LD Models (Prototype level)
    • accept Storage API (Prototype level)
    • accept XWiki REST APIs (Prototype level)
    • error Design System
    • error Mockups
  • error Prototyping Work -> Ludovic
    • accept Publish Prototype
    • accept Extensible Architecture
    • accept Inversion of Control -> Inversify (see the forum discussion)
    • accept Typescript coding
    • accept Modular Vue UI
    • accept UIX
    • accept Skin system
    • accept Build system
    • accept Storage API
    • accept Accessing XWiki using REST APIs and rendering a page server side
    • accept Accessing GitHub repositories and rendering markdown pages client side
    • accept XWiki Client side rendering -> implemented using TeaVM porting of Wikimodel
    • accept Generating JSON-LD from XWiki Pages (Blog article + Movie page)
    • accept Display a JSON-LD Blog or Movie page Client side
    • accept Editing a JSON-LD Movie page Client Side
    • accept Macro infrastructure
    • cancel Macro rendering server side (Postponed)
    • accept Macro rendering client side -> test with Alert macros
    • cancel Authentication -> Manuel (Postponed)
    • accept Offline
    • accept Design System Abstraction -> 3 components created based on Vuetify and DSFR
    • cancel Real-time editing
    • cancel Publishing Cristal as Web Components (Postponed)
    • error Testing startinblox integration (Partial)
    • accept Storage
      • accept Basic XWiki Storage Module
      • accept Basic GitHub Storage Module
      • accept File System Storage module (Manuel)
    • accept Electron Package
  • cancel Technical Architecture aspect -> Manuel & Clement D.
    • accept Decide language (Typescript)
    • accept Decide build tools (vitejs ?)
    • accept Decide Inversion of Control Framework (inversify)
    • accept Decide code organization, main packages
    • accept Decide Visual Framework (vue)
      • accept Should we use Vue (Vue3) Yes (see the forum discussion)
      • accept Should we use Web Components - We will publish our Vue components as Web Components 
      • accept Should we abstract basic components to be able to replace them -> YES
      • accept Selected possible components package -> vuetify, shoelace, dsfr
      • error Decide Design System
      • cancel Decide CSS Framework
    • accept Decide Test Framework (vitest + playwright)
    • accept Decide Code Style Tool (eslint)
    • error Decide Accessibility Tests Framework (axe-core, to be integrated)
  • cancel Setup Code Infrastructure
    • accept Build Tool
    • error Code Style (tooling available but we need to agree on the rules)
    • cancel Adding License (AGPL) + Tools
    • accept Test Infrastructure (vitest + playwright running on Jenkins)
    • error Accessibility Test Infrastructure (axe-core to be integrated)

MVP Priority 1

NOT UPDATED

 (Try to order priorities)

  • cancel (general) Basic Structure of the App
    • cancel Extensibility by module and components
    • cancel Core APIs design
    • cancel Logging Capacity
    • cancel Skin Capacity
    • cancel UIX Capacity
    • cancel Define URL scheme
  • cancel (jsapis) Data Model API in JS
  • cancel (backend + jsapis) XWiki SAS Minimal API to access documents + associated XWiki api
  • cancel (jsapis) API and first implementation of a local storage module of documents
  • cancel (frontend) Basic App structure (header, footer, sidebar, drawers)
    • cancel Resizable drawer (memory in cookie ?)
  • cancel (frontend) Basic view and navigation
    • cancel (frontend) XWiki Legacy rendering
    • cancel (jsapis) rendering APIs
    • cancel (jsapis) markdown rendering
    • cancel (jsapis) XWiki client side rendering
    • cancel (jsapis) Macro API support
    • cancel (jsapis) Client Side essential Macros
    • cancel (jsapis + backend) Server Side fallback XWiki rendering
    • cancel (jsapis) Support for XWiki structured documents (prototype needed)
  • cancel (frontend) Basic header with logo, profile / login, advanced drawer
  • cancel (frontend / jsapis / backend)
    • cancel Authentication apis
    • cancel Authentication for XWiki
    • cancel Click to Login
    • cancel Authentication for Nextcloud
    • cancel (frontend) View user Profile
    • cancel Authentication for GitHub
    • cancel Detect Login and force Login
  • cancel (frontend) Breadcrumb
  • cancel (frontend) Tree View of documents
  • cancel Editing
    • cancel (frontend) Basic Wiki Edit
    • cancel (frontend) XWiki legacy Edit
  • cancel Search: basic quick search
  • cancel Doc Extra (in tab or more generally
    • cancel Basic info (native), display author, last updater, etc..
    • cancel View History (native all platforms with history)
    • cancel Comments (XWiki only, view only)
    • cancel Attachment (native), including upload
      • cancel XWiki
      • cancel Nextcloud
      • cancel GitHub
    • cancel Compatible Doc Extra with XWiki help
  • cancel Basic Move / Rename / Delete
  • cancel Packaging
    • cancel (packaging) Allowing to provide configuration with list of extensions
    • cancel (packaging) Working locally
    • cancel (packaging) Packaging in XWiki
      • cancel Support XWiki provided configuration

MVP Priority 2

NOT UPDATED

  • cancel Major XWiki REST API refactoring
  • cancel Support Multi wiki
  • cancel Tree View
    • cancel Allow drag and drop to move documents
  • cancel Editor (Need more work to analyze editor needs)
    • cancel Support structured document editing
    • cancel New editor Architecture choices
      • cancel QuickActions infrastructure
      • cancel Link Editor
      • cancel Images
      • cancel Attachments (upload)
      • cancel Macro support
        • cancel Native method
        • cancel XWiki compatibility
      • cancel Realtime support
      • cancel Mention support (+ TODO)
  • cancel (frontend) LiveData integration
    • cancel Full native integration of LiveData in Cristal
    • cancel More development of LiveData edit features
    • cancel Compatibility with json only livedatas
  • cancel View
    • cancel Comment editing
    • cancel Annotation View
    • cancel Cristal uses colors from XWiki Color Theme
  • cancel Support Top Menu
    • cancel With XWiki SAS compatibility
    • cancel Store a simple page in backend repository
  • cancel Basic search
    • cancel XWiki legacy search
    • cancel (jsapi) search
      • cancel Basic XWiki implementation
      • cancel Basic NextCloud implementation
      • cancel Basic GitHub implementation
  • cancel Rendering and Macros
    • cancel PDF and Office viewers (native)
    • cancel Gallery Macro (native)
    • cancel Tags
    • cancel Likes
  • cancel Admin
    • cancel Allow changing logo of Wiki from UI
    • cancel Administration drawer
  • cancel Notifications
    • cancel Integration with XWiki notifications
    • cancel NextCloud notification help
  • cancel Export (PDF)
    • cancel Compatibility with XWiki
  • cancel Make sure to support XWiki with SSO
  • cancel Configuration UI
    • cancel Allow to add an additional wiki
    • cancel Allow to switch wikis
  • cancel Extension Manager
    • cancel Support adding extensions dynamically
  • cancel (packaging) Local Installation
  • cancel Additional Editing features
    • cancel Rollback in History
    • cancel Change display
    • cancel Move/Rename page (could be important)
    • cancel Delete page
    • cancel Edit Profile
  • cancel Panels (to study)
    • cancel Support configurable panels by space (to study)
    • cancel Alternative Native panels
    • cancel Intelligent Panel reloading

Future

  • cancel Test on Mobile
  • cancel Advanced Editing
    • cancel Create Form with templates
    • cancel Full realtime support
    • cancel Resync from Offline
    • cancel Annotations
    • cancel Editing of Office documents
  • cancel Support Main / Pro Apps in Cristal (with or without native features)
    • cancel Blog Application
    • cancel Meeting App
    • cancel Task Macro, Native Todo in Task Macro
  • cancel Advanced search
    • cancel Support XWiki equivalent search (native)
  • cancel Administration
    • cancel Access to XWiki Administration (legacy)
  • cancel Export PDF
    • cancel Integrate client side PDF export natively (no server needed, offline)
  • cancel Native AI integration
  • cancel Themes
  • cancel New Application development Methodology
    • cancel How to make an XWiki app with content on one side (Structured documents) and code on the other side
France 2030 Logo

This project is being financed by the French State as part of the France 2030 program

Ce projet est financé par l’État Français dans le cadre de France 2030

  • Powered by XWiki 17.10.9-node1. Hosted and managed by XWiki SAS

Get Connected