In #3338988: Completeness of l10n_community, we figured out some release management features are missing.

Resources:

Comments

fmb created an issue. See original summary.

dydave’s picture

Raaaaa ... this does not seem ideal at all ...

I'm starting to understand how all this was done ....

Everything was done with code and list builders instead of using Views...
See: https://localizedrupalorg.ddev.site/admin/localization/projects

All the links and tabs on these pages are using code with routes in the module .....

I would recommend we try rebuilding all these pages using Views with config instead of list builders with code ...
Not only would it be much more flexible, allowing us to add sorts on headers, filters, etc... but it would also be much easier to maintain, without having to keep the code in the module updated with core API changes...
Additionally, these views could also support additional displays, such as blocks, for example the ones used on the profile page.

However the work on this would go far beyond what would be expected in this issue, with a lot of impacted files (removed code) and added views configuration in module's install folder.

I'm going to try taking a stab at this, then we could consider updating the issue summary.
 

As far as this ticket is concerned, the requrested page already seems to exist, but with a different path:
https://localizedrupalorg.ddev.site/admin/localization/l10n-server-proje...

Let's see what we could do with views and take it from there....

dydave’s picture

fmb’s picture

I would recommend we try rebuilding all these pages using Views with config instead of list builders with code ...

I'd say this sounds like a lot of work for basic admin pages which might not need such flexibility... Let's discuss this on #localize on Slack.

gábor hojtsy’s picture

Compared against the Drupal 7 admin pages, three release management features had no counterpart on 3.0.x:

  • Start over with a release (admin/l10n_server/projects/releases/%/reset/%): drops the files, lines and parsing errors of the release, keeps source strings and translations, marks the release unparsed so it is parsed again.
  • Start over with a project (admin/l10n_server/projects/reset/%): the same for a whole project, including its releases, which the connector scans again; the project stays.
  • Clean up (admin/l10n_server/projects/cleanup): deletes source strings no release refers to any more, together with their translations and status flags.

Added them as confirm forms with the Drupal 7 questions, descriptions and messages: 'Start over' operations on the project and release lists (/admin/localization/projects/{id}/start-over, /admin/localization/releases/{id}/start-over) and a 'Clean up' action on the projects list (/admin/localization/projects/cleanup). The data work lives on the storage handlers (startOver() on projects and releases, countOrphans() and deleteOrphans() on strings), shared with the 'Missing strings?' form of the translation page.

Tests: new Drupal 7 test testAdminStartOver() covering all three with data checks (other release untouched, strings kept until the cleanup, project waiting to be parsed), and its port L10nAdminStartOverTest.

LLM was used to find, diagnose explain and fix this issue. With human review.

  • d0cbf343 committed on 7.x-1.x
    fix #3570140: Missing release management features
    
    Add the admin start...

  • 363f0a71 committed on 3.0.x
    fix #3570140: Missing release management features
    
    Start over with a...
gábor hojtsy’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.