sonata-project / dev-kit

Development kit of the Sonata-Project
https://master-7rqtwti-ptm4dx6rjpjko.eu-5.platformsh.site/
42 stars 42 forks source link

Deprecate some projects #1669

Closed jordisala1991 closed 2 years ago

jordisala1991 commented 3 years ago

IMO we should try to focus our effort on the most used / usable bundles and forget about the others, our resources are very limited and we need to put the efforts where it matter the most.

Bundles to Keep maintaining

Bundles that could be deprecated at some point but needs work

Bundles that we could deprecate right away

WDYT @sonata-project/contributors ?

jordisala1991 commented 3 years ago

I think this can be closed now.

VincentLanglet commented 3 years ago

@jordisala1991 We didn't finish the deprecation of

cache SonataCacheBundle SonataNotificationBundle GoogleAuthenticator SonataDatagridBundle

VincentLanglet commented 3 years ago

We should also update the pinned project in https://github.com/sonata-project

VincentLanglet commented 3 years ago

@sonata-project/contributors What should be the 6 projects pinned ? We should at least remove CacheBundle and ArticleBundle

SonataAdminBundle SonataDoctrineMongoDBAdminBundle SonataDoctrineORMAdminBundle SonataBlockBundle

wbloszyk commented 2 years ago

IMO we should pin:

Or we can pin them by downloads in last month.

VincentLanglet commented 2 years ago

@jordisala1991 You added SonataDatagridBundle in the category "Need work to be deprecated". Since we agree about deprecating the REST API, I think we should start deprecating the DatagridBundle.

Maybe opening an issue in https://github.com/sonata-project/SonataDatagridBundle like we did for https://github.com/sonata-project/SonataCacheBundle/issues could be good way to follow the TO-DO. Wdyt ?

jordisala1991 commented 2 years ago

Yes! We need to track who is still using datagrid bundle (probably only page and user bundles now) and deprecate the usage + remove it on next major.

jordisala1991 commented 2 years ago

Same for notification (Only page uses it now)

jordisala1991 commented 2 years ago

Similar for cache and the bundle (probably only page and block) This one is more difficult to deprecate.

jordisala1991 commented 2 years ago

Google Authenticator need more thought, do we want to support it? are there some alternatives? How much does it cost to maintain? Etc...

VincentLanglet commented 2 years ago

Yes! We need to track who is still using datagrid bundle (probably only page and user bundles now) and deprecate the usage + remove it on next major.

For page, the deprecation is already done on 3.x but not removed in 4.x. I'm on it. The DatagridBundle is related to the REST API so this issue is a good list https://github.com/sonata-project/dev-kit/issues/1465

Google Authenticator need more thought, do we want to support it? are there some alternatives? How much does it cost to maintain? Etc...

It's only use by the SonataUserBundle. So I would say it depends on what we gonna do with the UserBundle.

jordisala1991 commented 2 years ago

Yes! We need to track who is still using datagrid bundle (probably only page and user bundles now) and deprecate the usage + remove it on next major.

For page, the deprecation is already done on 3.x but not removed in 4.x. I'm on it.

The DatagridBundle is related to the REST API so this issue is a good list

https://github.com/sonata-project/dev-kit/issues/1465

Google Authenticator need more thought, do we want to support it? are there some alternatives? How much does it cost to maintain? Etc...

It's only use by the SonataUserBundle. So I would say it depends on what we gonna do with the UserBundle.

To me the user bundle wont dissapear, just drop fos user. I have already a working user bundle that works with the 3 majors of Symfony. The problem is to have time to do all the work needed. Probably it would be better if we split the efforts in separate things: Deprecate api, upgrade sonata and remove fos.

VincentLanglet commented 2 years ago

Same for notification (Only page uses it now)

For notification this https://github.com/sonata-project/SonataPageBundle/pull/1251 could be a good strategy

jordisala1991 commented 2 years ago

It should be replaced by symfony messenger and make it optional, similar to what I did on the media bundle

VincentLanglet commented 2 years ago

We should also do something about the sandbox https://github.com/sonata-project/sandbox Currently it's not working https://demo.sonata-project.org/ ; we should either fix it (dunno how) or abandon it.

jordisala1991 commented 2 years ago

There are 2 problems:

  1. Showcase our features (sandbox). It needs to be refactored a lot because multiple bundles were deprecated
  2. The code that builds it and makes it available when you click on the demo is not working

They are not related. @rande didnt know how to fix the second point. And I am not sure if we have access to it, tbh.

We have to think about it.

wbloszyk commented 2 years ago

SonataUserBundle:

Sandbox after deprecate ecommere will be hard to stabled.

jordisala1991 commented 2 years ago

SonataDatagridBundle can be abandoned now that user-bundle no longer uses it.

VincentLanglet commented 2 years ago

SonataDatagridBundle can be abandoned now that user-bundle no longer uses it.

I think we should wait for the next major release. Currently, no stable release is provided without the integration of SonataDatagridBundle. If a bug is discover, it still should be fixed.

So we can deprecate the SonataDatagridBundle, but not abandon it IMHO

jordisala1991 commented 2 years ago

What is the process to deprecate? Can you help with it?

VincentLanglet commented 2 years ago

What is the process to deprecate? Can you help with it?

Looking at CacheBundle, only an issue is opened "This bundle is deprecated". And I think packagist is only supporting the abandonned key.

Maybe we can consider this strategy:

VincentLanglet commented 2 years ago

I've opened https://github.com/sonata-project/SonataCacheBundle/pull/399 https://github.com/sonata-project/SonataNotificationBundle/pull/640 https://github.com/sonata-project/SonataDatagridBundle/pull/394

I don't think we should mark the cache as deprecated since it's used by BlockBundle (so a lot of bundle) for now.

And there is https://github.com/sonata-project/GoogleAuthenticator/pull/308 to decide.

jordisala1991 commented 2 years ago

Google Authenticator and DatagridBundle are done. (They should be moved to deprecated on main docs and removed from dev-kit, can you do it @VincentLanglet ?).

CacheBundle and Notification still needs some work to be removed (Remove them from SonataPageBundle)

I would say we could also consider the deprecation of SonataIntlBundle, I am not sure about the status of this: https://github.com/sonata-project/SonataIntlBundle/pull/302 https://github.com/sonata-project/SonataIntlBundle/issues/299

Not sure what it brings that we don't have with twig and the intl-extra. (No need to deprecate right now but we can think about it)

VincentLanglet commented 2 years ago

(They should be moved to deprecated on main docs and removed from dev-kit, can you do it @VincentLanglet ?).

I did the PR.

But I prefer to keep them on dev-kit as long than a stable branch is using them. In case we have to release a new version.

jordisala1991 commented 2 years ago

We either close this issue or use to track when we can remove things from dev-kit. What bundles need to be removed?

VincentLanglet commented 2 years ago

We either close this issue or use to track when we can remove things from dev-kit. What bundles need to be removed?

CacheBundle DatagridBundle GoogleAuthenticator NotificationBundle Sandbox (I'll remove it after the next update by dev-kit).

Also we would like to deprecate/remove cache, but it require more work.