-
Notifications
You must be signed in to change notification settings - Fork 159
New model (for unified score and more) #1352
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
Comments
It looks like that the model can't be as simple as I've originally suggested, because it lacks the ability of handling the rollback of a partial rollout. We'll need to extend it with the The updated suggestion:
|
Another aspect of mixing this approach with the current The only drawback I can see now is the handling of the flags (e.g. discontinued), because they are package-level, and we may need to re-introduce the old version of the task notification system. |
This is now in prod for a while. |
The discussion around the dartdoc score identified the need for a new model on how we store the score(s). Until now we have stored it in
PackageVersionAnalysis
, which is tightly-coupled with storing the result and serialization ofpana
.The model also introduced some operational complexity, as we built the UI around the internals of
pana
, and changes to it require consideration on how we roll out a release. We've also developed a few things to cache the quick summary of the analysis (AnalysisExtract
) in order to display it along the various UI places.Considering the experiences on how we use the data, and a few things that are in the pipeline, I'd suggest the following:
Let's introduce a Datastore entity for storing the high-level analysis data (essentially
AnalysisExtract
+ the new dartdoc score), but decoupled from thepana
-related work.Let's introduce a Datastore entity and a pub-site-only data model for the output of
pana
anddartdoc
analysis. This should contain the information on the analysis tab, plus the collected suggestions from both pana and dartdoc. For each new serialization change ofpana
we shall transform it to the pub site internals. This would add a bit of work when there is a breaking change in pana, but it would reduce the deploy worries and complexities.If/when we'll have a facility for runtime analysis, it would be easy to adapt its result into the above items.
As far as I can tell, this should be possible in an incremental way, and we may do a full migration in a couple of deploys.
/cc @sortie @kevmoo @mit-mit
The text was updated successfully, but these errors were encountered: