Commit graph

51 commits

Author SHA1 Message Date
5cd357e76c bug 3465: enhance DB update reporting by web installer
This enhances the web installer so that messages from updatedatabase.pl will
be displayed to the user running a database update.  Messages printed to STDOUT
will be displayed as the update report, while messages printed to STDERR will
be displayed as update errors.

This patch introduces  a new module dependency, IPC::Cmd.
IPC::Cmd lets one run an external program such as updatedatabase.pl and easily
capture STDERR and STDOUT for further munging.  IPC::Cmd is core in Perl 5.10
and stable in Perl 5.8.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-08-04 06:15:40 -04:00
Andrew Elwell
e64f395d43 Minor documentation typos
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-26 14:45:46 -06:00
Galen Charlton
ecc779fa50 refactor web installer code to created C4::Installer
Created a new module, C4::Installer, which embodies
most of the code from installer/install.pl that handles
identifying and loading SQL scripts and setting the
Version, marcflavour, FrameworksLoad, and NoZebra
system preferences.

With C4::Installer, it is now easier to automate
initializing and populating a Koha database.  This will
help allow the test suite to set up a test database
in order to run DB-dependent tests, as well as write
a command-line installer which may be of use to hosts
that need to support multiple Koha databases.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-21 11:26:23 -05:00
Joshua Ferraro
3c030be172 Fix for installer languages so that only the staff client languages are visible to the installer
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-10 15:52:49 -05:00
Henri-Damien LAURENT
6fc80555d1 Bug fixing : 1746 : password was not escaped.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-21 21:45:12 -05:00
Galen Charlton
bd0617fb0d web installer: defaults for untranslated SQL scripts
TODO: make more sophisticated by checking for
frameworks/sample data that have been translated
to the selected language, just a different location.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-21 11:26:27 -06:00
Joshua Ferraro
802b13e5f5 fix for 1754; fixing I18N BiDi, improvements to handling of language
TODO: clean up the OPAC similarly

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-10 08:32:48 -06:00
14b0381408 Fixes two bugs affecting Web installer when used with Unimarc/French
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-07 20:02:17 -06:00
Joshua Ferraro
db14eacd5c Fixes to installer with changes to language management
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-05 02:59:42 -06:00
Joe Atzberger
fc60e7413c install.pl - exit after redirect
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-03 01:18:14 -06:00
Joshua Ferraro
c70df80694 Search.pm Bugfixing
Getting Search.pm air tight ... cleaned up some local variables
that were declared global

fix to asynchronous federated searching lost since dev_week, immediate
use is authority search

template fixes to item-level itemtypes and bib-level itemtypes

temp workaround to javascript problems preventing item edits

fix to installer

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-28 08:32:24 -06:00
Joshua Ferraro
d7938406c5 s/holded by/maintained/
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-28 08:32:07 -06:00
Galen Charlton
a858e8a8b8 session management: use YAML::Syck for serialization
When using mysql and a sufficiently recent version
of DBD::mysql that actually respects the mysql_enable_utf8
option, setting the current branch to a name that
includes a diacritic causes the session to fail
and forces the user to the login screen upon
clicking another link.

This turned out to be due to the default (Data::Dumper)
serialization used by CGI::Session, which truncated the
session object at the diacritic.  By enabling
that module's YAML serialization option, the problem
was resolved.

This patch introduces a dependency on the YAML::Syck
module.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-27 17:24:02 -06:00
Galen Charlton
bedab2e973 web installer: clean up warns; improve naming of Nozebra op
The former 'Nozebra' op has been renamed to 'SetIndexingEngine'
to avoid having a 'Nozebra' op and a 'NoZebra' parameter
distinguished only by case.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-26 20:48:04 -06:00
Galen Charlton
c87df4e334 bug 1368 - remove FOREIGN_KEY_CHECKS = 0 from installer
[1] Web installer no longer sets FOREIGN_KEY_CHECKS = 0
    when loading frameworks and sample SQL.
