Bug 41319: Automate sponsor tracking from git trailers
This patch replaces the hardcoded "Contributing companies and institutions" list on the about page with an automated system that extracts sponsor information from git commit trailers. Changes: 1. about.pl: Load sponsor data from docs/sponsors.yaml using YAML::XS 2. about.tt: Replace hardcoded list with dynamic rendering from sponsors.yaml, displaying sponsors with their locations 3. docs/sponsors.yaml: Generated sponsor data file containing 212 unique sponsors with contribution counts, locations, and URLs The sponsor data is generated at release time using the koha-update-sponsors script from release-tools (see release-tools commit a30b8a3). The script: - Extracts Sponsored-by: trailers from git history - Applies alias resolution to consolidate duplicate names - Preserves historical sponsors without git trailers - Merges location and URL data from sponsor_map.yaml This replaces the manual process of updating the sponsor list with a maintainable approach that automatically captures all Sponsored-by: entries from the git history while preventing duplicate entries through alias resolution. The about page now displays sponsors in the format: "Organization Name, Country" instead of showing contribution counts. To update the sponsor list at release time: 1. Run koha-update-sponsors from the Koha source directory 2. Review and commit the updated docs/sponsors.yaml See release-tools README.md for detailed documentation. Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
0ddcaa5e8a
commit
e47511f889
7
about.pl
7
about.pl
|
|
@ -682,6 +682,12 @@ if ( $tab eq 'team' ) {
|
|||
? YAML::XS::LoadFile( "$docdir" . "/contributors.yaml" )
|
||||
: {};
|
||||
delete $contributors->{_others_};
|
||||
|
||||
## Sponsors
|
||||
my $sponsors =
|
||||
-e "$docdir" . "/sponsors.yaml"
|
||||
? eval { YAML::XS::LoadFile( "$docdir" . "/sponsors.yaml" ) } // {}
|
||||
: {};
|
||||
for my $version ( sort { $a <=> $b } keys %{ $teams->{team} } ) {
|
||||
for my $role ( keys %{ $teams->{team}->{$version} } ) {
|
||||
my $detail = $teams->{team}->{$version}->{$role};
|
||||
|
|
@ -754,6 +760,7 @@ if ( $tab eq 'team' ) {
|
|||
|
||||
$template->param( kohaCodename => $codename );
|
||||
$template->param( contributors => \@people );
|
||||
$template->param( sponsors => $sponsors );
|
||||
$template->param( maintenance_team => $teams->{team}->{$dev_team} );
|
||||
$template->param( release_team => $teams->{team}->{$short_version} );
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -960,111 +960,20 @@
|
|||
<hr />
|
||||
|
||||
<h2>Contributing companies and institutions</h2>
|
||||
<ul class="columns-4">
|
||||
<li>Allen Ginsberg Library, USA</li>
|
||||
<li>Alingsås Public Library, Sweden</li>
|
||||
<li>American Numismatic Society, USA</li>
|
||||
<li>Arcadia Public Library, USA</li>
|
||||
<li>Athens County Public Libraries, USA</li>
|
||||
<li>BdP de la Meuse, France</li>
|
||||
<li>BibLibre, France</li>
|
||||
<li>Biblioteca Provincial Fr. Mamerto Esquiú (Provincia Franciscana de la Asunción), Argentina</li>
|
||||
<li>Bibliotheksservice-Zentrum Baden-Württemberg (BSZ), Germany</li>
|
||||
<li>Briar Cliff University, USA</li>
|
||||
<li>Brimbank City Council, Australia</li>
|
||||
<li>Brooklyn Law School Library, USA</li>
|
||||
<li>Bibliothèque Universitaire des Langues et Civilisations (<a href="https://www.bulac.fr">BULAC</a>), France</li>
|
||||
<li>ByWater Solutions, USA</li>
|
||||
<li>California College of the Arts, USA</li>
|
||||
<li>Calyx, Australia</li>
|
||||
<li>Camden County, USA</li>
|
||||
<li>Cape Libraries Automated Materials Sharing (CLAMS), USA</li>
|
||||
<li>Carnegie Stout Library, USA</li>
|
||||
<li>Catalyst IT, New Zealand</li>
|
||||
<li>Central Kansas Library System (CKLS), USA</li>
|
||||
<li>Centre collégial des services regroupés (CCSR), Canada</li>
|
||||
<li>Cheshire Libraries, United Kingdom</li>
|
||||
<li>Coeur d'Alene Public Library, USA</li>
|
||||
<li>Corpus Christi Public Libraries, USA</li>
|
||||
<li>C & P Bibliography Services, USA</li>
|
||||
<li>Dataly Tech, Greece</li>
|
||||
<li>Devinim, Turkey</li>
|
||||
<li>Do Space, USA</li>
|
||||
<li>DoverNet, USA</li>
|
||||
<li>doXulting</li>
|
||||
<li>Duchesne County Library, USA</li>
|
||||
<li>Escuela de Orientacion Lacaniana, Argentina</li>
|
||||
<li>Fenway Library Organization, USA</li>
|
||||
<li>Fargo Public Library, USA</li>
|
||||
<li>Farmington Public Library, USA</li>
|
||||
<li>FIT</li>
|
||||
<li>Foundations Bible College & Seminary, USA</li>
|
||||
<li>Goethe-Institut, Germany</li>
|
||||
<li>Gothenburg University Library, Sweden</li>
|
||||
<li>Halland County Library, Sweden</li>
|
||||
<li>Harrison Carmel Public Library, USA</li>
|
||||
<li>Hauraki District Libraries, New Zealand</li>
|
||||
<li>Higher Education Libraries of Massachusetts, USA</li>
|
||||
<li>Hochschule für Gesundheit (hsg), Germany</li>
|
||||
<li>Hotchkiss School, USA</li>
|
||||
<li>Karlsruhe Institute of Technology (KIT), Germany</li>
|
||||
<li>Katipo Communications, New Zealand</li>
|
||||
<li>KEEP SOLUTIONS, Portugal</li>
|
||||
<li>KohaAloha, New Zealand</li>
|
||||
<li>Koha-Suomi Oy, Finland</li>
|
||||
<li>LibLime, USA</li>
|
||||
<li>Library of the Józef Piłsudski Institute of America, USA</li>
|
||||
<li>Libriotech, Norway</li>
|
||||
<li>Los Gatos Public Library, USA</li>
|
||||
<li>Lund University Library, Sweden</li>
|
||||
<li>MassCat, USA</li>
|
||||
<li>Middletown Township Public Library, USA</li>
|
||||
<li>National Library of Finland, Finland</li>
|
||||
<li>Newcastle City Council, United Kingdom</li>
|
||||
<li>New Zealand Central Agencies Library, New Zealand</li>
|
||||
<li>New Zealand Ministry of Education Library, New Zealand</li>
|
||||
<li>North Central Regional Library (NCRL), USA</li>
|
||||
<li>Northeast Kansas Library System (NEKLS), USA</li>
|
||||
<li>OPUS</li>
|
||||
<li>Orex Digital, Spain</li>
|
||||
<li>Oslo Public Library, Norway</li>
|
||||
<li>Plano Independent School, USA</li>
|
||||
<li>Plant and Food Research Limited, New Zealand</li>
|
||||
<li>Prosentient Systems, Australia</li>
|
||||
<li>PTFS, Maryland, USA</li>
|
||||
<li>PTFS Europe Ltd, United Kingdom</li>
|
||||
<li>Rijksmuseum, Amsterdam, The Netherlands</li>
|
||||
<li>Rolling Hills Consolidated Libraries, USA</li>
|
||||
<li>Round Rock Public Library, USA</li>
|
||||
<li>SAN-Ouest Provence, France</li>
|
||||
<li>Sefton Council, United Kingdom</li>
|
||||
<li>software.coop, United Kingdom</li>
|
||||
<li>South-East Kansas Library System (SEKLS), USA</li>
|
||||
<li>South Taranaki District Council, New Zealand</li>
|
||||
<li>Stockholm University Library, Sweden</li>
|
||||
<li>SWITCH Library Consortium, USA</li>
|
||||
<li>Talking Tech, Global</li>
|
||||
<li>Tamil, France</li>
|
||||
<li>Theke Solutions, Argentina</li>
|
||||
<li>Tulong Aklatan, Philippines</li>
|
||||
<li>Uintah Library System, USA</li>
|
||||
<li>Universidad de El Salvador, El Salvador</li>
|
||||
<li>Universidad Empresarial Siglo 21, Argentina</li>
|
||||
<li>Universidad Nacional de Córdoba, Argentina</li>
|
||||
<li>Universidad ORT Uruguay</li>
|
||||
<li>Université d'Aix-Marseille, France</li>
|
||||
<li>Université de Lyon 3, France</li>
|
||||
<li>Université de Rennes 2, France</li>
|
||||
<li>Université de St Etienne, France</li>
|
||||
<li>University of the Arts London, United Kingdom</li>
|
||||
<li>Vaara-kirjastot, Finland</li>
|
||||
<li>Vanier College, Canada</li>
|
||||
<li>Vermont Organization of Koha Automated Libraries (VOKAL), USA</li>
|
||||
<li>Ville de Victoriaville, Canada</li>
|
||||
<li>Virginia Tech, USA</li>
|
||||
<li>Washoe County Library System, USA</li>
|
||||
<li>Xercode, Spain</li>
|
||||
</ul>
|
||||
[% IF sponsors.keys.size %]
|
||||
<ul class="columns-4">
|
||||
[% FOREACH sponsor IN sponsors.keys.sort %]
|
||||
<li>
|
||||
[% IF sponsors.$sponsor.url && sponsors.$sponsor.url != '~' %]
|
||||
<a href="[% sponsors.$sponsor.url | url %]">[% sponsor | html %]</a>
|
||||
[% ELSE %]
|
||||
[% sponsor | html %]
|
||||
[% END %]
|
||||
[% IF sponsors.$sponsor.location %], [% sponsors.$sponsor.location | html %][% END %]
|
||||
</li>
|
||||
[% END %]
|
||||
</ul>
|
||||
[% END %]
|
||||
|
||||
<h2>Additional thanks to...</h2>
|
||||
<ul>
|
||||
|
|
|
|||
Loading…
Reference in New Issue