zcc 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,10 @@
1
+ == 0.0.2 2007-06-24
2
+ * 2 major changes:
3
+ * moved all config to yaml file
4
+ * added notes on how to use with Koha
5
+ * 1 minor change:
6
+ *website install instructions
7
+
1
8
  == 0.0.1 2007-06-22
2
9
 
3
10
  * 1 major enhancement:
@@ -18,6 +18,9 @@ test/test_zcc.rb
18
18
  website/index.html
19
19
  website/index.txt
20
20
  website/javascripts/rounded_corners_lite.inc.js
21
+ website/koha.html
22
+ website/koha.txt
21
23
  website/stylesheets/screen.css
22
24
  website/template.rhtml
23
-
25
+ website/zcc.html
26
+ website/zcc.txt
data/README.txt CHANGED
@@ -1,2 +1,2 @@
1
1
  For more information see:
2
- http://mypage.iu.edu/~jronallo/zcc/
2
+ http://zcc.rubyforge.org/
data/bin/zcc CHANGED
@@ -40,31 +40,27 @@ class String
40
40
  end
41
41
  end
42
42
 
43
-
44
- #--############ BEGIN CONFIGURATION ####################
45
- ## Basic configuration below. To complete full configuration, including picking z39.50 servers please see zcc.yaml
46
- TO_SHOW = 10
47
- #HOW_TO_SAVE = 'search_term'
48
- HOW_TO_SAVE = 'timestamp' #with 'timestamp' all records are saved to the same date stamped file of the time the program starts. The other valid value is 'search_term' in which case each record is saved according to the search term appending on to files which have the same search term
49
-
50
- TIMESTAMP = Time.now.strftime("%Y%m%d%H%M%S")
51
- SCRIPTING = 'yes' #if you want scripting enabled for each record
52
- CSV = 'yes' #would you like to run the csv creation?
53
- LINTER = 'yes' #If you do not have the Perl MARC::Lint module installed, probably from cpan, change this value to 'no'
54
- FORMAT_TO_SAVE = 'marc' #other value that works is 'xml' which saves in marcxml
55
- ###### END OF CONFIGURATION ###########
56
-
57
43
  $testing = ARGV[0]
58
44
  $testing = nil unless $testing == 'v' or $testing == 't'
59
45
  puts "We're testing " if $testing
60
46
  STDIN.gets if $testing
61
47
 
48
+ #reading in config from yaml file
62
49
  yamlfile = YAML.load_file( "#{File.expand_path("~")}/.zcc/zcc.yaml" )
63
50
  zservers = yamlfile['zservers']
64
51
  labels = yamlfile['labels']
65
52
  scripting = yamlfile['scripting']
66
53
  $procs = yamlfile['procs']
67
54
 
55
+ TO_SHOW = yamlfile['to_show']
56
+ HOW_TO_SAVE = yamlfile['save_filename']
57
+ TIMESTAMP = Time.now.strftime("%Y%m%d%H%M%S")
58
+ SCRIPTING = yamlfile['scripting_on']
59
+ CSV = yamlfile['csv_on']
60
+ LINTER = yamlfile['linter_on']
61
+ FORMAT_TO_SAVE = yamlfile['save_record_syntax']
62
+
63
+
68
64
  #class String
69
65
  # def to_proc
70
66
  # eval "Proc.new #{self} " # or "Proc.new #{self}" in my case
