Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Epic: Extension system #7930

Open
14 of 30 tasks
kulmann opened this issue Nov 7, 2022 · 2 comments
Open
14 of 30 tasks

Epic: Extension system #7930

kulmann opened this issue Nov 7, 2022 · 2 comments
Assignees
Labels
Interaction:Needs-Concept Type:Epic Epic is the parent of user stories

Comments

@kulmann
Copy link
Member

kulmann commented Nov 7, 2022

We're preparing to improve/build our extension system and become more approachable by community developers.

Preparation

The following preparation steps need to be done:

  • publish web-pkg and web-client to npmjs. They are not in perfect shape, yet, but we already cleaned them up a lot. Publish packages #8380
  • develop strategy for versioning of packages published to npmjs.
  • pull the owncloud design system into the web monorepo. Not strictly needed for development (design system is bundled with the web runtime), but having types would improve the DX of extension development a lot.
  • clean up config.json / proper config management

Ideas

We have a few ideas of "good first extensions" to gain more insights regarding requirements. These include:

  • file listing view modes should be their own extensions (file list, tiles view, single file, ...)
  • editors/viewers for various file types (like we already have for text files, images, ...)
  • panels for the right sidebar (e.g. a panel for EXIF data of photos)
  • any kind of file related action (to be included in the context menu in the file list / right sidebar "Actions" panel, like we already have "copy/move", "delete", "rename", ...)
  • audio/video player for the left sidebar + context panel for the right sidebar, e.g. "add to playlist"
  • Extension: EPub Viewer #5891 (comment)
  • ...
  • request interceptors to e.g. add custom headers

Related

@kulmann kulmann pinned this issue Nov 7, 2022
@kulmann kulmann added Type:Epic Epic is the parent of user stories Interaction:Needs-Concept labels Nov 7, 2022
@ChrisEdS
Copy link

Whoop whoop, this will be huge! I really looking forward to the extension system!

@tbsbdr
Copy link
Contributor

tbsbdr commented Nov 28, 2023

Description

User Stories

  • As an organisation / developer I want to customise the web ui so that I can adapt it to my special purposes.

  • As ownCloud we need to provide an extension system so that we don't need to develop every feature on my own.

Value

  • feature richness
  • gain market share

Acceptance Criteria

  • good developer experience for writing extensions

    • little boiler plate
    • good documentation
    • easy onboarding
  • stable APIs (eg. extension-sdk, extension registry, extension points, web-pkg feature set, server-api abstractionlayer (web client)) - outcome: easy maintenance of your own extensions

  • Examples

  • to be continued...

Definition of ready

  • Everybody needs to understand the value written in the user story
  • Acceptance criteria have to be defined
  • All dependencies of the user story need to be identified
  • Feature should be seen from an end user perspective
  • Story has to be estimated
  • Story points need to be less than 20

Definition of done

  • Functional requirements
    • Functionality described in the user story works
    • Acceptance criteria are fulfilled
  • Quality
    • Code review happened
    • CI is green (that includes new and existing automated tests)
    • Critical code received unit tests by the developer
  • Non-functional requirements
    • No sonar cloud issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Interaction:Needs-Concept Type:Epic Epic is the parent of user stories
Projects
None yet
Development

No branches or pull requests

4 participants