statisticssweden / PxWeb

Web application for disseminating statistical tables
https://www.scb.se/pxweb
Apache License 2.0
33 stars 23 forks source link

Restructure the assemblies/repositories of PxWeb #163

Open likp opened 3 years ago

likp commented 3 years ago

Is your feature request related to a problem? Please describe. There are a lot of different assemblies and repositories that make up PxWeb, that also have dependencies to each other. Making a change in one assembly require us to recompile a hole set of other assemblies that depends on it. This has become more obvious now when we have started to reference them from nuget where we have to build and deploy new nuget packages.

Describe the solution you'd like Many of the assemblies can be merged into one as long as they are written in the same language. Bellow is a suggested merge strategy. All namespaces will be remain as they are to avoid extra work.

likp commented 3 years ago

@MikaelNordberg @statisticssweden/ssb any feedback on this?

JohannesFinsveen commented 3 years ago

I think this sovles the issue of testing the vb serializers with a px-file. (The issue being that I wanted to use PCAxis.PX.core to test the serializers, but PCAxis.PX.core depended on the nuget with the seriazers.

JohannesFinsveen commented 3 years ago

The 2 PXWeb.SavedQuery.* -nugets are very small and depend on the same "database-nuget" as the sql (as well as the sql). Could/Should they be included?

JohannesFinsveen commented 3 years ago

"Merge PCAxis.PxExtened into PCAxis.Charting" Should we make a repo/nuget, or just include the code in the solution?

likp commented 3 years ago

"Merge PCAxis.PxExtened into PCAxis.Charting" Should we make a repo/nuget, or just include the code in the solution?

PCAxis.Charting will remain in the PxWeb repository since it is kind of coupled to PxWeb but in the charting project.

JohannesFinsveen commented 3 years ago

DepsNuggets I tried to draw it. Hope I didn't miss too much

JohannesFinsveen commented 2 years ago

The Menu code is still in different nugets/repos.