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

Move bundled apps to market #27542

Closed
PVince81 opened this issue Mar 30, 2017 · 33 comments
Closed

Move bundled apps to market #27542

PVince81 opened this issue Mar 30, 2017 · 33 comments

Comments

@PVince81
Copy link
Contributor

PVince81 commented Mar 30, 2017

The following apps are currently bundled in the ownCloud server community release.
Some apps come from the core repo, some from their own.

app name description current repo action done?
activity Activity app separate publish in market ✔️
comments Comments GUI core publish in market?
configreport Config Report separate keep
dav DAV architecture core keep
encryption Default encryption module + master key core publish in market
example-theme Example theme core removed
external External sites separate publish in market
federatedfilesharing Federated file sharing core keep bundled, core depends on it and is always enabled
federation Federation engine core removable, not sure
files Files GUI core keep in core
files_antivirus Antivirus separate publish in market ✔️
files_external External storage backend + config GUI core keep for now, backends to be moved to separate repos/apps
files_pdfviewer PDF viewer separate publish in market ✔️
files_sharing Files sharing core keep in core, tightly coupled with core. New frontend from https://github.com/owncloud/files_sharing_fe will progressively replace old one
files_texteditor Text editor separate publish in market ✔️
files_trashbin Trashbin/Deleted files core ?
files_versions Versions core ?
files_videoplayer Video player separate ?
firstrunwizard First run popup separate publish in market
gallery Gallery separate publish in market ✔️
notifications Notification provider + indicator separate publish in market
provisioning_api Provisioning API core keep
systemtags System tags GUI core publish in market?
templateeditor Email template editor separate publish in market ✔️
updatenotification Web update notification core ?
user_external External user backends IMAP, SMB, CAS separate publish in market
user_ldap LDAP user backend separate publish in market ✔️
@PVince81 PVince81 added this to the 10.0 milestone Mar 30, 2017
@PVince81
Copy link
Contributor Author

To be "Done" an item must:

  • be removed from the release script
  • have a market entry
  • have an initial released version in the market which is visible from inside ownCloud

@PVince81
Copy link
Contributor Author

Trashbin and versions have some cross-dependencies between each other and also some core code depends on them. They can be disabled and OC might work fine though.
Not sure if that's a good enough reason to move these to the market.

@PVince81
Copy link
Contributor Author

The files_sharing app can be disabled too, even removed. But some code pointing to the sharing app is hard-coded in core.

@DeepDiver1975
Copy link
Member

i would suggest to keep core apps in the release - just because of simplicity reasons. just my 2 :cents:

@PVince81
Copy link
Contributor Author

Ok, I did a local test on master and I removed ALL app code except the always_enabled ones:

  • dav
  • files
  • federatedfilesharing

Surprisingly the platform still boots up 😄

However I suspect that one might encounter small issues here and there for the apps that are referenced directly by core. It should be possible to quickly find these references and make them conditional to be able to have such minimal platform.

@PVince81
Copy link
Contributor Author

@DeepDiver1975 so all apps that are already in the "core" repository stay bundled, and apps that are in separate repos go to the market ?

@DeepDiver1975
Copy link
Member

yes - plus that we can ship apps from separate repos as well - e.g. market app

@VicDeo
Copy link
Member

VicDeo commented Apr 6, 2017

@PVince81 will unbundled apps still be marked as shipped in appinfo?

@PVince81
Copy link
Contributor Author

PVince81 commented Apr 7, 2017

I'd remove them from shipped. But if needed we could add a new temporary section to mark apps for transition.
The temp section could then be removed at the next major release once everybody migrated.

@PVince81 PVince81 modified the milestones: 10.0.1, 10.0 Apr 26, 2017
@PVince81
Copy link
Contributor Author

user_ldap has already been moved out of the release due to issues. It's next release will be in the marketplace.

@PVince81
Copy link
Contributor Author

@IljaN Any update ? What's the status ? (checkboxes...)

@PVince81 PVince81 modified the milestones: 10.0.3, 10.0.1 May 26, 2017
@PVince81 PVince81 added the p2-high Escalation, on top of current planning, release blocker label Jul 3, 2017
@PVince81
Copy link
Contributor Author

Idea for moving out files and files_sharing: merge both apps into a single app "files".
Sharing backend / API is anyway already in core (OCS Share API).

To disable sharing, one can always use the existing checkbox in the admin page.

When moving the "files" app to the marketplace, it would then also contain the sharing UI stuff. This would solve the dependency that files_sharing has on files.

@PVince81
Copy link
Contributor Author

It turns out files_sharing is doing too much:

  • provides Storage instance for federated shares
  • provides OCS Share API endpoints
  • JS code for UI

