View | Details | Raw Unified | Return to bug 25642
Collapse All | Expand All

(-)a/misc/release_notes/release_notes_20_05_00.html (-5 / +96 lines)
Lines 28-37 website for the Koha project is:</p> Link Here
28
28
29
<p>It includes 13 new features, 275 enhancements, 592 bugfixes.</p>
29
<p>It includes 13 new features, 275 enhancements, 592 bugfixes.</p>
30
30
31
<p>A new <b>Technical highlights</b> section is included at the bottom of these notes for those seeking a short summary of the more technical changes included in this release</p>
32
31
<h3 id="systemrequirements">System requirements</h3>
33
<h3 id="systemrequirements">System requirements</h3>
32
34
33
<p>Koha is continiously tested against the following configurations and as such these are the recommendations for 
35
<p>Koha is continuously tested against the following configurations and as such, these are the recommendations for
34
deployment: </p>
36
deployment:</p>
35
37
36
<ul>
38
<ul>
37
<li>Debian Jessie with MySQL 5.5 (End of life)</li>
39
<li>Debian Jessie with MySQL 5.5 (End of life)</li>
Lines 2467-2477 have already been fixed in maintainance releases)</p> Link Here
2467
  
2469
  
2468
  <ul>
2470
  <ul>
2469
  <li>needed_before_date => start_date</li>
2471
  <li>needed_before_date => start_date</li>
2470
  <li>pickup_expiry_date => expiry_date
2472
  <li>pickup_expiry_date => expiry_date</li>
2471
  <h2 id="newsysprefs">New sysprefs</h2></li>
2472
  </ul>
2473
  </ul>
2473
</blockquote></li>
2474
</blockquote></li>
2474
<li><p>AccessControlAllowOrigin</p></li>
2475
</ul>
2476
2477
<h2 id="technicalhighlights">Technical highlights</h2>
2478
2479
<p>Some significant technical changes were made behind the scenes in this release and it was felt that they should be additionally highlighted in the notes as they could be easily missed above.</p>
2480
2481
<h3 id="refactoring">Refactoring</h3>
2482
2483
<ul>
2484
<li>C4::Members::Attributes has been moved to Koha::Patron::Attributes.
2485
<ul>
2486
<li>GetBorrowerAttributeValue has been replaced by Koha::Patron-&gt;get_extended_attribute_value</li>
2487
<li>GetBorrowerAttributes has been replaced by Koha::Patron-&gt;get_extended_attributes</li>
2488
<li>DeleteBorrowerAttribute has been replaced by Koha::Patron-&gt;get_extended_attribute-&gt;delete</li>
2489
<li>UpdateBorrowerAttribute and SetBorrowerAttributes has been replaced by Koha::Patron-&gt;extended_attributes($attributes)</li>
2490
<li>C4::Members::AttributeTypes::GetAttributeTypes has been replaced by Koha::Patron::Attribute::Types-&gt;filter_by_branch_limitations</li>
2491
</ul></li>
2492
<li>C4::Items CRUD subroutines have moved to Koha::Item
2493
<ul>
2494
<li>Pay special attention to Koha::Item-&gt;store,-&gt;delete and-&gt;safe_delete</li>
2495
</ul></li>
2496
<li>QueryParser has been completely removed from the codebase</li>
2497
<li>The issuingrules table has been completely removed in favour of using the new circulation_rules table. Please use Koha::CirculationRules now</li>
2498
<li>Dependancy management has been moved from the customer Koha code into a cpanfile</li>
2499
</ul>
2500
2501
<h3 id="devtools">Dev tools</h3>
2502
2503
<p>A number of developer tools and processes have been refined
2504
- misc/devel/update_dbix_class_files.pl now defaults to using koha-conf.xml so you are not required to always append parameters now to run the script
2505
- The installer files are now translatable using the pootle process
2506
   - A new YAML format has been migrated to for the installer files
2507
   - A new command line script may be used to load the new yaml formatted installer files manually where required
2508
   - Work is ongoing to migrate and remove the original .SQL files which are still supported during the period of the migration (bug 24897 is a good example of the process)
