saleor / saleor

Saleor Core: the high performance, composable, headless commerce API.
https://saleor.io
BSD 3-Clause "New" or "Revised" License
20.85k stars 5.52k forks source link

Drop Dashboard 1.0 #4463

Closed maarcingebala closed 5 years ago

maarcingebala commented 5 years ago

Soon we'll merge a PR which migrates HTML content (product descriptions/pages) to JSON (#4366) and adds support for rendering JSON in Storefront 1.0. It is probably the last issue that blocks us from making Dashboard 2.0 the default one.

There are no plans to archive Dashboard 1.0 in some other repository. If anyone would ever need it, it will remain in the history of Saleor main repository. Dashboard 2.0, on the other hand, will be moved to a separate repository, as this is technically a separate application using a different stack. It will be also easier to track issues separately for both parts.

If there is anything else that we should take care of before the migration - let's discuss it in this issue.

dominik-zeglen commented 5 years ago

@fowczarek you mentioned sometime ago that there are tests using dashboard's code, is it still an issue?

NyanKiyoshi commented 5 years ago

I guess we would find out easily.

xgenvn commented 5 years ago

Hi, We are evaluating Saleor for next project, and going to do the same, I'm glad that the team is going to push this soon. However, is there any specified timeline for this one (like this week, next week)?

fowczarek commented 5 years ago

@dominik-zeglen Yes, I think it's a good idea to check how removing the dashboard1.0 will affect to the code coverage.

maarcingebala commented 5 years ago

@xgenvn We need first to resolve PR #4366 (should be ready within 1-2 days) and we're still discussing if there are any potential blockers before we do that. If not I hope we would start working on that this week, so it would be ready next week probably.

petedermott commented 5 years ago

Please do not do this!

Dashboard 1.0 is a whole lot easier to modify and test compared to 2.0, I don't need an API for managing products and the current solution works perfectly well, that's not even mentioning the shops that are already built with the 1.0 dashboard

khalibloo commented 5 years ago

Perhaps move the old dashboard to a different url? I still find it useful as a fallback when we run into a blocking bug in the new one. The old one appears to be a lot more stable for the time being.

NyanKiyoshi commented 5 years ago

The issue is not that. The issue is maintaining it. We are moving very fast with development of Saleor and we continuously get blocked by the old dashboard to ensure the compatibility. Otherwise we will end up with a half working dashboard 1.0.

The more the months will come, the more we will be unable to update the old dashboard to support our changes. It would be way (!!) too much work.

This is really blocking us to make the best of saleor.

The best is honestly to use an older version of saleor that fully support the old-dashboard.

Then, the slowly migrate to the new one, the migrations will migrate your data easily. Plus, by that time, saleor should support extensions, so you could easily add custom logic around saleor.

Note that you can still integrate your custom dashboard into the react one... Depending on what your needs are... You can edit/remove some features and add yours (e.g. link to a django view that renders a django template). That would definitively work, it just requires a bit of additional logic.

petedermott commented 5 years ago

The stack is getting pretty complicated so I suppose I'm just salty because I really didn't want to also have to learn React on top of all the existing work I'm going to have to do to get my store up and running.

You all seem to be set to go down this path anyway so I guess I'm just going to have to shut up and get on with it.

Also there was this reddit post where someone said "The old templates are still there (and will be maintained and supported in the future) so you don't need to use the PWA client nor its optional advantages."

xgenvn commented 5 years ago

For me (and my teammate), we give a try on Saleor due to some features:

Given the facts that we found the models of Saleor suit our needs, the dashboard is just a battery included, not the first citizen (as in headless approach).

I hope that the API is more maturity and more documentations, also some extensible approaches by exposing more events should be perfect.

I don't really like the dashboard to be included in the project, it coupled the frontend which we wanted to customize hard and put somewhere else ... The perfect point of the Dashboard 2.0 is that it provides a good architecture to use with generated schema, but it's just a reference. If we put too many effort in the dashboard, it can lead to unnecessary complexity.

petedermott commented 5 years ago

A couple of questions I would have:

  1. Is this a hard "drop" of the dashboard rather than a gradual deprecation? Is there a planned time frame?
  2. Would any of the next gen attribute work make it's way into the old dashboard or are these only going to be implemented in the new dash?
NyanKiyoshi commented 5 years ago

Would any of the next gen attribute work make it's way into the old dashboard or are these only going to be implemented in the new dash?

Very partially. Attributes will still work without any issue in dashboard 1.0 but won't have most of the features we added.

petedermott commented 5 years ago

Very partially. Attributes will still work without any issue in dashboard 1.0 but won't have most of the features we added.

That basically sounds like a no then. What are the new features that you have added? What you planning on adding in the future (other than the next gen attribute work)?

The roadmap hasn't been updated since February so we are now evaluating if we should keep working on our own fork using the 1.0 Dash (as was recommended in November) or if we should start working to port our work to the 2.0 Dash.

patrys commented 5 years ago

To anyone interested, the timeline of "soon" does not mean "tomorrow". Internally we're considering making the new dashboard default first (hopefully we can get there within the next two releases) and then marking the old dashboard as deprecated. Realistically it will most likely still be around at the end of the year.

The main issue is, of course, the effort required to implement new features. For this reason the old dashboard is currently in "supported" state rather than in "actively developed" state. The team does its best not to break the old dashboard but all new features are targeting the new one.

As for the "old templates still around", we're still considering how to approach slowly deprecating the old storefront. At least for now, we do not plan to remove it at the same time we remove the old dashboard.

kskhannaio commented 5 years ago

What branch is the new dashboard on? Would like to determine how much work I'll need to put in to port over our store.

dominik-zeglen commented 5 years ago

Master branch, under dashboard/next url.

jyoost commented 5 years ago

The current graphql module has references to dashboard module. I don't understand why but I found them while separating from dependencies on other modules, not thinking other modules were dependent on dashboard 1.0

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

maarcingebala commented 5 years ago

We want to move forward with this issue. After a few internal discussions, the plan is as follows:

petedermott commented 5 years ago

Are you going to patch the legacy dashboard up to the next release? Are any bugs in the 2.9 release going to be fixed? or is it just going to be as per the current 2.9 release? Are 3D Secure payments going to work with the legacy-dashboard-and-storefront?

maarcingebala commented 5 years ago

@petedermott Dashboard 1.0 / Storefront 1.0 are going to stay as in the 2.9 release. We're no longer developing these parts of Saleor since we're focused on API and we have dedicated teams that work on the new frontend clients - Dashboard 2.0 / Storefront 2.0. As I wrote in my previous comment, an ideal situation would be to someone from the community who still uses the Django-based views to maintain it.