$docdir = C4::Context->config('intranetdir') . '/docs';
}
+## Release teams
+my $teams = LoadFile("$docdir"."/teams.yaml");
+my $dev_team = (sort {$b <=> $a} (keys %{$teams->{team}}))[0];
+my $short_version = substr($versions{'kohaVersion'},0,5);
+my $minor = substr($versions{'kohaVersion'},3,2);
+my $development_version = ( $minor eq '05' || $minor eq '11' ) ? 0 : 1;
+$template->param( short_version => $short_version );
+$template->param( development_version => $development_version );
+
## Contributors
my $contributors =
-e "$docdir" . "/contributors.yaml"
? LoadFile( "$docdir" . "/contributors.yaml" )
: {};
-my @people = map {
- {
- name => $_,
- (
- exists( $contributors->{$_}->{openhub} )
- ? ( openhub => $contributors->{$_}->{openhub} )
- : ()
- ),
- (
- exists( $contributors->{$_}->{roles} )
- ? ( roles => $contributors->{$_}->{roles} )
- : ()
- ),
- (
- exists( $contributors->{$_}->{commits} )
- ? ( commits => $contributors->{$_}->{commits} )
- : ()
- ),
- (
- exists( $contributors->{$_}->{notes} )
- ? ( notes => $contributors->{$_}->{notes} )
- : ()
- )
+for my $version ( sort { $a <=> $b } keys %{$teams->{team}} ) {
+ for my $role ( keys %{ $teams->{team}->{$version} } ) {
+ my $normalized_role = "$role";
+ $normalized_role =~ s/s$//;
+ if ( ref( $teams->{team}->{$version}->{$role} ) eq 'ARRAY' ) {
+ for my $contributor ( @{ $teams->{team}->{$version}->{$role} } ) {
+ my $name = $contributor->{name};
+ # Add role to contributors
+ push @{ $contributors->{$name}->{roles}->{$normalized_role} },
+ $version;
+ # Add openhub to teams
+ if ( exists( $contributors->{$name}->{openhub} ) ) {
+ $contributor->{openhub} = $contributors->{$name}->{openhub};
+ }
+ }
+ }
+ else {
+ my $name = $teams->{team}->{$version}->{$role}->{name};
+ # Add role to contributors
+ push @{ $contributors->{$name}->{roles}->{$normalized_role} },
+ $version;
+ # Add openhub to teams
+ if ( exists( $contributors->{$name}->{openhub} ) ) {
+ $teams->{team}->{$version}->{$role}->{openhub} =
+ $contributors->{$name}->{openhub};
+ }
+ }
}
+}
+
+## Create last name ordered array of people from contributors
+my @people = map {
+ { name => $_, ( $contributors->{$_} ? %{ $contributors->{$_} } : () ) }
} sort {
my ($alast) = $a =~ /(\S+)$/;
my ($blast) = $b =~ /(\S+)$/;
} keys %{$contributors};
$template->param( contributors => \@people );
+$template->param( maintenance_team => $teams->{team}->{$dev_team} );
+$template->param( release_team => $teams->{team}->{$short_version} );
## Timeline
if ( open( my $file, "<:encoding(UTF-8)", "$docdir" . "/history.txt" ) ) {
--- /dev/null
+[%- BLOCK role -%]
+ [%- SWITCH role.key -%]
+ [%- CASE 'manager' -%]Release manager
+ [%- CASE 'manager_assistant' -%]Release manager assistant
+ [%- CASE 'qa_manager' -%]Quality assurance manager
+ [%- CASE 'qa' -%]Quality assurance team
+ [%- CASE 'documentation' -%]Documentation manager
+ [%- CASE 'documentation_team' -%]Documentation team
+ [%- CASE 'translation' -%]Translation manager
+ [%- CASE 'translation_assistant' -%]Translation manager assistant
+ [%- CASE 'te' -%]Topic expert
+ [%- CASE 'bugwrangler' -%]Bug wrangler
+ [%- CASE 'maintainer' -%]Release maintainer
+ [%- CASE 'maintainer_assistant' -%]Release maintainer assistant
+ [%- CASE 'wiki' -%]Wiki curator
+ [%- CASE 'ci' -%]Continuous integration manager
+ [%- CASE 'packaging' -%]Packaging manager
+ [%- CASE 'packaging_assistant' -%]Packaging manager assistant
+ [%- CASE 'chairperson' -%]Meetings chairperson
+ [%- CASE 'newsletter' -%]Newsletter editor
+ [%- CASE 'mm' -%]Module maintainer
+ [%- CASE 'vm' -%]Virtual machine maintainer
+ [%- CASE 'database' -%]Documentation specialist
+ [%- CASE 'live_cd' -%]Live CD maintainer
+ [%- END -%]
+[%- END -%]
+
+[%- BLOCK person -%]
+[% IF p.openhub %]<a href="[% p.openhub | url %]">[% p.name | html %]</a>[% ELSE %][% p.name | html %][% END %]
+[%- END -%]
+
+[%- BLOCK contributions -%]
+[%- IF p.roles || p.notes -%]
+<ul>
+ [% FOREACH r IN p.roles %]<li>[% INCLUDE role role=r %] ([% r.value.join(', ') | html %])</li>[% END %]
+ [% IF p.notes %]<li>[% p.notes | html %]</li>[% END %]
+</ul>
+[%- END -%]
+[%- END -%]
+
+[%- BLOCK team -%]
+ <ul>
+
+ <li><strong>Release manager:</strong>
+ [% INCLUDE person p=t.manager %]
+ </li>
+
+ [% IF t.manager_assistants %]
+ <li><strong>Release manager assistants:</strong>
+ <ul>
+ [% FOREACH a IN t.assistants %]
+ <li>[% INCLUDE person p=a %]</li>
+ [% END %]
+ </ul>
+ </li>
+ [% ELSIF t.manager_assistant %]
+ <li><strong>Release manager assistant:</strong>
+ [% INCLUDE person p=t.manager_assistant %]
+ </li>
+ [% END %]
+
+ [% IF t.qa_manager %]
+ <li><strong>Quality assurance manager:</strong>
+ [% INCLUDE person p=t.qa_manager %]
+ </li>
+ [% END %]
+
+ [% IF t.qa %]
+ <li><strong>Quality assurance team:</strong>
+ <ul>
+ [% FOREACH qa IN t.qa %]
+ <li>[% INCLUDE person p=qa %]</li>
+ [% END %]
+ </ul>
+ </li>
+ [% END %]
+
+ [% IF t.documentation %]
+ <li><strong>Documentation Manager:</strong>
+ [% INCLUDE person p=t.documentation %]
+ </li>
+ [% END %]
+
+ [% IF t.documentation_team %]
+ <li><strong>Documentation Team:</strong>
+ <ul>
+ [% FOREACH doc_member IN t.documentation_team %]
+ <li>[% INCLUDE person p=doc_member %]</li>
+ [% END %]
+ </ul>
+ </li>
+ [% END %]
+
+ [% IF t.translation %]
+ <li><strong>Translation manager:</strong>
+ [% INCLUDE person p=t.translation %]
+ </li>
+ [% END %]
+
+ [% IF t.packaging %]
+ <li><strong>Packaging manager:</strong>
+ [% INCLUDE person p=t.packaging %]
+ </li>
+ [% END %]
+
+ [% IF t.ci %]
+ <li><strong>Jenkins maintainer:</strong>
+ [% INCLUDE person p=t.ci %]
+ </li>
+ [% END %]
+
+ [% IF t.bugwrangler %]
+ <li><strong>Bug wranglers:</strong>
+ <ul>
+ [% FOREACH bugwrangler IN t.bugwrangler %]
+ <li>[% INCLUDE person p=bugwrangler %]</li>
+ [% END %]
+ </ul>
+ </li>
+ [% END %]
+
+ <li><strong>Release maintainers:</strong>
+ <ul>
+ [% FOREACH m IN t.maintainer %]
+ <li>[% m.version | html %] - [% INCLUDE person p=m %]</li>
+ [% END %]
+ </ul>
+ </li>
+
+ </ul>
+[%- END -%]
</head>
<body id="about_about" class="about">
[% INCLUDE 'header.inc' %]
+[% PROCESS 'about-team.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › About Koha</div>
<li><a href="http://www.ashs.school.nz/">Albany Senior High School</a>, Auckland, New Zealand (OPAC 'star-ratings' sponsorship)</li>
</ul>
- <h2>Koha 18.11 release team</h2>
- <ul>
- <li><strong>Release manager:</strong>
- <a href="https://www.openhub.net/p/koha/contributors/6620692886191">Nick Clemens</a>
- </li>
- <li><strong>Release manager assistants:</strong>
- <ul>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618544730094">Tomás Cohen Arazi</a></li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618545125093">Jonathan Druart</a></li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618544661344">Brendan Gallagher</a></li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6620692261494">Kyle Hall</a></li>
- </ul>
- </li>
- <li><strong>Documentation team:</strong>
- <ul>
- <li>Caroline Cyr La Rose</li>
- <li>Lee Jamison</li>
- <li>David Nind</li>
- </ul>
- </li>
- <li><strong>Translation manager:</strong>
- <a href="https://www.openhub.net/p/koha/contributors/6618544839606">Bernardo González Kriegel</a>
- </li>
- <li><strong>Quality assurance manager:</strong>
- <a href="https://www.openhub.net/p/koha/contributors/6618544670742">Katrin Fischer</a>
- </li>
- <li><strong>Quality assurance team:</strong>
- <ul>
- <li>Alex Arnaud</li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618544730094">Tomás Cohen Arazi</a></li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618544609030">Chris Cormack</a></li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618545125093">Jonathan Druart</a></li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6620692261494">Kyle Hall</a></li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6620692419690">Julian Maurice</a></li>
- <li>Josef Moravec</li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618544785220">Martin Renvoize</a></li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618544727712">Marcel de Rooy</a></li>
- </ul>
- </li>
- <li><strong>Release maintainers:</strong>
- <ul>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618544785220">Martin Renvoize</a> (18.05)</li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618545418525">Fridolin Somers</a> (17.11)</li>
- <li><a href="https://www.openhub.net/p/koha/contributors/6618545418525">Fridolin Somers</a> (17.05)</li>
- </ul>
- </li>
- <li><strong>Packaging manager:</strong>
- <ul>
- <li><a href="https://www.openhub.net/p/koha/contributors/6620692605913">Mirko Tietgen</a></li>
- <li><a href="https://www.openhub.net/accounts/kohaaloha">Mason James</a> (Assistant)</li>
- </ul>
- </li>
- <li><strong>Jenkins maintainer:</strong>
- <a href="https://www.openhub.net/p/koha/contributors/6618544730094">Tomás Cohen Arazi</a>
- </li>
- <li><strong>Bug wranglers:</strong>
- <ul>
- <li>Indranil Das Gupta</li>
- <li>Claire Gravely</li>
- <li>Amit Gupta</li>
- <li>Jon Knight</li>
- </ul>
- </li>
- </ul>
+ <h2>Koha release teams</h2>
+ <div class="row">
+ <div class="col-md-6">
+ <h3>Koha [% short_version | html %] release team</h3>
+ [% IF development_version %]
+ <p>You are running a development version of Koha</p>
+ [% ELSE %]
+ [% INCLUDE team t=release_team %]
+ [% END %]
+ </div>
+
+ <div class="col-md-6">
+ <h3>Current maintainence team</h3>
+
+ [% INCLUDE team t=maintenance_team %]
+ </div>
+ </div>
<h2>Koha development team</h2>
[% IF contributors.size %]
[% END %]
<!-- the main div is closed in intranet-bottom.inc -->
[% INCLUDE 'intranet-bottom.inc' %]
-<!-- roles for translation -->
-[%- BLOCK role -%]
- [%- SWITCH role.key -%]
- [%- CASE 'manager' -%]Release manager
- [%- CASE 'manager_assistant' -%]Release manager assistant
- [%- CASE 'qa_manager' -%]Quality assurance manager
- [%- CASE 'qa' -%]Quality assurance team
- [%- CASE 'documentation' -%]Documentation manager
- [%- CASE 'documentation_team' -%]Documentation team
- [%- CASE 'translation' -%]Translation manager
- [%- CASE 'translation_assistant' -%]Translation manager assistant
- [%- CASE 'te' -%]Topic expert
- [%- CASE 'bugwrangler' -%]Bug wrangler
- [%- CASE 'maintainer' -%]Release maintainer
- [%- CASE 'maintainer_assistant' -%]Release maintainer assistant
- [%- CASE 'wiki' -%]Wiki curator
- [%- CASE 'ci' -%]Continuous integration manager
- [%- CASE 'packaging' -%]Packaging manager
- [%- CASE 'packaging_assistant' -%]Packaging manager assistant
- [%- CASE 'chairperson' -%]Meetings chairperson
- [%- CASE 'newsletter' -%]Newsletter editor
- [%- CASE 'mm' -%]Module maintainer
- [%- CASE 'vm' -%]Virtual machine maintainer
- [%- CASE 'database' -%]Documentation specialist
- [%- CASE 'live_cd' -%]Live CD maintainer
- [%- END -%]
-[%- END -%]
-[%- BLOCK person -%]
-[% IF p.openhub %]<a href="[% p.openhub | url %]">[% p.name | html %]</a>[% ELSE %][% p.name | html %][% END %]
-[%- END -%]
-[%- BLOCK contributions -%]
-[%- IF p.roles || p.notes -%]
-<ul>
- [% FOREACH r IN p.roles %]<li>[% INCLUDE role role=r %] ([% r.value.join(', ') | html %])</li>[% END %]
- [% IF p.notes %]<li>[% p.notes | html %]</li>[% END %]
-</ul>
-[%- END -%]
-[%- END -%]