2509
   - Work is underway to add a 'localization' process to the installer allowing for localization to be applied distinctly to translation</p>
2510
2511
<ul>
2512
<li><p>Strings found inside JavaScript are now directly translatable</p>
2513
2514
<blockquote>
2515
  <p>Prior to bug 21156 a translatable string would have taken the form</p>
2516
2517
  <p><code>var my_string = _("my string");</code> # Within the .tt</p>
2518
2519
  <p><code>alert(my_string);</code> # Within the .js</p>
2520
2521
  <p>Now we can simply use</p>
2522
2523
  <p><code>alert(__("my string");</code> # Note the double underscore</p>
2524
</blockquote></li>
2525
<li><p>The database update script now outputs timestamps and skeleton.perl has an updated simplified syntax to follow</p></li>
2526
<li>Koha::Script added support for simple execution locking: fines.pl is a good example of how to utilise the new functionality</li>
2527
</ul>
2528
2529
<h3 id="pluginssupport">Plugins support</h3>
2530
2531
<p>A number of improvements have been made to the plugins system to allows better discoverability and code interaction
2532
- One can configure the new <code>plugin_repos</code> config option to point to their github organisation to allow plugins to be discovered by end users in the koha staff client
2533
- Additional hooks have been added in this release, please see the 'Plugin architecture' section above.</p>
2534
2535
<h3 id="apienhancements">API Enhancements</h3>
2536
2537
<p>The code that is used to implement the REST API has seen many relevant structural changes on this release.</p>
2538
2539
<p>Several generic methods have been added to the Koha::Object(s) classes:
2540
- to_api <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23770">[23770]</a> <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23843">[23843]</a>
2541
- new_from_api <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23893">[23893]</a>
2542
- set_from_api <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23893">[23893]</a>
2543
- attributes_from_api
2544
- from_api_mapping</p>
2545
2546
<p>They are designed to simplify DB &lt;-&gt; API attribute name mapping. They allowed us to make our controllers thin and really simple to read and understand (and thus maintain). Tests become easier to write as well.
2547
One of the goals behind this move to Koha::Object-level, was that we intended to embed arbitrary data on the responses. So the attribute mapping responsibility (between the DB and our OpenAPI spec) was moved from the controllers to the Koha::Object(s) level (i.e. for an arbitrary object you can now ask for its API representation like in $patron-&gt;to_api).</p>
2548
2549
<p>This 'to_api' method is designed to be passed parameters. Right now it only accepts the 'embed' parameter which expects a hashref representing the recursive data structures we would like to embed in the object representation (see POD for more details). For example: my $api = $patron-&gt;to_api({ embed =&gt; { children =&gt; { checkouts =&gt; {} } } }) will make the resulting $api variable contain the representation of the Koha::Patron object, with the added 'checkouts' attribute, which will be the result of calling $patron-&gt;checkouts-&gt;to_api and so on (if more nested objects need to be included). <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24228">[24228]</a>. A special syntax has been added for requiring counts (for result sets). And there is a plan to add a 'for_opac' parameter so we know what kind of representation we need to generate. There's been some discussion about having a 'brief' representation of objects as well, for some use cases but that's an ongoing discussion.</p>
2550
2551
<p>The API spec got its counter-part additions: an 'x-koha-embed' attribute that specifies what things are allowed to be requested for embedding on a route. A special syntax was added to request counts (for example, x-koha-embed: [ checkouts+count] will be interpreted as a request to get the count, and will be placed in an attribute called checkouts_count) <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24302">[24302]</a> <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24321">[24321]</a> <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24528">[24528]</a>.</p>
2552
2553
<p>Now we are embedding things, it was natural to think we would like to:
2554
- automatically build DBIC queries that would prefetch the required tables <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24356">[24356]</a>
2555
- filter by those nested objects in a WHERE condition <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24487">[[24487]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24487)</a>
2556
- order by those nested properties <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24615">[24615]</a></p>
2557
2558
<p>All the above features have been introduced as well.</p>
2559
2560
<p>And the last bit, we introduced a 'q' parameter that allows building DBIC-ish queries on the resources we are fetching, as well as on the nested resources. <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24487">[24487]</a> <a href="http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24502">[24502]</a></p>
2561
2562
<h2 id="newsysprefs">New sysprefs</h2>
2563
2564
<ul>
2565
<li>AccessControlAllowOrigin</li>
2475
<li>AllowItemsOnHoldCheckoutSIP</li>
2566
<li>AllowItemsOnHoldCheckoutSIP</li>
2476
<li>AllowPatronToControlAutorenewal</li>
2567
<li>AllowPatronToControlAutorenewal</li>
2477
<li>AuthFailureLog</li>
2568
<li>AuthFailureLog</li>
(-)a/misc/release_notes/release_notes_20_05_00.md (-4 / +82 lines)
Lines 21-30 Koha 20.05.00 is a major release, that comes with many new features. Link Here
21
21
22
It includes 13 new features, 275 enhancements, 592 bugfixes.
22
It includes 13 new features, 275 enhancements, 592 bugfixes.
23
23
24
A new <b>Technical highlights</b> section is included at the bottom of these notes for those seeking a short summary of the more technical changes included in this release
25
24
### System requirements
26
### System requirements
25
27
26
Koha is continiously tested against the following configurations and as such these are the recommendations for 
28
Koha is continuously tested against the following configurations and as such, these are the recommendations for
27
deployment: 
29
deployment:
28
30
29
- Debian Jessie with MySQL 5.5 (End of life)
31
- Debian Jessie with MySQL 5.5 (End of life)
30
- Debian Stretch with MariaDB 10.1
32
- Debian Stretch with MariaDB 10.1
Lines 33-39 deployment: Link Here
33
- Debian Stretch with MySQL 8.0 (Experimental MySQL 8.0 support)
35
- Debian Stretch with MySQL 8.0 (Experimental MySQL 8.0 support)
34
36
35
Additional notes:
37
Additional notes:
36
    
38
37
- Perl 5.10 is required (5.24 is recommended)
39
- Perl 5.10 is required (5.24 is recommended)
38
- Zebra or Elasticsearch is required
40
- Zebra or Elasticsearch is required
39
41
Lines 1918-1923 have already been fixed in maintainance releases) Link Here
1918
  >Note: the previously documented but not implemented parameter names were changed: 