@@ -190,7 +186,7 @@ loop {
190
186
 
191
187
  final_taken = taken[0]
192
188
  puts final_taken
193
- final_taken.local_script(scripting) if SCRIPTING == 'yes'
189
+ final_taken.local_script(scripting) if SCRIPTING
194
190
 
195
191
  puts "--------------FINAL RECORD----------------------------"
196
192
  puts final_taken
@@ -203,7 +199,7 @@ loop {
203
199
  next if continue? == 'again'
204
200
  end
205
201
 
206
- csv = final_taken.marc_to_csv(labels) if CSV == 'yes'
202
+ csv = final_taken.marc_to_csv(labels) if CSV
207
203
 
208
204
  print "\n#{csv}\n"
209
205
 
@@ -220,7 +216,7 @@ loop {
220
216
  aFile.write(final_taken.to_marc)
221
217
  puts "#{final_taken['245']['a']} saved in #{filename}\.mrc"
222
218
  aFile.close
223
- elsif FORMAT_TO_SAVE == 'xml'
219
+ elsif FORMAT_TO_SAVE == 'marcxml'
224
220
  puts final_taken.to_xml
225
221
  aFile = File.new("#{filename}\.xml","a+")
226
222
  aFile.write(final_taken.to_xml)
@@ -228,7 +224,7 @@ loop {
228
224
  aFile.close
229
225
  end
230
226
 
231
- if CSV == 'yes'
227
+ if CSV
232
228
  csvFile = File.new("csv-#{filename}\.txt","a+")
233
229
  csvFile.write(csv)
234
230
  puts "csv for #{taken[0]['245']['a']} saved in csv-#{filename}\.txt"
@@ -6,6 +6,26 @@
6
6
  # 3. creation of csv files.
7
7
  # See below in each section for more information.
8
8
 
9
+ #BASIC config
10
+
11
+ #What is the maximum number of records you want to show from the search result set?
12
+ to_show: 40
13
+
14
+ # Do you want to save your MARC files by 'search_term' or by 'timestamp'? Choosing timestamp will save all records from a single session to the same file, while search_term will save to separate files for each different search term used.
15
+ save_filename: timestamp
16
+
17
+ #Do you want scripting turned on?
18
+ scripting_on: yes
19
+
20
+ #Do you want CSV file creation turned on?
21
+ csv_on: yes
22
+
23
+ #Do you want to use the optional MARC linter? Perl and the MARC::Lint module are necessary for the functionality to work.
24
+ linter_on: yes
25
+
26
+ #How do you want your records saved? Current choices are
27
+ save_record_syntax: marc
28
+
9
29
 
10
30
  ###########################
11
31
  # Z39.50 servers
@@ -12,7 +12,7 @@ module MARCAdditions
12
12
  xml_rec = (rec.to_xml).to_s
13
13
  #puts xml_rec
14
14
 
15
- if LINTER == 'no'
15
+ if LINTER == false
16
16
  puts 'You do not have the Perl MARC::Lint module installed or have disabled this feature.'
17
17
  return
18
18
  end
@@ -15,6 +15,7 @@ module Pickers
15
15
  rec_copy.each_index do #This block lists
16
16
  |index|
17
17
  puts "#{index}\t#{rec_copy[index]['245']}"
18
+ puts "\t#{rec_copy[index]['260']}" if rec_copy[index]['260']
18
19
  puts "\t#{rec_copy[index]['300']}" if rec_copy[index]['300']
19
20
  puts "\n\n"
20
21
  end
@@ -2,7 +2,7 @@ module Zcc #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- TINY = 1
5
+ TINY = 2
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -5,7 +5,7 @@
5
5
  <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
6
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
7
  <title>
8
- zcc
8
+ zcc projects
9
9
  </title>
10
10
  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
11
  <style>
@@ -30,148 +30,27 @@
30
30
  <body>
31
31
  <div id="main">
32
32
 
33
- <h1>zcc</h1>
33
+ <h1>zcc projects</h1>
34
34
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/zcc"; return false'>
35
35
  <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/zcc" class="numbers">0.0.1</a>
36
+ <a href="http://rubyforge.org/projects/zcc" class="numbers">0.0.2</a>
37
37
  </div>
38
38
  <h1>&#x2192; &#8216;zcc&#8217;</h1>
39
39
 
40
40
  <h2>What</h2>
41
41
 
42
- <p>Z Copy Cataloging is a command line tool written in Ruby to make your <span class="caps">MARC</span> record copy cataloging faster and more accurate. The &#8216;Z&#8217; may stand for Zippy if you really want it to.</p>
42
+ <p><strong>Zcc projects</strong> is a collection of tools written in Ruby to help with copy cataloging.</p>
43
43
 
44
44
 
45
45
  <h1><strong>THIS IS <em>alpha</em> SOFTWARE. <span class="caps">IT MIGHT MANGLE YOUR MARC AND CORRUPT YOUR CATALOG</span>.</strong></h1>
46
46
 
47
- <h2>Installing</h2>
47
+ <h1>zcc project releases so far</h1>
48
48
 
49
- <pre syntax="ruby">sudo gem install zcc</pre>
50
- <h2>Features</h2>
49
+ <p><a href="http://zcc.rubyforge.org/zcc.html">zcc</a> zcc is the main copy cataloging script.</p>
51
50
 
52
- <p><strong>Z39.50 search for records.</strong> Configure Zcc for as many targets as you like in order of preference. A relatively current list of targets is provided based on the targettest list. If you find the perfect record with the first target other targets do not have to be searched.</p>
53
51
 
54
-
55
- <p><strong>Search by Title or <span class="caps">ISBN</span></strong> Currently two searches are supported. From the same prompt you may search either by Title or <span class="caps">ISBN</span>. For a search of the Library of Congress you may also search by Library of Congress Card Number.</p>
56
-
57
-
58
- <p><strong>See the most important fields for copy cataloging when choosing correct records.</strong> In the initial list view Zcc presents the user with the full 245 (title and statement of responsibility) and 300 (extent, which includes page numbers). This gives you a quick way to determine potential records. <span class="caps">TODO</span>: Make the fields displayed configurable, especially for other <span class="caps">MARC</span> flavors.</p>
59
-
60
-
61
- <p><strong>View the full <span class="caps">MARC</span> record before choosing.</strong> Zcc allows you to see the full <span class="caps">MARC</span> record in a pretty line format. Zcc does not hide <span class="caps">MARC</span> from you, even as ugly as it can be.</p>
62
-
63
-
64
- <p><strong>Compare two records and choose the best.</strong> Zcc compares field by field (ie line by line) for matched fields. You can quickly see what fields come from which record. The comparison is similar to the way diff works. Matches between records are denoted with an &#8216;m&#8217; while one record is denoted with a plus-sign and the other with a minus-sign. <span class="caps">TODO</span>: a curses interface may allow for color coding differences.</p>
65
-
66
-
67
- <p><strong>Optional: Check the record for common errors.</strong> If you have Perl&#8217;s <span class="caps">MARC</span>::Lint installed you can see if all your indicators have proper values and only repeatable fields repeat. An added feature is determining what encoding level (ISBD, <span class="caps">AACR2</span>) the record is in.</p>
68
-
69
-
70
- <p><strong>Choose records from different targets and then choose among them to find the best record.</strong> In the end you just want one record and you want the best one. All the same features available for each target are also available for all the records chosen from all targets, so users can pick the best record for their location. View the full records, compare two records, and optionally lint records. This allows you to choose possible records quickly from various targets and then make a final decision later on.</p>
71
-
72
-
73
- <p><strong>Scripted changes to records.</strong> Zcc is highly configurable for making scripted changes to each record like macros. Want to delete all 900 or 9XX fields from a record before importing into your library system? Zcc can do that and more. Add fields and subfields with pre-determined information or prompt for information. The previous examples are easy to configure. With a little Ruby scripting you can make more complex changes. A few sample scripts are provided that do things like take the dewey call number from the 082a field and copy it to the fields Koha uses for call numbers, and if the there is no 082a field it prompts for the proper call number parts. Don&#8217;t need the feature? Just turn it off.</p>
74
-
75
-
76
- <p><strong>Output to <span class="caps">CSV</span> file.</strong> Want to print labels or keep statistics? Zcc allows you to choose which subfields you would like to export into a <span class="caps">CSV</span> file. Programs like glabels can accept <span class="caps">CSV</span> files for custom labelmaking. <span class="caps">CSV</span> files can also be imported into spreadsheet programs like OpenOffice Calc or Excel. If a value is not found for a particular field Zcc will prompt the user for input, which can be blank.</p>
77
-
78
-
79
- <h2>Configuration</h2>
80
-
81
- <p>Currently look for some configuration in the main script called &#8216;zcc&#8217; in the bin directory of the gem. I&#8217;ll be moving this to the yaml file soon.</p>
82
-
83
-
84
- <p>The rest of the configuration is looked for in the user&#8217;s home directory in .zcc/zcc.yaml. An example zcc.yaml config file can be found in the examples directory of the gem.</p>
85
-
86
-
87
- <p>To get the program running right away also create a file called zoomer-iterator.txt and place that in .zcc as well.</p>
88
-
89
-
90
- <h2>Use</h2>
91
-
92
- <p>$ zcc</p>
93
-
94
-
95
- <p>Enter an <span class="caps">ISBN</span> or title. Zcc should be smart enough to tell the difference.</p>
96
-
97
-
98
- <h2>TODO</h2>
99
-
100
- <p><strong>Smart character set conversion</strong> Currently incoming records are assumed to be marc-8 and are converted to utf-8. This is complex. Let me know what you need here.</p>
101
-
102
-
103
- <p><strong>TUI</strong> If there is interest in this script, I&#8217;m hoping to make a nice Text User Interface with curses or ncurses. Currently everything just scrolls up the terminal.</p>
104
-
105
-
106
- <p><strong>Automatic retrieval of authority records.</strong> I already have a separate script in the works that can retrieve authority records for names (not subjects). I&#8217;d like to work that as an option into the main script.</p>
107
-
108
-
109
- <p><strong>Unit Testing.</strong> While I&#8217;ve tested the script in my own work, I need to do more formal testing of the methods.</p>
110
-
111
-
112
- <p><strong>Exception handling.</strong> Currently there&#8217;s not great exception handling in the script. This needs to change, but hasn&#8217;t caused problems for me yet.</p>
113
-
114
-
115
- <p><strong>Internationalize</strong> This can start by not hardcoding any fields and allowing them to be configurable. The initial display of fields on search of a target should show the relevant fields in the user&#8217;s prefered <span class="caps">MARC</span> flavor. If there is interest, I&#8217;d be willing to try making other text translatable.</p>
116
-
117
-
118
- <p><strong>Move all configuration to <span class="caps">YAML</span> file.</strong> Currently some configuration is made in the main script and some in the <span class="caps">YAML</span> file.</p>
119
-
120
-
121
- <p>Create full <strong>rdoc documentation</strong>.</p>
122
-
123
-
124
- <h2>Requirements</h2>
125
-
126
- <p><a href="http://ruby-lang.org/">Ruby</a> 1.8+ I&#8217;m not completely sure what versions of Ruby will work.</p>
127
-
128
-
129
- <p><a href="http://www.indexdata.dk/yaz/">YAZ</a> I suggest adding the indexdata repositories for your distro (Debian or Redhat) and installing that way. From a footnote to ruby-zoom: If you build from source, make sure you pass the&#8212;enable-shared option to the configure script before building <span class="caps">YAZ</span>, by default it does not build shared libraries required by Ruby/ZOOM.</p>
130
-
131
-
132
- <p><a href="http://ruby-zoom.rubyforge.org/">ruby-zoom</a> Follow the instructions to install. Hopefully there will be a gem soon.</p>
133
-
134
-
135
- <p><a href="http://www.textualize.com/ruby_marc">ruby-marc</a> This one&#8217;s easy. As long as you have rubygems installed just issue the command: gem install marc</p>
136
-
137
-
138
- <p>*nix? Zcc has only been tested on Linux (Debian Etch). It may work under other operating systems. Feedback is appreciated on how it functions under other operating systems. I&#8217;m willing to try to make it work if there is interest.</p>
139
-
140
-
141
- <p>gem install unicode</p>
142
-
143
-
144
- <h2>Suggestions</h2>
145
-
146
- <p>Perl and <span class="caps">MARC</span>::Lint To have error checking of records turned on you must also have Perl and <span class="caps">MARC</span>::Lint installed.</p>
147
-
148
-
149
- <h2>Help/paches</h2>
150
-
151
- <p>email: <a href="mailto:jronallo+zcc@gmail.com">Jason Ronallo</a></p>
152
-
153
-
154
- <h2>License</h2>
155
-
156
- <p>Copyright&#169; 2007 Jason Ronallo</p>
157
-
158
-
159
- <p>This program is free software; you can redistribute it and/or modify it under the terms of the <span class="caps">GNU</span> General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p>
160
-
161
-
162
- <p>This program is distributed in the hope that it will be useful, but <span class="caps">WITHOUT ANY WARRANTY</span>; without even the implied warranty of <span class="caps">MERCHANTABILITY</span> or <span class="caps">FITNESS FOR A PARTICULAR PURPOSE</span>. See the <span class="caps">GNU</span> General Public License for more details.</p>
163
-
164
-
165
- <p>You should have received a copy of the <span class="caps">GNU</span> General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, <span class="caps">MA 02110</span>-1301, <span class="caps">USA</span></p>
166
-
167
-
168
- <h2>Contact</h2>
169
-
170
- <p>Comments are welcome. Send an email to <a href="mailto:jronallo+zcc@gmail.com">Jason Ronallo</a>.</p>
171
- <p class="coda">
172
- <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 22nd June 2007<br>
173
- Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
174
- </p>
52
+ <p><a href="http://zcc.rubyforge.org/wcid">wcid</a> wcid is a library for handling WorldCat Identites</p>
53
+
175
54
  </div>
176
55
 
177
56
  <!-- insert site tracking codes here, like Google Urchin -->
@@ -1,101 +1,18 @@
1
- h1. zcc
1
+ h1. zcc projects
2
2
 
3
3
  h1. &#x2192; 'zcc'
4
4
 
5
5
  h2. What
6
6
 
7
- Z Copy Cataloging is a command line tool written in Ruby to make your MARC record copy cataloging faster and more accurate. The 'Z' may stand for Zippy if you really want it to.
7
+ *Zcc projects* is a collection of tools written in Ruby to help with copy cataloging.
8
8
 
9
- h1. *THIS IS _alpha_ SOFTWARE. IT MIGHT MANGLE YOUR MARC AND CORRUPT YOUR CATALOG.*
10
-
11
- h2. Installing
12
-
13
- <pre syntax="ruby">sudo gem install zcc</pre>
14
-
15
- h2. Features
16
-
17
- *Z39.50 search for records.* Configure Zcc for as many targets as you like in order of preference. A relatively current list of targets is provided based on the targettest list. If you find the perfect record with the first target other targets do not have to be searched.
18
-
19
- *Search by Title or ISBN* Currently two searches are supported. From the same prompt you may search either by Title or ISBN. For a search of the Library of Congress you may also search by Library of Congress Card Number.
20
-
21
- *See the most important fields for copy cataloging when choosing correct records.* In the initial list view Zcc presents the user with the full 245 (title and statement of responsibility) and 300 (extent, which includes page numbers). This gives you a quick way to determine potential records. TODO: Make the fields displayed configurable, especially for other MARC flavors.
22
-
23
- *View the full MARC record before choosing.* Zcc allows you to see the full MARC record in a pretty line format. Zcc does not hide MARC from you, even as ugly as it can be.
24
-
25
- *Compare two records and choose the best.* Zcc compares field by field (ie line by line) for matched fields. You can quickly see what fields come from which record. The comparison is similar to the way diff works. Matches between records are denoted with an 'm' while one record is denoted with a plus-sign and the other with a minus-sign. TODO: a curses interface may allow for color coding differences.
26
-
27
- *Optional: Check the record for common errors.* If you have Perl's MARC::Lint installed you can see if all your indicators have proper values and only repeatable fields repeat. An added feature is determining what encoding level (ISBD, AACR2) the record is in.
28
-
29
- *Choose records from different targets and then choose among them to find the best record.* In the end you just want one record and you want the best one. All the same features available for each target are also available for all the records chosen from all targets, so users can pick the best record for their location. View the full records, compare two records, and optionally lint records. This allows you to choose possible records quickly from various targets and then make a final decision later on.
30
-
31
- *Scripted changes to records.* Zcc is highly configurable for making scripted changes to each record like macros. Want to delete all 900 or 9XX fields from a record before importing into your library system? Zcc can do that and more. Add fields and subfields with pre-determined information or prompt for information. The previous examples are easy to configure. With a little Ruby scripting you can make more complex changes. A few sample scripts are provided that do things like take the dewey call number from the 082a field and copy it to the fields Koha uses for call numbers, and if the there is no 082a field it prompts for the proper call number parts. Don't need the feature? Just turn it off.
32
-
33
- *Output to CSV file.* Want to print labels or keep statistics? Zcc allows you to choose which subfields you would like to export into a CSV file. Programs like glabels can accept CSV files for custom labelmaking. CSV files can also be imported into spreadsheet programs like OpenOffice Calc or Excel. If a value is not found for a particular field Zcc will prompt the user for input, which can be blank.
34
-
35
- h2. Configuration
36
-
37
- Currently look for some configuration in the main script called 'zcc' in the bin directory of the gem. I'll be moving this to the yaml file soon.
38
-
39
- The rest of the configuration is looked for in the user's home directory in .zcc/zcc.yaml. An example zcc.yaml config file can be found in the examples directory of the gem.
40
-
41
- To get the program running right away also create a file called zoomer-iterator.txt and place that in .zcc as well.
42
-
43
- h2. Use
44
-
45
- $ zcc
46
-
47
- Enter an ISBN or title. Zcc should be smart enough to tell the difference.
48
-
49
- h2. TODO
50
9
 
51
- *Smart character set conversion* Currently incoming records are assumed to be marc-8 and are converted to utf-8. This is complex. Let me know what you need here.
52
-
53
- *TUI* If there is interest in this script, I'm hoping to make a nice Text User Interface with curses or ncurses. Currently everything just scrolls up the terminal.
54
-
55
- *Automatic retrieval of authority records.* I already have a separate script in the works that can retrieve authority records for names (not subjects). I'd like to work that as an option into the main script.
56
-
57
- *Unit Testing.* While I've tested the script in my own work, I need to do more formal testing of the methods.
58
-
59
- *Exception handling.* Currently there's not great exception handling in the script. This needs to change, but hasn't caused problems for me yet.
60
-
61
- *Internationalize* This can start by not hardcoding any fields and allowing them to be configurable. The initial display of fields on search of a target should show the relevant fields in the user's prefered MARC flavor. If there is interest, I'd be willing to try making other text translatable.
62
-
63
- *Move all configuration to YAML file.* Currently some configuration is made in the main script and some in the YAML file.
64
-
65
- Create full *rdoc documentation*.
66
-
67
- h2. Requirements
68
-
69
- "Ruby":http://ruby-lang.org/ 1.8+ I'm not completely sure what versions of Ruby will work.
70
-
71
- "YAZ":http://www.indexdata.dk/yaz/ I suggest adding the indexdata repositories for your distro (Debian or Redhat) and installing that way. From a footnote to ruby-zoom: If you build from source, make sure you pass the --enable-shared option to the configure script before building YAZ, by default it does not build shared libraries required by Ruby/ZOOM.
72
-
73
- "ruby-zoom":http://ruby-zoom.rubyforge.org/ Follow the instructions to install. Hopefully there will be a gem soon.
74
-
75
- "ruby-marc":http://www.textualize.com/ruby_marc This one's easy. As long as you have rubygems installed just issue the command: gem install marc
76
-
77
- *nix? Zcc has only been tested on Linux (Debian Etch). It may work under other operating systems. Feedback is appreciated on how it functions under other operating systems. I'm willing to try to make it work if there is interest.
78
-
79
- gem install unicode
80
-
81
- h2. Suggestions
82
-
83
- Perl and MARC::Lint To have error checking of records turned on you must also have Perl and MARC::Lint installed.
84
-
85
- h2. Help/paches
86
-
87
- email: "Jason Ronallo":mailto:jronallo+zcc@gmail.com
88
-
89
- h2. License
90
-
91
- Copyright (C) 2007 Jason Ronallo
10
+ h1. *THIS IS _alpha_ SOFTWARE. IT MIGHT MANGLE YOUR MARC AND CORRUPT YOUR CATALOG.*
92
11
 
93
- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
12
+ h1. zcc project releases so far
94
13
 
95
- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14
+ "zcc":http://zcc.rubyforge.org/zcc.html zcc is the main copy cataloging script.
96
15
 
97
- You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
16
+ "wcid":http://zcc.rubyforge.org/wcid wcid is a library for handling WorldCat Identites
98
17
 
99
- h2. Contact
100
18
 
101
- Comments are welcome. Send an email to "Jason Ronallo":mailto:jronallo+zcc@gmail.com.
@@ -0,0 +1,82 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <title>
8
+ Using Koha with zcc
9
+ </title>
10
+ <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
+ <style>
12
+
13
+ </style>
14
+ <script type="text/javascript">
15
+ window.onload = function() {
16
+ settings = {
17
+ tl: { radius: 10 },
18
+ tr: { radius: 10 },
19
+ bl: { radius: 10 },
20
+ br: { radius: 10 },
21
+ antiAlias: true,
22
+ autoPad: true,
23
+ validTags: ["div"]
24
+ }
25
+ var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
+ versionBox.applyCornersToAll();
27
+ }
28
+ </script>
29
+ </head>
30
+ <body>
31
+ <div id="main">
32
+
33
+ <h1>Using Koha with zcc</h1>
34
+ <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/zcc"; return false'>
35
+ <p>Get Version</p>
36
+ <a href="http://rubyforge.org/projects/zcc" class="numbers">0.0.2</a>
37
+ </div>
38
+ <p><a href="http://www.koha.org">Koha</a> + <a href="http://zcc.rubyforge.org/zcc.html">zcc</a></p>
39
+
40
+
41
+ <h2>Hints</h2>
42
+
43
+ <ol>
44
+ <li>Follow all the directions on the <a href="http://zcc.rubyforge.org/zcc.html">main zcc page</a> carefully. Please let me know if you run into problems with configuration.</li>
45
+ </ol>
46
+
47
+ <ol>
48
+ <li><a href="http://zcc.rubyforge.org/zcc.html">zcc</a> is <strong>not</strong> a part of Koha and is not developed by the same folks.</li>
49
+ </ol>
50
+
51
+ <ol>
52
+ <li><a href="http://zcc.rubyforge.org/zcc.html">zcc</a> only creates utf-8 encoded records. If you want marc-8 encoded records you&#8217;re on your own. <span class="caps">MARC</span>-8 encoding has already caused enough problems in this world, so I encourage folks to move to <span class="caps">UTF</span>-8 <span class="caps">ASAP</span>. If you use a different encoding that you want supported, please let me know. To set up Koha properly for dealing with utf-8 encoded records see <a href="http://wiki.koha.org/doku.php?id=encodingscratchpad&#38;s=utf8">this wiki page</a></li>
53
+ </ol>
54
+
55
+ <ol>
56
+ <li>Make sure the Koha modules are a part of your path. I accomplish this by adding &#8220;export <span class="caps">PATH</span>=/usr/local/koha/intranet/modules&#8221; without the quotes to your .bashrc (or add the path to /etc/profile for the root user).</li>
57
+ </ol>
58
+
59
+ <ol>
60
+ <li>You can then have a choice on how to get the records into koha:<ul>
61
+ <li>Using the Koha Administration interface you can &#8220;Upload <span class="caps">MARC</span> records to the resevoir.&#8221; Then complete processing on the records like adding items and barcodes within the Koha web interface.</li>
62
+ </ul>
63
+
64
+ <ul>
65
+ <li>If you have processed your records fully to include item numbers and barcodes, you can use the bulkmarcimport script to put the records directly into your database. <strong>CAUTION</strong>: This may do screwy things to your records. The developers of Koha have stated that bulkmarcimport.pl just gives an idea on how to get records into the database and may need changed to suit your needs. Having said that, I&#8217;ve used bulkmarcimport without modification without problem. You may have different results and I&#8217;d like to hear them.</li>
66
+ </ul>
67
+
68
+ <pre syntax="ruby">perl /usr/local/koha/intranet/scripts/misc/migration_tools/bulkmarcimport.pl
69
+ -v -file /path/to/marc-file.mrc</pre>
70
+ <p>That is all one line.</p></li>
71
+ </ol>
72
+
73
+ <h1>Contact</h1>
74
+
75
+ <p>I use zcc and Koha for my own work. So I&#8217;m very interested in making zcc work better with Koha. Please send your comments, suggestions and patches to <a href="mailto:jronallo+zcc@gmail.com">Jason Ronallo</a></p>
76
+
77
+ </div>
78
+
79
+ <!-- insert site tracking codes here, like Google Urchin -->
80
+
81
+ </body>
82
+ </html>
@@ -0,0 +1,28 @@
1
+ h1. Using Koha with zcc
2
+
3
+ "Koha":http://www.koha.org + "zcc":http://zcc.rubyforge.org/zcc.html
4
+
5
+ h2. Hints
6
+
7
+ # Follow all the directions on the "main zcc page":http://zcc.rubyforge.org/zcc.html carefully. Please let me know if you run into problems with configuration.
8
+
9
+ # "zcc":http://zcc.rubyforge.org/zcc.html is *not* a part of Koha and is not developed by the same folks.
10
+
11
+ # "zcc":http://zcc.rubyforge.org/zcc.html only creates utf-8 encoded records. If you want marc-8 encoded records you're on your own. MARC-8 encoding has already caused enough problems in this world, so I encourage folks to move to UTF-8 ASAP. If you use a different encoding that you want supported, please let me know. To set up Koha properly for dealing with utf-8 encoded records see "this wiki page":http://wiki.koha.org/doku.php?id=encodingscratchpad&s=utf8
12
+
13
+ # Make sure the Koha modules are a part of your path. I accomplish this by adding "export PATH=/usr/local/koha/intranet/modules" without the quotes to your .bashrc (or add the path to /etc/profile for the root user).
14
+
15
+ # You can then have a choice on how to get the records into koha:
16
+
17
+ * Using the Koha Administration interface you can "Upload MARC records to the resevoir." Then complete processing on the records like adding items and barcodes within the Koha web interface.
18
+
19
+ * If you have processed your records fully to include item numbers and barcodes, you can use the bulkmarcimport script to put the records directly into your database. *CAUTION*: This may do screwy things to your records. The developers of Koha have stated that bulkmarcimport.pl just gives an idea on how to get records into the database and may need changed to suit your needs. Having said that, I've used bulkmarcimport without modification without problem. You may have different results and I'd like to hear them.
20
+
21
+ <pre syntax="ruby">perl /usr/local/koha/intranet/scripts/misc/migration_tools/bulkmarcimport.pl
22
+ -v -file /path/to/marc-file.mrc</pre>
23
+
24
+ That is all one line.
25
+
26
+ h1. Contact
27
+
28
+ I use zcc and Koha for my own work. So I'm very interested in making zcc work better with Koha. Please send your comments, suggestions and patches to "Jason Ronallo":mailto:jronallo+zcc@gmail.com
@@ -36,10 +36,7 @@
36
36
  <a href="<%= download %>" class="numbers"><%= version %></a>
37
37
  </div>
38
38
  <%= body %>
39
- <p class="coda">
40
- <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, <%= modified.pretty %><br>
41
- Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
42
- </p>
39
+
43
40
  </div>
44
41
 
45
42
  <!-- insert site tracking codes here, like Google Urchin -->
@@ -0,0 +1,205 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <title>
8
+ zcc
9
+ </title>
10
+ <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
+ <style>
12
+
13
+ </style>
14
+ <script type="text/javascript">
15
+ window.onload = function() {
16
+ settings = {
17
+ tl: { radius: 10 },
18
+ tr: { radius: 10 },
19
+ bl: { radius: 10 },
20
+ br: { radius: 10 },
21
+ antiAlias: true,
22
+ autoPad: true,
23
+ validTags: ["div"]
24
+ }
25
+ var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
+ versionBox.applyCornersToAll();
27
+ }
28
+ </script>
29
+ </head>
30
+ <body>
31
+ <div id="main">
32
+
33
+ <h1>zcc</h1>
34
+ <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/zcc"; return false'>
35
+ <p>Get Version</p>
36
+ <a href="http://rubyforge.org/projects/zcc" class="numbers">0.0.2</a>
37
+ </div>
38
+ <h1>&#x2192; &#8216;zcc&#8217;</h1>
39
+
40
+ <h2>What</h2>
41
+
42
+ <p>Z Copy Cataloging is a command line tool written in Ruby to make your <span class="caps">MARC</span> record copy cataloging faster and more accurate. The &#8216;Z&#8217; may stand for Zippy if you really want it to.</p>
43
+
44
+
45
+ <h1><strong>THIS IS <em>alpha</em> SOFTWARE. <span class="caps">IT MIGHT MANGLE YOUR MARC AND CORRUPT YOUR CATALOG</span>.</strong></h1>
46
+
47
+ <h2>Installing</h2>
48
+
49
+ <pre syntax="ruby">sudo gem install zcc</pre>
50
+ <h2>Repository</h2>
51
+
52
+ <p>svn co svn://208.78.97.122/zcc</p>
53
+
54
+
55
+ <h2>Features</h2>
56
+
57
+ <p><strong>Z39.50 search for records.</strong> Configure Zcc for as many targets as you like in order of preference. A relatively current list of targets is provided based on the targettest list. If you find the perfect record with the first target other targets do not have to be searched.</p>
58
+
59
+
60
+ <p><strong>Search by Title or <span class="caps">ISBN</span></strong> Currently two searches are supported. From the same prompt you may search either by Title or <span class="caps">ISBN</span>. For a search of the Library of Congress you may also search by Library of Congress Card Number.</p>
61
+
62
+
63
+ <p><strong>See the most important fields for copy cataloging when choosing correct records.</strong> In the initial list view Zcc presents the user with the full 245 (title and statement of responsibility) and 300 (extent, which includes page numbers). This gives you a quick way to determine potential records. <span class="caps">TODO</span>: Make the fields displayed configurable, especially for other <span class="caps">MARC</span> flavors.</p>
64
+
65
+
66
+ <p><strong>View the full <span class="caps">MARC</span> record before choosing.</strong> Zcc allows you to see the full <span class="caps">MARC</span> record in a pretty line format. Zcc does not hide <span class="caps">MARC</span> from you, even as ugly as it can be.</p>
67
+
68
+
69
+ <p><strong>Compare two records and choose the best.</strong> Zcc compares field by field (ie line by line) for matched fields. You can quickly see what fields come from which record. The comparison is similar to the way diff works. Matches between records are denoted with an &#8216;m&#8217; while one record is denoted with a plus-sign and the other with a minus-sign. <span class="caps">TODO</span>: a curses interface may allow for color coding differences.</p>
70
+
71
+
72
+ <p><strong>Optional: Check the record for common errors.</strong> If you have Perl&#8217;s <span class="caps">MARC</span>::Lint installed you can see if all your indicators have proper values and only repeatable fields repeat. An added feature is determining what encoding level (ISBD, <span class="caps">AACR2</span>) the record is in.</p>
73
+
74
+
75
+ <p><strong>Choose records from different targets and then choose among them to find the best record.</strong> In the end you just want one record and you want the best one. All the same features available for each target are also available for all the records chosen from all targets, so users can pick the best record for their location. View the full records, compare two records, and optionally lint records. This allows you to choose possible records quickly from various targets and then make a final decision later on.</p>
76
+
77
+
78
+ <p><strong>Scripted changes to records.</strong> Zcc is highly configurable for making scripted changes to each record like macros. Want to delete all 900 or 9XX fields from a record before importing into your library system? Zcc can do that and more. Add fields and subfields with pre-determined information or prompt for information. The previous examples are easy to configure. With a little Ruby scripting you can make more complex changes. A few sample scripts are provided that do things like take the dewey call number from the 082a field and copy it to the fields Koha uses for call numbers, and if there is no 082a field it prompts for the proper call number parts. Don&#8217;t need the feature? Just turn it off.</p>
79
+
80
+
81
+ <p><strong>Output to <span class="caps">CSV</span> file.</strong> Want to print labels or keep statistics? Zcc allows you to choose which subfields you would like to export into a <span class="caps">CSV</span> file. Programs like glabels can accept <span class="caps">CSV</span> files for custom labelmaking. <span class="caps">CSV</span> files can also be imported into spreadsheet programs like OpenOffice Calc or Excel. If a value is not found for a particular field Zcc will prompt the user for input, which can be blank.</p>
82
+
83
+
84
+ <h2>Configuration</h2>
85
+
86
+ <p>Because of all the scripting and csv features zcc requires a lot of configuration. Currently the configuration files are my own. I use them and they work for my purposes, but they will not work for yours. Once you have configured zcc, though, you should be copy cataloging much faster.</p>
87
+
88
+
89
+ <p>All of the configuration (as of 0.0.2) is looked for in the user&#8217;s home directory in .zcc/zcc.yaml. An example zcc.yaml config file can be found in the examples directory of the gem.</p>
90
+
91
+
92
+ <pre syntax="ruby">cp /var/lib/gems/1.8/gems/zcc-0.0.1/examples/zcc.yaml
93
+ ~/.zcc/zcc.yaml</pre>
94
+ One line; that&#8217;s what I do.
95
+ <p>To get the program running right away also create a file called zoomer-iterator.txt and place that in .zcc as well. I use this to create item numbers and barcodes.</p>
96
+
97
+
98
+ <h2>Use</h2>
99
+
100
+ <p>$ zcc</p>
101
+
102
+
103
+ <ol>
104
+ <li>Configure both ~/.zcc/zcc.yaml.</li>
105
+ <li>From the command line run zcc</li>
106
+ <li>Enter a title or <span class="caps">ISBN</span> to search for.</li>
107
+ <li>rset.length is the number of results found in the target. Depending on configuration you may not be presented with all results.</li>
108
+ <li>Next to each shown result is a number. Numbering starts with zero. Use that number in the following way:</li>
109
+ <li>Zcc command line<ul>
110
+ <li>Key in a number and hit Enter to select a record into your own set.</li>
111
+ <li>Key &#8217;s&#8217; followed by a number to see the result. For instance &#8216;s3&#8217; would show you the full <span class="caps">MARC</span> for the 3rd record.</li>
112
+ <li>To compare two records enter &#8216;c#-#&#8217;. For instance &#8216;c5-3&#8217; would compare record 5 to record 3. Matches are shown with &#8216;m&#8217; at the beginning of a line.</li>
113
+ <li>Enter &#8216;n&#8217; to go to the next ztarget.</li>
114
+ <li>Enter &#8216;d&#8217; if you are done selecting records. This will skip all</li>
115
+ </ul></li>
116
+ </ol>
117
+
118
+ <h2>TODO</h2>
119
+
120
+ <p><strong>Smart character set conversion</strong> Currently incoming records are assumed to be marc-8 and are converted to utf-8. This is complex. Let me know what you need here.</p>
121
+
122
+
123
+ <p><strong>TUI</strong> If there is interest in this script, I&#8217;m hoping to make a nice Text User Interface with curses or ncurses. Currently everything just scrolls up the terminal.</p>
124
+
125
+
126
+ <p><strong>Automatic retrieval of authority records.</strong> I already have a separate script in the works that can retrieve authority records for names (not subjects). I&#8217;d like to work that as an option into the main script.</p>
127
+
128
+
129
+ <p><strong>Unit Testing.</strong> While I&#8217;ve tested the script in my own work, I need to do more formal testing of the methods.</p>
130
+
131
+
132
+ <p><strong>Exception handling.</strong> Currently there&#8217;s not great exception handling in the script. This needs to change, but hasn&#8217;t caused problems for me yet.</p>
133
+
134
+
135
+ <p><strong>Internationalize</strong> This can start by not hardcoding any fields and allowing them to be configurable. The initial display of fields on search of a target should show the relevant fields in the user&#8217;s prefered <span class="caps">MARC</span> flavor. If there is interest, I&#8217;d be willing to try making other text translatable.</p>
136
+
137
+
138
+ <p><del>Move all configuration to <span class="caps">YAML</span> file. Currently some configuration is made in the main script and some in the <span class="caps">YAML</span> file.</del> v. 0.0.2</p>
139
+
140
+
141
+ <p>Create full <strong>rdoc documentation</strong>.</p>
142
+
143
+
144
+ <h2>Requirements</h2>
145
+
146
+ <p><a href="http://ruby-lang.org/">Ruby</a> 1.8+ I&#8217;m not completely sure what versions of Ruby will work.</p>
147
+
148
+
149
+ <p><a href="http://www.indexdata.dk/yaz/">YAZ</a> I suggest adding the indexdata repositories for your distro (Debian or Redhat) and installing that way. From a footnote to ruby-zoom: If you build from source, make sure you pass the&#8212;enable-shared option to the configure script before building <span class="caps">YAZ</span>, by default it does not build shared libraries required by Ruby/ZOOM.</p>
150
+
151
+
152
+ <p><a href="http://ruby-zoom.rubyforge.org/">ruby-zoom</a> Follow the instructions to install. Hopefully there will be a gem soon. To compile ruby1.8-dev must be installed.</p>
153
+
154
+
155
+ <p><a href="http://www.textualize.com/ruby_marc">ruby-marc</a> This one&#8217;s easy. As long as you have rubygems installed just issue the command: gem install marc</p>
156
+
157
+
158
+ <p>*nix? Zcc has only been tested on Linux (Debian Etch). It may work under other operating systems. Feedback is appreciated on how it functions under other operating systems. I&#8217;m willing to try to make it work if there is interest.</p>
159
+
160
+
161
+ <p>gem install unicode</p>
162
+
163
+
164
+ <p>The gems bin folder must be added to your <span class="caps">PATH</span>. For me it is /var/lib/gems/1.8.bin</p>
165
+
166
+
167
+ <h2>Suggestions</h2>
168
+
169
+ <p>Perl and <span class="caps">MARC</span>::Lint To have error checking of records turned on you must also have Perl and <span class="caps">MARC</span>::Lint installed.</p>
170
+
171
+
172
+ <h2>Using Koha with zcc</h2>
173
+
174
+ <p>There is no integration yet between Koha and zcc, but I use both so am working towards that end. For now you can find some help on this page: <a href="http://zcc.rubyforge.org/koha.html">using Koha with zcc</a></p>
175
+
176
+
177
+ <h2>Help/paches</h2>
178
+
179
+ <p>email: <a href="mailto:jronallo+zcc@gmail.com">Jason Ronallo</a></p>
180
+
181
+
182
+ <h2>License</h2>
183
+
184
+ <p>Copyright&#169; 2007 Jason Ronallo</p>
185
+
186
+
187
+ <p>This program is free software; you can redistribute it and/or modify it under the terms of the <span class="caps">GNU</span> General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p>
188
+
189
+
190
+ <p>This program is distributed in the hope that it will be useful, but <span class="caps">WITHOUT ANY WARRANTY</span>; without even the implied warranty of <span class="caps">MERCHANTABILITY</span> or <span class="caps">FITNESS FOR A PARTICULAR PURPOSE</span>. See the <span class="caps">GNU</span> General Public License for more details.</p>
191
+
192
+
193
+ <p>You should have received a copy of the <span class="caps">GNU</span> General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, <span class="caps">MA 02110</span>-1301, <span class="caps">USA</span></p>
194
+
195
+
196
+ <h2>Contact</h2>
197
+
198
+ <p>Comments are welcome. Send an email to <a href="mailto:jronallo+zcc@gmail.com">Jason Ronallo</a>.</p>
199
+
200
+ </div>
201
+
202
+ <!-- insert site tracking codes here, like Google Urchin -->
203
+
204
+ </body>
205
+ </html>
@@ -0,0 +1,127 @@
1
+ h1. zcc
2
+
3
+ h1. &#x2192; 'zcc'
4
+
5
+ h2. What
6
+
7
+ Z Copy Cataloging is a command line tool written in Ruby to make your MARC record copy cataloging faster and more accurate. The 'Z' may stand for Zippy if you really want it to.
8
+
9
+ h1. *THIS IS _alpha_ SOFTWARE. IT MIGHT MANGLE YOUR MARC AND CORRUPT YOUR CATALOG.*
10
+
11
+ h2. Installing
12
+
13
+ <pre syntax="ruby">sudo gem install zcc</pre>
14
+
15
+ h2. Repository
16
+
17
+ svn co svn://208.78.97.122/zcc
18
+
19
+ h2. Features
20
+
21
+ *Z39.50 search for records.* Configure Zcc for as many targets as you like in order of preference. A relatively current list of targets is provided based on the targettest list. If you find the perfect record with the first target other targets do not have to be searched.
22
+
23
+ *Search by Title or ISBN* Currently two searches are supported. From the same prompt you may search either by Title or ISBN. For a search of the Library of Congress you may also search by Library of Congress Card Number.
24
+
25
+ *See the most important fields for copy cataloging when choosing correct records.* In the initial list view Zcc presents the user with the full 245 (title and statement of responsibility) and 300 (extent, which includes page numbers). This gives you a quick way to determine potential records. TODO: Make the fields displayed configurable, especially for other MARC flavors.
26
+
27
+ *View the full MARC record before choosing.* Zcc allows you to see the full MARC record in a pretty line format. Zcc does not hide MARC from you, even as ugly as it can be.
28
+
29
+ *Compare two records and choose the best.* Zcc compares field by field (ie line by line) for matched fields. You can quickly see what fields come from which record. The comparison is similar to the way diff works. Matches between records are denoted with an 'm' while one record is denoted with a plus-sign and the other with a minus-sign. TODO: a curses interface may allow for color coding differences.
30
+
31
+ *Optional: Check the record for common errors.* If you have Perl's MARC::Lint installed you can see if all your indicators have proper values and only repeatable fields repeat. An added feature is determining what encoding level (ISBD, AACR2) the record is in.
32
+
33
+ *Choose records from different targets and then choose among them to find the best record.* In the end you just want one record and you want the best one. All the same features available for each target are also available for all the records chosen from all targets, so users can pick the best record for their location. View the full records, compare two records, and optionally lint records. This allows you to choose possible records quickly from various targets and then make a final decision later on.
34
+
35
+ *Scripted changes to records.* Zcc is highly configurable for making scripted changes to each record like macros. Want to delete all 900 or 9XX fields from a record before importing into your library system? Zcc can do that and more. Add fields and subfields with pre-determined information or prompt for information. The previous examples are easy to configure. With a little Ruby scripting you can make more complex changes. A few sample scripts are provided that do things like take the dewey call number from the 082a field and copy it to the fields Koha uses for call numbers, and if there is no 082a field it prompts for the proper call number parts. Don't need the feature? Just turn it off.
36
+
37
+ *Output to CSV file.* Want to print labels or keep statistics? Zcc allows you to choose which subfields you would like to export into a CSV file. Programs like glabels can accept CSV files for custom labelmaking. CSV files can also be imported into spreadsheet programs like OpenOffice Calc or Excel. If a value is not found for a particular field Zcc will prompt the user for input, which can be blank.
38
+
39
+ h2. Configuration
40
+
41
+ Because of all the scripting and csv features zcc requires a lot of configuration. Currently the configuration files are my own. I use them and they work for my purposes, but they will not work for yours. Once you have configured zcc, though, you should be copy cataloging much faster.
42
+
43
+
44
+ All of the configuration (as of 0.0.2) is looked for in the user's home directory in .zcc/zcc.yaml. An example zcc.yaml config file can be found in the examples directory of the gem.
45
+
46
+ <pre syntax="ruby">cp /var/lib/gems/1.8/gems/zcc-0.0.1/examples/zcc.yaml
47
+ ~/.zcc/zcc.yaml</pre>
48
+ One line; that's what I do.
49
+
50
+ To get the program running right away also create a file called zoomer-iterator.txt and place that in .zcc as well. I use this to create item numbers and barcodes.
51
+
52
+ h2. Use
53
+
54
+ $ zcc
55
+
56
+ # Configure both ~/.zcc/zcc.yaml.
57
+ # From the command line run zcc
58
+ # Enter a title or ISBN to search for.
59
+ # rset.length is the number of results found in the target. Depending on configuration you may not be presented with all results.
60
+ # Next to each shown result is a number. Numbering starts with zero. Use that number in the following way:
61
+ # Zcc command line
62
+
63
+ * Key in a number and hit Enter to select a record into your own set.
64
+ * Key 's' followed by a number to see the result. For instance 's3' would show you the full MARC for the 3rd record.
65
+ * To compare two records enter 'c#-#'. For instance 'c5-3' would compare record 5 to record 3. Matches are shown with 'm' at the beginning of a line.
66
+ * Enter 'n' to go to the next ztarget.
67
+ * Enter 'd' if you are done selecting records. This will skip all
68
+
69
+ h2. TODO
70
+
71
+ *Smart character set conversion* Currently incoming records are assumed to be marc-8 and are converted to utf-8. This is complex. Let me know what you need here.
72
+
73
+ *TUI* If there is interest in this script, I'm hoping to make a nice Text User Interface with curses or ncurses. Currently everything just scrolls up the terminal.
74
+
75
+ *Automatic retrieval of authority records.* I already have a separate script in the works that can retrieve authority records for names (not subjects). I'd like to work that as an option into the main script.
76
+
77
+ *Unit Testing.* While I've tested the script in my own work, I need to do more formal testing of the methods.
78
+
79
+ *Exception handling.* Currently there's not great exception handling in the script. This needs to change, but hasn't caused problems for me yet.
80
+
81
+ *Internationalize* This can start by not hardcoding any fields and allowing them to be configurable. The initial display of fields on search of a target should show the relevant fields in the user's prefered MARC flavor. If there is interest, I'd be willing to try making other text translatable.
82
+
83
+ -Move all configuration to YAML file. Currently some configuration is made in the main script and some in the YAML file.- v. 0.0.2
84
+
85
+ Create full *rdoc documentation*.
86
+
87
+ h2. Requirements
88
+
89
+ "Ruby":http://ruby-lang.org/ 1.8+ I'm not completely sure what versions of Ruby will work.
90
+
91
+ "YAZ":http://www.indexdata.dk/yaz/ I suggest adding the indexdata repositories for your distro (Debian or Redhat) and installing that way. From a footnote to ruby-zoom: If you build from source, make sure you pass the --enable-shared option to the configure script before building YAZ, by default it does not build shared libraries required by Ruby/ZOOM.
92
+
93
+ "ruby-zoom":http://ruby-zoom.rubyforge.org/ Follow the instructions to install. Hopefully there will be a gem soon. To compile ruby1.8-dev must be installed.
94
+
95
+ "ruby-marc":http://www.textualize.com/ruby_marc This one's easy. As long as you have rubygems installed just issue the command: gem install marc
96
+
97
+ *nix? Zcc has only been tested on Linux (Debian Etch). It may work under other operating systems. Feedback is appreciated on how it functions under other operating systems. I'm willing to try to make it work if there is interest.
98
+
99
+ gem install unicode
100
+
101
+ The gems bin folder must be added to your PATH. For me it is /var/lib/gems/1.8.bin
102
+
103
+ h2. Suggestions
104
+
105
+ Perl and MARC::Lint To have error checking of records turned on you must also have Perl and MARC::Lint installed.
106
+
107
+ h2. Using Koha with zcc
108
+
109
+ There is no integration yet between Koha and zcc, but I use both so am working towards that end. For now you can find some help on this page: "using Koha with zcc":http://zcc.rubyforge.org/koha.html
110
+
111
+ h2. Help/paches
112
+
113
+ email: "Jason Ronallo":mailto:jronallo+zcc@gmail.com
114
+
115
+ h2. License
116
+
117
+ Copyright (C) 2007 Jason Ronallo
118
+
119
+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
120
+
121
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
122
+
123
+ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
124
+
125
+ h2. Contact
126
+
127
+ Comments are welcome. Send an email to "Jason Ronallo":mailto:jronallo+zcc@gmail.com.
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: zcc
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.1
7
- date: 2007-06-22 00:00:00 -04:00
6
+ version: 0.0.2
7
+ date: 2007-06-24 00:00:00 -04:00
8
8
  summary: zcc is a command line script for copy cataloging MARC records
9
9
  require_paths:
10
10
  - lib
@@ -49,8 +49,12 @@ files:
49
49
  - website/index.html
50
50
  - website/index.txt
51
51
  - website/javascripts/rounded_corners_lite.inc.js
52
+ - website/koha.html
53
+ - website/koha.txt
52
54
  - website/stylesheets/screen.css
53
55
  - website/template.rhtml
56
+ - website/zcc.html
57
+ - website/zcc.txt
54
58
  test_files:
55
59
  - test/test_helper.rb
56
60
  - test/test_zcc.rb
@@ -63,6 +67,8 @@ extra_rdoc_files:
63
67
  - README.txt
64
68
  - examples/zoomer-iterator.txt
65
69
  - website/index.txt
70
+ - website/koha.txt
71
+ - website/zcc.txt
66
72
  executables:
67
73
  - linter.pl
68
74
  - zcc