One idea from @DeepDiver1975 is that we keep files_sharing in core as a pure backend app with no dependencies on the "files" app. Currently the only dependency I see is on the JS side, for example when buildling download URLs based on the files app routes. So we should only move this sharing related JS code to the "files" app.

@PVince81
Copy link
Contributor Author

PVince81 commented Aug 7, 2017

Any more apps to move out for 10.0.3 ?

I suggest we stop now and continue this for 10.0.4, moving to "planned"

@PVince81 PVince81 modified the milestones: planned, development Aug 7, 2017
@PVince81
Copy link
Contributor Author

@IljaN @DeepDiver1975 we should continue this now

@PVince81
Copy link
Contributor Author

PVince81 commented Sep 18, 2017

the next I think would be good to look at, in order:

  • notifications
  • files_antivirus done
  • files_videoplayer
  • templateeditor done
  • firstrunwizard

@PVince81 PVince81 modified the milestones: development, planned Jan 12, 2018
@PVince81
Copy link
Contributor Author

  • move theme-example to the market as well

@PVince81
Copy link
Contributor Author

or instead of #27542 (comment) we could move the JS code from the files_sharing app into another app files_sharing_ui. This would make it possible to extend sharing UI through a marketplace app as much as the APIs allow.

@PVince81
Copy link
Contributor Author

@VicDeo can you continue to prepare the unbundling of apps ? then we can queue them into the QA pipeline for later

@VicDeo
Copy link
Member

VicDeo commented Feb 14, 2018

@PVince81 we are unbundling templateeditor for over 3 months so far. Notifications are ready for the process as well.

@PVince81
Copy link
Contributor Author

first run wizard, video player ?

@VicDeo
Copy link
Member

VicDeo commented Feb 19, 2018

firstrunwizard owncloud/firstrunwizard#72

@PVince81 PVince81 modified the milestones: development, planned Apr 3, 2018
@VicDeo
Copy link
Member

VicDeo commented Apr 9, 2018

@PVince81 templateeditor has been published in the market and could be excluded from the release package https://marketplace.owncloud.com/apps/templateeditor

@PVince81
Copy link
Contributor Author

@VicDeo yes, done by @patrickjahns so it will be removed in the 10.0.8 RC

@patrickjahns
Copy link
Contributor

@PVince81 PVince81 added p3-medium Normal priority and removed p2-high Escalation, on top of current planning, release blocker labels Apr 25, 2018
@PVince81
Copy link
Contributor Author

moving to backlog. let's schedule explicitly what apps to process next

@PVince81 PVince81 modified the milestones: development, backlog May 22, 2018
@PVince81
Copy link
Contributor Author

The files_sharing app contains both frontend and backend components currently.
As part of the task in #30779 we're rewriting the sharing frontend for phoenix (mostly share panel currently) and make it embeddable. This means that eventually the current "files_sharing" app will become a pure backend app while the frontend will like in a new app https://github.com/owncloud/files_sharing_fe

@jvillafanez
Copy link
Member

I'm not sure about the responsabilities of each component then. Core is just acting as a hub of sharing providers? What will be the responsability of the files_sharing app?

Currently, I think the files_sharing app is providing a frontend for the sharing, as well as the sharing API. The shared storage is also provided by the app... but the default share provider is in core... This is really confusing.

One proposal could be:

  • Share provider -> files_sharing
  • API -> core
  • Share provider hub -> core
  • Shared storage -> ?? - I guess it will depend on the architecture. If it will be only one, I think it should be handled by core. The other option is that it handled by each app.
  • Frontend -> sharing_frontend (or whatever you want to call it) that will use the API.

The problem in this case is that the frontend app will depend on another app.

I feel that, unless we come to an agreement about what components will be involved in sharing, how they will interact with each other, and where each component will be placed, it will become even more messy than what we have right now: both apps and core will need each other, so there is no real decoupling, and we'll also need to handle 2 apps and core, not just one app and core

@PVince81
Copy link
Contributor Author

In the case of Phoenix which will be a separate frontend, we had a chat and I think we agreed that so far some apps will need to have two components: a backend app to install on the PHP server and a frontend app to install on the frontend. It is not clear yet how the dependency will be enforced.

@PVince81
Copy link
Contributor Author

Next apps to address:

  • encryption
  • user_management

both already have a separate repo but aren't unbundled in stable10.

from what I heard user_management isn't ready yet as it causes regressions when removed from a core: #31739

@stale
Copy link

stale bot commented Sep 21, 2021

This issue has been automatically closed.

@stale stale bot closed this as completed Sep 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants