phetsims / chipper

Tools for developing and building PhET interactive simulations.
MIT License
11 stars 14 forks source link

handle third-party credits and report on server #594

Closed pixelzoom closed 5 years ago

pixelzoom commented 7 years ago

Each sim webpage has a "Third Party" section in its Credits (stored in the website database). And sherpa/third-party-report.md (in master) provides a complete report for all published sims. This is currently handled by 'grunt report-third-party'.

There are multiple problems with doing this as a client-side grunt task:

  1. It's yet-another step in a long check list.
  2. Developer must remember to do it (which historically hasn't happened).
  3. html files for all published sims must be downloaded to the client.
  4. third-party-report.md can't be checked in until sherpa is on master in working copy
  5. something invariably goes wrong and the Credits don't look correct on the sim page

Since the goals is to have this information currently for what's on the server, why isn't this task run on the server? Perhaps build-server should be modified to update the website database, generate third-party-report.md, and check third-party-report.md into master.

pixelzoom commented 7 years ago

Assigning to @ariel-phet to prioritize and assign.

pixelzoom commented 7 years ago

To add motivation for addressing this, I once again hit this problem:

(5) something invariably goes wrong and the Credits don't look correct on the sim page

I just published Molecule Polarity 1.0.0, a port from Java. I followed the instructions and ran 'grunt report-third-party'. And it failed to update the website database, so no "Third Party" Credits appeared on the website. For a Java sim, 'grunt report-third-party' must be run after the HMTL5 version is made visible, or a silent failure occurs on the website side. So now I'm going to update the "sim deploy" instructions for the Nth time, and make them even more complicated.

pixelzoom commented 7 years ago

New and improved checklist item:

Update the 3rd party credits shown on the sim's web page by running grunt report-third-party. Then manually commit and push sherpa/third-party-licenses.md. NOTE! For the first publication of an HTML5 sim that was ported from Java, you must do this after the HTML5 version has been made visible on the website. Failure to do so will result in a silent failure on the server, and you won't see any "Third Party" Credits on the HTML5 sim's web page.

pixelzoom commented 7 years ago

Linking to https://github.com/phetsims/chipper/issues/593. If we decide to handle third-party report on the server, perhaps the version id can be obtained from the website database.

ariel-phet commented 7 years ago

@mattpen plan on looking into this @pixelzoom returns from vacation (after Aug 15)

mattpen commented 7 years ago

I'll take a look at this when @pixelzoom returns from vacation.

mattpen commented 7 years ago

We could also investigate migrating this to getThirdPartyLibEntries.js.

samreid commented 7 years ago

Marking for potential work in https://github.com/phetsims/chipper/issues/596

pixelzoom commented 7 years ago

Perhaps this would work? In build-server.js, modify function afterDeploy to (1) run “grunt report-third-party”, then (2) commit and push sherpa/third-party-report.md.

zepumph commented 7 years ago

The plan is to complete this as part of our automating checklist steps.

mattpen commented 6 years ago

@jonathanolson has implemented this as a client-side grunt task and automated steps 1,2 and 4 from above. The only problem remaining is:

html files for all published sims must be downloaded to the client.

@jonathanolson and I propose that we defer migrating this to perennial because this isn't a critical problem.

zepumph commented 5 years ago

@jonathanolson and I propose that we defer migrating this to perennial because this isn't a critical problem.

@mattpen any objections to moving this to perennial now as part of https://github.com/phetsims/perennial/issues/141?

zepumph commented 5 years ago

For now I just left it. It seemed to be a bit easier this way.

zepumph commented 5 years ago

~@Matthew-phet~ @mattpen and @jonathanolson, over in https://github.com/phetsims/perennial/issues/141 I made a daily script that reruns the third party credit generations. I also then removed this step from production deploys. Back over to you two for whatever is left for this.

jonathanolson commented 5 years ago

@mattpen I don't see anything else to do here?

mattpen commented 5 years ago

Agreed, I think this can be closed.