1920
  >Note: the previously documented but not implemented parameter names were changed: 
1919
  >- needed_before_date => start_date
1921
  >- needed_before_date => start_date
1920
  >- pickup_expiry_date => expiry_date
1922
  >- pickup_expiry_date => expiry_date
1923
1924
## Technical highlights
1925
1926
Some significant technical changes were made behind the scenes in this release and it was felt that they should be additionally highlighted in the notes as they could be easily missed above.
1927
1928
### Refactoring
1929
1930
- C4::Members::Attributes has been moved to Koha::Patron::Attributes.
1931
   - GetBorrowerAttributeValue has been replaced by Koha::Patron-&gt;get_extended_attribute_value
1932
   - GetBorrowerAttributes has been replaced by Koha::Patron-&gt;get_extended_attributes
1933
   - DeleteBorrowerAttribute has been replaced by Koha::Patron-&gt;get_extended_attribute-&gt;delete
1934
   - UpdateBorrowerAttribute and SetBorrowerAttributes has been replaced by Koha::Patron-&gt;extended_attributes($attributes)
1935
   - C4::Members::AttributeTypes::GetAttributeTypes has been replaced by Koha::Patron::Attribute::Types-&gt;filter_by_branch_limitations
1936
- C4::Items CRUD subroutines have moved to Koha::Item
1937
   - Pay special attention to Koha::Item-&gt;store,-&gt;delete and-&gt;safe_delete
1938
- QueryParser has been completely removed from the codebase
1939
- The issuingrules table has been completely removed in favour of using the new circulation_rules table. Please use Koha::CirculationRules now
1940
- Dependancy management has been moved from the customer Koha code into a cpanfile
1941
1942
### Dev tools
1943
1944
A number of developer tools and processes have been refined
1945
- misc/devel/update_dbix_class_files.pl now defaults to using koha-conf.xml so you are not required to always append parameters now to run the script
1946
- The installer files are now translatable using the pootle process
1947
   - A new YAML format has been migrated to for the installer files
