Katrin Fischer [Sat, 14 Jan 2012 15:06:40 +0000 (16:06 +0100)]
Bug 7392: Follow-up
Patch makes changes according to QA comments:
- entering an unknown format code will generate no entry in the OPAC pull down
- small change to the description of opaclayoutstylesheet system preference
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Katrin Fischer [Sat, 31 Dec 2011 16:28:34 +0000 (17:28 +0100)]
Bug 7392: Add system preference to define export options in OPAC
NOTE: Patch depends on changes made for bug 7345 for the "marcstd" option.
It adds a new system preference 'OpacExportOptions':
The new system preference allows to give a list of | separated
values to define, which download options are offered in OPAC.
Possible options are listed in the system preference editor
and include the new export option 'marcstd' from bug 7345.
The sequence of the download options in the system preference will
be the sequence in the OPAC pull down.
If left empty, the export option will be hidden from OPAC.
This patch creates a new include file for the OPAC with all the
code that is common to the three detail views (regular, MARC, and
ISBD).
As a side effect of creating this include file, some inconsistencies
in OpacSearchForTitleIn were fixed. {BIBLIONUMBER} and {CONTROLNUMBER}
were broken for ISBD and MARC view before and should now be replaced
with the correct values in all tabs.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Resolved merge conflicts on sysprefs.sql and updatedatabase.pl.
Bug 7345: Enable exporting records sans private fields
Add an option for marcstd to the opac-export.pl and catalogue/export.pl
scripts. This new format removes all 9XX, X9X, XX9 fields and subfield $9
(with the exception of 490 in flavours of MARC other than UNIMARC). The work is
done in C4::Record::marc2marc.
This patch adds the new export option 'marcstd' for exporting MARC
records without 9xx, x9x and xx9 fields and subfields to the staff
detail page.
Testing plan:
1. Export a record in "MARC (Unicode/UTF-8)" format as a control
2. In the OPAC, run the following jQuery to add the marcstd option to the UI:
> $("#export #format").append("<option value='marcstd'>MARC (no 9xx)</option>");
3. Export the same record in "MARC (no 9xx)" format
4. Compare the two, noticing that any subfield $9 or fields including 9 (other
than 490 in flavours of MARC other than UNIMARC) have been removed
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works as advertised now. Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch squashes both the original patch and Katrin's follow-up adding
marcstd as an export option on the staff client.
Feb 13, 2012 (marcel): Amended this patch to resolved two definitions of $error in catalogue/export script.
Paul Poulain [Fri, 10 Feb 2012 08:45:34 +0000 (09:45 +0100)]
Bug 7511 [ENH] Template caching (T::T feature)
Just add to your Koha configuration file
<template_cache_dir>/path/writable/by/apache/user</template_cache_dir>
in the <config> block, and Koha will use template caching, for about
10% CPU time saving.
on linux servers, /tmp is usually OK
(also fixes an indenting with a TAB)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
The results of using this are very striking. Based on an insufficient
sample size, it would seem that the time spent in T::T is reduced by a
factor of at least 5.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Robin Sheat [Fri, 10 Feb 2012 01:33:29 +0000 (14:33 +1300)]
Bug 7519 - show patron's street number in search results
When searching for a patron in the staff client, their address is shown.
However, the street number component isn't included. This includes it.
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
It works as announced. I confirm that street number isn't displayed on patron
search result table without this patch, and is displayed with this patch.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Srdjan Jankovic [Wed, 21 Dec 2011 08:26:30 +0000 (21:26 +1300)]
bug_7090: AllowItemsOnHandCheckout syspref
Observe AllowItemsOnHandCheckout syspref when using SIP self checkout
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
To test:
* place an item on hold for patron A
* attempt to circulate that item to patron B (via SIP/selfcheck)
syspref off: item should not circulate to patron B
Syspref On: item should circulate to patron B
Both conditions passed in our testing.
Also verified that normal staff client behavior regarding this situation was preserved. It was.
Staff client login screen has a separate CSS file which wasn't
included in the original changes for Bug 6865. This caused a 404
error (missing background image).
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested in Chrome, FF, Safari, and IE8.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 7505 Superlibrarian can't export all biblios when IndependantBranches is enabled
When a Koha user has superlibrarian permissions, and if
IndependantBranches is enabled, in Tools > Export bibliographic and
holdings, this user can't export all biblio records. He will just export
the biblio from the branch he belongs to.
This patch fix that.
To test:
- Do a ALL records export as superlibrian on a multi-branches Koha instance
- Examine the resulting MARC file with the tool of your choice (MArcEdit,
yaz-marcdump, etc.)
- You will see that 952/995 contains exlusively items from your branch (as
Koha user)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Owen Leonard [Thu, 26 Jan 2012 20:00:36 +0000 (15:00 -0500)]
Bug 7127 - Follow-up - Templates must be valid XHTML
Corrections to OPAC search results and lists pages for validity
errors: duplicate ids, invalidly placed elements, unescaped
ampersands.
The change to localcovers.js adds a check for <span> in addition
to <div> so that the results template can use a <span>
The <form> tag has been removed from the inline tag entry
markup in order to correct a display error in Internet Explorer 8.
Removing it doesn't affect functionality or validity.
To test: Validate the HTML of the OPAC results page and an OPAC
list contents page (/cgi-bin/koha/opac-shelves.pl?viewshelf=XX).
Verify the functinality of adding tags on both pages with the
TagsInputOnList system preference enabled. Verify that local
cover images are display on search results and detail pages.
Includes fixes for errors spotted by QA
Revisions
Signed-off-by: Ian Walls <koha.sekjal@gmail.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Chris Hall [Thu, 24 Nov 2011 21:44:45 +0000 (10:44 +1300)]
Bug 6943: Added ability to duplicate a budget tree (from the edit sub menu)
http://bugs.koha-community.org/show_bug.cgi?id=6943 Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
- all new javascript alerts have translations markers _()
- hierarchies and permissions were copied correctly
Possible enhancements:
- make it possible to move orders from old to new funds
- make it possible to change description while copying, saving 1 additional
step
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Kyle M Hall [Thu, 2 Feb 2012 15:15:43 +0000 (10:15 -0500)]
Bug 6490 - Lost and paid not updated when book is checked out.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested:
item checked out and marked lost - item is removed from borrower's checkouts and charged to patron
Checking out the item (without checking it in first) removed the fines and issued the item normally.
Passed prove t xt t/db_dependent (results congruent with current master failures)
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Owen Leonard [Tue, 24 Jan 2012 20:46:20 +0000 (15:46 -0500)]
Bug 7466 - Cart notification popup should appear onscreen even when button isn't
This patch compares the scroll position of the window with the page
position of the cart button and displays the cart notification
popup at the top of the visible page if the cart button has moved
offscreen.
Includes fix for OPAC and staff client.
Signed-off-by: Aleksa Vujicic <aleksa@catalyst.net.nz> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
- Exclude 'marc' & 'item' prefix from UNIMARC util XSL to slim down
result
- Add missing NSB/NSE characters striping
- 200 fields on result/detail page: show all subfields in order, link to
detail page only on $a
- 4xx display, more fields and more subfields, respects subfields order
which matter
- Improve RAMEAU authorities linkings to subdivisions (pure XSLT)
- Add missing fields: 205, 500
- Add missing MARC21 syspref:
- DisplayOPACiconsXSLT, not implemtable in UNIMARC
- OPACURLOpenInNewWindow
- URLLinkText
- ShowISBD
Sidenote: this should have been done by people having introduced those
syspref into MARC21 XSL.
Suite
http://bugs.koha-community.org/show_bug.cgi?id=6314 Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Garry Collum [Wed, 1 Feb 2012 17:35:27 +0000 (12:35 -0500)]
Bug 5674: patron name sort ignoring case when placing holds.
Fixes the patron name sorting when placing holds.
Testing - See Bug 5674.
Create two patrons. One named SMITH, THOMAS and the other Smith, John.
Search for an item to place on request. Do a patron search for Smith.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Confirm both the original bug and the fix, sorting is correct now.
Patch does not change status of tests - prove t t/db_dependent xt no different from master.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Liz Rea [Wed, 28 Sep 2011 14:04:14 +0000 (09:04 -0500)]
Bug 6323 -- Error handling cleanup for moveitem.tt
Added button to retry attaching item, added default bib view handling, cosmetic changes to the error display (buttons now in error div).
Incorporates changes that should satisfy QA.
To test:
Find a bib with multiple items and grab one of the barcodes.
Go to a second bib and click Edit -> Attach item
Paste your barcode in there and click "Submit"
Click the "Try again with a different barcode" button. It should take you back to the barcode entry screen.
Also try with a non-existent barcode and verify that the button appears and works as intended.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Chris Cormack [Thu, 17 Nov 2011 00:17:01 +0000 (13:17 +1300)]
Bug 7238 : Shifting SIPconfig.xml to the etc dir and the scripts to misc/bin
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
The scripts run with the caveat that you must specify the path to SIPconfig.xml. The followup previously attached should take care of that issue.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Owen Leonard [Tue, 24 Jan 2012 14:10:46 +0000 (09:10 -0500)]
Bug 7461 - Cart offering to remove items when closing
The "hide window" button in the cart called a quit() function
which deletes any checked items. My understanding of the "hide
window" button is that it should *only* hide the window, not
perform any other operations. I'm removing the calls to the
quit() function in both the OPAC and staff client and adding
a CSS class, "close," which is already tied via jQuery to
the window.close() function.
To test in both OPAC and staff client: Add items to the cart.
Try clicking the "hide window" button with items selected and
without. In both cases the window should close without affecting
the contents of the cart.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Frédéric Demians [Thu, 26 Jan 2012 09:39:52 +0000 (10:39 +0100)]
Bug 7472 Edit button ineffective when paying borrower fee
On payment page, the Edit button doesn't load anymore the current
borrower edit page.
To reproduce the bug:
- Define a borrower category 'foo' with Enrollment fee
- Create a new 'foo' borrower
- Click on Check out tab
- A message is displayed: Fees & Charges: Patron has Outstanding fees &
charges of xx.00. Checkouts are BLOCKED because fine balance is OVER
THE LIMIT. Make Payment
- Click on Payment link
- Click on Edit button
- You reach a page for creating a new borrower
=> you should reach the current borrower edition page
- Same issue on paycollect.tt template
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
MJ Ray [Mon, 30 Jan 2012 21:06:57 +0000 (21:06 +0000)]
Bug 7476 Remove executable bit from files that probably should not be executed
Signed-off-by: Aleksa Vujicic <aleksa@catalyst.net.nz> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended to replace some copy-and-paste comments only with consent of MJR.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Garry Collum [Wed, 1 Feb 2012 15:15:46 +0000 (10:15 -0500)]
Bug 6984 - Holds statistics doesn't work.
This patch fixes several errors in reserves_stats.pl and reserves_stats.tt.
Testing -
To test this patch, data must be in either the reserves table or old_reserves or both. The following SQL will give you the raw data that is used by the report.
SELECT priority, found, reservedate, notificationdate, reminderdate,
waitingdate, cancellationdate, borrowers.categorycode, items.itype,
reserves.branchcode, holdingbranch, items.homebranch, items.ccode,
items.location, items.itemcallnumber, borrowers.sort1, borrowers.sort2
FROM reserves
LEFT JOIN borrowers on (borrowers.borrowernumber = reserves.borrowernumber)
LEFT JOIN items on (items.itemnumber = reserves.itemnumber)
UNION SELECT priority, found, reservedate, notificationdate, reminderdate,
waitingdate, cancellationdate, borrowers.categorycode, items.itype,
old_reserves.branchcode, holdingbranch, items.homebranch, items.ccode,
items.location, items.itemcallnumber, borrowers.sort1, borrowers.sort2
FROM old_reserves
LEFT JOIN borrowers on (borrowers.borrowernumber = old_reserves.borrowernumber)
LEFT JOIN items on (items.itemnumber = old_reserves.itemnumber)
To test the notificationdate and reminderdate, I added data to the old_reserves table, since I have never run notices on my test machine.
Ex:
UPDATE old_reserves
SET notificationdate = "2012-01-29",
reminderdate = "2012-01-29"
WHERE timestamp = "2012-01-29 20:09:34";
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Confirm original bug -- Reports work as expected now!
prove t xt t/db_dependent no different from master.
Frédéric Demians [Wed, 14 Dec 2011 07:52:32 +0000 (08:52 +0100)]
Bug 7355 Note subfields are not displayed in TEXTAREA if hidden
In the data entry form, there is a (hidden) functionality for note subfields.
MARC21 500-599 and UNIMARC 300-399 subfields are displayed in TEXTAREA rather
than INPUT tags. This is good since usually notes can be pretty long. But if
one of those fields is marked in the framework as 'hidden', then it isn't
displayed at first when you create a record and when you expand the field by
clicking on its label the field is displayed in a one-line INPUT tag.
To reproduce this bug:
- Modify your framework:
MARC21: 500$a, hidden=1
UNIMARC: 300$a, hidden=1
- Create a new biblio record with this framework
- Open the tab containing 500 or 300 field
- 500 or 300 tab is collapsed
- Click on 500 or 300 label to expand the field
- 500$a or 300$a is displayed in a one-line INPUT tag, not in a TEXTAREA
as it should
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Test plan works. Also checked cloning and deleting
subfields still works.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works as advertised. Simplifies code too. Well documented test plan.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Owen Leonard [Thu, 3 Nov 2011 14:22:11 +0000 (10:22 -0400)]
Fix for Bug 7148 - Add some error handling to Acquisitions' Z39.50 search to match Cataloging's
- Copying over error handling for timeout(10007) and refused(10000)
- Copying over error handling for submission with no targets chosen
- Correcting "cancel" link in the template which was not modified
when it was copied from cataloging's popup window template.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Owen Leonard [Wed, 28 Sep 2011 16:44:26 +0000 (12:44 -0400)]
Bug 6933 [REVISED] Add a view of titles with a particular tag to the staff client
- Adds a new page to the tags moderation section for viewing all the
titles tagged with a particular term.
- Adds display of approved tags to the catalog detail page matching the opac
view. Adding tags from the detail view not implemented.
Follow-up adds tags display to XSLT detail view
Areas for improvement:
- I think it would be better to show "Also tagged with:" and exclude
the current tag from the list of titles tagged with a particular tag.
- It would be nice to be able to show unapproved tags (and some idication of
their status) along with approved tags on the detail page if the user had
TagsModeration permission.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 6913: More options for koha-create and koha-remove
This commit makes koha-create more flexible by adding a number of command-line
and configuration options.
The biggest change is to add support for pre-determined MySQL credentials using
a file in /etc/koha/passwd (for security reasons, if you use this feature, make
sure the file is not world-readable). The configuration file has the following
format:
instance:user:password:database
The database is optional, but the other two are both required if you want to
specify MySQL credentials. If no credentials are specified for a given instance,
the standard koha_instance username and an auto-generated password are used.
The following additional command line options are now available:
* --use-db - use a pre-existing database, see also --database
* --database - specify the name of the mysql database (still defaults to
koha_instance)
* --passwdfile - specify a custom (Koha) passwd file for MySQL credentials
The following additional variables are now available (for use in
koha-sites.conf or a custom config file):
* OPACPORT (previously added but not documented) - port on which the OPAC
should be served
* OPACPREFIX - prefix for the OPAC's virtual host
* OPACSUFFIX - suffix for the OPAC's virtual host
This commit also adds the --keep-mysql option to koha-remove, which, if
specified, will prevent koha-remove from deleting the database or MySQL user
when removing an instance.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Robin Sheat [Sun, 25 Sep 2011 23:04:13 +0000 (12:04 +1300)]
Bug 6913 - change how ports are handled by koha-create
This does two things:
* Allows OPACPORT to be specified to change the default OPAC port,
* removes the port number from the ServerName directive, as it's already
handled by the VirtualHost declaration.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Koustubha Kale [Wed, 14 Dec 2011 10:18:16 +0000 (15:48 +0530)]
Renew membership from expiry date or from current date based on a syspref
This patch adds a system preference under Patron -> BorrowerRenewalPeriodBase
Using this preference the patch allows renewal of Patron account either from todays date or from existing expiry date in the patrons account.
To test : Apply patch; Set System Preference BorrowerRenewalPeriodBase ( under Patron ) to "current membership expiry date";
Renew a patron; You will observe that patrons account expiry date has been calculated from previuos expiry date instead of today's date
( as is the default in Koha prior to this patch ).
Owen Leonard [Wed, 28 Dec 2011 16:41:16 +0000 (11:41 -0500)]
Bug 6842 Alternate fix, Branch transfer limits broken
The patch which moved the table pager markup into an
include undid the fix which was previously pushed for
this problem. Re-implementing the fix in the pager
include is a simpler fix which doesn't depend on
the Datatables plugin.
The markup change in table-pager.inc fixes the problem
in branch transfer limits and does not affect functionality
on other pages.
The changes in this patch to branch_transfer_limits.tt and
staff-global.css are for cosmetic reasons only.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Saving changes works now correctly. I tried:
- uncheck all for a branch
- check all for a branch
- making changes for different itemtypes on different tabs
Peter Lorimer [Thu, 30 Jun 2011 08:47:55 +0000 (09:47 +0100)]
Bug 6539 - When searching the catalogue, if I get no results then hit the Z39.50 search the title field in the pop up window is populated with what I searched for.
If I search for a valid ISBN number and hit the Z39.50 search, the title field
is populated with the ISBN number I searched for. This number should populate
the ISBN field and not the title field.
http://bugs.koha-community.org/show_bug.cgi?id=6539 Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
To test:
- Search new ISBN using ISBN search from advanced search page
- 0 results - click on Z39.50 search
- Z30.50 form will have your ISBN in ISBN search option
I am signing off on this, because it's an improvement over the current
behaviour.
I see some problems though that should perhaps be addressed in a separate
bug or as a follow-up:
If you use th catalog search field and search for an ISBN or
a keyword the right fields of the Z39.50 search form will be populated, but
the search index will be put in front:
ISBN: kw,wrdl: 9783492251495
or
Title: kw,wrdl: koha testing
If you search for ISBN as keyword on the advanced search page, it will
still populate the Title search.
Signed-off-by: Liz Rea <wizzyrea@gmail.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Owen Leonard [Tue, 24 Jan 2012 15:44:11 +0000 (10:44 -0500)]
Bug 6210 - Follow up, Choose framework on merge
- Adding subtitle to the display of titles to be merged
- Adding a link to preview the MARC record of titles to be merged
- Fixing up markup of form to improve appearance
- Correcting breadcrumbs
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Srdjan Jankovic [Mon, 19 Dec 2011 06:22:49 +0000 (19:22 +1300)]
bug_6210: Select framework if merging two records with different frameworks
ModBiblio() - set framework to "" if "Default"
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
All 4 tests passed:
Test 1: Merge two records with the same framework
Desired result: shouldn't get any prompting to pick a framework, and the
same framework should be used
Test 2: 2 records, different frameworks, into the kept record's framework
Desired result: merge with kept records framework used
Test 3: 2 records, different frameworks, into the discarded record's
framework
Desired result: merge with used records framework used
Test 4: 2 records, different frameworks, into a third framework
Desired result: merge with third framework used
Srdjan Jankovic [Mon, 23 Jan 2012 04:04:02 +0000 (17:04 +1300)]
bug_6488: Take in account opachiddenitems when searching in opac
Changed searchResults() interface
Added trailing \n when parsing OpacHiddenItems to make YAML happy
XSLTParse4Display() and buildKohaItemsNamespace() take hidden
items as input param
Removed numbering from the search results, looks wrong with
hidden items
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 7350: In neworderempty.pl duplicating an item does not preserve select box selections
cloneNode() does not preserve select box selections, I have created a function to duplicate them : "clone_with_selected".
It is included in "cloneItemBlock", that's all.
Now the values selected in ddl are duplicated as the imput-texts are.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 7359 - Begin migration to a new "Koha" namespace from the old "C4" namespace
The Koha namespace is for Perl modules that meet the following mandatory
conditions:
* use "strict" and "warning" pragmata
* include valid POD
* include complete and functioning documented test cases
* not create circular dependencies
* use Object Oriented (OO) style everywhere possible
* minimize exports
* maintain mod_perl, etc. compatibility
* separate data access methods from business logic
Modules in C4 can use (and are encouraged to use) routines in
the Koha namespace. Modules in Koha should not in general use C4
modules; any C4 module that is safe to be depended on by a Koha
module is a candidate for being renamed to Koha.
The advantage of carving out a new namespace is that it doesn't
require that we refactor the entirety of C4 to support persistance or
to untangle the dependency tree. Instead, the only C4 code we would
have to reimplement for the Koha namespace right away would be
authentication, basic session management, and basic output.
(Gratuitous use made of gmcharlt's recommendations found in the
post mentioned below.)