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

Closed
22 of 30 tasks
kulmann opened this issue Nov 7, 2022 · 3 comments
Closed
22 of 30 tasks

Epic: Extension system #7930

kulmann opened this issue Nov 7, 2022 · 3 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

@kulmann
Copy link
Member Author

kulmann commented Aug 7, 2024

I think we can confidently close this issue by now. A lot has happened. The concepts of apps, extensions and extensionsPoints are thought through, implemented and well described in our dev docs. We've implemented an app store for web apps (phase 1 was focussed on making it easier to discover available apps with still some manual steps required for installation, phase 2 will be focussed on easy installation in the near future). We even have some third party apps available by now, which is awesome. We'll continue to build great things within the extension system, but the ground work is done by now. Thanks to everyone involved! ❤️

@kulmann kulmann closed this as completed Aug 7, 2024
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