Roadmap

Last modified by Ludovic Dubost on 2023/09/23 11:46

September Roadmap

from XWiki Roadmap

Manuel

  • Setup the critial dev infrastructure (issue tracker, documentation wiki, CI)
  • Forum proposal of the global architecture (what's client side, what's server side, how do we connect to the storage backend...) (based on https://design.xwiki.org/xwiki/bin/view/Proposal/Wiki30)
  • Work on authentication (delegate authentication to the underlying storage) PoC + proposal

Clement D

  • Benchmark of Javascript component injection libraries + design page + forum proposal (based on Ludovic PoC)
  • Vue 3 as our front-end framework forum proposal (based on Ludovic PoC)
  • Document tree PoC + design page + forum proposal

Ludovic

  • Prototyping work

Macro Planning

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

Detailed Task List

Starting the Project

  • cancel Setup a project environment -> Manuel
  • cancel Move tasks to issue management tool
  • accept Announce Project -> Manuel
  • error Specification Work -> Ludovic
    • error General Principles (Partial)
    • accept User Stories List
    • accept MVP List
    • cancel User Stories Details
    • error JSON-LD Models (Partial)
    • error Storage API (Partial)
    • cancel XWiki REST Apis
    • cancel Design System
    • cancel Mockups
  • error Prototyping Work -> Ludovic
    • accept Publish Prototype
    • accept Extensible Architecture
    • accept Inversion of Control
    • 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 Generaring 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
    • accept Macro rendering client side -> test with Alert macros
    • cancel Authentication -> Manuel
    • cancel Offline
    • accept Design System Abstraction -> 3 components created based on Vuetify and DSFR
    • cancel Realtime editing
  • cancel Technical Architecture aspect -> Manuel & Clement D.
    • accept Decide language (Typescript ?)
    • accept Decide build tools (vitejs ?)
    • cancel Decide Inversion of Control Framework
    • cancel Decide code organization, main packages
    • cancel Decide Visual Framework
      • cancel Should we use Vue (Vue3)
      • cancel Should we use Web Components
      • accept Should we abstract basic components to be able to replace them -> YES
      • cancel Decide components package (vuetify ? radix ? other ?)
      • cancel Decide Design System
      • cancel Decide CSS Framework
    • cancel Decide Test Framework
    • accept Decide Code Style Tool -> lint ?
    • cancel Decide Accessibility Tests Framework
  • cancel Setup Code Infrastructure
    • cancel Build Tool
    • cancel Code Style
    • cancel Adding Licence (AGPL) + Tools
    • cancel Test Infrastructure
    • cancel Accessibility Test Infrastructure

MVP Priority 1

 (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

  • 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 analyse 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 Wiki 3.0
    • cancel More development of LiveData edit features
    • cancel Compatibility with json only livedatas
  • cancel View
    • cancel Comment editing
    • cancel Annotation View
    • cancel Wiki 3.0 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 Wiki 3.0 (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
Tags:
    

Get Connected