1948
   - A new command line script may be used to load the new yaml formatted installer files manually where required
1949
   - Work is ongoing to migrate and remove the original .SQL files which are still supported during the period of the migration (bug 24897 is a good example of the process)
1950
   - Work is underway to add a 'localization' process to the installer allowing for localization to be applied distinctly to translation
1951
1952
- Strings found inside JavaScript are now directly translatable
1953
1954
  >Prior to bug 21156 a translatable string would have taken the form
1955
  >
1956
  >`var my_string = _("my string");` # Within the .tt
1957
  >
1958
  >`alert(my_string);` # Within the .js
1959
  >
1960
  >Now we can simply use
1961
  >
1962
  >`alert(__("my string");` # Note the double underscore
1963
1964
- The database update script now outputs timestamps and skeleton.perl has an updated simplified syntax to follow
1965
- Koha::Script added support for simple execution locking: fines.pl is a good example of how to utilise the new functionality
1966
1967
### Plugins support
1968
1969
A number of improvements have been made to the plugins system to allows better discoverability and code interaction
1970
- One can configure the new `plugin_repos` config option to point to their github organisation to allow plugins to be discovered by end users in the koha staff client
1971
- Additional hooks have been added in this release, please see the 'Plugin architecture' section above.
1972
1973
### API Enhancements
1974
1975
The code that is used to implement the REST API has seen many relevant structural changes on this release.
1976
1977
Several generic methods have been added to the Koha::Object(s) classes:
1978
- to_api [[23770]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23770) [[23843]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23843)
1979
- new_from_api [[23893]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23893)
1980
- set_from_api [[23893]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23893)
1981
- attributes_from_api
1982
- from_api_mapping
1983
1984
They are designed to simplify DB &lt;-&gt; API attribute name mapping. They allowed us to make our controllers thin and really simple to read and understand (and thus maintain). Tests become easier to write as well.
1985
One of the goals behind this move to Koha::Object-level, was that we intended to embed arbitrary data on the responses. So the attribute mapping responsibility (between the DB and our OpenAPI spec) was moved from the controllers to the Koha::Object(s) level (i.e. for an arbitrary object you can now ask for its API representation like in $patron-&gt;to_api).
1986
1987
This 'to_api' method is designed to be passed parameters. Right now it only accepts the 'embed' parameter which expects a hashref representing the recursive data structures we would like to embed in the object representation (see POD for more details). For example: my $api = $patron-&gt;to_api({ embed =&gt; { children =&gt; { checkouts =&gt; {} } } }) will make the resulting $api variable contain the representation of the Koha::Patron object, with the added 'checkouts' attribute, which will be the result of calling $patron-&gt;checkouts-&gt;to_api and so on (if more nested objects need to be included). [[24228]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24228). A special syntax has been added for requiring counts (for result sets). And there is a plan to add a 'for_opac' parameter so we know what kind of representation we need to generate. There's been some discussion about having a 'brief' representation of objects as well, for some use cases but that's an ongoing discussion.
1988
1989
The API spec got its counter-part additions: an 'x-koha-embed' attribute that specifies what things are allowed to be requested for embedding on a route. A special syntax was added to request counts (for example, x-koha-embed: [ checkouts+count] will be interpreted as a request to get the count, and will be placed in an attribute called checkouts_count) [[24302]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24302) [[24321]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24321) [[24528]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24528).
1990
1991
Now we are embedding things, it was natural to think we would like to:
1992
- automatically build DBIC queries that would prefetch the required tables [[24356]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24356)
1993
- filter by those nested objects in a WHERE condition [[[24487]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24487)](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24487)
1994
- order by those nested properties [[24615]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24615)
1995
1996
All the above features have been introduced as well.
1997
1998
And the last bit, we introduced a 'q' parameter that allows building DBIC-ish queries on the resources we are fetching, as well as on the nested resources. [[24487]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24487) [[24502]](http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24502)
1999
1921
## New sysprefs
2000
## New sysprefs
1922
2001
1923
- AccessControlAllowOrigin
2002
- AccessControlAllowOrigin
1924
- 

Return to bug 25642