[2] Removed FOREIGN_KEY_CHECKS = 0 from SQL scripts
[3] Fixed FK issues in en/optional/sample_patrons.sql

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-25 09:08:44 -06:00
Galen Charlton
17e4626dff web installer: improve DB permissions check
MySQL-only: improve regex to make sure we are
checking permission on the correct database, not
on another database (when the DB name is a
subset of the DB user's name)
2007-12-17 09:13:54 -06:00
Paul POULAIN
9a9bc82c84 UTF-8 and Nozebra fixes
- .txt files have to be in utf-8 (as Koha is utf-8 now), and opened as utf-8 files
otherwise, the diacritics are mixed up on web installer

- typo fix (NoZebra vs Nozebra) to set correctly Nozebra syspref

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-14 12:12:20 -06:00
Joe Atzberger
0a015b0120 install.pl - Important fix for Algorithm::CheckDigits mismatch
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-14 10:03:35 -06:00
Paul POULAIN
c1ed403b00 regexp-ing $marcflavour to handle unimarc_xxxxx or marc21_yyyy subdirectories
see previous commit, about having 2 different sets of UNIMARC.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-14 09:15:53 -06:00
Henri-Damien LAURENT
4339c8585a BugFix 1640
setting QueryFuzzy, QueryStemming and QueryweightFields systempreferences to 0 if Nozebra chosen

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-12 08:14:41 -06:00
Galen Charlton
4aeb861563 fixed order in which SQL scripts are applied by web installer
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-08 07:28:01 -06:00
Paul POULAIN
a502aa1c76 HTML::Template => HTML::Template::Pro
HTML::Template is no more used, some were remaining,
fixing the "use ...;" to H::T::Pro only

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-02 14:55:55 -06:00
Chris Nighswonger
8d5777db1d Changed path to updatedatabase.pl to dbms specific dir
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-13 11:22:44 -06:00
Chris Nighswonger
e13dcb0e6f Initial port of install.pl to support PostgreSQL
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-13 11:22:40 -06:00
Galen Charlton
3ab14932e0 fixed extra warning during install.pl
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-31 19:45:09 -05:00
Henri-Damien LAURENT
84a3153fc4 Minor changes to keep behaviour unchanged if no marcflavour directory.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-30 17:43:37 -05:00
Henri-Damien LAURENT
30e6a55268 Changes to install.pl
Changing structure :
adding a marcflavour directory to data/language/
This directory shall have the same subdirectory structure as /data/language
This allows for instance adding optionals CD-Framework or Serials Frameworks
keeping default frameworks mandatory.
install.pl was changed in order to manage those changes.
Could be changed in order to skip marcflavour selection if marcflavour directory is not found.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-29 17:44:07 -05:00
Joshua Ferraro
eac81e3d8b Revert "Minor overhaul of installer WITHOUT thorough testing. Steps broken out into"
This reverts commit b9f141a592.
2007-10-17 06:58:48 -05:00
Joe Atzberger
b9f141a592 Minor overhaul of installer WITHOUT thorough testing. Steps broken out into
More revision is required: CVS variables, bad use of map in void context,
overuse of multiple index lines instead of one RegExp, etc.  Koha GPL
statement at top needed.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-17 06:56:27 -05:00
Paul POULAIN
2d4cf61d9f Sorting the install directory
previously, the order was "random". With this patch, you can choose the order
of the file that are shown for adding during install.
Just name the directories: for example 1-Mandatory, 2-Optional, 3-whateveryouwant

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-09 19:04:20 -05:00
Paul POULAIN
7f4c6d8335 #1449: Installer improved to add a zebra/Nozebra screen
+ some minor changes in html

Signed-off-by: Chris Cormack <crc@liblime.com>
2007-10-03 05:10:59 -05:00
Mason James
bd9341d8de adding cgi::carp module too
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-28 16:40:32 -05:00
Paul POULAIN
fd10552848 FIX for 1298 : removing hardcoded calls to mySQL, Perl, zebra & yaz-client
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-24 15:29:06 -05:00
Paul POULAIN
e2364cbcfa adding Algorithm::CheckDigits dependancy, for barcode printing
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-09-03 03:41:03 -05:00
Joshua Ferraro
7988048ca9 moving sql data to installer directory
Signed-off-by: Chris Cormack <crc@liblime.com>
2007-08-18 22:15:30 -05:00
Paul POULAIN
61c72f8f3e Adding KOHAVERSION management.
The kohaversion is in the code directory (in /kohaversion.pl)
C4::Context now has a new method C4::Context->KOHAVERSION
that returns the koha code version.
The systempreference Version contains the database version.

If the 2 are differents, when the user log in, he is redirected to web installer (new behaviour : before this commit, the check was done on everypage, it's too CPU costly I think)

In the web installer, we check now if we do a new setup or an upgrade and show only the appropriate link.

The updatedatabase contains a lot of new things :
* SetVersion($kohaversion), that set the kohaversion after each update
* TransformToNum($kohaversion) that returns a number (3.0000001 from 3.00.00.001 for example) for a given koha version
* DropAllForeignKeys($table) that does what is written : drop all foreign keys. A shame it's not possible directly in mySQL...
* for each database update, just :
add the following lines :
=item
    Describe what it does for other developpers
=cut

$DBversion = "your.koha.version.dbnumber";
if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
	#
	# DO YOUR UPDATE STUFF
	#
        print "Upgrade to $DBversion done (specify what it does if you want)\n";
        SetVersion ($DBversion);
}

IMPORTANT NOTES :
in koha 2.2, a new install was done through installing a 2.2.0 database, then updating it to the installed version.
in Koha 3.0, /installer/kohaversion.sql MUST contain an uptodate version, as the installer set the DB version to kohaversion after uploading kohaversion.sql. It does NOT run updatedatabase.

The update from Koha 2.2 to Koha 3.0 must NOT be done through the webinstaller : updatedatabase is very very long to run and you'll reach Apache timeout for sure. See http://wiki.koha.org/doku.php?id=22_to_30 that contains my notes for upgrading (with some/few UNIMARC specific stuff)


Note For RM, please eyeball this change

Signed-off-by: Chris Cormack <crc@liblime.com>
2007-08-16 06:58:32 -05:00
Joshua Ferraro
836b9857ed content-type was incorrectly set in InstallAuth.pm
Adding 'wizard' and 'login' detection

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-08-15 21:22:21 -05:00
Chris Cormack
24d5e31dae Changing InstallAuth to use CGI::Session and fixing install.pl which broke
with the kohastruture.sql clean up

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-08-10 10:55:53 -05:00
tipaul
3ea77fd6a0 adding XML::RSS as mandatory package (to have RSS working) 2007-08-02 08:45:10 +00:00
hdl
73613b712b bug fixing install.pl
It is to be mentioned that error came from the use of DBI.
Indeed, we read sql file OK.
But the last command came with no order => error.

Next time we should be more careful.
2007-07-11 10:27:11 +00:00
kados
d585d5a2bc This is a language commit. I've gone through most of the templates and
based on user feedback I've made the following changes:

Borrower, Member => Patron
Debarred => Restricted
Issues => Checkouts
Reserves => Holds
2007-07-03 18:19:49 +00:00
tipaul
8767b123c4 improving installer : now the database Version is compared to the Koha version (defined by <kohaversion>XXX</kohaversion> in koha.xml file. If the Version systempref does not exist or is lower than kohaversion, you're redirected to installer. If there is no Version, you're redirected to the 1st step of the installer (full install). If Version < kohaversion, you're redirected to step 3 (updatedatabase). check that you have <kohaversion> in you koha.xml, otherwise, you'l loop forever to the installer... 2007-07-03 13:50:20 +00:00
slef
5579abe1fc Use DBI not mysql command-line to load the database tables 2007-07-01 18:43:57 +00:00
tipaul
8581fe4bbd updating web installer : going to step1 if needed and fixing sql 2007-06-26 14:30:22 +00:00
tipaul
23427c51b9 some fixes (and only fixes) 2007-06-15 13:44:44 +00:00
hdl
100e6a9808 functions that were in C4::Interface::CGI::Output are now in C4::Output.
So this implies quite a change for files.
Sorry about conflicts which will be caused.
directory Interface::CGI should now be dropped.
I noticed that many scripts (reports ones, but also some circ/stats.pl or opac-topissues) still use Date::Manip.
2007-04-24 13:54:28 +00:00
hdl
11fa5f5a2f Loading FrameworksLoaded for update before modifying. 2007-04-13 16:33:54 +00:00
hdl
b28590fdff Automatically adding a new syspref called FrameworksLoaded which is updated via webinstaller.
It stores and lists loaded frameworks for management.
2007-04-13 16:30:00 +00:00
hdl
66232241c1 Adding Check for a systempreference Version Variable
skips third party software check and mysql check to go to updatedatabase.

Adding similar check to intranet and opac.

BEWARE !!!!!
You may be linked to install if you donot have Version variable set in your systempreferences table.
If so, simply updatedatabase OR add Version 3.0  record to your systempreferences table.
2007-04-06 15:53:18 +00:00
rych
19d20b008b sort frameworks 2007-03-17 21:43:40 +00:00