<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.code4lib.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=128.220.205.186</id>
		<title>Code4Lib - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.code4lib.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=128.220.205.186"/>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/Special:Contributions/128.220.205.186"/>
		<updated>2026-06-25T13:47:24Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=6207</id>
		<title>Umlaut wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=6207"/>
				<updated>2010-10-21T16:38:17Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
Some actual current future plans:&lt;br /&gt;
&lt;br /&gt;
* Fix HathiTrust adapter to use new HT plugin, including not showing fulltext for just portions of a serial. (Or showing it in 'see also' section only)&lt;br /&gt;
&lt;br /&gt;
* Rails3&lt;br /&gt;
&lt;br /&gt;
* Internet Archive -- use new OL/IA api, discover search-inside-the-book. &lt;br /&gt;
&lt;br /&gt;
* WorldCat, use new api, link directly to nearest public library in 'see also' or elsewhere. &lt;br /&gt;
&lt;br /&gt;
* CiteSeerX -- source of 'cited by' info, AND, most excitingly, open access pre-prints. But their Atom/RSS feeds (the only API I could find) don't seem to advertise enough info to actually use these features. Would need to talk to developer team -- possibly offer to help code? Also not entirely clear how big their corpus actually is, if it's worth it. &lt;br /&gt;
&lt;br /&gt;
* Try screen-scraping Google Scholar (and maybe Microsoft Academic) to get the open access full text links they find. &lt;br /&gt;
&lt;br /&gt;
* When no full text is found, provide link to search on Google Scholar, or Bing Academic?  Need to have sufficient metadata to create the search. Oct 2010 Library Technolgoy Reports article has some ideas, I think. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''old''' Desired or planned features. &lt;br /&gt;
&lt;br /&gt;
* Check for similar articles from: http://biosemantics.org/jane/faq.php#api&lt;br /&gt;
&lt;br /&gt;
* Full-text availability check from http://chroniclingamerica.loc.gov/ -- check by title/city, check by lccn (?), able to check particular dates/link to particular dates and/or pages of paper?&lt;br /&gt;
&lt;br /&gt;
* Allow a service_response to have a tree relationship to children, so for instance alternate versions of a text can be attached as children of the main link, expandable by the user. &lt;br /&gt;
&lt;br /&gt;
* http://export.arxiv.org/api_help/   !!!!&lt;br /&gt;
&lt;br /&gt;
* PubMed Central full text lookup http://www.ncbi.nlm.nih.gov/entrez/query/static/esearch_help.html (SFX may already do this?)&lt;br /&gt;
&lt;br /&gt;
* Journal ToC from CiteULike&lt;br /&gt;
&lt;br /&gt;
* Parsing of formatted references from an entry screen. Use http://wing.comp.nus.edu.sg/parsCit/ package. Very interesting!  Or a similar UCOP package: http://purl.net/net/egh/hmm-citation-extractor/ See list of such packages here under &amp;quot;Other Parsing Tools&amp;quot; http://freecite.library.brown.edu/&lt;br /&gt;
&lt;br /&gt;
* LibraryThing open knowledge API for more data. http://www.librarything.com/blog/2008/08/free-web-services-api-to-common.php&lt;br /&gt;
&lt;br /&gt;
* Connect to internet linked movie database on movies: http://www.linkedmdb.org/&lt;br /&gt;
&lt;br /&gt;
* Add information about the conversation happening around an article with Scintilla if we have a URL, PMID or DOI (Alf at Scintilla would prefer us NOT to use the API for high-traffic. But we can copy his techniques internally to Umlaut. CrossRef and PubMed for &amp;quot;cited by&amp;quot; on DOI and PMID identifiers are a good idea. He has also reverse engineered the Scopus javascript api to allow server-side json access. http://hublog.hubmed.org/archives/001512.html):&lt;br /&gt;
     http://hublog.hubmed.org/archives/001609.html&lt;br /&gt;
     Unofficially it will return json:&lt;br /&gt;
     http://scintilla.nature.com/conversations?uri=info%3Adoi%2F10.1371%2Fjournal.pmed.0020124&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rochester “Getting Users Fulltext” style code to skip right to the full text, skipping content-provider metadata pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* UMich Mirlyn for metadata enrichment? &lt;br /&gt;
     http://webservices.itcs.umich.edu/mediawiki/MLibraryAPI/index.php/Mirlynapi:Home&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* xISBN/thingISBN use. (Some thought is required in how to integrate this while avoiding false positives). Bowker ISSN service for metadata enhancement. OCLC xISSN?  Integrate preceding/succeeding title information from OPAC or xISSN?&lt;br /&gt;
&lt;br /&gt;
* LibraryLookup: http://xisbn.worldcat.org/liblook/index.htm  At least until xISBN is baked in we could provide a link to this service. Increases the chances of finding a desired book in the catalog through work set grouping. Used by LibX.&lt;br /&gt;
      http://xisbn.worldcat.org/liblook/resolve.htm?res_id=http://www.iucat.iu.edu&amp;amp;rft.isbn=0451530942&amp;amp;url_ver=Z39.88-2004&amp;amp;rft_val_fmt=info:ofi/fmt:kev:mtx:book&lt;br /&gt;
&lt;br /&gt;
* Journal covers from Ulrich's via screen-scraping (or Ulrich's/sersol built in api?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connotea integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fetch ToC from LC. Screen scrape, I guess? Or z3950? Any other content from LC?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link to Books In Print ala Notre Dame. &lt;br /&gt;
http://www.library.nd.edu/eresources/findit/findit.cgi?doc_num=001939269&amp;amp;aleph_session=U5AVHRXD5QB1CGDFDSVJ9DSY2UA6QNCGVEU8EYRX9NNMIQ429Q-54668%22&lt;br /&gt;
example &lt;br /&gt;
&lt;br /&gt;
* bip search url? :&lt;br /&gt;
http://www.booksinprint.com/merge_shared/Search/advsearch.asp%3FdateState%3DY%26txtAction%3D%26BooleanSearch%3D%26SType%3Dadv%26collection%3DBIP%26QueryMode%3DSimple%26ResultCount%3D25%26ResultTemplate%3Dmbbookresult_fl.hts%26navPage%3D1%26SrchFrm%3DAdv%26ScoreThreshold%3D0%26Criteria1%3DISBN%26CriteriaText1%3D0838935370&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX plugin:  Notice when first title given is non-roman, and look for roman title to enhance metadata with when so. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* HIP and other OPAC searchers should pull ToC from MARC 505 when present.  And 856's judged to be ToC in ToC, not full text. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Umlaut Referent to more easily allow multiple authors. Architectural change neccessary to get a lot of this stuff working right. &lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Cited by&amp;quot; service. Scopus via screen scraping? (scopus javascript api? http://www.scopus.com/scsearchapi/ See also http://hublog.hubmed.org/archives/001512.html ) ISI Web of Science is too hard to even screen scrape the interface is such a mess, but Scopus looks do-able.  Google scholar?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Enhance metadata to have full metadata for a refworks etc export. Using: CrossRef?  Metalib?  Anything else?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A general purpose responsecache. Schema: Date, service/source, key.  Use for caching image urls, ToC urls from LC, etc. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Worldcat registry auto-discovery. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a Worldcat search that uses API, instead of screen scrape. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Switch OCA search to use OCA native APIs, instead of indexdata mirror index. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* fix unapi in umlaut. unapi to rsi?  For zotero. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change background to use Spawn plugin instead of manual threading. Investigating using spawn with fork instead of thread (terry reese on limited pool of forks). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Crazy idea for an abstract interface/architecture to support querying web service apis that require client side javascript, like Google Books and Scopus. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Integrate my various local document delivery services into menu of options when full text isn’t available. More generally, a clear architecture for providing localized doc delivery services in addition to a single ILL link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX adaptor: Add a &amp;quot;rollup&amp;quot; feature that pays attention to dates to avoid eliminating coverage.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=6206</id>
		<title>Umlaut wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=6206"/>
				<updated>2010-10-21T16:28:05Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
Some actual current future plans:&lt;br /&gt;
&lt;br /&gt;
* Fix HathiTrust adapter to use new HT plugin, including not showing fulltext for just portions of a serial. (Or showing it in 'see also' section only)&lt;br /&gt;
&lt;br /&gt;
* Rails3&lt;br /&gt;
&lt;br /&gt;
* Internet Archive -- use new OL/IA api, discover search-inside-the-book. &lt;br /&gt;
&lt;br /&gt;
* WorldCat, use new api, link directly to nearest public library in 'see also' or elsewhere. &lt;br /&gt;
&lt;br /&gt;
* CiteSeerX -- source of 'cited by' info, AND, most excitingly, open access pre-prints. But their Atom/RSS feeds (the only API I could find) don't seem to advertise enough info to actually use these features. Would need to talk to developer team -- possibly offer to help code? Also not entirely clear how big their corpus actually is, if it's worth it. &lt;br /&gt;
&lt;br /&gt;
* When no full text is found, provide link to search on Google Scholar, or Bing Academic?  Need to have sufficient metadata to create the search. Oct 2010 Library Technolgoy Reports article has some ideas, I think. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''old''' Desired or planned features. &lt;br /&gt;
&lt;br /&gt;
* Check for similar articles from: http://biosemantics.org/jane/faq.php#api&lt;br /&gt;
&lt;br /&gt;
* Full-text availability check from http://chroniclingamerica.loc.gov/ -- check by title/city, check by lccn (?), able to check particular dates/link to particular dates and/or pages of paper?&lt;br /&gt;
&lt;br /&gt;
* Allow a service_response to have a tree relationship to children, so for instance alternate versions of a text can be attached as children of the main link, expandable by the user. &lt;br /&gt;
&lt;br /&gt;
* http://export.arxiv.org/api_help/   !!!!&lt;br /&gt;
&lt;br /&gt;
* PubMed Central full text lookup http://www.ncbi.nlm.nih.gov/entrez/query/static/esearch_help.html (SFX may already do this?)&lt;br /&gt;
&lt;br /&gt;
* Journal ToC from CiteULike&lt;br /&gt;
&lt;br /&gt;
* Parsing of formatted references from an entry screen. Use http://wing.comp.nus.edu.sg/parsCit/ package. Very interesting!  Or a similar UCOP package: http://purl.net/net/egh/hmm-citation-extractor/ See list of such packages here under &amp;quot;Other Parsing Tools&amp;quot; http://freecite.library.brown.edu/&lt;br /&gt;
&lt;br /&gt;
* LibraryThing open knowledge API for more data. http://www.librarything.com/blog/2008/08/free-web-services-api-to-common.php&lt;br /&gt;
&lt;br /&gt;
* Connect to internet linked movie database on movies: http://www.linkedmdb.org/&lt;br /&gt;
&lt;br /&gt;
* Add information about the conversation happening around an article with Scintilla if we have a URL, PMID or DOI (Alf at Scintilla would prefer us NOT to use the API for high-traffic. But we can copy his techniques internally to Umlaut. CrossRef and PubMed for &amp;quot;cited by&amp;quot; on DOI and PMID identifiers are a good idea. He has also reverse engineered the Scopus javascript api to allow server-side json access. http://hublog.hubmed.org/archives/001512.html):&lt;br /&gt;
     http://hublog.hubmed.org/archives/001609.html&lt;br /&gt;
     Unofficially it will return json:&lt;br /&gt;
     http://scintilla.nature.com/conversations?uri=info%3Adoi%2F10.1371%2Fjournal.pmed.0020124&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rochester “Getting Users Fulltext” style code to skip right to the full text, skipping content-provider metadata pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* UMich Mirlyn for metadata enrichment? &lt;br /&gt;
     http://webservices.itcs.umich.edu/mediawiki/MLibraryAPI/index.php/Mirlynapi:Home&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* xISBN/thingISBN use. (Some thought is required in how to integrate this while avoiding false positives). Bowker ISSN service for metadata enhancement. OCLC xISSN?  Integrate preceding/succeeding title information from OPAC or xISSN?&lt;br /&gt;
&lt;br /&gt;
* LibraryLookup: http://xisbn.worldcat.org/liblook/index.htm  At least until xISBN is baked in we could provide a link to this service. Increases the chances of finding a desired book in the catalog through work set grouping. Used by LibX.&lt;br /&gt;
      http://xisbn.worldcat.org/liblook/resolve.htm?res_id=http://www.iucat.iu.edu&amp;amp;rft.isbn=0451530942&amp;amp;url_ver=Z39.88-2004&amp;amp;rft_val_fmt=info:ofi/fmt:kev:mtx:book&lt;br /&gt;
&lt;br /&gt;
* Journal covers from Ulrich's via screen-scraping (or Ulrich's/sersol built in api?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connotea integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fetch ToC from LC. Screen scrape, I guess? Or z3950? Any other content from LC?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link to Books In Print ala Notre Dame. &lt;br /&gt;
http://www.library.nd.edu/eresources/findit/findit.cgi?doc_num=001939269&amp;amp;aleph_session=U5AVHRXD5QB1CGDFDSVJ9DSY2UA6QNCGVEU8EYRX9NNMIQ429Q-54668%22&lt;br /&gt;
example &lt;br /&gt;
&lt;br /&gt;
* bip search url? :&lt;br /&gt;
http://www.booksinprint.com/merge_shared/Search/advsearch.asp%3FdateState%3DY%26txtAction%3D%26BooleanSearch%3D%26SType%3Dadv%26collection%3DBIP%26QueryMode%3DSimple%26ResultCount%3D25%26ResultTemplate%3Dmbbookresult_fl.hts%26navPage%3D1%26SrchFrm%3DAdv%26ScoreThreshold%3D0%26Criteria1%3DISBN%26CriteriaText1%3D0838935370&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX plugin:  Notice when first title given is non-roman, and look for roman title to enhance metadata with when so. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* HIP and other OPAC searchers should pull ToC from MARC 505 when present.  And 856's judged to be ToC in ToC, not full text. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Umlaut Referent to more easily allow multiple authors. Architectural change neccessary to get a lot of this stuff working right. &lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Cited by&amp;quot; service. Scopus via screen scraping? (scopus javascript api? http://www.scopus.com/scsearchapi/ See also http://hublog.hubmed.org/archives/001512.html ) ISI Web of Science is too hard to even screen scrape the interface is such a mess, but Scopus looks do-able.  Google scholar?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Enhance metadata to have full metadata for a refworks etc export. Using: CrossRef?  Metalib?  Anything else?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A general purpose responsecache. Schema: Date, service/source, key.  Use for caching image urls, ToC urls from LC, etc. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Worldcat registry auto-discovery. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a Worldcat search that uses API, instead of screen scrape. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Switch OCA search to use OCA native APIs, instead of indexdata mirror index. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* fix unapi in umlaut. unapi to rsi?  For zotero. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change background to use Spawn plugin instead of manual threading. Investigating using spawn with fork instead of thread (terry reese on limited pool of forks). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Crazy idea for an abstract interface/architecture to support querying web service apis that require client side javascript, like Google Books and Scopus. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Integrate my various local document delivery services into menu of options when full text isn’t available. More generally, a clear architecture for providing localized doc delivery services in addition to a single ILL link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX adaptor: Add a &amp;quot;rollup&amp;quot; feature that pays attention to dates to avoid eliminating coverage.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=6160</id>
		<title>Umlaut wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=6160"/>
				<updated>2010-09-27T20:39:57Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
Some actual current future plans:&lt;br /&gt;
&lt;br /&gt;
* Fix HathiTrust adapter to use new HT plugin, including not showing fulltext for just portions of a serial. (Or showing it in 'see also' section only)&lt;br /&gt;
&lt;br /&gt;
* Rails3&lt;br /&gt;
&lt;br /&gt;
* Internet Archive -- use new OL/IA api, discover search-inside-the-book. &lt;br /&gt;
&lt;br /&gt;
* WorldCat, use new api, link directly to nearest public library in 'see also' or elsewhere. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''old''' Desired or planned features. &lt;br /&gt;
&lt;br /&gt;
* Check for similar articles from: http://biosemantics.org/jane/faq.php#api&lt;br /&gt;
&lt;br /&gt;
* Full-text availability check from http://chroniclingamerica.loc.gov/ -- check by title/city, check by lccn (?), able to check particular dates/link to particular dates and/or pages of paper?&lt;br /&gt;
&lt;br /&gt;
* Allow a service_response to have a tree relationship to children, so for instance alternate versions of a text can be attached as children of the main link, expandable by the user. &lt;br /&gt;
&lt;br /&gt;
* http://export.arxiv.org/api_help/   !!!!&lt;br /&gt;
&lt;br /&gt;
* PubMed Central full text lookup http://www.ncbi.nlm.nih.gov/entrez/query/static/esearch_help.html (SFX may already do this?)&lt;br /&gt;
&lt;br /&gt;
* Journal ToC from CiteULike&lt;br /&gt;
&lt;br /&gt;
* Parsing of formatted references from an entry screen. Use http://wing.comp.nus.edu.sg/parsCit/ package. Very interesting!  Or a similar UCOP package: http://purl.net/net/egh/hmm-citation-extractor/ See list of such packages here under &amp;quot;Other Parsing Tools&amp;quot; http://freecite.library.brown.edu/&lt;br /&gt;
&lt;br /&gt;
* LibraryThing open knowledge API for more data. http://www.librarything.com/blog/2008/08/free-web-services-api-to-common.php&lt;br /&gt;
&lt;br /&gt;
* Connect to internet linked movie database on movies: http://www.linkedmdb.org/&lt;br /&gt;
&lt;br /&gt;
* Add information about the conversation happening around an article with Scintilla if we have a URL, PMID or DOI (Alf at Scintilla would prefer us NOT to use the API for high-traffic. But we can copy his techniques internally to Umlaut. CrossRef and PubMed for &amp;quot;cited by&amp;quot; on DOI and PMID identifiers are a good idea. He has also reverse engineered the Scopus javascript api to allow server-side json access. http://hublog.hubmed.org/archives/001512.html):&lt;br /&gt;
     http://hublog.hubmed.org/archives/001609.html&lt;br /&gt;
     Unofficially it will return json:&lt;br /&gt;
     http://scintilla.nature.com/conversations?uri=info%3Adoi%2F10.1371%2Fjournal.pmed.0020124&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rochester “Getting Users Fulltext” style code to skip right to the full text, skipping content-provider metadata pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* UMich Mirlyn for metadata enrichment? &lt;br /&gt;
     http://webservices.itcs.umich.edu/mediawiki/MLibraryAPI/index.php/Mirlynapi:Home&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* xISBN/thingISBN use. (Some thought is required in how to integrate this while avoiding false positives). Bowker ISSN service for metadata enhancement. OCLC xISSN?  Integrate preceding/succeeding title information from OPAC or xISSN?&lt;br /&gt;
&lt;br /&gt;
* LibraryLookup: http://xisbn.worldcat.org/liblook/index.htm  At least until xISBN is baked in we could provide a link to this service. Increases the chances of finding a desired book in the catalog through work set grouping. Used by LibX.&lt;br /&gt;
      http://xisbn.worldcat.org/liblook/resolve.htm?res_id=http://www.iucat.iu.edu&amp;amp;rft.isbn=0451530942&amp;amp;url_ver=Z39.88-2004&amp;amp;rft_val_fmt=info:ofi/fmt:kev:mtx:book&lt;br /&gt;
&lt;br /&gt;
* Journal covers from Ulrich's via screen-scraping (or Ulrich's/sersol built in api?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connotea integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fetch ToC from LC. Screen scrape, I guess? Or z3950? Any other content from LC?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link to Books In Print ala Notre Dame. &lt;br /&gt;
http://www.library.nd.edu/eresources/findit/findit.cgi?doc_num=001939269&amp;amp;aleph_session=U5AVHRXD5QB1CGDFDSVJ9DSY2UA6QNCGVEU8EYRX9NNMIQ429Q-54668%22&lt;br /&gt;
example &lt;br /&gt;
&lt;br /&gt;
* bip search url? :&lt;br /&gt;
http://www.booksinprint.com/merge_shared/Search/advsearch.asp%3FdateState%3DY%26txtAction%3D%26BooleanSearch%3D%26SType%3Dadv%26collection%3DBIP%26QueryMode%3DSimple%26ResultCount%3D25%26ResultTemplate%3Dmbbookresult_fl.hts%26navPage%3D1%26SrchFrm%3DAdv%26ScoreThreshold%3D0%26Criteria1%3DISBN%26CriteriaText1%3D0838935370&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX plugin:  Notice when first title given is non-roman, and look for roman title to enhance metadata with when so. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* HIP and other OPAC searchers should pull ToC from MARC 505 when present.  And 856's judged to be ToC in ToC, not full text. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Umlaut Referent to more easily allow multiple authors. Architectural change neccessary to get a lot of this stuff working right. &lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Cited by&amp;quot; service. Scopus via screen scraping? (scopus javascript api? http://www.scopus.com/scsearchapi/ See also http://hublog.hubmed.org/archives/001512.html ) ISI Web of Science is too hard to even screen scrape the interface is such a mess, but Scopus looks do-able.  Google scholar?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Enhance metadata to have full metadata for a refworks etc export. Using: CrossRef?  Metalib?  Anything else?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A general purpose responsecache. Schema: Date, service/source, key.  Use for caching image urls, ToC urls from LC, etc. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Worldcat registry auto-discovery. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a Worldcat search that uses API, instead of screen scrape. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Switch OCA search to use OCA native APIs, instead of indexdata mirror index. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* fix unapi in umlaut. unapi to rsi?  For zotero. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change background to use Spawn plugin instead of manual threading. Investigating using spawn with fork instead of thread (terry reese on limited pool of forks). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Crazy idea for an abstract interface/architecture to support querying web service apis that require client side javascript, like Google Books and Scopus. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Integrate my various local document delivery services into menu of options when full text isn’t available. More generally, a clear architecture for providing localized doc delivery services in addition to a single ILL link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX adaptor: Add a &amp;quot;rollup&amp;quot; feature that pays attention to dates to avoid eliminating coverage.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=6159</id>
		<title>Umlaut wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=6159"/>
				<updated>2010-09-27T20:39:39Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
Some actual current future plans:&lt;br /&gt;
&lt;br /&gt;
* Fix HathiTrust adapter to use new HT plugin, including not showing fulltext for just portions of a serial. (Or showing it in 'see also' section only)&lt;br /&gt;
&lt;br /&gt;
* Rails3&lt;br /&gt;
&lt;br /&gt;
* Internet Archive -- use new OL/IA api, discover search-inside-the-book. &lt;br /&gt;
&lt;br /&gt;
* WorldCat, use new api, link directly to nearest public library in 'see also' or elsewhere. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*old* Desired or planned features. &lt;br /&gt;
&lt;br /&gt;
* Check for similar articles from: http://biosemantics.org/jane/faq.php#api&lt;br /&gt;
&lt;br /&gt;
* Full-text availability check from http://chroniclingamerica.loc.gov/ -- check by title/city, check by lccn (?), able to check particular dates/link to particular dates and/or pages of paper?&lt;br /&gt;
&lt;br /&gt;
* Allow a service_response to have a tree relationship to children, so for instance alternate versions of a text can be attached as children of the main link, expandable by the user. &lt;br /&gt;
&lt;br /&gt;
* http://export.arxiv.org/api_help/   !!!!&lt;br /&gt;
&lt;br /&gt;
* PubMed Central full text lookup http://www.ncbi.nlm.nih.gov/entrez/query/static/esearch_help.html (SFX may already do this?)&lt;br /&gt;
&lt;br /&gt;
* Journal ToC from CiteULike&lt;br /&gt;
&lt;br /&gt;
* Parsing of formatted references from an entry screen. Use http://wing.comp.nus.edu.sg/parsCit/ package. Very interesting!  Or a similar UCOP package: http://purl.net/net/egh/hmm-citation-extractor/ See list of such packages here under &amp;quot;Other Parsing Tools&amp;quot; http://freecite.library.brown.edu/&lt;br /&gt;
&lt;br /&gt;
* LibraryThing open knowledge API for more data. http://www.librarything.com/blog/2008/08/free-web-services-api-to-common.php&lt;br /&gt;
&lt;br /&gt;
* Connect to internet linked movie database on movies: http://www.linkedmdb.org/&lt;br /&gt;
&lt;br /&gt;
* Add information about the conversation happening around an article with Scintilla if we have a URL, PMID or DOI (Alf at Scintilla would prefer us NOT to use the API for high-traffic. But we can copy his techniques internally to Umlaut. CrossRef and PubMed for &amp;quot;cited by&amp;quot; on DOI and PMID identifiers are a good idea. He has also reverse engineered the Scopus javascript api to allow server-side json access. http://hublog.hubmed.org/archives/001512.html):&lt;br /&gt;
     http://hublog.hubmed.org/archives/001609.html&lt;br /&gt;
     Unofficially it will return json:&lt;br /&gt;
     http://scintilla.nature.com/conversations?uri=info%3Adoi%2F10.1371%2Fjournal.pmed.0020124&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rochester “Getting Users Fulltext” style code to skip right to the full text, skipping content-provider metadata pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* UMich Mirlyn for metadata enrichment? &lt;br /&gt;
     http://webservices.itcs.umich.edu/mediawiki/MLibraryAPI/index.php/Mirlynapi:Home&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* xISBN/thingISBN use. (Some thought is required in how to integrate this while avoiding false positives). Bowker ISSN service for metadata enhancement. OCLC xISSN?  Integrate preceding/succeeding title information from OPAC or xISSN?&lt;br /&gt;
&lt;br /&gt;
* LibraryLookup: http://xisbn.worldcat.org/liblook/index.htm  At least until xISBN is baked in we could provide a link to this service. Increases the chances of finding a desired book in the catalog through work set grouping. Used by LibX.&lt;br /&gt;
      http://xisbn.worldcat.org/liblook/resolve.htm?res_id=http://www.iucat.iu.edu&amp;amp;rft.isbn=0451530942&amp;amp;url_ver=Z39.88-2004&amp;amp;rft_val_fmt=info:ofi/fmt:kev:mtx:book&lt;br /&gt;
&lt;br /&gt;
* Journal covers from Ulrich's via screen-scraping (or Ulrich's/sersol built in api?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connotea integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fetch ToC from LC. Screen scrape, I guess? Or z3950? Any other content from LC?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link to Books In Print ala Notre Dame. &lt;br /&gt;
http://www.library.nd.edu/eresources/findit/findit.cgi?doc_num=001939269&amp;amp;aleph_session=U5AVHRXD5QB1CGDFDSVJ9DSY2UA6QNCGVEU8EYRX9NNMIQ429Q-54668%22&lt;br /&gt;
example &lt;br /&gt;
&lt;br /&gt;
* bip search url? :&lt;br /&gt;
http://www.booksinprint.com/merge_shared/Search/advsearch.asp%3FdateState%3DY%26txtAction%3D%26BooleanSearch%3D%26SType%3Dadv%26collection%3DBIP%26QueryMode%3DSimple%26ResultCount%3D25%26ResultTemplate%3Dmbbookresult_fl.hts%26navPage%3D1%26SrchFrm%3DAdv%26ScoreThreshold%3D0%26Criteria1%3DISBN%26CriteriaText1%3D0838935370&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX plugin:  Notice when first title given is non-roman, and look for roman title to enhance metadata with when so. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* HIP and other OPAC searchers should pull ToC from MARC 505 when present.  And 856's judged to be ToC in ToC, not full text. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Umlaut Referent to more easily allow multiple authors. Architectural change neccessary to get a lot of this stuff working right. &lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Cited by&amp;quot; service. Scopus via screen scraping? (scopus javascript api? http://www.scopus.com/scsearchapi/ See also http://hublog.hubmed.org/archives/001512.html ) ISI Web of Science is too hard to even screen scrape the interface is such a mess, but Scopus looks do-able.  Google scholar?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Enhance metadata to have full metadata for a refworks etc export. Using: CrossRef?  Metalib?  Anything else?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A general purpose responsecache. Schema: Date, service/source, key.  Use for caching image urls, ToC urls from LC, etc. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Worldcat registry auto-discovery. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a Worldcat search that uses API, instead of screen scrape. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Switch OCA search to use OCA native APIs, instead of indexdata mirror index. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* fix unapi in umlaut. unapi to rsi?  For zotero. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change background to use Spawn plugin instead of manual threading. Investigating using spawn with fork instead of thread (terry reese on limited pool of forks). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Crazy idea for an abstract interface/architecture to support querying web service apis that require client side javascript, like Google Books and Scopus. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Integrate my various local document delivery services into menu of options when full text isn’t available. More generally, a clear architecture for providing localized doc delivery services in addition to a single ILL link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX adaptor: Add a &amp;quot;rollup&amp;quot; feature that pays attention to dates to avoid eliminating coverage.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Deployment&amp;diff=6158</id>
		<title>Umlaut Deployment</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Deployment&amp;diff=6158"/>
				<updated>2010-09-27T14:03:54Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Apache Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
So you have your Umlaut running by executing &amp;quot;./scripts/server&amp;quot; in the Umlaut directory, and then it launches on port 3000 by default, and you connect to port 3000. This is fine for some initial confirmation that you've got your setup working, and for development, but how do you actually deploy it?&lt;br /&gt;
&lt;br /&gt;
Turns out there are several possible deploy environments for a Rails application. There is not necessarily one standard or best one at the moment, different people use different ones in different circumstances.&lt;br /&gt;
&lt;br /&gt;
Jonathan Rochkind at Hopkins uses mongrel, mongrel_cluster and Apache mod_proxy and mod_proxy_balancer on a unix system for his deploy environment.  He went down this road because it was what was recommended by the [http://www.pragprog.com/titles/rails2 Rails Agile Development book].  We may explore other deploy enviroments (such as 'passenger') in the future.  We would definitely not be optimistic about running Umlaut on Windows. *Lately mod_rails/Passenger is clearly the preferred Rails deployment in general, and jrochkind wants to find time to set it up and test it, but hasn't yet.*&lt;br /&gt;
&lt;br /&gt;
Since jrochkind is writing this documentation, he can only tell you how to do it how he did. You do need to have a verison of Apache that includes mod_proxy_balancer (&amp;gt; apache 2.2? ), but if you do, jrochkind is fairly happy with the solution.&lt;br /&gt;
&lt;br /&gt;
These two pages from the mongrel website on [http://mongrel.rubyforge.org/wiki/Apache Apache Best Practice Deployment] and [http://mongrel.rubyforge.org/docs/mongrel_cluster.html Using Mongrel Cluster] are pretty good how-tos for mongrel. But we will also take you through it here, with specific directions and Umlaut recommendations and pit-falls we ran into.&lt;br /&gt;
&lt;br /&gt;
== Quick start 'wizard' ==&lt;br /&gt;
&lt;br /&gt;
New! A Rails generator to set up config files for you, and make deployment with mongrel cluster and apache much easier. &lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install 'mongrel' and 'mongrel_cluster' gems. &lt;br /&gt;
* Apache needs mod_proxy and mod_proxy_balancer (which means it needs to be apache &amp;gt;2.2 I think, and have those modules turned on). &lt;br /&gt;
* You need to have access to an apache conf file to add some statements to hook your mongrel cluster up to the web.&lt;br /&gt;
&lt;br /&gt;
=== To run ===&lt;br /&gt;
&lt;br /&gt;
You can simply run ./script/generate mongrel_deploy_files to generate config files for an Umlaut mongrel cluster deployment. This makes some assumptions, detailed below--to change all of these options, run ./script/generate mongrel_deploy_files --help to see command line arguments, if you aren't happy with these defaults. &lt;br /&gt;
&lt;br /&gt;
You can run this command at any time. It will interactively prompt you if you want to overwrite your existing files, and give you a diff. (Or you can say --force to force overwriting of existing files). You can also run ./script/destroy mongrel_deploy_files to remove anything created by the generator. &lt;br /&gt;
&lt;br /&gt;
This process will add two files in umlaut_config/deploy, and one file in $UMLAUT/script/local/.  Next, you need to hook up apache, and start your mongrels.&lt;br /&gt;
&lt;br /&gt;
=== default assumptions ===&lt;br /&gt;
&lt;br /&gt;
Several mongrel processes are being configured. By default, this is four mongrel processes on internal ports beginning at port 4001. Both of these things can be changed. &lt;br /&gt;
&lt;br /&gt;
By default these mongrel processes will be run as unix user 'umlaut', group 'umlaut'. So either create such a user or group, or add arguments to choose other user/group. &lt;br /&gt;
&lt;br /&gt;
By default the generator assumes that you are going to be deploying at 'document root' (/) in a particular apache (virtual) host. If you'd like to instead install at a sub-path, use the --prefix argument. &lt;br /&gt;
&lt;br /&gt;
=== Hook up apache === &lt;br /&gt;
&lt;br /&gt;
A file was created for you in umlaut_config/deploy/umlaut_http.conf.  You need to edit your apache conf file to &amp;quot;Include&amp;quot; this umlaut_http.conf in the virtual host of your choice (or main host). You need to set up the virtual host yourself, if you want one. Then simply &amp;quot;Include /path/to/umlaut/config/umlaut_config/deploy/umlaut_http.conf&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Start mongrels ===&lt;br /&gt;
&lt;br /&gt;
Apache is now pointing to a balanced cluster of mongrels on the ports specified by the generator, from the path specified by the generator. But those mongrels aren't running yet. You need to start them. You can do this by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mongrel_rails cluster::start -C /path/to/umlaut/config/umlaut_config/deploy/mongrel_cluster.yml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or, for convenience, the generator installed a little bash script to do this all for you:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$UMLAUT/script/local/my_mongrel_ctl (start|stop|restart|status)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can set things up to auto-start your mongrels on boot, see:&lt;br /&gt;
[http://mongrel.rubyforge.org/wiki/MongrelCluster#OnBootInitializationSetup]&lt;br /&gt;
&lt;br /&gt;
== The details: Umlaut Deployment with Mongrel and Apache ==&lt;br /&gt;
&lt;br /&gt;
There are basically two parts to getting Umlaut (or any Rails app) deployed in this setup. First is getting your Rails app running, and second is configuring Apache to connect to it properly.&lt;br /&gt;
&lt;br /&gt;
There are a few decisions to make. Run just one instance of Umlaut, or run multiple load balancing instances? Because of the nature of the way Umlaut works, we strongly recommend running multiple Umlaut instances regardless of how little traffic you expect.  Even in a low-traffic environment, the fact that Umlaut can take several seconds to respond to a request means that multiple instances are a good idea to keep Umlaut from seeming even slower than it is. We're completely guessing, but 3 is probably a pretty good number for just about any Umlaut site, from low to high traffic.&lt;br /&gt;
&lt;br /&gt;
Also think about whether you what unix account you want to run Umlaut (recommended to create a special low-priv account).  And whether your Umlaut URLs can be the base urls for a host (Ie, findit.library.jhu.edu points directly to umlaut), or whether you use a 'prefix' (ie, findit.library.jhu.edu/some/path/findit). Using apache virtual hosts and mounting Umlaut at the base is typical, but the prefix can work too.&lt;br /&gt;
&lt;br /&gt;
=== Setting up mongrel_cluster ===&lt;br /&gt;
&lt;br /&gt;
First you've got to install mongrel and mongrel_cluster:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
:sudo gem install mongrel_cluster&lt;br /&gt;
&lt;br /&gt;
'''Reccommend you make sure you have mongrel &amp;gt;= 1.1.4 and mongrel_cluster &amp;gt;= 1.0.5. Recommend you do NOT have previous versions installed. When I had mongrel_cluster 1.0.3 simultaneously installed, it was being used, even though it shouldn't be, and its bugs were effecting me'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The point of mongrel_cluster is to save configuration information for multiple mongrel instances in one configuration file, and then you can start, stop, or restart them all with one command, and without having to remember that config information each time (and possibly get it wrong or typod).&lt;br /&gt;
&lt;br /&gt;
By default, mongrel_cluster keeps that configuration file in a Rails app's config/mongrel_cluster.yml.   You could do that with Umlaut, but we like to keep your local config files in $Umlaut/config/umlaut_config instead (see [[Umlaut Local Configuration Architecture]]), so we recommend putting it in $Umlaut/config/umlaut_config. You can use the mongrel_rails command to write this config for you (see [http://mongrel.rubyforge.org/wiki/MongrelCluster Using Mongrel Cluster]; make sure to use the -C argument to put the config file in umlaut_config, if that's what you want), but here we'll just give you our actual mongrel_cluster.yml config, annotated. (You are certainly allowed to write it by hand).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Unix account to run your processes as:\\&lt;br /&gt;
user: umlaut  &lt;br /&gt;
&lt;br /&gt;
#Unix group to run processes as:&lt;br /&gt;
group: umlaut &lt;br /&gt;
&lt;br /&gt;
# Install dir of Umlaut you want to run from:&lt;br /&gt;
cwd: /data/web/findit/Umlaut &lt;br /&gt;
log_file: log/mongrel.log # Leave like this. &lt;br /&gt;
&lt;br /&gt;
# Start port for your instances. Any high port will do. Does NOT need need&lt;br /&gt;
# to be open through firewall externally. &lt;br /&gt;
port: 8000 &lt;br /&gt;
environment: production # Leave like this&lt;br /&gt;
address: 127.0.0.1 # Leave like this &lt;br /&gt;
pid_file: tmp/pids/mongrel.pid # Leave like this&lt;br /&gt;
&lt;br /&gt;
# How many instances to run. port: 8000 with servers:3 means you'll&lt;br /&gt;
# have a server on 8000, 8001, and 8002. &lt;br /&gt;
servers: 3&lt;br /&gt;
&lt;br /&gt;
# Only if  you want to start at web path other than base / :&lt;br /&gt;
prefix: /findit       # for instance. Start with slash, and don't end with one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can start all three of these mongrel instances by executing:&lt;br /&gt;
&lt;br /&gt;
:sudo mongrel_rails cluster::start -C $Umlaut/config/umlaut_config/mongrel_rails&lt;br /&gt;
&lt;br /&gt;
The 'sudo' is necessary because we've told mongrel_cluster to start apps as user 'umlaut' ; first need to be root before you can start a process as another user. Also cluster::stop, cluster::restart, and cluster::status&lt;br /&gt;
&lt;br /&gt;
We're still not sure exactly how many mongrels are neccesary to handle a given sized umlaut installation. &lt;br /&gt;
&lt;br /&gt;
:See below to automate the startup of these processes on boot.&lt;br /&gt;
&lt;br /&gt;
If you are choosing to start as a particular unix account, make sure your install dir can be read by that account! log and tmp dirs need to be writeable too. Easiest thing to do is just &amp;quot;sudo chgrp -R umlaut&amp;quot;, or whatever other group you are choosing, your entire $Umlaut installation. Note that the parent directory (and all of it's parents) needs to have &amp;quot;x&amp;quot; permission for the user/group too.&lt;br /&gt;
&lt;br /&gt;
=== Apache Setup ===&lt;br /&gt;
&lt;br /&gt;
Now we set up apache using mod_proxy to 'reverse proxy' to our mongrel instances, with clustered load balancing. Make sure you have mod_proxy and mod_proxy_balancer installed and configured. Now, in your apache conf, proably in the specific virtual host you want to use for Umlaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Very important, make sure you aren't inadvertantly making an open proxy with mod_proxy&lt;br /&gt;
ProxyRequests off &lt;br /&gt;
&lt;br /&gt;
# Set up the mod_proxy blanacer, with our three instances running on 8000-8002&lt;br /&gt;
# Note: Do not put trailing / on these&lt;br /&gt;
&amp;lt;Proxy balancer://umlaut_cluster&amp;gt;&lt;br /&gt;
  BalancerMember http://127.0.0.1:8000&lt;br /&gt;
  BalancerMember http://127.0.0.1:8001&lt;br /&gt;
  BalancerMember http://127.0.0.1:8002&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Set up ProxyPass directive to reverse proxy to SFX for handling SFX journal subscription cgi posts&lt;br /&gt;
# This should come before the cluster ProxyPass directive.&lt;br /&gt;
ProxyPass /resolve/cgi/core/journal_subscription.cgi http://your.sfx.host.edu:port/your_instance/cgi/core/journal_subscription.cgi&lt;br /&gt;
ProxyPassReverse /resolve/cgi/core/journal_subscription.cgi http://your.sfx.host.edu:port/your_instance/cgi/core/journal_subscription.cgi&lt;br /&gt;
&lt;br /&gt;
# Now set up the ProxyPass directives to reverse proxy to that cluster&lt;br /&gt;
# Note: DO put trailing / on these.&lt;br /&gt;
&lt;br /&gt;
ProxyPass / balancer://umlaut_cluster/ &lt;br /&gt;
ProxyPassReverse / balancer://umlaut_cluster/ &lt;br /&gt;
ProxyPreserveHost on&lt;br /&gt;
&lt;br /&gt;
# Or, if you were using a prefix, these would look like, eg:&lt;br /&gt;
# ProxyPass /findit balancer://umlaut_cluster/findit/&lt;br /&gt;
# ProxyPassReverse /findit balancer://umlaut_cluster/findit/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SSL/https====&lt;br /&gt;
&lt;br /&gt;
If you are setting up apache to allow https requests, it should still proxy to an http mongrel as above, because mongrel doesn't speak http.  However, you should include this line in the relevant SSL virtual host, to set the request header to let the Rails app know it's fronted by ssl:&lt;br /&gt;
&lt;br /&gt;
    RequestHeader set X_FORWARDED_PROTO 'https'&lt;br /&gt;
&lt;br /&gt;
=== Dealing with bad query strings: More Apache Setup ===&lt;br /&gt;
&lt;br /&gt;
Mongrel refuses to accept a mal-formed query string. EBSCOHost, however, insists on sending such---for example, query strings with unescaped greater-than or less-than chars in them. We want to take care of this by putting directives in the apache config to rewrite these bad urls into proper escaped urls. The apache mod_redirect external map function is most convenient to use here, and a program to serve as an external map is included with umlaut. The following apache directives will take care of rewriting bad URLs. As always, $Umlaut stands for your Umlaut install dir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  # We want to re-write URLs with 'bad' &amp;lt; and &amp;gt; chars in the query&lt;br /&gt;
  # string (eg from EBSCO) to escape them.&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteMap query_escape prg:$umlaut/distribution/script/rewrite_map.pl&lt;br /&gt;
  RewriteLock /var/lock/subsys/apache.rewrite.lock&lt;br /&gt;
  RewriteCond %{query_string} ^(.*[\&amp;gt;\&amp;lt;].*)$&lt;br /&gt;
  RewriteRule ^(.*)$ $1?${query_escape:%1} [R,L,NE]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Due to a bug in Apache, ampersand chars in query string end up 'double escaped' when put through the map. We have code in a before filter in application_controller to take care of this.&lt;br /&gt;
&lt;br /&gt;
=== Start at Boot? ===&lt;br /&gt;
&lt;br /&gt;
Follow the directions at [http://mongrel.rubyforge.org/wiki/MongrelCluster#OnBootInitializationSetup Using Mongrel Cluster], which are basically:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir /etc/mongrel_cluster&lt;br /&gt;
sudo ln -s $UMLAUT/config/umlaut_config/mongrel_cluster.yml /etc/mongrel_cluster/umlaut.yml&lt;br /&gt;
sudo cp /path/to/mongrel_cluster_gem/resources/mongrel_cluster /etc/init.d/&lt;br /&gt;
sudo chmod +x /etc/init.d/mongrel_cluster&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now your cluster will start at boot, and you can also start, stop, or restart it (and any other clusters you link into /etc/mongrel_cluster) with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/mongrel_cluster {start|stop|restart}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====NOTE/WARNING==== &lt;br /&gt;
There is a problem in mongrel_cluster that will prevent mongrels from starting up again if your machine (or mongrels) die ungracefully leaving stale pids. See http://www.ruby-forum.com/topic/105849 &lt;br /&gt;
&lt;br /&gt;
My better fix:  Edit the /etc/init.d/mongrel_cluster bash script you installed above. Change line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mongrel_cluster_ctl start -c $CONF_DIR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mongrel_cluster_ctl start -c $CONF_DIR --clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the addition of the --clean argument.&lt;br /&gt;
&lt;br /&gt;
I know this works with mongrel 1.1.4 and mongrel_cluster 1.0.5.  An earlier mongrel_cluster did not respect the --clean argument properly--and I found that having a simultaenous install of the earlier mongrel_cluster for some reason caused it to be used instead of the later one. gem isn't supposed to work that way. But best make sure you have no mongrel_clusters earlier than 1.0.5 installed.&lt;br /&gt;
&lt;br /&gt;
== SFX Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Institute Feature ===&lt;br /&gt;
&lt;br /&gt;
This only matters if you use the SFX institute feature. Umlaut sends a req.ip=[client ip] param, which SFX is supposed to use to treat the request as if it came from that IP, not umlaut's ip. That works if the req.ip matches an SFX institute. But if it does not match any institute, you want SFX to treat the request as if it did not match any institute. Instead it consults the actual umlaut server IP and connects THAT to an institute. This is bad. &lt;br /&gt;
&lt;br /&gt;
As a work around, define an institute in SFX that is listed first alphabetically (eg, &amp;quot;aaa_umlaut_server&amp;quot;) that matches the Umlaut server's IP address(es). Now if req.ip doesn't match anything, SFX will decide the request matches &amp;quot;aaa_umlaut_server&amp;quot; institute--which won't effect anything, will be treated just like a non-local address--instead of matching on umlaut server address which might match a wrong institute. &lt;br /&gt;
&lt;br /&gt;
This bug has been reported to Ex Libris.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Deployment&amp;diff=6157</id>
		<title>Umlaut Deployment</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Deployment&amp;diff=6157"/>
				<updated>2010-09-27T14:02:44Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
So you have your Umlaut running by executing &amp;quot;./scripts/server&amp;quot; in the Umlaut directory, and then it launches on port 3000 by default, and you connect to port 3000. This is fine for some initial confirmation that you've got your setup working, and for development, but how do you actually deploy it?&lt;br /&gt;
&lt;br /&gt;
Turns out there are several possible deploy environments for a Rails application. There is not necessarily one standard or best one at the moment, different people use different ones in different circumstances.&lt;br /&gt;
&lt;br /&gt;
Jonathan Rochkind at Hopkins uses mongrel, mongrel_cluster and Apache mod_proxy and mod_proxy_balancer on a unix system for his deploy environment.  He went down this road because it was what was recommended by the [http://www.pragprog.com/titles/rails2 Rails Agile Development book].  We may explore other deploy enviroments (such as 'passenger') in the future.  We would definitely not be optimistic about running Umlaut on Windows. *Lately mod_rails/Passenger is clearly the preferred Rails deployment in general, and jrochkind wants to find time to set it up and test it, but hasn't yet.*&lt;br /&gt;
&lt;br /&gt;
Since jrochkind is writing this documentation, he can only tell you how to do it how he did. You do need to have a verison of Apache that includes mod_proxy_balancer (&amp;gt; apache 2.2? ), but if you do, jrochkind is fairly happy with the solution.&lt;br /&gt;
&lt;br /&gt;
These two pages from the mongrel website on [http://mongrel.rubyforge.org/wiki/Apache Apache Best Practice Deployment] and [http://mongrel.rubyforge.org/docs/mongrel_cluster.html Using Mongrel Cluster] are pretty good how-tos for mongrel. But we will also take you through it here, with specific directions and Umlaut recommendations and pit-falls we ran into.&lt;br /&gt;
&lt;br /&gt;
== Quick start 'wizard' ==&lt;br /&gt;
&lt;br /&gt;
New! A Rails generator to set up config files for you, and make deployment with mongrel cluster and apache much easier. &lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
* Install 'mongrel' and 'mongrel_cluster' gems. &lt;br /&gt;
* Apache needs mod_proxy and mod_proxy_balancer (which means it needs to be apache &amp;gt;2.2 I think, and have those modules turned on). &lt;br /&gt;
* You need to have access to an apache conf file to add some statements to hook your mongrel cluster up to the web.&lt;br /&gt;
&lt;br /&gt;
=== To run ===&lt;br /&gt;
&lt;br /&gt;
You can simply run ./script/generate mongrel_deploy_files to generate config files for an Umlaut mongrel cluster deployment. This makes some assumptions, detailed below--to change all of these options, run ./script/generate mongrel_deploy_files --help to see command line arguments, if you aren't happy with these defaults. &lt;br /&gt;
&lt;br /&gt;
You can run this command at any time. It will interactively prompt you if you want to overwrite your existing files, and give you a diff. (Or you can say --force to force overwriting of existing files). You can also run ./script/destroy mongrel_deploy_files to remove anything created by the generator. &lt;br /&gt;
&lt;br /&gt;
This process will add two files in umlaut_config/deploy, and one file in $UMLAUT/script/local/.  Next, you need to hook up apache, and start your mongrels.&lt;br /&gt;
&lt;br /&gt;
=== default assumptions ===&lt;br /&gt;
&lt;br /&gt;
Several mongrel processes are being configured. By default, this is four mongrel processes on internal ports beginning at port 4001. Both of these things can be changed. &lt;br /&gt;
&lt;br /&gt;
By default these mongrel processes will be run as unix user 'umlaut', group 'umlaut'. So either create such a user or group, or add arguments to choose other user/group. &lt;br /&gt;
&lt;br /&gt;
By default the generator assumes that you are going to be deploying at 'document root' (/) in a particular apache (virtual) host. If you'd like to instead install at a sub-path, use the --prefix argument. &lt;br /&gt;
&lt;br /&gt;
=== Hook up apache === &lt;br /&gt;
&lt;br /&gt;
A file was created for you in umlaut_config/deploy/umlaut_http.conf.  You need to edit your apache conf file to &amp;quot;Include&amp;quot; this umlaut_http.conf in the virtual host of your choice (or main host). You need to set up the virtual host yourself, if you want one. Then simply &amp;quot;Include /path/to/umlaut/config/umlaut_config/deploy/umlaut_http.conf&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Start mongrels ===&lt;br /&gt;
&lt;br /&gt;
Apache is now pointing to a balanced cluster of mongrels on the ports specified by the generator, from the path specified by the generator. But those mongrels aren't running yet. You need to start them. You can do this by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mongrel_rails cluster::start -C /path/to/umlaut/config/umlaut_config/deploy/mongrel_cluster.yml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or, for convenience, the generator installed a little bash script to do this all for you:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$UMLAUT/script/local/my_mongrel_ctl (start|stop|restart|status)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can set things up to auto-start your mongrels on boot, see:&lt;br /&gt;
[http://mongrel.rubyforge.org/wiki/MongrelCluster#OnBootInitializationSetup]&lt;br /&gt;
&lt;br /&gt;
== The details: Umlaut Deployment with Mongrel and Apache ==&lt;br /&gt;
&lt;br /&gt;
There are basically two parts to getting Umlaut (or any Rails app) deployed in this setup. First is getting your Rails app running, and second is configuring Apache to connect to it properly.&lt;br /&gt;
&lt;br /&gt;
There are a few decisions to make. Run just one instance of Umlaut, or run multiple load balancing instances? Because of the nature of the way Umlaut works, we strongly recommend running multiple Umlaut instances regardless of how little traffic you expect.  Even in a low-traffic environment, the fact that Umlaut can take several seconds to respond to a request means that multiple instances are a good idea to keep Umlaut from seeming even slower than it is. We're completely guessing, but 3 is probably a pretty good number for just about any Umlaut site, from low to high traffic.&lt;br /&gt;
&lt;br /&gt;
Also think about whether you what unix account you want to run Umlaut (recommended to create a special low-priv account).  And whether your Umlaut URLs can be the base urls for a host (Ie, findit.library.jhu.edu points directly to umlaut), or whether you use a 'prefix' (ie, findit.library.jhu.edu/some/path/findit). Using apache virtual hosts and mounting Umlaut at the base is typical, but the prefix can work too.&lt;br /&gt;
&lt;br /&gt;
=== Setting up mongrel_cluster ===&lt;br /&gt;
&lt;br /&gt;
First you've got to install mongrel and mongrel_cluster:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
:sudo gem install mongrel_cluster&lt;br /&gt;
&lt;br /&gt;
'''Reccommend you make sure you have mongrel &amp;gt;= 1.1.4 and mongrel_cluster &amp;gt;= 1.0.5. Recommend you do NOT have previous versions installed. When I had mongrel_cluster 1.0.3 simultaneously installed, it was being used, even though it shouldn't be, and its bugs were effecting me'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The point of mongrel_cluster is to save configuration information for multiple mongrel instances in one configuration file, and then you can start, stop, or restart them all with one command, and without having to remember that config information each time (and possibly get it wrong or typod).&lt;br /&gt;
&lt;br /&gt;
By default, mongrel_cluster keeps that configuration file in a Rails app's config/mongrel_cluster.yml.   You could do that with Umlaut, but we like to keep your local config files in $Umlaut/config/umlaut_config instead (see [[Umlaut Local Configuration Architecture]]), so we recommend putting it in $Umlaut/config/umlaut_config. You can use the mongrel_rails command to write this config for you (see [http://mongrel.rubyforge.org/wiki/MongrelCluster Using Mongrel Cluster]; make sure to use the -C argument to put the config file in umlaut_config, if that's what you want), but here we'll just give you our actual mongrel_cluster.yml config, annotated. (You are certainly allowed to write it by hand).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Unix account to run your processes as:\\&lt;br /&gt;
user: umlaut  &lt;br /&gt;
&lt;br /&gt;
#Unix group to run processes as:&lt;br /&gt;
group: umlaut &lt;br /&gt;
&lt;br /&gt;
# Install dir of Umlaut you want to run from:&lt;br /&gt;
cwd: /data/web/findit/Umlaut &lt;br /&gt;
log_file: log/mongrel.log # Leave like this. &lt;br /&gt;
&lt;br /&gt;
# Start port for your instances. Any high port will do. Does NOT need need&lt;br /&gt;
# to be open through firewall externally. &lt;br /&gt;
port: 8000 &lt;br /&gt;
environment: production # Leave like this&lt;br /&gt;
address: 127.0.0.1 # Leave like this &lt;br /&gt;
pid_file: tmp/pids/mongrel.pid # Leave like this&lt;br /&gt;
&lt;br /&gt;
# How many instances to run. port: 8000 with servers:3 means you'll&lt;br /&gt;
# have a server on 8000, 8001, and 8002. &lt;br /&gt;
servers: 3&lt;br /&gt;
&lt;br /&gt;
# Only if  you want to start at web path other than base / :&lt;br /&gt;
prefix: /findit       # for instance. Start with slash, and don't end with one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can start all three of these mongrel instances by executing:&lt;br /&gt;
&lt;br /&gt;
:sudo mongrel_rails cluster::start -C $Umlaut/config/umlaut_config/mongrel_rails&lt;br /&gt;
&lt;br /&gt;
The 'sudo' is necessary because we've told mongrel_cluster to start apps as user 'umlaut' ; first need to be root before you can start a process as another user. Also cluster::stop, cluster::restart, and cluster::status&lt;br /&gt;
&lt;br /&gt;
We're still not sure exactly how many mongrels are neccesary to handle a given sized umlaut installation. &lt;br /&gt;
&lt;br /&gt;
:See below to automate the startup of these processes on boot.&lt;br /&gt;
&lt;br /&gt;
If you are choosing to start as a particular unix account, make sure your install dir can be read by that account! log and tmp dirs need to be writeable too. Easiest thing to do is just &amp;quot;sudo chgrp -R umlaut&amp;quot;, or whatever other group you are choosing, your entire $Umlaut installation. Note that the parent directory (and all of it's parents) needs to have &amp;quot;x&amp;quot; permission for the user/group too.&lt;br /&gt;
&lt;br /&gt;
=== Apache Setup ===&lt;br /&gt;
&lt;br /&gt;
Now we set up apache using mod_proxy to 'reverse proxy' to our mongrel instances, with clustered load balancing. Make sure you have mod_proxy and mod_proxy_balancer installed and configured. Now, in your apache conf, proably in the specific virtual host you want to use for Umlaut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Very important, make sure you aren't inadvertantly making an open proxy with mod_proxy&lt;br /&gt;
ProxyRequests off &lt;br /&gt;
&lt;br /&gt;
# Set up the mod_proxy blanacer, with our three instances running on 8000-8002&lt;br /&gt;
# Note: Do not put trailing / on these&lt;br /&gt;
&amp;lt;Proxy balancer://umlaut_cluster&amp;gt;&lt;br /&gt;
  BalancerMember http://127.0.0.1:8000&lt;br /&gt;
  BalancerMember http://127.0.0.1:8001&lt;br /&gt;
  BalancerMember http://127.0.0.1:8002&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Set up ProxyPass directive to reverse proxy to SFX for handling SFX journal subscription cgi posts&lt;br /&gt;
# This should come before the cluster ProxyPass directive.&lt;br /&gt;
ProxyPass /resolve/cgi/core/journal_subscription.cgi http://your.sfx.host.edu:port/your_instance/cgi/core/journal_subscription.cgi&lt;br /&gt;
ProxyPassReverse /resolve/cgi/core/journal_subscription.cgi http://your.sfx.host.edu:port/your_instance/cgi/core/journal_subscription.cgi&lt;br /&gt;
&lt;br /&gt;
# Now set up the ProxyPass directives to reverse proxy to that cluster&lt;br /&gt;
# Note: DO put trailing / on these.&lt;br /&gt;
&lt;br /&gt;
ProxyPass / balancer://umlaut_cluster/ &lt;br /&gt;
ProxyPassReverse / balancer://umlaut_cluster/ &lt;br /&gt;
ProxyPreserveHost on&lt;br /&gt;
&lt;br /&gt;
# Or, if you were using a prefix, these would look like, eg:&lt;br /&gt;
# ProxyPass /findit balancer://umlaut_cluster/findit/&lt;br /&gt;
# ProxyPassReverse /findit balancer://umlaut_cluster/findit/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dealing with bad query strings: More Apache Setup ===&lt;br /&gt;
&lt;br /&gt;
Mongrel refuses to accept a mal-formed query string. EBSCOHost, however, insists on sending such---for example, query strings with unescaped greater-than or less-than chars in them. We want to take care of this by putting directives in the apache config to rewrite these bad urls into proper escaped urls. The apache mod_redirect external map function is most convenient to use here, and a program to serve as an external map is included with umlaut. The following apache directives will take care of rewriting bad URLs. As always, $Umlaut stands for your Umlaut install dir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  # We want to re-write URLs with 'bad' &amp;lt; and &amp;gt; chars in the query&lt;br /&gt;
  # string (eg from EBSCO) to escape them.&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteMap query_escape prg:$umlaut/distribution/script/rewrite_map.pl&lt;br /&gt;
  RewriteLock /var/lock/subsys/apache.rewrite.lock&lt;br /&gt;
  RewriteCond %{query_string} ^(.*[\&amp;gt;\&amp;lt;].*)$&lt;br /&gt;
  RewriteRule ^(.*)$ $1?${query_escape:%1} [R,L,NE]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Due to a bug in Apache, ampersand chars in query string end up 'double escaped' when put through the map. We have code in a before filter in application_controller to take care of this.&lt;br /&gt;
&lt;br /&gt;
=== Start at Boot? ===&lt;br /&gt;
&lt;br /&gt;
Follow the directions at [http://mongrel.rubyforge.org/wiki/MongrelCluster#OnBootInitializationSetup Using Mongrel Cluster], which are basically:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir /etc/mongrel_cluster&lt;br /&gt;
sudo ln -s $UMLAUT/config/umlaut_config/mongrel_cluster.yml /etc/mongrel_cluster/umlaut.yml&lt;br /&gt;
sudo cp /path/to/mongrel_cluster_gem/resources/mongrel_cluster /etc/init.d/&lt;br /&gt;
sudo chmod +x /etc/init.d/mongrel_cluster&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now your cluster will start at boot, and you can also start, stop, or restart it (and any other clusters you link into /etc/mongrel_cluster) with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/mongrel_cluster {start|stop|restart}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====NOTE/WARNING==== &lt;br /&gt;
There is a problem in mongrel_cluster that will prevent mongrels from starting up again if your machine (or mongrels) die ungracefully leaving stale pids. See http://www.ruby-forum.com/topic/105849 &lt;br /&gt;
&lt;br /&gt;
My better fix:  Edit the /etc/init.d/mongrel_cluster bash script you installed above. Change line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mongrel_cluster_ctl start -c $CONF_DIR&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mongrel_cluster_ctl start -c $CONF_DIR --clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the addition of the --clean argument.&lt;br /&gt;
&lt;br /&gt;
I know this works with mongrel 1.1.4 and mongrel_cluster 1.0.5.  An earlier mongrel_cluster did not respect the --clean argument properly--and I found that having a simultaenous install of the earlier mongrel_cluster for some reason caused it to be used instead of the later one. gem isn't supposed to work that way. But best make sure you have no mongrel_clusters earlier than 1.0.5 installed.&lt;br /&gt;
&lt;br /&gt;
== SFX Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Institute Feature ===&lt;br /&gt;
&lt;br /&gt;
This only matters if you use the SFX institute feature. Umlaut sends a req.ip=[client ip] param, which SFX is supposed to use to treat the request as if it came from that IP, not umlaut's ip. That works if the req.ip matches an SFX institute. But if it does not match any institute, you want SFX to treat the request as if it did not match any institute. Instead it consults the actual umlaut server IP and connects THAT to an institute. This is bad. &lt;br /&gt;
&lt;br /&gt;
As a work around, define an institute in SFX that is listed first alphabetically (eg, &amp;quot;aaa_umlaut_server&amp;quot;) that matches the Umlaut server's IP address(es). Now if req.ip doesn't match anything, SFX will decide the request matches &amp;quot;aaa_umlaut_server&amp;quot; institute--which won't effect anything, will be treated just like a non-local address--instead of matching on umlaut server address which might match a wrong institute. &lt;br /&gt;
&lt;br /&gt;
This bug has been reported to Ex Libris.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_URL_parameters&amp;diff=6156</id>
		<title>Umlaut URL parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_URL_parameters&amp;diff=6156"/>
				<updated>2010-09-27T14:00:07Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
Umlaut has a few custom URL parameters (can also be sent in a POST request) to control Umlaut behavior. All start with the prefix &amp;quot;umlaut.&amp;quot;. These are generally added onto an OpenURL GET request. &lt;br /&gt;
&lt;br /&gt;
===umlaut.request_id===&lt;br /&gt;
&lt;br /&gt;
Specify an already created OpenURL request to act upon.  Without this, Umlaut will still try to connect to an already created request *within the same session* based on a cache of OpenURLs seen in that session. But this process is not perfect. With umlaut.request_id, you can assure you are operating on the same request, and even if the client does not have cookies or a session. &lt;br /&gt;
&lt;br /&gt;
===umlaut.referent_id===&lt;br /&gt;
&lt;br /&gt;
Specify an Umlaut Referent object to re-use.  Umlaut referent object represents a particular citation. Unlike umlaut.request_id, won't re-use an entire request (with responses and state), but only the specified citation. &lt;br /&gt;
&lt;br /&gt;
===umlaut.skip_resolve_menu===&lt;br /&gt;
&lt;br /&gt;
Set to &amp;quot;false&amp;quot; to override umlaut's configuration for conditionally skipping the the resolve menu and going straight to content. umlaut.skip_resolve_menu=false forces display of full resolve menu. &lt;br /&gt;
&lt;br /&gt;
===umlaut.skip_resolve_menu_for_type===&lt;br /&gt;
&lt;br /&gt;
Set to the name(s) of [http://umlaut.rubyforge.org/svn/trunk/db/orig_fixed_data/service_type_values.yml Umlaut service types] (comma delimited), to force menu skipping (direct linking) for the first response found from any of the service types named. &lt;br /&gt;
&lt;br /&gt;
===umlaut.link_with_frameset===&lt;br /&gt;
&lt;br /&gt;
Set to &amp;quot;false&amp;quot; to force direct linking *without* the banner/frameset, just direct to vendor url. &lt;br /&gt;
&lt;br /&gt;
===umlaut.response_format===&lt;br /&gt;
&lt;br /&gt;
Generally used for API requests, value can be &amp;quot;xml&amp;quot;, &amp;quot;json&amp;quot;, or &amp;quot;jsonp&amp;quot;. In case of jsonp, umlaut.jsonp=jsFunctionName can be used to determine the js function name that will be generated with the [http://ajaxian.com/archives/jsonp-json-with-padding jsonp output]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_URL_parameters&amp;diff=6152</id>
		<title>Umlaut URL parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_URL_parameters&amp;diff=6152"/>
				<updated>2010-09-20T20:18:45Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
Umlaut has a few custom URL parameters (can also be sent in a POST request) to control Umlaut behavior. All start with the prefix &amp;quot;umlaut.&amp;quot;. These are generally added onto an OpenURL GET request. &lt;br /&gt;
&lt;br /&gt;
===umlaut.force_https_link===&lt;br /&gt;
&lt;br /&gt;
When present and set to any value, causes all absolute urls to be generated with https, even if the Umlaut app doesn't think it was accessed over https. Useful for certain kinds of reverse proxy deployment where it really is being accessed https, but the Rails app doesn't know it.&lt;br /&gt;
&lt;br /&gt;
===umlaut.request_id===&lt;br /&gt;
&lt;br /&gt;
Specify an already created OpenURL request to act upon.  Without this, Umlaut will still try to connect to an already created request *within the same session* based on a cache of OpenURLs seen in that session. But this process is not perfect. With umlaut.request_id, you can assure you are operating on the same request, and even if the client does not have cookies or a session. &lt;br /&gt;
&lt;br /&gt;
===umlaut.referent_id===&lt;br /&gt;
&lt;br /&gt;
Specify an Umlaut Referent object to re-use.  Umlaut referent object represents a particular citation. Unlike umlaut.request_id, won't re-use an entire request (with responses and state), but only the specified citation. &lt;br /&gt;
&lt;br /&gt;
===umlaut.skip_resolve_menu===&lt;br /&gt;
&lt;br /&gt;
Set to &amp;quot;false&amp;quot; to override umlaut's configuration for conditionally skipping the the resolve menu and going straight to content. umlaut.skip_resolve_menu=false forces display of full resolve menu. &lt;br /&gt;
&lt;br /&gt;
===umlaut.skip_resolve_menu_for_type===&lt;br /&gt;
&lt;br /&gt;
Set to the name(s) of [http://umlaut.rubyforge.org/svn/trunk/db/orig_fixed_data/service_type_values.yml Umlaut service types] (comma delimited), to force menu skipping (direct linking) for the first response found from any of the service types named. &lt;br /&gt;
&lt;br /&gt;
===umlaut.link_with_frameset===&lt;br /&gt;
&lt;br /&gt;
Set to &amp;quot;false&amp;quot; to force direct linking *without* the banner/frameset, just direct to vendor url. &lt;br /&gt;
&lt;br /&gt;
===umlaut.response_format===&lt;br /&gt;
&lt;br /&gt;
Generally used for API requests, value can be &amp;quot;xml&amp;quot;, &amp;quot;json&amp;quot;, or &amp;quot;jsonp&amp;quot;. In case of jsonp, umlaut.jsonp=jsFunctionName can be used to determine the js function name that will be generated with the [http://ajaxian.com/archives/jsonp-json-with-padding jsonp output]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut&amp;diff=5868</id>
		<title>Umlaut</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut&amp;diff=5868"/>
				<updated>2010-05-06T15:02:57Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* APIs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Umlaut is [[OpenURL]] link resolving middleware that adds functions and services to commercial link resolving software such as [[SFX]]. &lt;br /&gt;
&lt;br /&gt;
[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
==More information==&lt;br /&gt;
&lt;br /&gt;
[[About Umlaut]] - A gentle introduction to what Umlaut is and what it can do for you.&lt;br /&gt;
&lt;br /&gt;
[http://bibwild.wordpress.com/2008/10/16/umlaut-digital-book/ Digital Text Features] - A tour of some of the 'advanced' digital text features, with a demos pointing to JHU site, hosted on jrochkind's blog. &lt;br /&gt;
&lt;br /&gt;
[http://rubyforge.org/mail/?group_id=4382 Umlaut Listserv]&lt;br /&gt;
&lt;br /&gt;
[http://umlaut.rubyforge.org/ Rubyforge home page for developers]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut wishlist]]&lt;br /&gt;
&lt;br /&gt;
==Installation and Configuration==&lt;br /&gt;
&lt;br /&gt;
[[Umlaut Installation]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut_Deployment]]&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
[http://umlaut.rubyforge.org/api/ Umlaut API Documentation]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut Technical Overview]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut_Deployment]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut Local Configuration Architecture]]&lt;br /&gt;
&lt;br /&gt;
===Specific Topics===&lt;br /&gt;
&lt;br /&gt;
[[Umlaut URL parameters]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut logging]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut SFX statistics gotchas]]&lt;br /&gt;
&lt;br /&gt;
====APIs====&lt;br /&gt;
&lt;br /&gt;
[[Umlaut full API]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut partial html API]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut partial html API javascript helper]]&lt;br /&gt;
&lt;br /&gt;
[[JQuery HTML Updater]]&lt;br /&gt;
&lt;br /&gt;
====Developer Notes====&lt;br /&gt;
[[Notes for a User/Auth architecture]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Voting&amp;diff=5677</id>
		<title>Code4Lib Journal Voting</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Voting&amp;diff=5677"/>
				<updated>2010-03-18T20:14:02Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See also [[Code4Lib Journal Deadlines]]''&lt;br /&gt;
&lt;br /&gt;
Articles and proposals need at least two yes votes and two more yes votes than no votes to be approved. Abstentions are not counted at all (same as not voting at all).&lt;br /&gt;
&lt;br /&gt;
* 2 yes, 2 no =&amp;gt; Fails&lt;br /&gt;
* 2 yes, 1 no =&amp;gt; Fails&lt;br /&gt;
* 2 yes, 0 no =&amp;gt; Passes&lt;br /&gt;
* 3 yes, 1 no =&amp;gt; Passes&lt;br /&gt;
* 1 yes, 0 no =&amp;gt; Fails&lt;br /&gt;
&lt;br /&gt;
This is the general voting method we use for most decisions that require a vote. &lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=C4L2010_social_activities&amp;diff=4701</id>
		<title>C4L2010 social activities</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=C4L2010_social_activities&amp;diff=4701"/>
				<updated>2010-02-17T15:42:30Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Newcomer Dinner Signup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Code4Lib 2010 social activities ==&lt;br /&gt;
&lt;br /&gt;
==Ideas==&lt;br /&gt;
[http://www.citizen-times.com/apps/pbcs.dll/article?AID=2009912010314 New breweries opening]&lt;br /&gt;
&lt;br /&gt;
[http://digital.library.appstate.edu/code4lib2010.html Original Proposal (suggests some nearby events)]&lt;br /&gt;
&lt;br /&gt;
[http://ashevilletwitterhashtags.blogspot.com/2009/09/asheville-beer-avlbeer.html Asheville Beer Hashtag]&lt;br /&gt;
&lt;br /&gt;
==Planned events==&lt;br /&gt;
&lt;br /&gt;
Plan one if you like! Either on your own or you can [[Committees_sign-up_page|join the social activities committee]].&lt;br /&gt;
&lt;br /&gt;
== Asheville Brews Cruise ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Experience a taste of Asheville’s thriving local beer scene with an exclusive tour of three of our award-winning microbreweries.&amp;quot; - http://www.brewscruise.com/asheville/&lt;br /&gt;
&lt;br /&gt;
A big shout out to [http://www.talis.com Talis] for stepping up and sponsoring a portion of this event. Our first stop on the cruise will be a brewery slash pizza joint and Talis has generously offered to pay for our pizza. Yay!&lt;br /&gt;
&lt;br /&gt;
==== Itinerary ====&lt;br /&gt;
&lt;br /&gt;
# Pickup from the hotel is tentatively scheduled for 6:15pm. Those who haven't pre-paid should try to get there a little early.&lt;br /&gt;
# Stop #1 will be the Asheville Pizza &amp;amp; Brewing Co. where we will sample 16-20 different beers and consume our delicious, alcohol-absorbing, [http://www.talis.com Talis]-sponsored pizza.&lt;br /&gt;
# Stop #2 will be Highland Brewing Company, &amp;quot;Asheville's 1st and largest brewing company&amp;quot;&lt;br /&gt;
# Stop #3 will be the French Broad Brewery which &amp;quot;specializes in a variety of European style beers.&amp;quot;&lt;br /&gt;
# Expected return to the hotel is around 9:30-10pm&lt;br /&gt;
&lt;br /&gt;
==== Cost &amp;amp; Payment ====&lt;br /&gt;
&lt;br /&gt;
The cost for the cruise is $40 per person. You have two options for paying:&lt;br /&gt;
&lt;br /&gt;
# Pay in advance by sending me $40 via [http://paypal.com PayPal].&lt;br /&gt;
# Bring $40 with you on the night of the cruise. I've been told they have a hand-held credit card machine for the cash-strapped.&lt;br /&gt;
&lt;br /&gt;
Anyone who wants to can pay via PayPal, but I need at least 16 people to choose this option because the tour company wants to pre-bill my credit card for a minimum of 16 guests. There should be no fees involved if the money comes from your PayPal account or an associated bank account. The deadline for paying in advance is EOD Sunday, February 21st.&lt;br /&gt;
&lt;br /&gt;
# Go to [http://paypal.com PayPal]&lt;br /&gt;
# Click on &amp;quot;Send Money&amp;quot;&lt;br /&gt;
# Enter lbjay@reallywow.com in the &amp;quot;To&amp;quot; field&lt;br /&gt;
# Enter your own address in the &amp;quot;From&amp;quot; field (unless you're logged in)&lt;br /&gt;
# Click the &amp;quot;Personal&amp;quot; tab and choose &amp;quot;Payment owed&amp;quot; from the options&lt;br /&gt;
# Click &amp;quot;Continue&amp;quot;&lt;br /&gt;
# On the next page you can specify a message Subject of &amp;quot;Brews Cruise&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Signup ====&lt;br /&gt;
&lt;br /&gt;
'''Sorry, the event is full!''' We were forced to set a limit of 48 persons due to that's the max number of folks that will fit into two party buses, plus we don't want to overwhelm the staffs at the breweries. There is, however, is a waitlist that someone started below.&lt;br /&gt;
&lt;br /&gt;
# Jay Luker (organizing, not driving)&lt;br /&gt;
# Mike Giarlo (inebriator)&lt;br /&gt;
# Rob Casson (drunk)&lt;br /&gt;
# Declan Fleming (beer receptacle)&lt;br /&gt;
# Jim Safley (recovering teetotaler)&lt;br /&gt;
# Ian Walls (epicurean of ale)&lt;br /&gt;
# Christopher Spalding (thirsty)&lt;br /&gt;
# Jon Gorman (imbiber of that which is good)&lt;br /&gt;
# Lori Stethers (token female)&lt;br /&gt;
# Carol Ou (beer enthusiast)&lt;br /&gt;
# Cristóbal Palmer (Reinheitsgebot skeptic)&lt;br /&gt;
# Tod Olson (enabler)&lt;br /&gt;
# Mark Matienzo (alefounder)&lt;br /&gt;
# Sibyl Schaefer (barfly)&lt;br /&gt;
# Tania Fersenheim (Gold Medalist - Ithaca Beerlympics - Summer 1993)&lt;br /&gt;
# Melissa Manolis (Beer lacky and Librarian Groupie)&lt;br /&gt;
# Greg McClellan (master of beerology and beeronomy)&lt;br /&gt;
# Cary Gordon (hip hoppist)&lt;br /&gt;
# Mark Gallagher (Thing 1)&lt;br /&gt;
# Matt Bachtell (Thing 2)&lt;br /&gt;
# Sarah Kahn (has no title)&lt;br /&gt;
# Thom Cox (afraid of rectangles)&lt;br /&gt;
# Eric James (pour)&lt;br /&gt;
# Ray Schwartz (mighty thirsty)&lt;br /&gt;
# Jason Stirnaman (all about the stout)&lt;br /&gt;
# Mike Flakus (ipa all the way)&lt;br /&gt;
# Ben Florin (sounds neat--what's &amp;quot;beer&amp;quot;?)&lt;br /&gt;
# Ryan Wick (it comes in pints?)&lt;br /&gt;
# Sam Kome (have churchkey, will travel)&lt;br /&gt;
# Joe Atzberger&lt;br /&gt;
# Brendan Gallagher&lt;br /&gt;
# Chris Beer&lt;br /&gt;
# Tom Keays (growler)&lt;br /&gt;
# Ross Singer (empty vessel waiting to be filled)&lt;br /&gt;
# Eric Hellman (49 IBU)&lt;br /&gt;
# Paul Joseph (i bike leer)&lt;br /&gt;
# Cody Hennesy (don't mind if i do)&lt;br /&gt;
# Michael Vandenburg&lt;br /&gt;
# Stephen Meyer (Wisconsinite)&lt;br /&gt;
# Antonio Barrera&lt;br /&gt;
# Andrew Nagy&lt;br /&gt;
# Rosalyn Metz&lt;br /&gt;
# Esmé Cowles&lt;br /&gt;
# Dea Rice (Duchess of Ales)&lt;br /&gt;
# Sean Hannan (Peer Pressured)&lt;br /&gt;
# Scott Garrison (just made it by the froth of his beer?)&lt;br /&gt;
# Dan Suchy ( [no longer] late and now full of gratitude)  (berick: Dan, you get my spot.  you better get double drunk for me!)&lt;br /&gt;
# Brad Westbrook&lt;br /&gt;
&lt;br /&gt;
'''There is a max of 48 persons for this event. Sorry!'''&lt;br /&gt;
&lt;br /&gt;
===== Wait List =====&lt;br /&gt;
&lt;br /&gt;
I'll try to monitor the waitlist and add folks automatically if someone else drops out. Would be a good idea to specify an email address or some other means of contact so that I can notify you if you make it in.&lt;br /&gt;
&lt;br /&gt;
# Spencer Lamm (slamm1 at swarthmore.edu)&lt;br /&gt;
# Robert Haschart&lt;br /&gt;
&lt;br /&gt;
== 12 Bones BBQ Dinner Excursion ==&lt;br /&gt;
(was a lunch excursion)&lt;br /&gt;
&lt;br /&gt;
[http://www.12bones.com/ 12 Bones BBQ] is widely considered the best BBQ in Asheville [[http://www.yelp.com/biz/12-bones-smokehouse-asheville *]]. However it is only open from 11-4, M-F. We would like to organize a group so that we can rent out the place on Wednesday night.  If we get at least 50 people, it will be doable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''When:''' Wednesday, February 24th&lt;br /&gt;
&lt;br /&gt;
'''Time:''' 6:30pm&lt;br /&gt;
&lt;br /&gt;
'''Where:''' 5 Riverside Drive Asheville NC, 28801&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== BBQ Excursion Signup ====&lt;br /&gt;
&lt;br /&gt;
For the time being please indicate interest in the BBQ excursion by adding your name to the list below. We'll figure out a way to coordinate and communicate the details somewhere down the line.&lt;br /&gt;
&lt;br /&gt;
# Rosalyn Metz (the new organizer)&lt;br /&gt;
# Jay Luker (demoted but still devoted)&lt;br /&gt;
# Mike Giarlo (consumer)&lt;br /&gt;
# Rob Casson (glutton)&lt;br /&gt;
# Declan Fleming (condor)&lt;br /&gt;
# Erik Hatcher (carnivore)&lt;br /&gt;
# Christopher Spalding (digs swine)&lt;br /&gt;
# Mike Durbin (Porkaholic)&lt;br /&gt;
# Jeremy Frumkin (alloftheabove)&lt;br /&gt;
# Jon Gorman (Aficionado of smoke, flame, and good sauces)&lt;br /&gt;
# Michael Klein (EAT PIG)&lt;br /&gt;
# Mark Matienzo (saucy fellow)&lt;br /&gt;
# Cary Gordon (do they have vegan pig?)&lt;br /&gt;
# Sibyl Schaefer (finger licker)&lt;br /&gt;
# Greg McClellan (Mmmm... Pig)&lt;br /&gt;
# Ranti Junus (beef and chicken cheerleader)&lt;br /&gt;
# Tania Fersenheim (can't think of any non-vulgar tag lines)&lt;br /&gt;
# Matt Bachtell (hope they have vinegar based BBQ)&lt;br /&gt;
# Ray Schwartz (I eat vegetarians)&lt;br /&gt;
# Dileshni Jayasinghe (I just like to eat)&lt;br /&gt;
# Joe Atzberger (con carne)&lt;br /&gt;
# Michael Doran (a YES for Wednesday night)&lt;br /&gt;
# Thom Cox (ancho pepper addict)&lt;br /&gt;
# Chris Strauber (meat and flame!)&lt;br /&gt;
# Cindy Harper (I'm sorry, Babe)&lt;br /&gt;
# Brendan Gallagher&lt;br /&gt;
# Chris Beer&lt;br /&gt;
# Alexander O'Neill&lt;br /&gt;
# Bess Sadler&lt;br /&gt;
# Joyce Ouchida&lt;br /&gt;
# Ross Singer (Some Pig)&lt;br /&gt;
# Tod Olson (omnivore sans dilemma)&lt;br /&gt;
# Paul Joseph&lt;br /&gt;
# Vinita Tuteja&lt;br /&gt;
# Robin Hitch&lt;br /&gt;
# Ryan Wick&lt;br /&gt;
# Becky Yoose (bringing the wetwipe napkins)&lt;br /&gt;
# Joyce Chapman&lt;br /&gt;
# Andrew Darby&lt;br /&gt;
# Cory Lown&lt;br /&gt;
# Peter Murray (who knows that NC BBQ means one has to actually add the BBQ sauce)&lt;br /&gt;
# Jean Rainwater&lt;br /&gt;
# Matt Cordial&lt;br /&gt;
# Carol Ou (dinnertime excursion works for me)&lt;br /&gt;
# Karen Coombs&lt;br /&gt;
# Dan Lucas&lt;br /&gt;
# Gerald Snyder&lt;br /&gt;
# Michael Silver&lt;br /&gt;
# Julia Bauder (dinner partier)&lt;br /&gt;
# Jørn Thøgersen&lt;br /&gt;
# Michael Poltorak Nielsen&lt;br /&gt;
# Toke Eskildsen&lt;br /&gt;
# Mads Villadsen (the Danes are coming for Wednesday night BBQ!)&lt;br /&gt;
# Andreas Orphanides (I want to go to there.)&lt;br /&gt;
# Michael Vandenburg&lt;br /&gt;
# Wendy Huot&lt;br /&gt;
# David Bucknum&lt;br /&gt;
# Jason Casden&lt;br /&gt;
# Graham Stewart&lt;br /&gt;
# Joseph Ryan&lt;br /&gt;
# Dhanushka Samarakoon&lt;br /&gt;
# Eric Crenshaw&lt;br /&gt;
# Katherine Lynch&lt;br /&gt;
# Stephen Meyer&lt;br /&gt;
# Antonio Barrera (whats a BBQ without me)&lt;br /&gt;
# Ron Peterson&lt;br /&gt;
# Andrew Nagy (no witty comment)&lt;br /&gt;
# Corey Harper (Mmmmmm..... Carolina Pulled Pig)&lt;br /&gt;
# Eric Palmitesta&lt;br /&gt;
# Ben Florin&lt;br /&gt;
# Emily Lynema (pulled pork delicious)&lt;br /&gt;
# Erik Mitchell (Who could turn down an 80 person dinner experience?)&lt;br /&gt;
# Mike Flakus (pulled-porker)&lt;br /&gt;
# Matt Connolly (Memphian)&lt;br /&gt;
# Ian Walls&lt;br /&gt;
# Benjamin Young (BBQ is a noun)&lt;br /&gt;
# Esmé Cowles&lt;br /&gt;
# Tim Dennis&lt;br /&gt;
# Harry Kaplanian&lt;br /&gt;
&lt;br /&gt;
'''Sorry there is an 80 person limit for this event'''&lt;br /&gt;
&lt;br /&gt;
'''Wait List'''&lt;br /&gt;
# Ryan Scherle&lt;br /&gt;
# Amy McGuire&lt;br /&gt;
# Jason Battles&lt;br /&gt;
# Hong Ma&lt;br /&gt;
# Vanessa Meireles&lt;br /&gt;
# Mark Diggory&lt;br /&gt;
# Jonathan Rochkind&lt;br /&gt;
# Robert Haschart&lt;br /&gt;
&lt;br /&gt;
==Vegetarian Dinner (Weds, AKA BBQ night)==&lt;br /&gt;
&lt;br /&gt;
[http://opheliasworldcafe.info/ Ophelia's World Cafe and Bar] does vegetarian, vegan, raw, gluten-free, sustainable seafood, and locally-raised meat products, with a focus on local and organic.  Also, a full bar.  [http://www.yelp.com/biz/ophelias-world-cafe-and-bar-asheville yelp reviews]. &lt;br /&gt;
&lt;br /&gt;
* max of 30 people&lt;br /&gt;
* meet at hotel to walk together - 6:30pm&lt;br /&gt;
* We are confirmed with the restaurant - reservation is at 6:45&lt;br /&gt;
* email Anna3LC if you have any questions - gmail&lt;br /&gt;
&lt;br /&gt;
# Jodi Schneider &lt;br /&gt;
# Maccabee Levine (token male)&lt;br /&gt;
# Eric Hellman (token carnivore)&lt;br /&gt;
# Carol Bean&lt;br /&gt;
# Sam Kome (omnivorous w/exception of BBQ)&lt;br /&gt;
# Dea Rice (Socialite)&lt;br /&gt;
# Sean Hannan (token token collector)&lt;br /&gt;
# Vidhya Arvind&lt;br /&gt;
# Cristóbal Palmer&lt;br /&gt;
# Lori Stethers&lt;br /&gt;
# Rick Johnson&lt;br /&gt;
# Anna Headley&lt;br /&gt;
# Kevin Clarke&lt;br /&gt;
# Gabriel Farrell&lt;br /&gt;
# Eric James&lt;br /&gt;
# Betsy Coles&lt;br /&gt;
# Harish Maringanti&lt;br /&gt;
# Emily Molanphy&lt;br /&gt;
# Shawn Averkamp&lt;br /&gt;
# Kevin Reiss&lt;br /&gt;
# Birkin&lt;br /&gt;
# Jon Stroop&lt;br /&gt;
# Birong Ho&lt;br /&gt;
# William Denton&lt;br /&gt;
# Gretchen Gueguen&lt;br /&gt;
# Steven Shelton&lt;br /&gt;
# Banurekha Lakshminarayanan&lt;br /&gt;
# Dan Brubaker Horst&lt;br /&gt;
# Martin Mehrling&lt;br /&gt;
# Dan Chudnov&lt;br /&gt;
# '''We're full!'''&lt;br /&gt;
&lt;br /&gt;
'''Wait List'''&lt;br /&gt;
# Erin Germ&lt;br /&gt;
# Naomi Dushay&lt;br /&gt;
# Shekhar Krishnan&lt;br /&gt;
# Schuyler Erle&lt;br /&gt;
&lt;br /&gt;
== Newcomer Dinner ==&lt;br /&gt;
First time at code4lib? Join fellow c4l newbies and veterans for an evening of food, socializing, and stimulating discussions about the many uses of bacon.&lt;br /&gt;
&lt;br /&gt;
Code4Lib veterans, you're invited too. Join us in welcoming the newcomers!&lt;br /&gt;
&lt;br /&gt;
'''Tentative plans (more information to come)'''&lt;br /&gt;
* When: Monday evening&lt;br /&gt;
* Time: 6 PM&lt;br /&gt;
* Where: Meet in the hotel lobby. Restaurants - Look below&lt;br /&gt;
* Mastermind (if you have any questions): [mailto:yoosebj@muohio.edu Becky Yoose]&lt;br /&gt;
&lt;br /&gt;
=== Newcomer Dinner Signup ===&lt;br /&gt;
&lt;br /&gt;
Clarification - you can still sign up if you didn't intially list your name the first time around. Sorry for any misunderstandings on my part. -_-; &lt;br /&gt;
&lt;br /&gt;
'''Restaurants'''&lt;br /&gt;
&lt;br /&gt;
''Guidelines:''&lt;br /&gt;
*Max of '''8''' per location&lt;br /&gt;
**Please, no waitlisting :(&lt;br /&gt;
*ID yourselves so we can get a good mix of new people and veterans&lt;br /&gt;
**New folks - n&lt;br /&gt;
**c4l vets - v&lt;br /&gt;
*One leader needed for each location (code4lib vets only)&lt;br /&gt;
**Leader duties&lt;br /&gt;
***Make reservations if required; otherwise make sure that the restaurant can handle a group of 8 rowdy library coders &lt;br /&gt;
***Herd folks from hotel to restaurant (know where you're going!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Spots still available below! 2/11 - added a couple more restaurants to make sure everyone has a spot!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.ichibanwasabi.com/ Wasabi Japanese Restaurant &amp;amp; Sushi Bar] (Japanese)&lt;br /&gt;
# [Leader] Ranti Junus - v&lt;br /&gt;
# Caitlin Shanley - n&lt;br /&gt;
# Erin White - n&lt;br /&gt;
# Chris Strauber - n&lt;br /&gt;
# Jodi Schneider - v&lt;br /&gt;
# Joyce Chapman - n&lt;br /&gt;
# Susan Teague Rector (sort of a newb...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.trippsrestaurants.com/ Tripps Restaurant] (Steakhouse)&lt;br /&gt;
# [Leader]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://tableasheville.com/page/276-home Table] (“New American”) &lt;br /&gt;
# [Leader] Devon Smith - v&lt;br /&gt;
# Anna Headley - n&lt;br /&gt;
# Cory Rockliff - n&lt;br /&gt;
# Jeff Sherwood - n&lt;br /&gt;
# Emily King - n&lt;br /&gt;
# Laurie Sutherland - n&lt;br /&gt;
# Jonathan Rochkind - v&lt;br /&gt;
&lt;br /&gt;
[http://www.mellowmushroom.com/ Mellow Mushroom Pizza Bakers] (Pizza) &lt;br /&gt;
# [Leader]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://limonesrestaurant.com/page/1240-Home Limones] (Mexican)&lt;br /&gt;
# [Leader]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.salsas-asheville.com/ Salsas] (Mexican-Caribbean)&lt;br /&gt;
# [Leader] Jay Luker - v&lt;br /&gt;
# Gabriel Farrell - v&lt;br /&gt;
# Sean Hannan - v&lt;br /&gt;
# Scot Colford - v&lt;br /&gt;
# Chrissy Rissmeyer - n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.bistro1896.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=14&amp;amp;Itemid=42 Bistro 1896] (Bistro)&lt;br /&gt;
# [Leader]&lt;br /&gt;
# Yuka Egusa - n&lt;br /&gt;
# Masao Takaku - n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.jackofthewood.com/ Jack of the Wood] (another pub for y'all)&lt;br /&gt;
# [Leader]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sorry, these are full'''&lt;br /&gt;
&lt;br /&gt;
[http://www.vincenzos.com/ Vincenzo's] (Italian)&lt;br /&gt;
# [Leader] Bess Sadler - v&lt;br /&gt;
# Thom Cox - n&lt;br /&gt;
# Alexander O'Neill - n&lt;br /&gt;
# Leland Deeds - n&lt;br /&gt;
# Erin Germ - n&lt;br /&gt;
# Joe Atzberger - v&lt;br /&gt;
# Cindy Harper - n&lt;br /&gt;
# Vinita Tuteja - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.doccheys.com/menu/ Doc Chey’s Noodle House] (Asian)&lt;br /&gt;
# [Leader] Emily Lynema - v&lt;br /&gt;
# Julia Bauder - n&lt;br /&gt;
# Joe Marquez - n&lt;br /&gt;
# Jason Battles - n&lt;br /&gt;
# Jill Ellern - n&lt;br /&gt;
# Michael Vandenburg -n&lt;br /&gt;
# Shekhar Krishnan&lt;br /&gt;
# Schuyler Erle &lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ashevillebouchon.com/page/2511-Home Bouchon French Bistro] (French)&lt;br /&gt;
# [Leader] Ben Florin -v&lt;br /&gt;
# Gwen Exner - n&lt;br /&gt;
# Joel Richard - n (super-green!)&lt;br /&gt;
# Dan Lucas - n&lt;br /&gt;
# Hong Ma - n&lt;br /&gt;
# Vanessa Meireles - n&lt;br /&gt;
# Mark Diggory - n (but not green)&lt;br /&gt;
# David Woodbury - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.melaasheville.com/ Mela Indian Restaurant] (Indian) (reservation made for 6:15 under Darby)&lt;br /&gt;
# [Leader] Andrew Darby - v&lt;br /&gt;
# Joyce Ouchida - n&lt;br /&gt;
# Eric Celeste (spy) - n&lt;br /&gt;
# Kossivi (Jean-Paul) Bessou - n&lt;br /&gt;
# Steven Shelton - n&lt;br /&gt;
# Jeff Silvis - n&lt;br /&gt;
# Ya'aqov Ziso - n&lt;br /&gt;
# Banurekha - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://rosettaskitchen.com/our-menu Rosetta's Kitchen] (Vegetarian)&lt;br /&gt;
# [Leader] Rosalyn Metz -v&lt;br /&gt;
# Cody Hennesy - n&lt;br /&gt;
# Sam Kome - n&lt;br /&gt;
# John Yorio - n&lt;br /&gt;
# Shawn Averkamp - n&lt;br /&gt;
# Sarah Kahn- n&lt;br /&gt;
# Cory Lown - n&lt;br /&gt;
# Maccabee Levine - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.suwanathaiorchid.com/index.php Suwana's Thai Orchid Restaurant] (Thai) &lt;br /&gt;
# [Leader] Becky Yoose - v&lt;br /&gt;
# Andy Mardesich - n&lt;br /&gt;
# Amy McGuire&lt;br /&gt;
# Birong HO&lt;br /&gt;
# Ryan Scherle - n&lt;br /&gt;
# Mark Mounts - n&lt;br /&gt;
# Dan Brubaker Horst -n&lt;br /&gt;
# Rick Johnson - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://thelobstertrap.biz/ The Lobster Trap] (Seafood) &lt;br /&gt;
# [Leader] Michael Klein - v&lt;br /&gt;
# Janis Mathewson - n&lt;br /&gt;
# Karen Schwentner - n&lt;br /&gt;
# Tom Bennett - n&lt;br /&gt;
# Carol Ou - v&lt;br /&gt;
# Kenny Ketner - n&lt;br /&gt;
# Mike Flakus - n&lt;br /&gt;
# Michael Doran - v&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.ashevillebiergarden.com/ The Bier Garden (Pub)]&lt;br /&gt;
# [Leader] Mike Giarlo - v&lt;br /&gt;
# Dileshni Jayasinghe - n&lt;br /&gt;
# David Bucknum - n&lt;br /&gt;
# Sean Chen - n&lt;br /&gt;
# Sibyl Schaefer - n&lt;br /&gt;
# Dan Suchy - n&lt;br /&gt;
# Mark Matienzo - v&lt;br /&gt;
# Declan Fleming - v&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
# Eric Palmitesta -n (WAITLISTED!) - (BY note - Hi Eric, can you please choose from the available list above? Thanks! [Hey, Eric, you might sign up for Jack of the Wood.  Good beer there as well!  -MJG])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cut and paste your name to the restaurant of your choice :)&lt;br /&gt;
* Ross Singer&lt;br /&gt;
* Monica Claassen-Wilson&lt;br /&gt;
* Brendan Gallagher&lt;br /&gt;
* Schuyler Erle&lt;br /&gt;
* Tim Shearer&lt;br /&gt;
* Michael Silver&lt;br /&gt;
* Jason Stirnaman&lt;br /&gt;
* Patrick Hochstenbach&lt;br /&gt;
* David Chandek-Stark&lt;br /&gt;
* David Kennedy&lt;br /&gt;
* Paul Joseph&lt;br /&gt;
* Clint Bellanger&lt;br /&gt;
* Wendy Huot&lt;br /&gt;
* Robin Hitch&lt;br /&gt;
* Cary Gordon (likes anything that involves food)&lt;br /&gt;
* Graham Stewart&lt;br /&gt;
* David Woodbury&lt;br /&gt;
* Antonio Barrera&lt;br /&gt;
* Andrew Nagy&lt;br /&gt;
* Harry Kaplanian&lt;br /&gt;
* Scott Garrison&lt;br /&gt;
* Kevin Reiss&lt;br /&gt;
&lt;br /&gt;
== Werewolf! ==&lt;br /&gt;
It wouldn't be a tech conference unless we got together one evening to turn into a gang of murdering beasts and hyper-suspicious victims. Facilitated by the one and only mbklein.&lt;br /&gt;
&lt;br /&gt;
* When: Wednesday evening&lt;br /&gt;
* Time: 8 PM&lt;br /&gt;
* Where: TBA. Watch this space. &lt;br /&gt;
&lt;br /&gt;
=== About Werewolf ===&lt;br /&gt;
&lt;br /&gt;
Werewolf (also known as Mafia) is a parlor game that has become [http://www.wired.co.uk/wired-magazine/archive/2010/03/features/werewolf.aspx the obsession of techie conferences everywhere]. At it's most basic, it's a game of information asymmetry -- a battle between an uninformed majority (the townspeople) and an informed minority (the werewolves who live and hunt among them). At its best, it's an off-the-wall paranoid screaming match. There are dozens of variations -- we'll start with the basics, and depending on everyone's stamina and desire to keep playing, save the tricky stuff for later. Hopefully by the end of the evening all the participants will be jibbering, jumpy, sleep-deprived lunatics incapable of trusting even their closest friends.&lt;br /&gt;
&lt;br /&gt;
In other words, ''good times.''&lt;br /&gt;
&lt;br /&gt;
=== Werewolf signup ===&lt;br /&gt;
* Michael Klein&lt;br /&gt;
* Alexander O'Neill&lt;br /&gt;
* Bess Sadler&lt;br /&gt;
* Leland Deeds&lt;br /&gt;
* Jean Rainwater&lt;br /&gt;
* Chris Beer&lt;br /&gt;
* Wendy Huot&lt;br /&gt;
* Jon Gorman&lt;br /&gt;
* Jodi Schneider&lt;br /&gt;
* Birkin (will arrive after the veggie-dinner, and hoping BBQ-ers will have time to make it, too)&lt;br /&gt;
* Harish (ditto)&lt;br /&gt;
* Jon Stroop&lt;br /&gt;
* Joel Marchesoni (tentative)&lt;br /&gt;
* Martin Mehrling&lt;br /&gt;
* Michael Vandenburg&lt;br /&gt;
* Scot Colford&lt;br /&gt;
* Chrissy Rissmeyer&lt;br /&gt;
&lt;br /&gt;
== Working Out ==&lt;br /&gt;
&lt;br /&gt;
Gotta make up for those beer and BBQ excursions somehow.  Let's work out!  Ideas: hiking, jogging, [http://www.crossfitasheville.com CrossFitting], surfing,...&lt;br /&gt;
&lt;br /&gt;
=== CrossFit Asheville ===&lt;br /&gt;
[http://www.crossfitasheville.com CrossFit Asheville]&lt;br /&gt;
Contacted the gym, we're invited to the Monday night 6:30pm slot.&lt;br /&gt;
&lt;br /&gt;
Who's in?&lt;br /&gt;
* Erik Hatcher (crossfit newb), can carpool three others&lt;br /&gt;
* Michael Vandenburg (Crossfit curious)&lt;br /&gt;
* Jeff Sherwood (I'd be into getting in a Crossfit WOD or maybe a run)&lt;br /&gt;
* Jason Stirnaman (hiking, biking - don't mind the weather, lifting, cross-fitting)&lt;br /&gt;
* Jodi Schneider (CrossFitting sounds fun if we can fit in their schedule, yoga, walking, hiking)&lt;br /&gt;
&lt;br /&gt;
=== Jogging ===&lt;br /&gt;
Meet in lobby at 6:30am any day next week.  &lt;br /&gt;
&lt;br /&gt;
* Monday: Erik Hatcher (too cold?  I'll do the treadmill instead; 2-3 miles max)&lt;br /&gt;
* Tuesday: &lt;br /&gt;
* Wednesday: Erik Hatcher (2-3 miles max)&lt;br /&gt;
* Thursday: &lt;br /&gt;
&lt;br /&gt;
=== Interested Parties for various exercise activities ===&lt;br /&gt;
&lt;br /&gt;
* Erik Hatcher (game for both short, like 2 mile, jogs on Monday/Wednesday and CrossFitting, bring it!)&lt;br /&gt;
* Erik Mitchell (Run downtown asheville or the parkway? - great 12 mile climb up the parkway around Pisgah Mtn.), How about a Code4Lib half-marathon?  (Why NOT!  Let's do a Half Marathon) - Ray Schwartz&lt;br /&gt;
**Bike riding - yes might be sketchy given our current weather &lt;br /&gt;
**Hike up Looking Glass Rock [http://www.hikewnc.info/trailheads/pisgah/pisgah/guidedhikes/lookingglassrock.html]&lt;br /&gt;
* Emily Lynema (game for jogging, hiking, walking, jumping jacks; not crazy enough for parkway running!)&lt;br /&gt;
* Ray Schwartz (game for a run - why not a half marathon?!).&lt;br /&gt;
* Rick Johnson (Looking to fit in a 10, 12 ,and 8 mile run while in town.  Was originally thinking I would go early in the morning: 6:30 or 7.  May not be able to run together everytime but definitely looking for suggestions on good routes)&lt;br /&gt;
* Thom Cox (lifting, cardio, yoga--all good)&lt;br /&gt;
* Jason Stirnaman (hiking, biking - don't mind the weather, lifting, cross-fitting)&lt;br /&gt;
* Jean Rainwater (need to get some runs in where the footing's not treacherous and the temp is above freezing)&lt;br /&gt;
* Gerald Snyder (a couple mornings jogging would be good, but only 4 or 5 miles for me thanks)&lt;br /&gt;
* Jodi Schneider (CrossFitting sounds fun if we can fit in [http://www.crossfitasheville.com/schedule/ their schedule], yoga, walking, hiking)&lt;br /&gt;
* Becky Yoose (hiking (intermediate level max), walking, cheer others on while they run a half marathon)&lt;br /&gt;
* Carol Bean (does shivering in the cold count as exercise?)&lt;br /&gt;
* John Barneson (I'm game for a.m. runs 5-10 miles. I would love a nice scenic route and I don't mind trail running)&lt;br /&gt;
* Gabriel Farrell (running, yoga, pickup soccer?)&lt;br /&gt;
* Kevin Reiss (running/hiking)&lt;br /&gt;
* Jeff Sherwood (I'd be into getting in a Crossfit WOD or maybe a run)&lt;br /&gt;
* Nick Hanssens (yoga; I teach if there is space and interest)&lt;br /&gt;
* Michael Vandenburg (Crossfit curious)&lt;br /&gt;
* Ranti Junus (yoga, walking, thumb wrestling - maybe)&lt;br /&gt;
* Mark Diggory (surfing,... kinda hard to find good waves in Asheville... will settle for a little hiking)&lt;br /&gt;
&lt;br /&gt;
== Sitting in a room together and half the time talking to each other out loud and half the time talking in IRC ==&lt;br /&gt;
&lt;br /&gt;
Because you know it's going to happen&lt;br /&gt;
&lt;br /&gt;
* William Denton&lt;br /&gt;
* Mike Giarlo (fulfiller of destinies)&lt;br /&gt;
* /ignore mjgiarlo&lt;br /&gt;
* Antonio Barrera (trying to avoid a repeat of Portland)&lt;br /&gt;
* Jodi Schneider (one of the highlights!!!)&lt;br /&gt;
* Bess Sadler (can it be in the hospitality suite at 4am? That's the best!)&lt;br /&gt;
* Mark Matienzo &lt;br /&gt;
* Ranti Junus (hoping somebody can help me hacking my chumby one to install [http://elinks.or.cz/ elinks] or [http://www.qtweb.net/ qtweb])&lt;br /&gt;
* Dan Chudnov (hoping for in-same-room IRC chat to be an olympic medal event in 2014)&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib2010]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=C4L2010rideshare&amp;diff=4659</id>
		<title>C4L2010rideshare</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=C4L2010rideshare&amp;diff=4659"/>
				<updated>2010-02-16T22:05:56Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Asheville/Arden Regional Airport */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rideshare Info ==&lt;br /&gt;
&lt;br /&gt;
Several people have made vague but curious noises about trying to share transportation to and from Asheville. This page will attempt to organize the details relevant to help attendees make appropriate travel/transportation plans.&lt;br /&gt;
&lt;br /&gt;
Each table below represents a group of attendees with relatively common transportation needs. Feel free to combine/split/add tables to suit different needs. The columns should be self-explanatory, with '''Driving?''' indicating that you're willing/able to share the driving (even if it's someone else's car/rental), and '''Van?''' indicating whether you would be interested in taking one of the App. State vans (if it were to make a couple runs to the airport). &lt;br /&gt;
&lt;br /&gt;
=== Charlotte Douglas International Airport ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; class=&amp;quot;sortable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
! Name !! Arriving !! Departing !! Renting Car? !! Share rental cost? !! Gas? !! Driving? !! Van?&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;strike&amp;gt;Julia Bauder&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;2010-02-21 (Sunday; mid-afternoon)&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;2010-02-25 (Thursday; late afternoon)&amp;lt;/strike&amp;gt; ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;strike&amp;gt;Michael Klein&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;2010-02-21 (Sunday; late afternoon/evening)&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;2010-02-26 (Friday)&amp;lt;/strike&amp;gt; ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Tim Dennis  || 2010-02-21 (Sunday; 4pm) || 2010-02-25 (Thurs. 5pm) || No || Yes || Yes || Yes || Yes &lt;br /&gt;
|-&lt;br /&gt;
| [http://alphagconsulting.com/mailform.php John Craig] || 2010-02-21 (Sunday; 5pm) || 2010-02-25 (Thurs. 4pm) || Yes || Yes || Yes || Me || No &lt;br /&gt;
|-&lt;br /&gt;
| [mailto:rosalynmetz@gmail.com Rosalyn Metz] || 2010-02-22 (Monday; 1pm) || 2010-02-25 (Thurs. 8pm) || Yes || Yes || Yes || Me || No &lt;br /&gt;
|-&lt;br /&gt;
| [mailto:jbowen@library.rochester.edu Jennifer Bowen] || 2010-02-22 (Monday; 11am) || 2010-02-25 (Thurs. 4pm) || Yes || Yes || Yes || Me || No &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Asheville/Arden Regional Airport ===&lt;br /&gt;
&lt;br /&gt;
'''[[Asheville Airport to Hotel Van Manifest]]'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
! Name !! Arriving !! Departing !! Renting Car? !! Share rental cost? !! Gas? !! Driving? !! Van? !! Confirmed on Manifest&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:scolford@bpl.org Scot Colford] || 2010-02-21 (Sunday) 12:15pm || 2010-02-25 (Thursday) 2:26pm || Yes || Yes || Yes || Yes || No || N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mark Matienzo || 2010-02-21 (Sunday) 11:38am || 2010-02-25 (Thursday) 3:21pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Edward Corrado || 2010-02-21 (Sunday) 11:38am || 2010-02-26 (Thursday) 4:35pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Mike Giarlo || 2010-02-21 (Sunday) 11:38am || 2010-02-26 (Friday) 12:03pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|- &lt;br /&gt;
| Daniel Lovins || 2010-02-21 (Sunday) 11:57am || 2010-02-25 (Thursday) 2:21pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Tom Keays || 2010-02-21 (Sunday) 12:09pm || 2010-02-25 (Thursday) 12:55pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Jean Rainwater || 2010-02-21 (Sunday) 12:15pm || 2010-02-26 (Thursday) 4:00pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Yvonne Federowicz || 2010-02-21 (Sunday) ? || 2010-02-26 (Thursday) ? || No || Yes || Yes || No || Yes || No times&lt;br /&gt;
|-&lt;br /&gt;
| Chris Beer || 2010-02-21 (Sunday) 3:44pm || 2010-02-26 (Friday) 12:55pm || No || No || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Andy Kohler || 2010-02-21 (Sunday) 3:50pm || 2010-02-25 (Thursday) 4:17pm || No || No || No || No || Yes || Arrival ??&lt;br /&gt;
|-&lt;br /&gt;
| Tod Olson || 2010-02-21 (Sunday) 3:50pm || 2010-02-25 (Thursday) 4:17pm || No || No || No || No || Yes || Arrival Y (c)&lt;br /&gt;
|-&lt;br /&gt;
| Betsy Coles || 2010-02-21 (Sunday) 3:50pm || 2010-02-25 (Thursday) 4:17pm || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Monica Claassen-Wilson || 2010-02-21 (Sunday) 4:05pm || 2010-02-25 (Thursday) 4:30pm || No || No || No || No || Yes || Arrival ??&lt;br /&gt;
|-&lt;br /&gt;
| Michael Doran || 2010-02-21 (Sunday) 6:14pm || 2010-02-26 (Friday) 11:25am || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Roy Tennant || 2010-02-21 (Sunday) 6:14pm || 2010-02-25 (Thursday) 12:55pm || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Andrew Darby || 2010-02-21 (Sunday) 6:15pm || 2010-02-26 (Friday) 11:25am || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Jason Stirnaman (+1) || 2010-02-21 (Sunday) 6:34pm || 2010-02-27 (Saturday) 12:55pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Sam Kome || 2010-02-21 (Sunday) 7:50pm || 2010-02-25 (Thursday) 4:30pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Anjanette Young || 2010-02-21 (Sunday) 7:50pm || 2010-02-25 (Thursday) 3:21pm || No || Yes || Yes || No || Yes || Arrival Y (c)&lt;br /&gt;
|-&lt;br /&gt;
| Dhanushka S || 2010-02-21 (Sunday) 8:39pm || 2010-02-25 (Thursday) 2:26pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;strike&amp;gt; Tim McGeary&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;2010-02-22 (Monday) 9:35pm&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;2010-02-25 (Thursday) 4:30pm&amp;lt;/strike&amp;gt; ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Cody Hennesy || 2010-02-21 (Sunday) 9:55pm || 2010-02-25 (Thursday) 4:17pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Lori Stethers || 2010-02-21 (Sunday) 10:55pm || 2010-02-25 (Thursday) 2:15pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Carol Bean || 2010-02-21 (Sunday) 11:56am || 2010-02-25 (Thursday) 2:15pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Ranti Junus || &amp;lt;strike&amp;gt;2010-02-21 (Sunday) 11:30am&amp;lt;/strike&amp;gt;&amp;lt;br/&amp;gt; 2010-02-20 (Saturday) 11:30am || 2010-02-25 (Thursday) 4:30pm || No || Yes || Yes || No || Yes || *&lt;br /&gt;
|-&lt;br /&gt;
| Julia Bauder || 2010-02-21 (Sunday) 2:56pm || 2010-02-25 (Thursday) 2:15pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Matt Connolly || 2010-02-22 (Monday) 3:34pm || 2010-02-25 (Thursday) 4:06pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Eric Hellman || 2010-02-22 (Monday) 3:34pm || 2010-02-25 (Thursday) 4:06pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Jon Gorman || 2010-02-21 (Sunday) 3:50pm || NA  || No || Yes (for Sunday) || Yes (for Sunday) || Yes (for Sunday) || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Joe Atzberger || 2010-02-21 (Sunday) 4:05pm || 2010-02-25 (Thursday) 4:35pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Joe Marquez || 2010-02-21 (Sunday) 11:48pm || 2010-02-25 (Thursday) 2:15pm || No || No || Yes || No || Yes || Arrival Y (c)&lt;br /&gt;
|-&lt;br /&gt;
| Matt Cordial || 2010-02-21 (Sunday) 6:34pm || 2010-02-25 (Thursday) 2:15pm || No || Yes || Yes || Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| David Bucknum || 2010-02-21 (Sunday) 12:09pm || 2010-02-25 (Thursday) 4:00pm || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Janis Mathewson || 2010-02-21 (Sunday) 11:38am || 2010-02-25 (Friday) 12:05pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Karen Schwenter || 2010-02-21 (Sunday) 11:38am || 2010-02-25 (Friday) 12:05pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Ryan Wick || 2010-02-21 (Sunday) 3:50pm || 2010-02-25 (Thursday) 5:35pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Declan Fleming || 2010-02-21 (Sunday) 9:54pm || 2010-02-25 (Friday) 2:26pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|- &lt;br /&gt;
| Sibyl Schaefer || 2010-02-21 (Sunday) 10:55pm || 2010-02-24 (Thursday) 12:05pm || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|- &lt;br /&gt;
| Maccabee Levine || 2010-02-21 (Sunday) 11:38am || 2010-02-25 (Thursday) 4:35pm || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|- &lt;br /&gt;
| [mailto:Michael.Klein@oregonstate.edu Michael Klein] || 2010-02-18 (Thursday) || 2010-02-26 (Friday) 5:35pm || No || No || No || No || Yes || *&lt;br /&gt;
|- &lt;br /&gt;
| Karen Coombs || 2010-02-21 (Sunday) 6:34pm || 2010-02-25 (Thursday) 6:57pm || No || No || No || No || Yes || Arrival Y? (c)&lt;br /&gt;
|-&lt;br /&gt;
| Mike Lindsey || 2010-02-21 (Sunday) 4:05pm || 2010-02-24 (Thursday) 11:00am || No || No || Yes|| Yes || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Rick Johnson || 2010-02-21 (Sunday) 3:51pm || 2010-02-25 (Thursday) 04:17pm || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Banurekha Lakshminarayanan || 2010-02-21 (Sunday) 5:09pm || 2010-02-25 (Thursday) 04:30pm || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Dan Brubaker Horst || 2010-02-21 (Sunday) 3:51pm || 2010-02-25 (Thursday) 04:17pm || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Tania Fersenheim || 2010-02-20 (Saturday) 3:34pm || 2010-02-25 (Thursday) 2:26pm || No || No || No || No || Yes || *&lt;br /&gt;
|-&lt;br /&gt;
| Greg McClellan || 2010-02-20 (Saturday) 3:34pm || 2010-02-25 (Thursday) 2:26pm || No || No || No || No || Yes || *&lt;br /&gt;
|-&lt;br /&gt;
| Matthew Beacom || 2010-02-22 (Monday) 11:57am || 2010-02-25 (Thursday) 3:21pm || No || No || yes || No || Yes || Arrvial Y (c)&lt;br /&gt;
|-&lt;br /&gt;
| Hong Ma || 2010-02-21 (Sunday) 11:57am || 2010-02-25 (Thursday) 4:30pm || No || No || No || No || Yes || Arrival Y? (c)&lt;br /&gt;
|-&lt;br /&gt;
| Vanessa Meireles || 2010-02-21 (Sunday) 11:57am || 2010-02-25 (Thursday) 4:30pm || No || No || No || No || Yes || Arrival Y? (c)&lt;br /&gt;
|-&lt;br /&gt;
| Spencer Lamm || 2010-02-21 (Sunday) 8:49pm || 2010-02-25 (Thursday) 2:26pm || No || No || No || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Kevin Reiss || 2010-02-21 (Sunday) 12:15pm || 2010-02-25 (Thursday 4:06pm || No || No || No || No || Yes || Arrival Y? (c)&lt;br /&gt;
|-&lt;br /&gt;
| Antonio Barrera || 2010-02-21 (Sunday) 12:15pm || 2010-02-25 (Thursday 4:06pm || No || No || No || No || Yes || Arrival Y? (c)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;strike&amp;gt;Jon Stroop&amp;lt;/strike&amp;gt; || 2010-02-21 (Sunday) 12:15pm || 2010-02-25 (Thursday 4:06pm || No || No || No || No || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| Cory Rockliff || 2010-02-20 (Saturday) 12:15pm || 2010-02-25 (Thursday) 4:06pm || No || No || No || No || Yes || *&lt;br /&gt;
|-&lt;br /&gt;
| Corey Harper || 2010-02-22 (Monday) 12:30pm || 2010-02-26 (Friday) 1:07pm || No || No || No || No || Yes || *&lt;br /&gt;
|-&lt;br /&gt;
| Carol Ou || 2010-02-22 (Monday) 2:56pm || 2010-02-25 (Thursday) 4:30pm || No || Yes || Yes || No || Yes || Arrival Y&lt;br /&gt;
|-&lt;br /&gt;
| Eric James || 2010-02-21 (Monday) 12:15pm || 2010-02-25 (Thursday) 4:06pm || No || Yes || Yes || Yes || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| Jonathan Rochkind || 2010-02-20 (Sunday) 6:15pm || 2010-02-25 (Thursday) 4:00pm ||  ||  || ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Northeast (VA/DC/MD/DE/PA/NJ/NY/New England) ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
! Name !! Traveling From !! Plan to Arrive !! Plan to Depart !! Car? !! Share rental cost? !! Gas? !! Driving?&lt;br /&gt;
|-&lt;br /&gt;
| Ray Schwartz || New York City Metro || Before Preconferences || Thurs aftn || no, willing to rent || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;strike&amp;gt;Cory Rockliff&amp;lt;/strike&amp;gt; || New York City Metro || Before Preconferences || Thurs aftn || no, willing to rent || Yes || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Yitzchak Schaffer || NJ (near Secaucus) || Monday (not for precon), negotiable || Thurs aftn || no, willing to rent || yes || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
| Jodi Schneider || NJ Turnpike/Philly Metro || Before Preconferences || Thurs aftn || no || Yes || Yes || No&lt;br /&gt;
|-&lt;br /&gt;
| Erin Germ || DC/Baltimore/Annapolis || Monday Evening || Thurs aftn || Yes || no || Yes || Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kentucky/Michigan/Ohio/West Virginia ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
! Name !! Traveling From !! Plan to Arrive !! Plan to Depart !! Car? !! Share rental cost? !! Gas? !! Driving?&lt;br /&gt;
|-&lt;br /&gt;
| Peter Murray || Columbus, OH || Monday afternoon || Thursday after conference close || Yes || Yes || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Becky Yoose || Oxford, OH || Sunday afternoon (before preconference) || Thursday after conference close || Yes || N/A || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Devon Smith || Columbus, OH || Monday early || Friday || Yes (rental) || Yes || Yes || Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== North Carolina ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
! Name !! Traveling From !! Plan to Arrive !! Plan to Depart !! Car? !! Share rental cost? !! Gas? !! Driving?&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;strike&amp;gt;Sean Chen&amp;lt;/strike&amp;gt;|| &amp;lt;strike&amp;gt;Chapel Hill, NC&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Sunday&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Thursday&amp;lt;/strike&amp;gt;|| &amp;lt;strike&amp;gt;Yes&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Yes &amp;lt;/strike&amp;gt;  || &amp;lt;strike&amp;gt;Yes&amp;lt;/strike&amp;gt;  || &amp;lt;strike&amp;gt;Yes&amp;lt;/strike&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Erin White || Triangle, NC || Sunday || Thursday or Friday || Yes || Yes || Yes || Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Southeast (South Carolina, Georgia, Florida) ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
! Name !! Traveling From !! Plan to Arrive !! Plan to Depart !! Car? !! Share rental cost? !! Gas? !! Driving?&lt;br /&gt;
|- &lt;br /&gt;
| Benjamin Young || Greenville, SC || Early Tuesday morning (pre-8 am) || Thursday after conference close  || Yes || No || Yes || Yes&lt;br /&gt;
|- &lt;br /&gt;
| Chris Strauber || Spartanburg SC ||  || Thursday after conference close  || No || Yes || Yes--will buy gas and lunch || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Esmé Cowles || Gainesville, FL || Sunday || Thursday after conference close  || Yes || No || Yes || Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib2010]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Asheville_Airport_to_Hotel_Van_Manifest&amp;diff=4657</id>
		<title>Asheville Airport to Hotel Van Manifest</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Asheville_Airport_to_Hotel_Van_Manifest&amp;diff=4657"/>
				<updated>2010-02-16T22:00:59Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Asheville Airport to Hotel (Arrivals) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Manifest for Van shuttle for Asheville Airport to/from Hotel.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
We have two minivans (WCU and ASU) that can hold a maximun of 6 passengers with their bags per trip.  Based on then information provided by the attendees on the Rideshare Wiki as of Feb 10, 2010, we create 10 arrival loads (currently there is no Load 5 but it can be added back if need be).  These arrival loads are numbered.   We also created 11 departure loads.  These are lettered.  It may be possible to add loads but '''please...don't add loads yourself to the tables.''' Add your info to the bottom of the rideshare page indicating that you are not in the manifest and we will see if we can add additional loads.  Email Jill Ellern directly if you have any questions.&lt;br /&gt;
&lt;br /&gt;
If your already on this list, '''please make sure your flight information is correct''' on both the arrival and the departure list. Passengers need to '''send an email to confirm their slot''' (check the email about this service sent to the big Code4Lib list).  Once Kevin has receive this email, we will update the &amp;quot;Confirmed&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
If you wish to use an empty slot in a load, please add your information both in this manifest and the rideshare table.  Make sure to send the email to confirm your slot with your email and cell phone information.  The email list we create from your sent information will be used to send further instructons about gathering locations at the airport and hotel.  We might need to contact your cell phone if there are delays and problems.&lt;br /&gt;
&lt;br /&gt;
== Asheville Airport to Hotel (Arrivals) ==&lt;br /&gt;
&lt;br /&gt;
'''* approximate times depending upon traffic and flight delays'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;text-align: left;&amp;quot; &lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Sunday || Load 1  (ASU) || 11:00 AM || 11:30 AM || 12:00 PM || 12:30 PM || Matienzo || 11:38 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 1  (ASU) || 11:00 AM || 11:30 AM || 12:00 PM || 12:30 PM || Corrado || 11:38 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 1  (ASU) || 11:00 AM || 11:30 AM || 12:00 PM || 12:30 PM || Giarlo || 11:38 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 1  (ASU) || 11:00 AM || 11:30 AM || 12:00 PM || 12:30 PM || Mathewson || 11:38 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 1  (ASU) || 11:00 AM || 11:30 AM || 12:00 PM || 12:30 PM || Schwenter || 11:38 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 1  (ASU) || 11:00 AM || 11:30 AM || 12:00 PM || 12:30 PM || Levine || 11:38 AM || Yes || Yes&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Sunday || Load 2 (WCU) || 11:30 AM || 12:00 PM || 12:45 PM || 1:15 PM || Bean || 11:56 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2 (WCU) || 11:30 AM || 12:00 PM || 12:45 PM || 1:15 PM || Lovins || 11:57 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2 (WCU) || 11:30 AM || 12:00 PM || 12:45 PM || 1:15 PM || Keays || 12:09 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2 (WCU) || 11:30 AM || 12:00 PM || 12:45 PM || 1:15 PM || Bucknum || 12:09 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2 (WCU) || 11:30 AM || 12:00 PM || 12:45 PM || 1:15 PM || Rainwater || 12:15 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2 (WCU) || 11:30 AM || 12:00 PM || 12:45 PM || 1:15 PM || Meyer || 11:38 AM || Yes || Yes&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Sunday || Load 2b (ASU) || 12:45 pM || 1:15 PM || 1:30 PM || 2:00 PM || Ma  || 11:57 AM || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2b (ASU) || 12:45 pM || 1:15 PM || 1:30 PM || 2:00 PM ||Meireles  || 11:57 AM || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2b (ASU) || 12:45 pM || 1:15 PM || 1:30 PM || 2:00 PM ||Reiss || 12:15 PM || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2b (ASU) || 12:45 pM || 1:15 PM || 1:30 PM || 2:00 PM ||Barrera  || 12:15 PM || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2b (ASU) || 12:45 pM || 1:15 PM || 1:30 PM || 2:00 PM ||  || || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 2b (ASU) || 12:45 pM || 1:15 PM || 1:30 PM || 2:00 PM ||  || || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 3 (ASU) || 2:30 PM || 3:00 PM || 3:30 PM || 4:00 PM || Bauder || 2:56 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 3 (ASU) || 2:30 PM || 3:00 PM || 3:30 PM || 4:00 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 3 (ASU) || 2:30 PM || 3:00 PM || 3:30 PM || 4:00 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 3 (ASU) || 2:30 PM || 3:00 PM || 3:30 PM || 4:00 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 3 (ASU) || 2:30 PM || 3:00 PM || 3:30 PM || 4:00 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 3 (ASU) || 2:30 PM || 3:00 PM || 3:30 PM || 4:00 PM ||  ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 3b (Car?) || 3:30 pm|| 4:00 PM || 4:30 PM || 5:00 PM ||Kohler  || 3:50 pm || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 3b (Car?) || 3:30 pm|| 4:00 PM || 4:30 PM || 5:00 PM ||Claasen-Wilson || 4:04  || No || No&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 4 (WCU) || 3:15 PM || 3:45 PM || 4:30 PM || 5:00 PM || Beer || 3:44 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 4 (WCU) || 3:15 PM || 3:45 PM || 4:30 PM || 5:00 PM || Olson || 3:50 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 4 (WCU) || 3:15 PM || 3:45 PM || 4:30 PM || 5:00 PM || Wick || 3:50 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 4 (WCU) || 3:15 PM || 3:45 PM || 4:30 PM || 5:00 PM || Coles || 3:50 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 4 (WCU) || 3:15 PM || 3:45 PM || 4:30 PM || 5:00 PM || Gorman || 3:50 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 4 (WCU) || 3:15 PM || 3:45 PM || 4:30 PM || 5:00 PM || Garrison || 3:50 PM || Yes || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Sunday || Load 5 (ASU) || 4:15 PM || 4:45 PM || 5:15 PM || 5:45 PM || Lindsey  || 4:05 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 5 (ASU)|| 4:15 PM || 4:45 PM || 5:15 PM || 5:45 PM || Atzberger || 4:05 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 5 (ASU) || 4:15 PM || 4:45 PM || 5:15 PM || 5:45 PM || Johnson || 3:51 PM  || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 5 (ASU) || 4:15 PM || 4:45 PM || 5:15 PM || 5:45 PM || Lakshminarayanan || 5:09 PM  || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 5 (ASU) || 4:15 PM || 4:45 PM || 5:15 PM || 5:45 PM || Brubaker Horst || 3:51 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 5 (ASU) || 4:15 PM || 4:45 PM || 5:15 PM || 5:45 PM || Kohler ||  || Yes || Yes&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed|-&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6 (WCU) || 5:45 PM || 6:15 PM || 7:00 PM || 7:30 PM || Tennant || 6:14 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6 (WCU) || 5:45 PM || 6:15 PM || 7:00 PM || 7:30 PM || Doran || 6:14 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6 (WCU) || 5:45 PM || 6:15 PM || 7:00 PM || 7:30 PM || Darby || 6:15 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6 (WCU) || 5:45 PM || 6:15 PM || 7:00 PM || 7:30 PM || Stirnaman (1) || 6:34 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6 (WCU) || 5:45 PM || 6:15 PM || 7:00 PM || 7:30 PM || Stirnaman (2) || 6:34 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6 (WCU) || 5:45 PM || 6:15 PM || 7:00 PM || 7:30 PM || Cordial || 6:34 PM || Yes || Yes&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6a (ASU) || 6:00 PM || 6:30 PM || 7:15 PM || 7:45 PM ||Coombs || 6:34 pm || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6a (ASU) || 6:00 PM || 6:30 PM || 7:15 PM || 7:45 PM || J. Rochkind|| 6:15 pm || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6a (ASU) || 6:00 PM || 6:30 PM || 7:15 PM || 7:45 PM || ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6a (ASU) || 6:00 PM || 6:30 PM || 7:15 PM || 7:45 PM || ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6a (ASU) || 6:00 PM || 6:30 PM || 7:15 PM || 7:45 PM || ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 6a (ASU) || 6:00 PM || 6:30 PM || 7:15 PM || 7:45 PM || ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 7 (WCU) || 8:00 PM || 8:30 PM || 9:00 PM || 9:30 PM || Kome || 7:50 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 7 (WCU) || 8:00 PM || 8:30 PM || 9:00 PM || 9:30 PM || Young || 7:50 PM || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 7 (WCU) || 8:00 PM || 8:30 PM || 9:00 PM || 9:30 PM || Dhanushka || 8:39 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 7 (WCU) || 8:00 PM || 8:30 PM || 9:00 PM || 9:30 PM || Crenshaw  || 8:39 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 7 (WCU) || 8:00 PM || 8:30 PM || 9:00 PM || 9:30 PM || Harish || 8:39 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 7 (WCU) || 8:00 PM || 8:30 PM || 9:00 PM || 9:30 PM || Lamm || 8:39 PM || Yes || Yes&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Sunday || Load 8 (ASU) || 9:30 PM || 10:00 PM || 10:30 PM || 11:00 PM || Fleming || 9:54 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 8 (ASU) || 9:30 PM || 10:00 PM || 10:30 PM || 11:00 PM || Hennesy || 9:55 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 8 (ASU) || 9:30 PM || 10:00 PM || 10:30 PM || 11:00 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 8 (ASU) || 9:30 PM || 10:00 PM || 10:30 PM || 11:00 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 8 (ASU) || 9:30 PM || 10:00 PM || 10:30 PM || 11:00 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 8 (ASU) || 9:30 PM || 10:00 PM || 10:30 PM || 11:00 PM ||  ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Sunday || Load 9 (WCU) || 10:30 PM || 11:00 PM || 11:30 PM || 12:00 AM || Stethers || 10:55 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 9 (WCU) || 10:30 PM || 11:00 PM || 11:30 PM || 12:00 AM || Schaefer || 10:55 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 9 (WCU) || 10:30 PM || 11:00 PM || 11:30 PM || 12:00 AM || Huot || 10:55 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 9 (WCU) || 10:30 PM || 11:00 PM || 11:30 PM || 12:00 AM || Vandenburg || 10:55 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 9 (WCU) || 10:30 PM || 11:00 PM || 11:30 PM || 12:00 AM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 9 (WCU) || 10:30 PM || 11:00 PM || 11:30 PM || 12:00 AM ||  ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Sunday || Load 10 (ASU) || 11:15 PM || 11:45 PM || 12:15 AM || 12:45 AM || Marquez || 11:48 PM || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 10 (ASU) || 11:15 PM || 11:45 PM || 12:15 AM || 12:45 AM ||   ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 10 (ASU) || 11:15 PM || 11:45 PM || 12:15 AM || 12:45 AM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 10 (ASU) || 11:15 PM || 11:45 PM || 12:15 AM || 12:45 AM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 10 (ASU) || 11:15 PM || 11:45 PM || 12:15 AM || 12:45 AM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Sunday || Load 10 (ASU) || 11:15 PM || 11:45 PM || 12:15 AM || 12:45 AM ||  ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Monday || Load 11 (WCU) || 11:30 AM || 12:00 PM || 12:30 PM || 1:00 PM || Beacon ||11:48 || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 11 (WCU) || 11:30 AM || 12:00 PM || 12:30 PM || 1:00 PM || || || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 11 (WCU) || 11:30 AM || 12:00 PM || 12:30 PM || 1:00 PM || || || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 11 (WCU) || 11:30 AM || 12:00 PM || 12:30 PM || 1:00 PM || || || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 11 (WCU) || 11:30 AM || 12:00 PM || 12:30 PM || 1:00 PM || || || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 11 (WCU) || 11:30 AM || 12:00 PM || 12:30 PM || 1:00 PM || || || No || No&lt;br /&gt;
|-|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel !! Arriving Airport* !! Leaving Airport* !! At Hotel !! Passenger !! Arrival Time* !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 12 (ASU) || 3:00 PM || 3:30 PM || 4:00 PM || 4:30 PM || Connolly || 3:34 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 12 (ASU) || 3:00 PM || 3:30 PM || 4:00 PM || 4:30 PM || Hellman || 3:34 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 12 (ASU)) || 3:00 PM || 3:30 PM || 4:00 PM || 4:30 PM || Ou || 2:56PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 12 (ASU) || 3:00 PM || 3:30 PM || 4:00 PM || 4:30 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 12 (ASU) || 3:00 PM || 3:30 PM || 4:00 PM || 4:30 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Monday || Load 12 (ASU) || 3:00 PM || 3:30 PM || 4:00 PM || 4:30 PM ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hotel to Asheville Airport (Departures) ==&lt;br /&gt;
&lt;br /&gt;
''' * Allows for 1.5 hours at airport before earliest departure of occupants'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;text-align: left;&amp;quot; &lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load A (WCU) || 10:00 AM || 10:30 AM || 10:40 AM || 11:10 AM || Schaefer || 12:05 PM || 10:05 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load A (WCU) || 10:00 AM || 10:30 AM || 10:40 AM || 11:10 AM || Keays || 12:55 PM || 10:55 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load A (WCU) || 10:00 AM || 10:30 AM || 10:40 AM || 11:10 AM || Vandenburg || 12:25 PM || 10:30 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load A (WCU) || 10:00 AM || 10:30 AM || 10:40 AM || 11:10 AM || Meyer || 12:05 PM ||10:05 AM  || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load A (WCU) || 10:00 AM || 10:30 AM || 10:40 AM || 11:10 AM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load A (WCU) || 10:00 AM || 10:30 AM || 10:40 AM || 11:10 AM ||  ||  ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load B (ASU) || 12:15 PM || 12:45 PM || 12:55 PM || 1:25 PM || Stethers || 2:15 PM || 12:15 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load B (ASU) || 12:15 PM || 12:45 PM || 12:55 PM || 1:25 PM || Bean || 2:15 PM || 12:15 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load B (ASU) || 12:15 PM || 12:45 PM || 12:55 PM || 1:25 PM || Bauder || 2:15 PM || 12:15 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load B (ASU) || 12:15 PM || 12:45 PM || 12:55 PM || 1:25 PM || Marquez || 2:15 PM || 12:15 PM || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load B (ASU) || 12:15 PM || 12:45 PM || 12:55 PM || 1:25 PM || Cordial || 2:15 PM || 12:15 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load B (ASU) || 12:15 PM || 12:45 PM || 12:55 PM || 1:25 PM || Crenshaw || 2:26 PM || 12:26 PM || Yes || Yes&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Thursday || Load C (WCU) || 12:20 PM || 12:50 PM || 1:00 PM || 1:30 PM || Lovins || 2:21 PM || 12:21 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load C (WCU) || 12:20 PM || 12:50 PM || 1:00 PM || 1:30 PM || Dhanushka || 2:26 PM || 12:26 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load C (WCU) || 12:20 PM || 12:50 PM || 1:00 PM || 1:30 PM || Harish || 2:26 PM || 12:26 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load C (WCU) || 12:20 PM || 12:50 PM || 1:00 PM || 1:30 PM || Huot || 2:26 PM || 12:21 PM  || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load C (WCU) || 12:20 PM || 12:50 PM || 1:00 PM || 1:30 PM || Fersenheim || 2:26 PM || 12:26 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load C (WCU) || 12:20 PM || 12:50 PM || 1:00 PM || 1:30 PM || McClellan || 2:26 PM || 12:26 PM || Yes || Yes&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Thursday || Load D (ASU) || 1:20 PM || 1:50 PM || 2:00 PM || 2:30 PM || Matienzo || 3:21 PM || 1:21 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load D (ASU) || 1:20 PM || 1:50 PM || 2:00 PM || 2:30 PM || Young || 3:21 PM || 1:21 PM || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load D (ASU) || 1:20 PM || 1:50 PM || 2:00 PM || 2:30 PM || Rainwater || 4:00 PM || 2:00 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load D (ASU) || 1:20 PM || 1:50 PM || 2:00 PM || 2:30 PM || Bucknum || 4:00 PM || 2:00 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load D (ASU) || 1:20 PM || 1:50 PM || 2:00 PM || 2:30 PM || Beacom  || 3:21 PM || 1:30 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load D (ASU) || 1:20 PM || 1:50 PM || 2:00 PM || 2:30 PM || Johnson || 4:17 PM || 2:00 PM || Yes || Yes&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Thursday || Load E (WCU) || 2:10 PM || 2:40 PM || 2:50 PM || 3:20 PM || Hennesy || 4:17 PM || 2:17 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load E (WCU) || 2:10 PM || 2:40 PM || 2:50 PM || 3:20 PM || Kohler || 4:17 PM || 2:17 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load E (WCU) || 2:10 PM || 2:40 PM || 2:50 PM || 3:20 PM || Olson || 4:17 PM || 2:17 PM || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load E (WCU) || 2:10 PM || 2:40 PM || 2:50 PM || 3:20 PM || Coles || 4:17 PM || 2:17 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load E (WCU) || 2:10 PM || 2:40 PM || 2:50 PM || 3:20 PM || Connolly || 4:06 PM  ||   || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load E (WCU) || 2:10 PM || 2:40 PM || 2:50 PM || 3:20 PM || Brubaker Horst || 4:17 PM || 2:15 PM || Yes || Yes&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Thursday || Load F (ASU) || 2:30 PM || 3:00 PM || 3:10 PM || 3:40 PM || Lakshminarayanan || 4:30 PM || 2:30 PM  || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load F (ASU) || 2:30 PM || 3:00 PM || 3:10 PM || 3:40 PM || Kome || 4:30 PM || 2:30 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load F (ASU) || 2:30 PM || 3:00 PM || 3:10 PM || 3:40 PM || Junus || 4:30 PM || 2:30 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load F (ASU) || 2:30 PM || 3:00 PM || 3:10 PM || 3:40 PM || Corrado || 4:35 PM || 2:35 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load F (ASU) || 2:30 PM || 3:00 PM || 3:10 PM || 3:40 PM || Levine || 4:35 PM || 2:35 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load F (ASU) || 2:30 PM || 3:00 PM || 3:10 PM || 3:40 PM || Garrison || 4:17 PM || 2:30 PM || Yes || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Thursday || Load G (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM || Wick || 5:35 PM || 3:35 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load G (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM || Coombs || 6:57 PM || 4:58 PM  || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load G (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load G (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load G (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load G (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM ||  ||  ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Thursday || Load H (ASU) || 9:00 PM || 9:30 PM || 9:40 PM || 10:10 PM || Tennant || 10:55 PM || 8:55 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load H (ASU) || 9:00 PM || 9:30 PM || 9:40 PM || 10:10 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load H (ASU) || 9:00 PM || 9:30 PM || 9:40 PM || 10:10 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load H (ASU) || 9:00 PM || 9:30 PM || 9:40 PM || 10:10 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load H (ASU) || 9:00 PM || 9:30 PM || 9:40 PM || 10:10 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Thursday || Load H (ASU) || 9:00 PM || 9:30 PM || 9:40 PM || 10:10 PM ||  ||  ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Friday || Load I (WCU) || 9:30 AM || 10:00 AM || 10:10 AM || 10:40 AM || Doran || 11:25 AM || 9:25 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load I (WCU) || 9:30 AM || 10:00 AM || 10:10 AM || 10:40 AM || Darby || 11:25 AM || 9:25 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load I (WCU) || 9:30 AM || 10:00 AM || 10:10 AM || 10:40 AM || Giarlo || 12:03 PM || 10:03 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load I (WCU) || 9:30 AM || 10:00 AM || 10:10 AM || 10:40 AM || Mathewson || 12:05 PM || 10:05 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load I (WCU) || 9:30 AM || 10:00 AM || 10:10 AM || 10:40 AM || Schwenter || 12:05 PM || 10:05 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load I (WCU) || 9:30 AM || 10:00 AM || 10:10 AM || 10:40 AM ||  ||  ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Friday || Load J (ASU) || 11:00 AM || 11:30 AM || 11:40 AM || 12:10 PM || Beer || 12:55 PM || 10:55 AM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load J (ASU) || 11:00 AM || 11:30 AM || 11:40 AM || 12:10 PM || Fleming || 2:26 PM || 12:26 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load J (ASU) || 11:00 AM || 11:30 AM || 11:40 AM || 12:10 PM || McGuire || 2:15 PM ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load J (ASU) || 11:00 AM || 11:30 AM || 11:40 AM || 12:10 PM || Harper || 1:07 PM ||  || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load J (ASU) || 11:00 AM || 11:30 AM || 11:40 AM || 12:10 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load J (ASU) || 11:00 AM || 11:30 AM || 11:40 AM || 12:10 PM ||  ||  ||  || No || No&lt;br /&gt;
|- style=&amp;quot;background:lightgrey;&amp;quot;&lt;br /&gt;
! Day !! Load Run Number !! Leaving Hotel* !! Arriving Airport !! Leaving Airport !! Back to Hotel !! Passenger !! Departure Time * !! Leave by !! Sent email/cell to committee !! Confirmed&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Friday || Load K (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM || Klein || 5:35 PM || 3:35 PM || Yes || Yes&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load K (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load K (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load K (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load K (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM ||  ||  ||  || No || No&lt;br /&gt;
|-&lt;br /&gt;
| Friday || Load K (WCU) || 3:30 PM || 4:00 PM || 4:10 PM || 4:40 PM ||  ||  ||  || No || No&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Omitted: (Departure, Hellman, flight time: 4:06PM Thu)&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib2010]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=C4L2010_social_activities&amp;diff=4565</id>
		<title>C4L2010 social activities</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=C4L2010_social_activities&amp;diff=4565"/>
				<updated>2010-02-15T16:27:00Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* BBQ Excursion Signup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Code4Lib 2010 social activities ==&lt;br /&gt;
&lt;br /&gt;
==Ideas==&lt;br /&gt;
[http://www.citizen-times.com/apps/pbcs.dll/article?AID=2009912010314 New breweries opening]&lt;br /&gt;
&lt;br /&gt;
[http://digital.library.appstate.edu/code4lib2010.html Original Proposal (suggests some nearby events)]&lt;br /&gt;
&lt;br /&gt;
[http://ashevilletwitterhashtags.blogspot.com/2009/09/asheville-beer-avlbeer.html Asheville Beer Hashtag]&lt;br /&gt;
&lt;br /&gt;
==Planned events==&lt;br /&gt;
&lt;br /&gt;
Plan one if you like! Either on your own or you can [[Committees_sign-up_page|join the social activities committee]].&lt;br /&gt;
&lt;br /&gt;
== Asheville Brews Cruise ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Experience a taste of Asheville’s thriving local beer scene with an exclusive tour of three of our award-winning microbreweries.&amp;quot; - http://www.brewscruise.com/asheville/&lt;br /&gt;
&lt;br /&gt;
This activity will be  Tuesday night starting at 6pm and leaving from the hotel. First stop will be the Asheville Pizza &amp;amp; Brewing Co. to sample 16-20 different beers and eat some pizza (food billed separately). Then two more stops at the French Broad Brewery and the Highland Brewing Company for more beer sampling and learning about their brewery process. &lt;br /&gt;
&lt;br /&gt;
The cost will be $40/person (not including pizza). The minimum number of folks we need is 16. &amp;lt;s&amp;gt;There is no maximum.&amp;lt;/s&amp;gt; Due to logistics of transportation and size of the establishments we'll be visiting I've had to set a max of 48 persons.&lt;br /&gt;
&lt;br /&gt;
==== Beer Cruise Signup ====&lt;br /&gt;
&lt;br /&gt;
Please indicate interest in the Beer Cruise by adding your name to the list below. We'll figure out a way to coordinate and communicate the details somewhere down the line.&lt;br /&gt;
&lt;br /&gt;
# Jay Luker (organizing, not driving)&lt;br /&gt;
# Mike Giarlo (inebriator)&lt;br /&gt;
# Rob Casson (drunk)&lt;br /&gt;
# Declan Fleming (beer receptacle)&lt;br /&gt;
# Jim Safley (recovering teetotaler)&lt;br /&gt;
# Ian Walls (epicurean of ale)&lt;br /&gt;
# Christopher Spalding (thirsty)&lt;br /&gt;
# Jon Gorman (imbiber of that which is good)&lt;br /&gt;
# Lori Stethers (token female)&lt;br /&gt;
# Carol Ou (beer enthusiast)&lt;br /&gt;
# Cristóbal Palmer (Reinheitsgebot skeptic)&lt;br /&gt;
# Tod Olson (enabler)&lt;br /&gt;
# Mark Matienzo (alefounder)&lt;br /&gt;
# Sibyl Schaefer (barfly)&lt;br /&gt;
# Laney McGlohon (brewmaster's assistant)&lt;br /&gt;
# Tania Fersenheim (Gold Medalist - Ithaca Beerlympics - Summer 1993)&lt;br /&gt;
# Melissa Manolis (Beer lacky and Librarian Groupie)&lt;br /&gt;
# Greg McClellan (master of beerology and beeronomy)&lt;br /&gt;
# Cary Gordon (hip hoppist)&lt;br /&gt;
# Mark Gallagher (Thing 1)&lt;br /&gt;
# Matt Bachtell (Thing 2)&lt;br /&gt;
# Sarah Kahn (has no title)&lt;br /&gt;
# Thom Cox (afraid of rectangles)&lt;br /&gt;
# Eric James (pour)&lt;br /&gt;
# Ray Schwartz (mighty thirsty)&lt;br /&gt;
# Jason Stirnaman (all about the stout)&lt;br /&gt;
# Mike Flakus (ipa all the way)&lt;br /&gt;
# Ben Florin (sounds neat--what's &amp;quot;beer&amp;quot;?)&lt;br /&gt;
# Ryan Wick (it comes in pints?)&lt;br /&gt;
# Sam Kome (have churchkey, will travel)&lt;br /&gt;
# Joe Atzberger&lt;br /&gt;
# Brendan Gallagher&lt;br /&gt;
# Chris Beer&lt;br /&gt;
# Tom Keays (growler)&lt;br /&gt;
# Ross Singer (empty vessel waiting to be filled)&lt;br /&gt;
# Eric Hellman (49 IBU)&lt;br /&gt;
# Paul Joseph (i bike leer)&lt;br /&gt;
# Cody Hennesy (don't mind if i do)&lt;br /&gt;
# Michael Vandenburg&lt;br /&gt;
# Stephen Meyer (Wisconsinite)&lt;br /&gt;
# Antonio Barrera&lt;br /&gt;
# Andrew Nagy&lt;br /&gt;
# Rosalyn Metz&lt;br /&gt;
# Esmé Cowles&lt;br /&gt;
# Dea Rice (Duchess of Ales)&lt;br /&gt;
# Sean Hannan (Peer Pressured)&lt;br /&gt;
# Scott Garrison (just made it by the froth of his beer?)&lt;br /&gt;
# Dan Suchy ( [no longer] late and now full of gratitude)  (berick: Dan, you get my spot.  you better get double drunk for me!)&lt;br /&gt;
&lt;br /&gt;
'''There is a max of 48 persons for this event. Sorry!'''&lt;br /&gt;
&lt;br /&gt;
'''Wait List'''&lt;br /&gt;
&lt;br /&gt;
# Brad Westbrook&lt;br /&gt;
# Spencer Lamm&lt;br /&gt;
&lt;br /&gt;
== 12 Bones BBQ Dinner Excursion ==&lt;br /&gt;
(was a lunch excursion)&lt;br /&gt;
&lt;br /&gt;
[http://www.12bones.com/ 12 Bones BBQ] is widely considered the best BBQ in Asheville [[http://www.yelp.com/biz/12-bones-smokehouse-asheville *]]. However it is only open from 11-4, M-F. We would like to organize a group so that we can rent out the place on Wednesday night.  If we get at least 50 people, it will be doable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''When:''' Wednesday, February 24th&lt;br /&gt;
&lt;br /&gt;
'''Time:''' 6:30pm&lt;br /&gt;
&lt;br /&gt;
'''Where:''' 5 Riverside Drive Asheville NC, 28801&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== BBQ Excursion Signup ====&lt;br /&gt;
&lt;br /&gt;
For the time being please indicate interest in the BBQ excursion by adding your name to the list below. We'll figure out a way to coordinate and communicate the details somewhere down the line.&lt;br /&gt;
&lt;br /&gt;
# Rosalyn Metz (the new organizer)&lt;br /&gt;
# Jay Luker (demoted but still devoted)&lt;br /&gt;
# Mike Giarlo (consumer)&lt;br /&gt;
# Rob Casson (glutton)&lt;br /&gt;
# Declan Fleming (condor)&lt;br /&gt;
# Erik Hatcher (carnivore)&lt;br /&gt;
# Christopher Spalding (digs swine)&lt;br /&gt;
# Mike Durbin (Porkaholic)&lt;br /&gt;
# Jeremy Frumkin (alloftheabove)&lt;br /&gt;
# Jon Gorman (Aficionado of smoke, flame, and good sauces)&lt;br /&gt;
# Michael Klein (EAT PIG)&lt;br /&gt;
# Mark Matienzo (saucy fellow)&lt;br /&gt;
# Cary Gordon (do they have vegan pig?)&lt;br /&gt;
# Sibyl Schaefer (finger licker)&lt;br /&gt;
# Greg McClellan (Mmmm... Pig)&lt;br /&gt;
# Ranti Junus (beef and chicken cheerleader)&lt;br /&gt;
# Tania Fersenheim (can't think of any non-vulgar tag lines)&lt;br /&gt;
# Matt Bachtell (hope they have vinegar based BBQ)&lt;br /&gt;
# Ray Schwartz (I eat vegetarians)&lt;br /&gt;
# Dileshni Jayasinghe (I just like to eat)&lt;br /&gt;
# Joe Atzberger (con carne)&lt;br /&gt;
# Michael Doran (a YES for Wednesday night)&lt;br /&gt;
# Thom Cox (ancho pepper addict)&lt;br /&gt;
# Chris Strauber (meat and flame!)&lt;br /&gt;
# Cindy Harper (I'm sorry, Babe)&lt;br /&gt;
# Brendan Gallagher&lt;br /&gt;
# Chris Beer&lt;br /&gt;
# Alexander O'Neill&lt;br /&gt;
# Bess Sadler&lt;br /&gt;
# Joyce Ouchida&lt;br /&gt;
# Ross Singer (Some Pig)&lt;br /&gt;
# Tod Olson (omnivore sans dilemma)&lt;br /&gt;
# Paul Joseph&lt;br /&gt;
# Vinita Tuteja&lt;br /&gt;
# Robin Hitch&lt;br /&gt;
# Ryan Wick&lt;br /&gt;
# Becky Yoose (bringing the wetwipe napkins)&lt;br /&gt;
# Joyce Chapman&lt;br /&gt;
# Andrew Darby&lt;br /&gt;
# Cory Lown&lt;br /&gt;
# Peter Murray (who knows that NC BBQ means one has to actually add the BBQ sauce)&lt;br /&gt;
# Jean Rainwater&lt;br /&gt;
# Matt Cordial&lt;br /&gt;
# Carol Ou (dinnertime excursion works for me)&lt;br /&gt;
# Karen Coombs&lt;br /&gt;
# Dan Lucas&lt;br /&gt;
# Gerald Snyder&lt;br /&gt;
# Michael Silver&lt;br /&gt;
# Julia Bauder (dinner partier)&lt;br /&gt;
# Jørn Thøgersen&lt;br /&gt;
# Michael Poltorak Nielsen&lt;br /&gt;
# Toke Eskildsen&lt;br /&gt;
# Mads Villadsen (the Danes are coming for Wednesday night BBQ!)&lt;br /&gt;
# Andreas Orphanides (I want to go to there.)&lt;br /&gt;
# Michael Vandenburg&lt;br /&gt;
# Wendy Huot&lt;br /&gt;
# David Bucknum&lt;br /&gt;
# Jason Casden&lt;br /&gt;
# Graham Stewart&lt;br /&gt;
# Joseph Ryan&lt;br /&gt;
# Dhanushka Samarakoon&lt;br /&gt;
# Eric Crenshaw&lt;br /&gt;
# Katherine Lynch&lt;br /&gt;
# Stephen Meyer&lt;br /&gt;
# Antonio Barrera (whats a BBQ without me)&lt;br /&gt;
# Ron Peterson&lt;br /&gt;
# Andrew Nagy (no witty comment)&lt;br /&gt;
# Corey Harper (Mmmmmm..... Carolina Pulled Pig)&lt;br /&gt;
# Eric Palmitesta&lt;br /&gt;
# Ben Florin&lt;br /&gt;
# Emily Lynema (pulled pork delicious)&lt;br /&gt;
# Erik Mitchell (Who could turn down an 80 person dinner experience?)&lt;br /&gt;
# Mike Flakus (pulled-porker)&lt;br /&gt;
# Matt Connolly (Memphian)&lt;br /&gt;
# Ian Walls&lt;br /&gt;
# Benjamin Young (BBQ is a noun)&lt;br /&gt;
# Esmé Cowles&lt;br /&gt;
# Tim Dennis&lt;br /&gt;
# Harry Kaplanian&lt;br /&gt;
&lt;br /&gt;
'''Sorry there is an 80 person limit for this event'''&lt;br /&gt;
&lt;br /&gt;
'''Wait List'''&lt;br /&gt;
# Ryan Scherle&lt;br /&gt;
# Amy McGuire&lt;br /&gt;
# Jason Battles&lt;br /&gt;
# Hong Ma&lt;br /&gt;
# Vanessa Meireles&lt;br /&gt;
# Mark Diggory&lt;br /&gt;
# Jonathan Rochkind&lt;br /&gt;
&lt;br /&gt;
==Vegetarian Dinner (Weds, AKA BBQ night)==&lt;br /&gt;
&lt;br /&gt;
[http://opheliasworldcafe.info/ Ophelia's World Cafe and Bar] does vegetarian, vegan, raw, gluten-free, sustainable seafood, and locally-raised meat products, with a focus on local and organic.  Also, a full bar.  [http://www.yelp.com/biz/ophelias-world-cafe-and-bar-asheville yelp reviews]. &lt;br /&gt;
&lt;br /&gt;
* max of 30 people&lt;br /&gt;
* meet at hotel to walk together - 6:30pm&lt;br /&gt;
* We are confirmed with the restaurant - reservation is at 6:45&lt;br /&gt;
* email Anna3LC if you have any questions - gmail&lt;br /&gt;
&lt;br /&gt;
# Jodi Schneider &lt;br /&gt;
# Maccabee Levine (token male)&lt;br /&gt;
# Eric Hellman (token carnivore)&lt;br /&gt;
# Carol Bean&lt;br /&gt;
# Sam Kome (omnivorous w/exception of BBQ)&lt;br /&gt;
# Dea Rice (Socialite)&lt;br /&gt;
# Sean Hannan (token token collector)&lt;br /&gt;
# Vidhya Arvind&lt;br /&gt;
# Cristóbal Palmer&lt;br /&gt;
# Lori Stethers&lt;br /&gt;
# Rick Johnson&lt;br /&gt;
# Anna Headley&lt;br /&gt;
# Kevin Clarke&lt;br /&gt;
# Gabriel Farrell&lt;br /&gt;
# Eric James&lt;br /&gt;
# Betsy Coles&lt;br /&gt;
# Harish Maringanti&lt;br /&gt;
# Emily Molanphy&lt;br /&gt;
# Shawn Averkamp&lt;br /&gt;
# Kevin Reiss&lt;br /&gt;
# Birkin&lt;br /&gt;
# Jon Stroop&lt;br /&gt;
# Birong Ho&lt;br /&gt;
# William Denton&lt;br /&gt;
# Gretchen Gueguen&lt;br /&gt;
# Steven Shelton&lt;br /&gt;
# Banurekha Lakshminarayanan&lt;br /&gt;
# Dan Brubaker Horst&lt;br /&gt;
# Martin Mehrling&lt;br /&gt;
# Dan Chudnov&lt;br /&gt;
# '''We're full!'''&lt;br /&gt;
&lt;br /&gt;
'''Wait List'''&lt;br /&gt;
# Erin Germ&lt;br /&gt;
# Naomi Dushay&lt;br /&gt;
# Shekhar Krishnan&lt;br /&gt;
# Schuyler Erle&lt;br /&gt;
&lt;br /&gt;
== Newcomer Dinner ==&lt;br /&gt;
First time at code4lib? Join fellow c4l newbies and veterans for an evening of food, socializing, and stimulating discussions about the many uses of bacon.&lt;br /&gt;
&lt;br /&gt;
Code4Lib veterans, you're invited too. Join us in welcoming the newcomers!&lt;br /&gt;
&lt;br /&gt;
'''Tentative plans (more information to come)'''&lt;br /&gt;
* When: Monday evening&lt;br /&gt;
* Time: 6 PM&lt;br /&gt;
* Where: Meet in the hotel lobby. Restaurants - Look below&lt;br /&gt;
* Mastermind (if you have any questions): [mailto:yoosebj@muohio.edu Becky Yoose]&lt;br /&gt;
&lt;br /&gt;
=== Newcomer Dinner Signup ===&lt;br /&gt;
&lt;br /&gt;
Clarification - you can still sign up if you didn't intially list your name the first time around. Sorry for any misunderstandings on my part. -_-; &lt;br /&gt;
&lt;br /&gt;
'''Restaurants'''&lt;br /&gt;
&lt;br /&gt;
''Guidelines:''&lt;br /&gt;
*Max of '''8''' per location&lt;br /&gt;
**Please, no waitlisting :(&lt;br /&gt;
*ID yourselves so we can get a good mix of new people and veterans&lt;br /&gt;
**New folks - n&lt;br /&gt;
**c4l vets - v&lt;br /&gt;
*One leader needed for each location (code4lib vets only)&lt;br /&gt;
**Leader duties&lt;br /&gt;
***Make reservations if required; otherwise make sure that the restaurant can handle a group of 8 rowdy library coders &lt;br /&gt;
***Herd folks from hotel to restaurant (know where you're going!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Spots still available below! 2/11 - added a couple more restaurants to make sure everyone has a spot!'''&lt;br /&gt;
&lt;br /&gt;
[http://www.vincenzos.com/ Vincenzo's] (Italian)&lt;br /&gt;
# [Leader] Bess Sadler - v&lt;br /&gt;
# Thom Cox - n&lt;br /&gt;
# Alexander O'Neill - n&lt;br /&gt;
# Leland Deeds - n&lt;br /&gt;
# Erin Germ - n&lt;br /&gt;
# Joe Atzberger - v&lt;br /&gt;
# Cindy Harper - n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.trippsrestaurants.com/ Tripps Restaurant] (Steakhouse)&lt;br /&gt;
# [Leader]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://tableasheville.com/page/276-home Table] (“New American”) &lt;br /&gt;
# [Leader] Devon Smith - v&lt;br /&gt;
# Anna Headley - n&lt;br /&gt;
# Cory Rockliff - n&lt;br /&gt;
# Jeff Sherwood - n&lt;br /&gt;
# Emily King - n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.mellowmushroom.com/ Mellow Mushroom Pizza Bakers] (Pizza) &lt;br /&gt;
# [Leader]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://limonesrestaurant.com/page/1240-Home Limones] (Mexican)&lt;br /&gt;
# [Leader]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.bistro1896.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=14&amp;amp;Itemid=42 Bistro 1896] (Bistro)&lt;br /&gt;
# [Leader]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.jackofthewood.com/ Jack of the Wood] (another pub for y'all)&lt;br /&gt;
# [Leader]&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sorry, these are full'''&lt;br /&gt;
&lt;br /&gt;
[http://www.doccheys.com/menu/ Doc Chey’s Noodle House] (Asian)&lt;br /&gt;
# [Leader] Emily Lynema - v&lt;br /&gt;
# Julia Bauder - n&lt;br /&gt;
# Joe Marquez - n&lt;br /&gt;
# Jason Battles - n&lt;br /&gt;
# Jill Ellern - n&lt;br /&gt;
# Michael Vandenburg -n&lt;br /&gt;
# Shekhar Krishnan&lt;br /&gt;
# Schuyler Erle &lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://ashevillebouchon.com/page/2511-Home Bouchon French Bistro] (French)&lt;br /&gt;
# [Leader] Ben Florin -v&lt;br /&gt;
# Gwen Exner - n&lt;br /&gt;
# Joel Richard - n (super-green!)&lt;br /&gt;
# Dan Lucas - n&lt;br /&gt;
# Hong Ma - n&lt;br /&gt;
# Vanessa Meireles - n&lt;br /&gt;
# Mark Diggory - n (but not green)&lt;br /&gt;
# David Woodbury - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.melaasheville.com/ Mela Indian Restaurant] (Indian)&lt;br /&gt;
# [Leader] Andrew Darby - v&lt;br /&gt;
# Joyce Ouchida - n&lt;br /&gt;
# Eric Celeste (spy) - n&lt;br /&gt;
# Kossivi (Jean-Paul) Bessou - n&lt;br /&gt;
# Steven Shelton - n&lt;br /&gt;
# Jeff Silvis - n&lt;br /&gt;
# Ya'aqov Ziso - n&lt;br /&gt;
# Banurekha - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.ichibanwasabi.com/ Wasabi Japanese Restaurant &amp;amp; Sushi Bar] (Japanese)&lt;br /&gt;
# [Leader] Ranti Junus - v&lt;br /&gt;
# Caitlin Shanley - n&lt;br /&gt;
# Erin White - n&lt;br /&gt;
# Joel Marchesoni - n&lt;br /&gt;
# Ken Rogers - n&lt;br /&gt;
# Chris Strauber - n&lt;br /&gt;
# Jodi Schneider - v&lt;br /&gt;
# Joyce Chapman - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://rosettaskitchen.com/our-menu Rosetta's Kitchen] (Vegetarian)&lt;br /&gt;
# [Leader] Rosalyn Metz -v&lt;br /&gt;
# Cody Hennesy - n&lt;br /&gt;
# Sam Kome - n&lt;br /&gt;
# John Yorio - n&lt;br /&gt;
# Shawn Averkamp - n&lt;br /&gt;
# Sarah Kahn- n&lt;br /&gt;
# Cory Lown - n&lt;br /&gt;
# Maccabee Levine - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.suwanathaiorchid.com/index.php Suwana's Thai Orchid Restaurant] (Thai) &lt;br /&gt;
# [Leader] Becky Yoose - v&lt;br /&gt;
# Andy Mardesich - n&lt;br /&gt;
# Amy McGuire&lt;br /&gt;
# Birong HO&lt;br /&gt;
# Ryan Scherle - n&lt;br /&gt;
# Mark Mounts - n&lt;br /&gt;
# Dan Brubaker Horst -n&lt;br /&gt;
# Rick Johnson - n&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://thelobstertrap.biz/ The Lobster Trap] (Seafood) &lt;br /&gt;
# [Leader] Michael Klein - v&lt;br /&gt;
# Janis Mathewson - n&lt;br /&gt;
# Karen Schwentner - n&lt;br /&gt;
# Tom Bennett - n&lt;br /&gt;
# Carol Ou - v&lt;br /&gt;
# Kenny Ketner - n&lt;br /&gt;
# Mike Flakus - n&lt;br /&gt;
# Michael Doran - v&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.ashevillebiergarden.com/ The Bier Garden (Pub)]&lt;br /&gt;
# [Leader] Mike Giarlo - v&lt;br /&gt;
# Dileshni Jayasinghe - n&lt;br /&gt;
# David Bucknum - n&lt;br /&gt;
# Sean Chen - n&lt;br /&gt;
# Sibyl Schaefer - n&lt;br /&gt;
# Dan Suchy - n&lt;br /&gt;
# Mark Matienzo - v&lt;br /&gt;
# Declan Fleming - v&lt;br /&gt;
# '''Sorry - full'''&lt;br /&gt;
# Eric Palmitesta -n (WAITLISTED!) - (BY note - Hi Eric, can you please choose from the available list above? Thanks! [Hey, Eric, you might sign up for Jack of the Wood.  Good beer there as well!  -MJG])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cut and paste your name to the restaurant of your choice :)&lt;br /&gt;
* Ross Singer&lt;br /&gt;
* Monica Claassen-Wilson&lt;br /&gt;
* Brendan Gallagher&lt;br /&gt;
* Yuka Egusa&lt;br /&gt;
* Masao Takaku&lt;br /&gt;
* Schuyler Erle&lt;br /&gt;
* Tim Shearer&lt;br /&gt;
* Michael Silver&lt;br /&gt;
* Jason Stirnaman&lt;br /&gt;
* Patrick Hochstenbach&lt;br /&gt;
* David Chandek-Stark&lt;br /&gt;
* David Kennedy&lt;br /&gt;
* Paul Joseph&lt;br /&gt;
* Vinita Tuteja&lt;br /&gt;
* Clint Bellanger&lt;br /&gt;
* Wendy Huot&lt;br /&gt;
* Robin Hitch&lt;br /&gt;
* Cary Gordon (likes anything that involves food)&lt;br /&gt;
* Graham Stewart&lt;br /&gt;
* David Woodbury&lt;br /&gt;
* Antonio Barrera&lt;br /&gt;
* Andrew Nagy&lt;br /&gt;
* Harry Kaplanian&lt;br /&gt;
* Scott Garrison&lt;br /&gt;
* Kevin Reiss&lt;br /&gt;
&lt;br /&gt;
== Werewolf! ==&lt;br /&gt;
It wouldn't be a tech conference unless we got together one evening to turn into a gang of murdering beasts and hyper-suspicious victims. Facilitated by the one and only mbklein.&lt;br /&gt;
&lt;br /&gt;
* When: Wednesday evening&lt;br /&gt;
* Time: 8 PM&lt;br /&gt;
* Where: TBA. Watch this space. &lt;br /&gt;
&lt;br /&gt;
=== Werewolf signup ===&lt;br /&gt;
* Michael Klein&lt;br /&gt;
* Alexander O'Neill&lt;br /&gt;
* Bess Sadler&lt;br /&gt;
* Leland Deeds&lt;br /&gt;
* Jean Rainwater&lt;br /&gt;
* Chris Beer&lt;br /&gt;
* Wendy Huot&lt;br /&gt;
* Jon Gorman&lt;br /&gt;
* Jodi Schneider&lt;br /&gt;
* Birkin (will arrive after the veggie-dinner, and hoping BBQ-ers will have time to make it, too)&lt;br /&gt;
* Harish (ditto)&lt;br /&gt;
* Jon Stroop&lt;br /&gt;
* Joel Marchesoni (tentative)&lt;br /&gt;
* Martin Mehrling&lt;br /&gt;
* Michael Vandenburg&lt;br /&gt;
&lt;br /&gt;
== Working Out ==&lt;br /&gt;
Gotta make up for that BBQ excursion somehow.  Let's work out!  Ideas: jogging or [http://www.crossfitasheville.com CrossFitting] (Monday evening, 5:30pm or 6:30pm).  Signup:&lt;br /&gt;
&lt;br /&gt;
* Erik Hatcher (game for both jogging and CrossFitting, bring it!)&lt;br /&gt;
* Erik Mitchell (Run downtown asheville or the parkway? - great 12 mile climb up the parkway around Pisgah Mtn.), How about a Code4Lib half-marathon?  (Why NOT!  Let's do a Half Marathon) - Ray Schwartz&lt;br /&gt;
**Bike riding - yes might be sketchy given our current weather &lt;br /&gt;
**Hike up Looking Glass Rock [http://www.hikewnc.info/trailheads/pisgah/pisgah/guidedhikes/lookingglassrock.html]&lt;br /&gt;
* Emily Lynema (game for jogging, hiking, walking, jumping jacks; not crazy enough for parkway running!)&lt;br /&gt;
* Ray Schwartz (game for a run - why not a half marathon?!).&lt;br /&gt;
* Rick Johnson (Looking to fit in a 10, 12 ,and 8 mile run while in town.  Was originally thinking I would go early in the morning: 6:30 or 7.  May not be able to run together everytime but definitely looking for suggestions on good routes)&lt;br /&gt;
* Thom Cox (lifting, cardio, yoga--all good)&lt;br /&gt;
* Jason Stirnaman (hiking, biking - don't mind the weather, lifting, cross-fitting)&lt;br /&gt;
* Jean Rainwater (need to get some runs in where the footing's not treacherous and the temp is above freezing)&lt;br /&gt;
* Gerald Snyder (a couple mornings jogging would be good, but only 4 or 5 miles for me thanks)&lt;br /&gt;
* Jodi Schneider (CrossFitting sounds fun if we can fit in [http://www.crossfitasheville.com/schedule/ their schedule], yoga, walking, hiking)&lt;br /&gt;
* Becky Yoose (hiking (intermediate level max), walking, cheer others on while they run a half marathon)&lt;br /&gt;
* Carol Bean (does shivering in the cold count as exercise?)&lt;br /&gt;
* John Barneson (I'm game for a.m. runs 5-10 miles. I would love a nice scenic route and I don't mind trail running)&lt;br /&gt;
* Gabriel Farrell (running, yoga, pickup soccer?)&lt;br /&gt;
* Kevin Reiss (running/hiking)&lt;br /&gt;
* Jeff Sherwood (I'd be into getting in a Crossfit WOD or maybe a run)&lt;br /&gt;
* Nick Hanssens (yoga; I teach if there is space and interest)&lt;br /&gt;
* Michael Vandenburg (Crossfit curious)&lt;br /&gt;
* Ranti Junus (yoga, walking, thumb wrestling - maybe)&lt;br /&gt;
* Mark Diggory (surfing,... kinda hard to find good waves in Asheville... will settle for a little hiking)&lt;br /&gt;
&lt;br /&gt;
== Sitting in a room together and half the time talking to each other out loud and half the time talking in IRC ==&lt;br /&gt;
&lt;br /&gt;
Because you know it's going to happen&lt;br /&gt;
&lt;br /&gt;
* William Denton&lt;br /&gt;
* Mike Giarlo (fulfiller of destinies)&lt;br /&gt;
* /ignore mjgiarlo&lt;br /&gt;
* Antonio Barrera (trying to avoid a repeat of Portland)&lt;br /&gt;
* Jodi Schneider (one of the highlights!!!)&lt;br /&gt;
* Bess Sadler (can it be in the hospitality suite at 4am? That's the best!)&lt;br /&gt;
* Mark Matienzo &lt;br /&gt;
* Ranti Junus (hoping somebody can help me hacking my chumby one to install [http://elinks.or.cz/ elinks] or [http://www.qtweb.net/ qtweb])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib2010]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut&amp;diff=3564</id>
		<title>Umlaut</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut&amp;diff=3564"/>
				<updated>2009-11-17T21:34:34Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Specific Topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Umlaut is [[OpenURL]] link resolving middleware that adds functions and services to commercial link resolving software such as [[SFX]]. &lt;br /&gt;
&lt;br /&gt;
[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
==More information==&lt;br /&gt;
&lt;br /&gt;
[[About Umlaut]] - A gentle introduction to what Umlaut is and what it can do for you.&lt;br /&gt;
&lt;br /&gt;
[http://bibwild.wordpress.com/2008/10/16/umlaut-digital-book/ Digital Text Features] - A tour of some of the 'advanced' digital text features, with a demos pointing to JHU site, hosted on jrochkind's blog. &lt;br /&gt;
&lt;br /&gt;
[http://rubyforge.org/mail/?group_id=4382 Umlaut Listserv]&lt;br /&gt;
&lt;br /&gt;
[http://umlaut.rubyforge.org/ Rubyforge home page for developers]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut wishlist]]&lt;br /&gt;
&lt;br /&gt;
==Installation and Configuration==&lt;br /&gt;
&lt;br /&gt;
[[Umlaut Installation]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut_Deployment]]&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
[http://umlaut.rubyforge.org/api/ Umlaut API Documentation]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut Technical Overview]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut_Deployment]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut Local Configuration Architecture]]&lt;br /&gt;
&lt;br /&gt;
===Specific Topics===&lt;br /&gt;
&lt;br /&gt;
[[Umlaut URL parameters]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut logging]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut SFX statistics gotchas]]&lt;br /&gt;
&lt;br /&gt;
====APIs====&lt;br /&gt;
&lt;br /&gt;
[[Umlaut full API]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut partial html API]]&lt;br /&gt;
&lt;br /&gt;
[[Umlaut partial html API javascript helper]]&lt;br /&gt;
&lt;br /&gt;
====Developer Notes====&lt;br /&gt;
[[Notes for a User/Auth architecture]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=3096</id>
		<title>Code4Lib Journal Email Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=3096"/>
				<updated>2009-07-27T16:35:50Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Call for proposals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See also [[Code4Lib_Journal_Deadlines]]''&lt;br /&gt;
&lt;br /&gt;
== Call for proposals ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Call for Papers (and apologies for cross-posting):&lt;br /&gt;
&lt;br /&gt;
The Code4Lib Journal (C4LJ) exists to foster community and share&lt;br /&gt;
information among those interested in the intersection of libraries,&lt;br /&gt;
technology, and the future.&lt;br /&gt;
&lt;br /&gt;
The Code4Lib Journal is now accepting proposals for publication in its&lt;br /&gt;
8th issue. Don't miss out on this opportunity to share your ideas and&lt;br /&gt;
experiences. To be included in the 8th issue, which is scheduled for&lt;br /&gt;
publication in mid November 2009, please submit articles, abstracts,&lt;br /&gt;
or proposals to c4lj-articles@googlegroups.com by Friday, August 14,&lt;br /&gt;
2009.  When submitting, please include the title or subject of the&lt;br /&gt;
proposal in the subject line of the email message.&lt;br /&gt;
&lt;br /&gt;
C4LJ encourages creativity and flexibility, and the editors welcome&lt;br /&gt;
submissions across a broad variety of topics that support the mission&lt;br /&gt;
of the journal. Possible topics include, but are not limited to:&lt;br /&gt;
&lt;br /&gt;
   * Practical applications of library technology (both actual and hypothetical)&lt;br /&gt;
   * Technology projects (failed, successful, or proposed), including how they were done and challenges faced&lt;br /&gt;
   * Case studies&lt;br /&gt;
   * Best practices&lt;br /&gt;
   * Reviews&lt;br /&gt;
   * Comparisons of third party software or libraries&lt;br /&gt;
   * Analyses of library metadata for use with technology&lt;br /&gt;
   * Project management and communication within the library environment&lt;br /&gt;
   * Assessment and user studies&lt;br /&gt;
&lt;br /&gt;
C4LJ strives to promote professional communication by minimizing the&lt;br /&gt;
barriers to publication. While articles should be of a high quality,&lt;br /&gt;
they need not follow any formal structure. Writers should aim for the&lt;br /&gt;
middle ground between blog posts and articles in traditional refereed&lt;br /&gt;
journals. Where appropriate, we encourage authors to submit code&lt;br /&gt;
samples, algorithms, and pseudo-code.  For more information, visit&lt;br /&gt;
C4LJ's Article Guidelines or browse articles from the first 7 issues&lt;br /&gt;
published on our website: http://journal.code4lib.org.&lt;br /&gt;
&lt;br /&gt;
Remember, for consideration for the 8th issue, please send proposals,&lt;br /&gt;
abstracts, or draft articles to c4lj-articles@googlegroups.com no&lt;br /&gt;
later than Friday, August 14, 2009.&lt;br /&gt;
&lt;br /&gt;
Send in a submission. Your peers would like to hear what you are doing.&lt;br /&gt;
&lt;br /&gt;
Code4Lib Journal Editorial Committee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Submission Acknowledgement  ==&lt;br /&gt;
&lt;br /&gt;
Thanks for submitting a proposal to the Code4Lib Journal. We appreciate your participation in the code4lib community. The editors have received your proposal and should be in touch with you in 2-4 weeks regarding its appropriateness for publication in C4LJ. We will notify you if we need additional information to make this decision. Please feel free to contact us at c4lj-articles@googlegroups.com if you have additional questions.&lt;br /&gt;
&lt;br /&gt;
== Need More Information ==&lt;br /&gt;
&lt;br /&gt;
Thank you for your interest in publishing in the Code4Lib Journal. The Journal is primarily focused on technological issues in libraries. In order to help the editors determine if your proposal is appropriate for this publication, could you share more details about the intended audience for the the article and how it will address issues surrounding technology in libraries? Please respond to c4lj-articles@googlegroups.com with the additional information requested.&lt;br /&gt;
&lt;br /&gt;
You may also contact the editors at c4lj-articles@googlegroups.com if you have any additional questions. We look forward to hearing from you.&lt;br /&gt;
&lt;br /&gt;
== Proposal Accepted ==&lt;br /&gt;
&lt;br /&gt;
I'm pleased to tell you that your recent proposal for an article about&lt;br /&gt;
&amp;lt;insert topic/title&amp;gt; has been provisionally accepted to the Code4Lib&lt;br /&gt;
Journal.  The editorial committee is interested in your proposal, and&lt;br /&gt;
would like to see a draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;insert any additional comments about focus we'd like to see in the&lt;br /&gt;
article or editorial committee concerns. Sample language &amp;quot;We're&lt;br /&gt;
especially interested in X, and we'd like you to make sure to flesh&lt;br /&gt;
this out when you write the article.&amp;quot;  &amp;quot;We're interested in this&lt;br /&gt;
proposal if you can do X, Y, or Z.&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a member of the Code4Lib Journal editorial committee, I will be&lt;br /&gt;
your contact for this article, and will work with you to get it ready&lt;br /&gt;
for publication.&lt;br /&gt;
&lt;br /&gt;
We hope to publish your article in issue &amp;lt;#&amp;gt; of the Journal, which is&lt;br /&gt;
scheduled to appear on &amp;lt;insert date here&amp;gt;. The deadline for submission&lt;br /&gt;
of a complete draft is &amp;lt;deadline for draft&amp;gt;, but the sooner you can&lt;br /&gt;
get us a draft the better, and the more likely we'll be able to get&lt;br /&gt;
your article into issue &amp;lt;#&amp;gt;.  Upon receipt of the draft, I will work&lt;br /&gt;
with you to address any changes recommended by the Editorial&lt;br /&gt;
Committee.  More information about our author guidelines may be found &lt;br /&gt;
at http://journal.code4lib.org/article-guidelines. &lt;br /&gt;
&lt;br /&gt;
Please note that final drafts must be approved by a vote of the&lt;br /&gt;
Editorial Committee before being published.&lt;br /&gt;
&lt;br /&gt;
We also require all authors to agree to CC-BY licensing for the&lt;br /&gt;
articles we publish in the journal. We recommend that any included&lt;br /&gt;
code also have some type of code-specific open source license (such as&lt;br /&gt;
the GPL).&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing a complete draft and hope to include it in&lt;br /&gt;
the Journal. Thank you for submitting to us, and feel free to contact&lt;br /&gt;
me directly with any questions.&lt;br /&gt;
&lt;br /&gt;
== Proposal Rejected  ==&lt;br /&gt;
&lt;br /&gt;
We regret to inform you that your recent proposal to the Code4Lib Journal for an article about &amp;lt;insert topic/title&amp;gt; has not been accepted for publication. This is likely because the Editorial Committee determined that it was not an appropriate match for the audience, mission, or scope of the Code4Lib Journal. [optional - insert comment here about why it's not appropriate]&lt;br /&gt;
&lt;br /&gt;
For more information about the mission of the Code4Lib Journal, please see http://journal.code4lib.org/mission/.&lt;br /&gt;
&lt;br /&gt;
Thanks for considering us, and please do not hesitate to contact the editors at c4lj-articles@googlegroups.com in the future with a new or revised proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=3095</id>
		<title>Code4Lib Journal Email Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=3095"/>
				<updated>2009-07-27T16:35:20Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See also [[Code4Lib_Journal_Deadlines]]''&lt;br /&gt;
&lt;br /&gt;
== Call for proposals ==&lt;br /&gt;
&lt;br /&gt;
Call for Papers (and apologies for cross-posting):&lt;br /&gt;
&lt;br /&gt;
The Code4Lib Journal (C4LJ) exists to foster community and share&lt;br /&gt;
information among those interested in the intersection of libraries,&lt;br /&gt;
technology, and the future.&lt;br /&gt;
&lt;br /&gt;
The Code4Lib Journal is now accepting proposals for publication in its&lt;br /&gt;
8th issue. Don't miss out on this opportunity to share your ideas and&lt;br /&gt;
experiences. To be included in the 8th issue, which is scheduled for&lt;br /&gt;
publication in mid November 2009, please submit articles, abstracts,&lt;br /&gt;
or proposals to c4lj-articles@googlegroups.com by Friday, August 14,&lt;br /&gt;
2009.  When submitting, please include the title or subject of the&lt;br /&gt;
proposal in the subject line of the email message.&lt;br /&gt;
&lt;br /&gt;
C4LJ encourages creativity and flexibility, and the editors welcome&lt;br /&gt;
submissions across a broad variety of topics that support the mission&lt;br /&gt;
of the journal. Possible topics include, but are not limited to:&lt;br /&gt;
&lt;br /&gt;
   * Practical applications of library technology (both actual and hypothetical)&lt;br /&gt;
   * Technology projects (failed, successful, or proposed), including how they were done and challenges faced&lt;br /&gt;
   * Case studies&lt;br /&gt;
   * Best practices&lt;br /&gt;
   * Reviews&lt;br /&gt;
   * Comparisons of third party software or libraries&lt;br /&gt;
   * Analyses of library metadata for use with technology&lt;br /&gt;
   * Project management and communication within the library environment&lt;br /&gt;
   * Assessment and user studies&lt;br /&gt;
&lt;br /&gt;
C4LJ strives to promote professional communication by minimizing the&lt;br /&gt;
barriers to publication. While articles should be of a high quality,&lt;br /&gt;
they need not follow any formal structure. Writers should aim for the&lt;br /&gt;
middle ground between blog posts and articles in traditional refereed&lt;br /&gt;
journals. Where appropriate, we encourage authors to submit code&lt;br /&gt;
samples, algorithms, and pseudo-code.  For more information, visit&lt;br /&gt;
C4LJ's Article Guidelines or browse articles from the first 7 issues&lt;br /&gt;
published on our website: http://journal.code4lib.org.&lt;br /&gt;
&lt;br /&gt;
Remember, for consideration for the 8th issue, please send proposals,&lt;br /&gt;
abstracts, or draft articles to c4lj-articles@googlegroups.com no&lt;br /&gt;
later than Friday, August 14, 2009.&lt;br /&gt;
&lt;br /&gt;
Send in a submission. Your peers would like to hear what you are doing.&lt;br /&gt;
&lt;br /&gt;
Code4Lib Journal Editorial Committee&lt;br /&gt;
&lt;br /&gt;
== Submission Acknowledgement  ==&lt;br /&gt;
&lt;br /&gt;
Thanks for submitting a proposal to the Code4Lib Journal. We appreciate your participation in the code4lib community. The editors have received your proposal and should be in touch with you in 2-4 weeks regarding its appropriateness for publication in C4LJ. We will notify you if we need additional information to make this decision. Please feel free to contact us at c4lj-articles@googlegroups.com if you have additional questions.&lt;br /&gt;
&lt;br /&gt;
== Need More Information ==&lt;br /&gt;
&lt;br /&gt;
Thank you for your interest in publishing in the Code4Lib Journal. The Journal is primarily focused on technological issues in libraries. In order to help the editors determine if your proposal is appropriate for this publication, could you share more details about the intended audience for the the article and how it will address issues surrounding technology in libraries? Please respond to c4lj-articles@googlegroups.com with the additional information requested.&lt;br /&gt;
&lt;br /&gt;
You may also contact the editors at c4lj-articles@googlegroups.com if you have any additional questions. We look forward to hearing from you.&lt;br /&gt;
&lt;br /&gt;
== Proposal Accepted ==&lt;br /&gt;
&lt;br /&gt;
I'm pleased to tell you that your recent proposal for an article about&lt;br /&gt;
&amp;lt;insert topic/title&amp;gt; has been provisionally accepted to the Code4Lib&lt;br /&gt;
Journal.  The editorial committee is interested in your proposal, and&lt;br /&gt;
would like to see a draft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;insert any additional comments about focus we'd like to see in the&lt;br /&gt;
article or editorial committee concerns. Sample language &amp;quot;We're&lt;br /&gt;
especially interested in X, and we'd like you to make sure to flesh&lt;br /&gt;
this out when you write the article.&amp;quot;  &amp;quot;We're interested in this&lt;br /&gt;
proposal if you can do X, Y, or Z.&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a member of the Code4Lib Journal editorial committee, I will be&lt;br /&gt;
your contact for this article, and will work with you to get it ready&lt;br /&gt;
for publication.&lt;br /&gt;
&lt;br /&gt;
We hope to publish your article in issue &amp;lt;#&amp;gt; of the Journal, which is&lt;br /&gt;
scheduled to appear on &amp;lt;insert date here&amp;gt;. The deadline for submission&lt;br /&gt;
of a complete draft is &amp;lt;deadline for draft&amp;gt;, but the sooner you can&lt;br /&gt;
get us a draft the better, and the more likely we'll be able to get&lt;br /&gt;
your article into issue &amp;lt;#&amp;gt;.  Upon receipt of the draft, I will work&lt;br /&gt;
with you to address any changes recommended by the Editorial&lt;br /&gt;
Committee.  More information about our author guidelines may be found &lt;br /&gt;
at http://journal.code4lib.org/article-guidelines. &lt;br /&gt;
&lt;br /&gt;
Please note that final drafts must be approved by a vote of the&lt;br /&gt;
Editorial Committee before being published.&lt;br /&gt;
&lt;br /&gt;
We also require all authors to agree to CC-BY licensing for the&lt;br /&gt;
articles we publish in the journal. We recommend that any included&lt;br /&gt;
code also have some type of code-specific open source license (such as&lt;br /&gt;
the GPL).&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing a complete draft and hope to include it in&lt;br /&gt;
the Journal. Thank you for submitting to us, and feel free to contact&lt;br /&gt;
me directly with any questions.&lt;br /&gt;
&lt;br /&gt;
== Proposal Rejected  ==&lt;br /&gt;
&lt;br /&gt;
We regret to inform you that your recent proposal to the Code4Lib Journal for an article about &amp;lt;insert topic/title&amp;gt; has not been accepted for publication. This is likely because the Editorial Committee determined that it was not an appropriate match for the audience, mission, or scope of the Code4Lib Journal. [optional - insert comment here about why it's not appropriate]&lt;br /&gt;
&lt;br /&gt;
For more information about the mission of the Code4Lib Journal, please see http://journal.code4lib.org/mission/.&lt;br /&gt;
&lt;br /&gt;
Thanks for considering us, and please do not hesitate to contact the editors at c4lj-articles@googlegroups.com in the future with a new or revised proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Local_Configuration_Architecture&amp;diff=2855</id>
		<title>Umlaut Local Configuration Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Local_Configuration_Architecture&amp;diff=2855"/>
				<updated>2009-06-11T14:38:56Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
== Principles/Goals: ==&lt;br /&gt;
&lt;br /&gt;
# Ideally you will not need to edit the common Umlaut codebase to make purely local customizations. All local customizations should occur via various types of configuration options, with the common Umlaut codebase being untouched - except with changes of wider applicability you submit back to the common codebase.&lt;br /&gt;
# This means any code or config for local customization will ideally be kept clearly distinct from the common codebase.&lt;br /&gt;
# If you like, you should be able to keep any of your local code or config files in your own local SVN or CVS repository, while at the same time getting shared codebase Umlaut code from the central Umlaut repository, combined together in a working Umlaut installation. (You might or might not want your production Umlaut to be an SVN working copy, but if you are a developer you will certainly want your development copy to be!)&lt;br /&gt;
&lt;br /&gt;
To accomplish this required doing things a tiny bit different than standard Rails.  &lt;br /&gt;
:''We realized after the fact that the Rails Engines plugin might be a great solution to those Goals, requiring less that's 'not the Rails way', and may explore refactoring Umlaut to be an Engines plug-in. But hasn't happened yet.''&lt;br /&gt;
&lt;br /&gt;
Where in a normal Rails app you would customize various files in the config directory, in Umlaut the files in the config directly have common Umlaut configuration necessary for any Umlaut environment, but your local config is instead in files in config/umlaut_config.  There are files used in umlaut_config that look very much like the standard Rails config files (eg database.yml, environment.rb), and also some Umlaut specific ones (eg services.yml, institutions.yml).&lt;br /&gt;
&lt;br /&gt;
== Directory Locations For Local Content ==&lt;br /&gt;
umlaut_config is just one of Umlaut's locations where local and localized code, config, and data lives:&lt;br /&gt;
&lt;br /&gt;
* $Umlaut/config/umlaut_config: local configuration&lt;br /&gt;
* $Umlaut/public/local : Local graphics and other resources that can be served directly by the web server. &lt;br /&gt;
* $Umlaut/app/views/layouts/local : Local layouts (Used to put local banner, footer, stylesheets etc. on your pages)&lt;br /&gt;
* $Umlaut/app/views/local : Used to store any local Rails 'views', entirely customized page layouts of Umlaut functionality for local needs. &lt;br /&gt;
&lt;br /&gt;
Other locations that are '''NOT yet used''', but would be reasonable extensions of this architecture in the future:&lt;br /&gt;
&lt;br /&gt;
* $Umlaut/app/controllers/local&lt;br /&gt;
* $Umlaut/app/models/local&lt;br /&gt;
&lt;br /&gt;
== Generation of local files ==&lt;br /&gt;
&lt;br /&gt;
There is a a generator to create all these locations, and seed them with some sample data - since we want to make it easy to control them in your own SVN, you don't get even these local directory locations from the Umlaut svn. &lt;br /&gt;
&lt;br /&gt;
You may already have run the generator to create these files from the [Umlaut Setup] step, but if not, change into $Umlaut directory and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;./script/generate umlaut_local&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don't worry if you run this twice; it'll warn and prompt you before over-writing any existing files. &lt;br /&gt;
&lt;br /&gt;
== Rake Tasks to Aid in Management of Local Locations ==&lt;br /&gt;
&lt;br /&gt;
Integrating somewhat elegantly with Rails means that your local content is spread accross several different directories. Umlaut provides some rake tasks to help you control them in your own local svn. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:We also provide some rake tasks to perform svn operations on all of these local locations at once.&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:import_to_svn&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:You've generated all this stuff, and added your own local content. Run this to add it all to your own local SVN--or any other SVN you have access to to store your local config. You'll be prompted for an SVN base path.  Make sure to run umlaut_lcl:commit too, this operation does not commit any files!&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:checkout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Let's say you already have your local files in your own SVN, but now you doing a new Umlaut install for whatever reason. This rake task will pull all your local stuff down en masse and put it into the new install. You will be prompted for an SVN base. &lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:svn update all local directory locations.&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:commit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:svn commit all local directory locations.&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:status&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Runs svn status on all local directory locations at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need to create an svn repo on a Linux box it's as easy as:&lt;br /&gt;
&lt;br /&gt;
mkdir /home/username/svn&lt;br /&gt;
&lt;br /&gt;
svnadmin create /home/username/svn&lt;br /&gt;
&lt;br /&gt;
Then you can run the above rake tasks.&lt;br /&gt;
&lt;br /&gt;
== A Locally Customized Layout ==&lt;br /&gt;
&lt;br /&gt;
In addition to  config files in umlaut_config, the one piece of local customization that almost everyone will do first is creating a local layout for your own look and feel. This can be fairly easily done even to those new to Ruby Rails. In Rails, there are template wrappers (or wrapper templates?) known as 'layouts'.  We'll walk you through customizing an Umlaut layout to your local needs, and saving it in a local location.&lt;br /&gt;
&lt;br /&gt;
Start out by copying the default resolver layout from $Umlaut/app/views/layouts/resolve_basic.rhtml to $Umlaut/app/views/layouts/local/myuniversity_resolve_layout.rhtml.&lt;br /&gt;
&lt;br /&gt;
It's this copy now in local that you'll modify.&lt;br /&gt;
&lt;br /&gt;
* Don't have a directory at .../layouts/local?  See the above section! You need to run &amp;quot;rake umlaut_lcl:generate&amp;quot; and it'll make one for you. Or you could just create it by hand. &lt;br /&gt;
* In addition to the resolve_basic.rhtml, some other example locally customized resolve layouts are distributed with umlaut in $Umlaut/app/views/layouts/distribution. You could start with one of these instead, or use them to see what's possible.&lt;br /&gt;
&lt;br /&gt;
Now edit this local copy to your heart's content. Change the header, change the footer. Link to a different stylesheet (perhaps your want to keep your own custom stylesheet in $Umlaut/public/local, and use the Rails methods to link to it). You should not disturb the declerations that looks like this:&lt;br /&gt;
&lt;br /&gt;
:render(:partial =&amp;gt; &amp;quot;layout_helpers/resolve_head_content&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:render(:partial =&amp;gt; &amp;quot;layout_helpers/resolve_body_open&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Because they bring in some standard Umlaut functionality. But just about everything else is fair game.&lt;br /&gt;
&lt;br /&gt;
Now you've got your layout all customized, how do you get your Umlaut installation to use it? (Of course, really, you'd want to get Umlaut to use it as you are developing it, so you can see how it looks!).&lt;br /&gt;
&lt;br /&gt;
In your local config file at $Umlaut/config/umlaut_config/environment.rb, add (or uncomment) this line:&lt;br /&gt;
&lt;br /&gt;
:config.app_config.resolve_layout = &amp;quot;local/myuniversity_resolve_layout.rhtml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Start (or restart) Umlaut, and it should now be using your localized layout. Neat, huh?&lt;br /&gt;
&lt;br /&gt;
This gives an example of how Umlaut localization is meant to work in general. Note how you didn't need to edit any of the files that came from Umlaut SVN to make this customization.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Local_Configuration_Architecture&amp;diff=2854</id>
		<title>Umlaut Local Configuration Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Local_Configuration_Architecture&amp;diff=2854"/>
				<updated>2009-06-11T14:38:29Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Rake Tasks to Aid in Management of Local Locations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
== Principles/Goals: ==&lt;br /&gt;
&lt;br /&gt;
# Ideally you will not need to edit the common Umlaut codebase to make purely local customizations. All local customizations should occur via various types of configuration options, with the common Umlaut codebase being untouched - except with changes of wider applicability you submit back to the common codebase.&lt;br /&gt;
# This means any code or config for local customization will ideally be kept clearly distinct from the common codebase.&lt;br /&gt;
# If you like, you should be able to keep any of your local code or config files in your own local SVN or CVS repository, while at the same time getting shared codebase Umlaut code from the central Umlaut repository, combined together in a working Umlaut installation. (You might or might not want your production Umlaut to be an SVN working copy, but if you are a developer you will certainly want your development copy to be!)&lt;br /&gt;
&lt;br /&gt;
To accomplish this required doing things a tiny bit different than standard Rails.  &lt;br /&gt;
:''We realized after the fact that the Rails Engines plugin might be a great solution to those Goals, requiring less that's 'not the Rails way', and may explore refactoring Umlaut to be an Engines plug-in. But hasn't happened yet.''&lt;br /&gt;
&lt;br /&gt;
Where in a normal Rails app you would customize various files in the config directory, in Umlaut the files in the config directly have common Umlaut configuration necessary for any Umlaut environment, but your local config is instead in files in config/umlaut_config.  There are files used in umlaut_config that look very much like the standard Rails config files (eg database.yml, environment.rb), and also some Umlaut specific ones (eg services.yml, institutions.yml).&lt;br /&gt;
&lt;br /&gt;
== Directory Locations For Local Content ==&lt;br /&gt;
umlaut_config is just one of Umlaut's locations where local and localized code, config, and data lives:&lt;br /&gt;
&lt;br /&gt;
* $Umlaut/config/umlaut_config: local configuration&lt;br /&gt;
* $Umlaut/public/local : Local graphics and other resources that can be served directly by the web server. &lt;br /&gt;
* $Umlaut/app/views/layouts/local : Local layouts (Used to put local banner, footer, stylesheets etc. on your pages)&lt;br /&gt;
* $Umlaut/app/views/local : Used to store any local Rails 'views', entirely customized page layouts of Umlaut functionality for local needs. &lt;br /&gt;
&lt;br /&gt;
Other locations that are '''NOT yet used''', but would be reasonable extensions of this architecture in the future:&lt;br /&gt;
&lt;br /&gt;
* $Umlaut/app/controllers/local&lt;br /&gt;
* $Umlaut/app/models/local&lt;br /&gt;
&lt;br /&gt;
== Rake Tasks to Aid in Management of Local Locations ==&lt;br /&gt;
&lt;br /&gt;
Integrating somewhat elegantly with Rails means that your local content is spread accross several different directories. Umlaut provides some rake tasks to help you control them in your own local svn. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:We also provide some rake tasks to perform svn operations on all of these local locations at once.&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:import_to_svn&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:You've generated all this stuff, and added your own local content. Run this to add it all to your own local SVN--or any other SVN you have access to to store your local config. You'll be prompted for an SVN base path.  Make sure to run umlaut_lcl:commit too, this operation does not commit any files!&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:checkout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Let's say you already have your local files in your own SVN, but now you doing a new Umlaut install for whatever reason. This rake task will pull all your local stuff down en masse and put it into the new install. You will be prompted for an SVN base. &lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:svn update all local directory locations.&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:commit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:svn commit all local directory locations.&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:status&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Runs svn status on all local directory locations at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need to create an svn repo on a Linux box it's as easy as:&lt;br /&gt;
&lt;br /&gt;
mkdir /home/username/svn&lt;br /&gt;
&lt;br /&gt;
svnadmin create /home/username/svn&lt;br /&gt;
&lt;br /&gt;
Then you can run the above rake tasks.&lt;br /&gt;
&lt;br /&gt;
== A Locally Customized Layout ==&lt;br /&gt;
&lt;br /&gt;
In addition to  config files in umlaut_config, the one piece of local customization that almost everyone will do first is creating a local layout for your own look and feel. This can be fairly easily done even to those new to Ruby Rails. In Rails, there are template wrappers (or wrapper templates?) known as 'layouts'.  We'll walk you through customizing an Umlaut layout to your local needs, and saving it in a local location.&lt;br /&gt;
&lt;br /&gt;
Start out by copying the default resolver layout from $Umlaut/app/views/layouts/resolve_basic.rhtml to $Umlaut/app/views/layouts/local/myuniversity_resolve_layout.rhtml.&lt;br /&gt;
&lt;br /&gt;
It's this copy now in local that you'll modify.&lt;br /&gt;
&lt;br /&gt;
* Don't have a directory at .../layouts/local?  See the above section! You need to run &amp;quot;rake umlaut_lcl:generate&amp;quot; and it'll make one for you. Or you could just create it by hand. &lt;br /&gt;
* In addition to the resolve_basic.rhtml, some other example locally customized resolve layouts are distributed with umlaut in $Umlaut/app/views/layouts/distribution. You could start with one of these instead, or use them to see what's possible.&lt;br /&gt;
&lt;br /&gt;
Now edit this local copy to your heart's content. Change the header, change the footer. Link to a different stylesheet (perhaps your want to keep your own custom stylesheet in $Umlaut/public/local, and use the Rails methods to link to it). You should not disturb the declerations that looks like this:&lt;br /&gt;
&lt;br /&gt;
:render(:partial =&amp;gt; &amp;quot;layout_helpers/resolve_head_content&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:render(:partial =&amp;gt; &amp;quot;layout_helpers/resolve_body_open&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Because they bring in some standard Umlaut functionality. But just about everything else is fair game.&lt;br /&gt;
&lt;br /&gt;
Now you've got your layout all customized, how do you get your Umlaut installation to use it? (Of course, really, you'd want to get Umlaut to use it as you are developing it, so you can see how it looks!).&lt;br /&gt;
&lt;br /&gt;
In your local config file at $Umlaut/config/umlaut_config/environment.rb, add (or uncomment) this line:&lt;br /&gt;
&lt;br /&gt;
:config.app_config.resolve_layout = &amp;quot;local/myuniversity_resolve_layout.rhtml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Start (or restart) Umlaut, and it should now be using your localized layout. Neat, huh?&lt;br /&gt;
&lt;br /&gt;
This gives an example of how Umlaut localization is meant to work in general. Note how you didn't need to edit any of the files that came from Umlaut SVN to make this customization.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Local_Configuration_Architecture&amp;diff=2853</id>
		<title>Umlaut Local Configuration Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Local_Configuration_Architecture&amp;diff=2853"/>
				<updated>2009-06-11T14:37:53Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Rake Tasks to Aid in Management of Local Locations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
== Principles/Goals: ==&lt;br /&gt;
&lt;br /&gt;
# Ideally you will not need to edit the common Umlaut codebase to make purely local customizations. All local customizations should occur via various types of configuration options, with the common Umlaut codebase being untouched - except with changes of wider applicability you submit back to the common codebase.&lt;br /&gt;
# This means any code or config for local customization will ideally be kept clearly distinct from the common codebase.&lt;br /&gt;
# If you like, you should be able to keep any of your local code or config files in your own local SVN or CVS repository, while at the same time getting shared codebase Umlaut code from the central Umlaut repository, combined together in a working Umlaut installation. (You might or might not want your production Umlaut to be an SVN working copy, but if you are a developer you will certainly want your development copy to be!)&lt;br /&gt;
&lt;br /&gt;
To accomplish this required doing things a tiny bit different than standard Rails.  &lt;br /&gt;
:''We realized after the fact that the Rails Engines plugin might be a great solution to those Goals, requiring less that's 'not the Rails way', and may explore refactoring Umlaut to be an Engines plug-in. But hasn't happened yet.''&lt;br /&gt;
&lt;br /&gt;
Where in a normal Rails app you would customize various files in the config directory, in Umlaut the files in the config directly have common Umlaut configuration necessary for any Umlaut environment, but your local config is instead in files in config/umlaut_config.  There are files used in umlaut_config that look very much like the standard Rails config files (eg database.yml, environment.rb), and also some Umlaut specific ones (eg services.yml, institutions.yml).&lt;br /&gt;
&lt;br /&gt;
== Directory Locations For Local Content ==&lt;br /&gt;
umlaut_config is just one of Umlaut's locations where local and localized code, config, and data lives:&lt;br /&gt;
&lt;br /&gt;
* $Umlaut/config/umlaut_config: local configuration&lt;br /&gt;
* $Umlaut/public/local : Local graphics and other resources that can be served directly by the web server. &lt;br /&gt;
* $Umlaut/app/views/layouts/local : Local layouts (Used to put local banner, footer, stylesheets etc. on your pages)&lt;br /&gt;
* $Umlaut/app/views/local : Used to store any local Rails 'views', entirely customized page layouts of Umlaut functionality for local needs. &lt;br /&gt;
&lt;br /&gt;
Other locations that are '''NOT yet used''', but would be reasonable extensions of this architecture in the future:&lt;br /&gt;
&lt;br /&gt;
* $Umlaut/app/controllers/local&lt;br /&gt;
* $Umlaut/app/models/local&lt;br /&gt;
&lt;br /&gt;
== Rake Tasks to Aid in Management of Local Locations ==&lt;br /&gt;
&lt;br /&gt;
Integrating somewhat elegantly with Rails means that your local content is spread accross several different directories. Umlaut provides some rake tasks and a generator to help you deal with them.&lt;br /&gt;
&lt;br /&gt;
=== Generation of local files ===&lt;br /&gt;
&lt;br /&gt;
There is a a generator  to create all these locations, and seed them with some sample data - since we want to make it easy to control them in your own SVN, you don't get even these local directory locations from the Umlaut svn. &lt;br /&gt;
&lt;br /&gt;
You may already have run the generator to create these files from the [Umlaut Setup] step, but if not, change into $Umlaut directory and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;./script/generate umlaut_local&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don't worry if you run this twice; it'll warn and prompt you before over-writing any existing files. &lt;br /&gt;
&lt;br /&gt;
=== Tasks for local SVN management ===&lt;br /&gt;
&lt;br /&gt;
:We also provide some rake tasks to perform svn operations on all of these local locations at once.&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:import_to_svn&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:You've generated all this stuff, and added your own local content. Run this to add it all to your own local SVN--or any other SVN you have access to to store your local config. You'll be prompted for an SVN base path.  Make sure to run umlaut_lcl:commit too, this operation does not commit any files!&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:checkout&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Let's say you already have your local files in your own SVN, but now you doing a new Umlaut install for whatever reason. This rake task will pull all your local stuff down en masse and put it into the new install. You will be prompted for an SVN base. &lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:svn update all local directory locations.&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:commit&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:svn commit all local directory locations.&lt;br /&gt;
&lt;br /&gt;
;rake &amp;lt;nowiki&amp;gt;umlaut_lcl:status&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Runs svn status on all local directory locations at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need to create an svn repo on a Linux box it's as easy as:&lt;br /&gt;
&lt;br /&gt;
mkdir /home/username/svn&lt;br /&gt;
&lt;br /&gt;
svnadmin create /home/username/svn&lt;br /&gt;
&lt;br /&gt;
Then you can run the above rake tasks.&lt;br /&gt;
&lt;br /&gt;
== A Locally Customized Layout ==&lt;br /&gt;
&lt;br /&gt;
In addition to  config files in umlaut_config, the one piece of local customization that almost everyone will do first is creating a local layout for your own look and feel. This can be fairly easily done even to those new to Ruby Rails. In Rails, there are template wrappers (or wrapper templates?) known as 'layouts'.  We'll walk you through customizing an Umlaut layout to your local needs, and saving it in a local location.&lt;br /&gt;
&lt;br /&gt;
Start out by copying the default resolver layout from $Umlaut/app/views/layouts/resolve_basic.rhtml to $Umlaut/app/views/layouts/local/myuniversity_resolve_layout.rhtml.&lt;br /&gt;
&lt;br /&gt;
It's this copy now in local that you'll modify.&lt;br /&gt;
&lt;br /&gt;
* Don't have a directory at .../layouts/local?  See the above section! You need to run &amp;quot;rake umlaut_lcl:generate&amp;quot; and it'll make one for you. Or you could just create it by hand. &lt;br /&gt;
* In addition to the resolve_basic.rhtml, some other example locally customized resolve layouts are distributed with umlaut in $Umlaut/app/views/layouts/distribution. You could start with one of these instead, or use them to see what's possible.&lt;br /&gt;
&lt;br /&gt;
Now edit this local copy to your heart's content. Change the header, change the footer. Link to a different stylesheet (perhaps your want to keep your own custom stylesheet in $Umlaut/public/local, and use the Rails methods to link to it). You should not disturb the declerations that looks like this:&lt;br /&gt;
&lt;br /&gt;
:render(:partial =&amp;gt; &amp;quot;layout_helpers/resolve_head_content&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:render(:partial =&amp;gt; &amp;quot;layout_helpers/resolve_body_open&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Because they bring in some standard Umlaut functionality. But just about everything else is fair game.&lt;br /&gt;
&lt;br /&gt;
Now you've got your layout all customized, how do you get your Umlaut installation to use it? (Of course, really, you'd want to get Umlaut to use it as you are developing it, so you can see how it looks!).&lt;br /&gt;
&lt;br /&gt;
In your local config file at $Umlaut/config/umlaut_config/environment.rb, add (or uncomment) this line:&lt;br /&gt;
&lt;br /&gt;
:config.app_config.resolve_layout = &amp;quot;local/myuniversity_resolve_layout.rhtml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Start (or restart) Umlaut, and it should now be using your localized layout. Neat, huh?&lt;br /&gt;
&lt;br /&gt;
This gives an example of how Umlaut localization is meant to work in general. Note how you didn't need to edit any of the files that came from Umlaut SVN to make this customization.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=ServiceResponse_data_structures_and_generation&amp;diff=2813</id>
		<title>ServiceResponse data structures and generation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=ServiceResponse_data_structures_and_generation&amp;diff=2813"/>
				<updated>2009-05-28T18:46:54Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* The handle method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Part of [[Umlaut Technical Overview]]&lt;br /&gt;
&lt;br /&gt;
==ServiceResponse and related data structures==&lt;br /&gt;
&lt;br /&gt;
Before talking about how the services generate data, we should talk about the data format of a [http://umlaut.rubyforge.org/api/classes/ServiceResponse.html ServiceResponse].  A ServiceResponse is basically a unit of information generated by a Service, generally for display somewhere on the link resolver menu page. For example, there might be a ServiceResponse representing a fulltext link, a help link, or an abstract. ServiceResponses almost always link out somewhere, along with providing other data for display. &lt;br /&gt;
&lt;br /&gt;
The ServiceResponse entity has a few 'standard' properties (display_text, url, notes), but also a property, service_data, consisting of a serialized hash for holding arbitrary key/value information. Different service types might require different key/values here.  The [] operator on ServiceResponse conveniently allows you to store arbitrary key/value information in this property (and also access/set the 'built-in' properties). For appropriately loose coupling between data stored, service generating it, and view, we define some conventions for what key/value pairs are used for what purposes in each response type, in comments on [http://umlaut.rubyforge.org/api/classes/ServiceResponse.html ServiceResponse class definition]. &lt;br /&gt;
&lt;br /&gt;
A ServiceResponse also records which Service generated it, using that Service's service_id/name as defined in config/umlaut_config/services.yml, and generally retrievable from the ServiceList.&lt;br /&gt;
&lt;br /&gt;
So what do we mean by a 'service type'?  The list of all valid service types is defined in the ServiceTypeValue table. Each ServiceTypeValue has a one-word internal identifier token (name), a display_name for user presentation, and optionally a display_name_pluralized (to over-ride standard Rails pluralization). The values in this table are initialized from db/orig_fixed_data/service_type_values.yml when you run rake umlautdb:load_initial_data. We intend the local implementer to be able to create locally defined ServiceTypeValues too, if necessary.  &lt;br /&gt;
&lt;br /&gt;
ServiceTypeValue uses the acts_as_enumerated plug-in to conveniently allow the developer to refer to an individual ServiceTypeValue by name:  ServiceTypeValue[:fulltext] ==&amp;gt; the ServiceTypeValue object with name == 'fulltext'.  acts_as_plugin does efficient caching.&lt;br /&gt;
&lt;br /&gt;
So obviously which ServiceTypeValue a given ServiceResponse is intended for needs to be registered somewhere. But you won't find it in ServiceResponse, which might be confusing at first. In fact, there's a somewhat confusingly named three-way join object called ServiceType, which ties together:&lt;br /&gt;
* a ServiceResponse&lt;br /&gt;
* a ServiceTypeValue&lt;br /&gt;
* a Request&lt;br /&gt;
&lt;br /&gt;
This architecture theoretically allows:&lt;br /&gt;
* One ServiceResponse to belong to multiple Requests (ServiceResponse cacheing accross requests/sessions). &lt;br /&gt;
* One ServiceResponse to be assigned ''multiple'' ServiceTypeValues and thus listed multiple times with a given Request. &lt;br /&gt;
&lt;br /&gt;
In fact, Umlaut does not currently use ServiceResponse caching across requests; it turned out to be tricky to get right without clear gain. And very few (if any?) current services register the same ServiceResponse to a request with multiple ServiceTypeValues. But, the architecture is there to support it if needed in the future. &lt;br /&gt;
&lt;br /&gt;
This data structure architecture ends up somewhat confusing (and ServiceType is probably not a clear name for that three-way join) but there are usually convenience methods defined to avoid the complexity; they should be used. See for example (tbd).&lt;br /&gt;
&lt;br /&gt;
[http://bibwild.wordpress.com/files/2008/02/umlaut-serviceresponse.jpg Data structure diagram] Trying to figure out how to make this display inline, sorry.&lt;br /&gt;
&lt;br /&gt;
==Obligations of Service logic==&lt;br /&gt;
&lt;br /&gt;
What you need to know to write a new Service. How to generate data, and callback methods service logic can or must provide. &lt;br /&gt;
&lt;br /&gt;
Recall that an umlaut &amp;quot;service&amp;quot; is defined in config/umlaut_config/services.yml to be a particular class holding the service logic, and some configuration parameters. &lt;br /&gt;
&lt;br /&gt;
That class holding the service logic is called a &amp;quot;service adaptor&amp;quot;, or somewhat ambiguously, sometimes times just a &amp;quot;service&amp;quot;. Service adaptors live in lib/service_adaptors, and extend [http://umlaut.rubyforge.org/api/classes/Service.html Service]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Statelessness===&lt;br /&gt;
&lt;br /&gt;
Service logic should generally be written to be state-less. The same Service object, defined in services.yml, is initialized once and generally re-used for the life of an application instance (cached by ServiceList).  So any state you store can end up persisting from request to request and session to session, which you probably don't intend. Umlaut architecture for background services also involves threads and forks, and while there's normally no reason a given service object would be in two threads simultaneously, better safe than sorry. It's safest to store no non-universal state in the service object. &lt;br /&gt;
&lt;br /&gt;
===Disclosure methods===&lt;br /&gt;
&lt;br /&gt;
A service adaptor must define [http://umlaut.rubyforge.org/api/classes/Service.html#service_types_generated service_types_generated()] to return an Array of ServiceTypeValues constituting the types of ServiceResponses the service&lt;br /&gt;
&lt;br /&gt;
A service adaptor may optionally list some required configuration params. If they are not supplied, an exception will be thrown when the service is initialized from services.yml. eg:&lt;br /&gt;
: required_config_params :api_key, :base_url&lt;br /&gt;
&lt;br /&gt;
===The handle method===&lt;br /&gt;
&lt;br /&gt;
The heart of a typical service is in implementing the [http://umlaut.rubyforge.org/api/classes/Service.html#handle handle] method. When Umlaut wants a service to do it's thing, Umlaut will pass the request in, and it's up to the Service to do it's work. Note that while the individual umlaut request is passed into handle() as an argument for legacy purposes, it's also available from Service#request at any time, the argument isn't really necessary. &lt;br /&gt;
&lt;br /&gt;
The service can examine all metadata from the request, and even examine ServiceResponses generated by other services, and the status of other services in progress or finished. (See [http://umlaut.rubyforge.org/api/classes/Request.html Request#dispatched_services], Request#dispatched, Request#services_in_progress, etc.)&lt;br /&gt;
&lt;br /&gt;
The service can then enhance any metadata if desired (likely data in [http://umlaut.rubyforge.org/api/classes/Referent.html Referent], from Request#referent). &lt;br /&gt;
&lt;br /&gt;
The service can create one or more ServiceResponses. A ServiceResponse normally represents a discrete package of data that will be displayed on some part of the resolve menu. ServiceResponses should generally be created with the convenience method [http://umlaut.rubyforge.org/api/classes/Request.html Request]#add_service_response.  &lt;br /&gt;
&lt;br /&gt;
The add_service_response call has you specify the particular service class, the ServiceTypeValue, and arbitrary key value pairs as appropriate/conventional for the given time. For conventions on these key/value pairs, see [http://umlaut.rubyforge.org/api/classes/ServiceResponse.html ServiceResponse]. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
request.add_service_response(:service=&amp;gt;self,&lt;br /&gt;
                            :service_type_value =&amp;gt; :cover_image,&lt;br /&gt;
                            :display_text =&amp;gt; 'Cover Image',&lt;br /&gt;
                            :key=&amp;gt;size,&lt;br /&gt;
                            :url =&amp;gt; img.inner_html,&lt;br /&gt;
                            :asin =&amp;gt; asin,&lt;br /&gt;
                            :size =&amp;gt; size )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Service code is also responsible for registering a DispatchedService object with the completion state of the service. This should be done with the convenience method [http://umlaut.rubyforge.org/api/classes/Request.html Request]#dispatched .  If the service throws an uncaught exception, Umlaut itself will register a DispatchedService with status FailedFatal. But otherwise, the service is responsible for registering a completion status, or Umlaut may not realize the service is complete and continue running it over and over again, or reporting it as timed out.&lt;br /&gt;
&lt;br /&gt;
===callback methods===&lt;br /&gt;
&lt;br /&gt;
The Service can play an interactive role with the view elements of Umlaut in determining how to display the ServiceResponse and how to generate an external url for it if the user clicks on it. A Service doesn't need to do this--it can simply include properties in generated ServiceResponses for the conventional keys mentioned in [http://umlaut.rubyforge.org/api/classes/ServiceResponse.html ServiceResponse],  including a pre-generated url in the :url property. &lt;br /&gt;
&lt;br /&gt;
However, for more complicated processing (including not generating urls until the point-of-need when a user actually clicks on one), callback methods can instead be implemented. &lt;br /&gt;
&lt;br /&gt;
These callback methods include [http://umlaut.rubyforge.org/api/classes/Service.html]#view_data_from_service_type(service_type_obj) ,  #to_[name of service goes here] (eg #to_fulltext, or #to_help ), Service#response_to_view_data, and Service#response_url. &lt;br /&gt;
&lt;br /&gt;
For more information, see the Technical Overview section on view logic. (tbd).&lt;br /&gt;
&lt;br /&gt;
==Alternate Service Tasks==&lt;br /&gt;
&lt;br /&gt;
Services were originally designed to do one thing, as described above. However, it has been useful to use the service architecture to perform other 'tasks' too, basically other sorts of plug-ins. What plug-in 'task' a service will be called upon to perform depends on the task config property in services.yml, which defaults to 'standard' when empty. &lt;br /&gt;
&lt;br /&gt;
The other service task we have defined currently as 'link_out_filter'. A task:link_out_filter service will never have it's handle method called. Instead, it will have a [http://umlaut.rubyforge.org/api/classes/Service.html Service#]link_out_filter method defined, and called at the appropriate control point.  Examples of link_out_filter services are ezproxy, and sfx_backchannel_record.&lt;br /&gt;
&lt;br /&gt;
[[Category: Umlaut]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=2786</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=2786"/>
				<updated>2009-05-14T17:48:32Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* 2. Install RubyGems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Install a 1.8.x version of ruby, ruby 1.9 is still considered experimental. The Rails web page says &amp;quot;We recommend Ruby 1.8.7 for use with Rails. Ruby 1.8.6, 1.8.5, 1.8.4 and 1.8.2 are still usable too, but version 1.8.3 is not.&amp;quot; (http://rubyonrails.org/download)   Try installing Ruby with your package manager of choice. If not, try installing from source, eg&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.7.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.7.tar.gz&lt;br /&gt;
# cd ruby-1.8.7&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
( jrochkind is currently running ruby 1.8.6 as of Dec 08 )&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update) (I don't know what this means, jrochkind 14 May 09!)&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
===== redhat =====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
===== ubuntu =====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
===== Solaris 10 (sparc) ===== &lt;br /&gt;
&lt;br /&gt;
This has been reported to work on Solaris 10 (sparc)&lt;br /&gt;
&lt;br /&gt;
 gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/ &lt;br /&gt;
 \ --with-mysql-lib=/opt/pkgs/mysql/lib&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Editorial_Committee_Introduction&amp;diff=2746</id>
		<title>Code4Lib Editorial Committee Introduction</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Editorial_Committee_Introduction&amp;diff=2746"/>
				<updated>2009-04-24T15:30:42Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;br /&gt;
&lt;br /&gt;
== How the Editorial Committee Functions ==&lt;br /&gt;
&lt;br /&gt;
The Code4Lib Journal Editorial Committee works much as Code4Lib does:  informally and collaboratively.  For each issue, one member of the Editorial Committee (EC) volunteers to be Coordinating Editor (ie managing editor) of a journal issue. For the duration of their tenure, the Coordinating Editor is generally responsible for any loose ends tying, and making sure everything proceeds smoothly, coordinating all of the rest of us.  This includes distributing the call for papers, communicating with potential authors, opening and closing editorial committee voting on submissions, notifying authors of rejected articles, and making sure that accepted articles have volunteer editors (and that those editors notify authors of accepted articles).  &lt;br /&gt;
&lt;br /&gt;
Everyone on the EC may vote on article proposals as they come in. The Coordinating Editor generally sets a deadline of 1-2 weeks for voting. Voting is straightforward and recorded in the Article Tracking spreadsheet.  An article must have at least two 'yes' votes and more 'yes' votes than 'no' votes to be accepted.  Once an article is accepted for publication, an EC member volunteers to take on editorial responsibility for that article and shepherds it from proposal to publication, acting as the journal's single point of contact with the author.  Most Committee members take responsibility for about one article per issue, though the committee is large enough that there is some flexibility with editorial responsibility.  &lt;br /&gt;
&lt;br /&gt;
Editing an article includes making sure the article draft is submitted on time, distributing drafts to the full committee for comment, making editorial suggestions or recommendations to the author(s), tracking and enforcing submission deadlines, requesting full Editorial Committee approval of the final draft, and inputting the finished article into our [http://wiki.code4lib.org/index.php/Code4Lib_Editorial_Committee_Introduction#Wordpress_.28Required.29 WordPress site]. Once the assigned editor recommends the final draft for publication, the EC again votes on whether to include that article in the current issue. Again, this requires at least two 'yes' votes and more 'yes' votes than 'no' votes for publication. We do not expect every EC member to vote on every article, but we do ask that you read an article thoroughly before voting on it for inclusion in the issue.&lt;br /&gt;
&lt;br /&gt;
More detailed information describing the entire process from sending out the call for proposals to publishing a new issue is available on the Journal site:&lt;br /&gt;
* [http://journal.code4lib.org/process-and-structure General outline of process and structure]&lt;br /&gt;
* [http://journal.code4lib.org/process-and-structure/editors More detailed information for editors] (requires Wordpress login)&lt;br /&gt;
&lt;br /&gt;
Templates for notifying authors about the status of their proposals are available as a [http://groups.google.com/group/c4lj-articles/web/templates-for-email-responses page] in the c4lj-articles Google group.&lt;br /&gt;
&lt;br /&gt;
Above all, the Editorial Committee is informal and egalitarian.  Jump in with your opinion and ideas!&lt;br /&gt;
&lt;br /&gt;
== Editorial Committee Discussion Lists (Required) ==&lt;br /&gt;
&lt;br /&gt;
Much of the Editorial Committee's business is conducted via email on the [http://groups.google.com/group/c4lj-articles C4LJ-Articles] Google Group. This list is where we debate article submissions, volunteer to be editor or managing editor, discuss acceptance of articles, and take care of any other tasks in front of us that might be of a sensitive nature. Anyone may post to this list, but only editors can read the list activity. To join this list, please visit the URL and request membership, using your preferred email associated with a Google account. If that doesn't work for some reason, you can join the c4lj-discuss group (see below) and send an email requesting membership to c4lj-articles.&lt;br /&gt;
&lt;br /&gt;
All other Journal business is discussed on the [http://groups.google.com/group/c4lj-discuss C4LJ-Discuss] Google Group. If the conversation is unrelated to specific authors, proposals, or articles, it should probably happen on this list. We prefer to discuss other decisions about how the Journal is handled in public where anyone can participate. This list is open for anyone to join and is publicly viewable. Only list members can post. Use the URL above to join this discussion list.&lt;br /&gt;
&lt;br /&gt;
== Article Tracking Spreadsheet (Required) ==&lt;br /&gt;
&lt;br /&gt;
Articles, from proposal submission through to publication, are tracked using the C4LJ Article Tracking spreadsheet in Google Docs.  This Google document is private; only Editorial Committee members may view or edit it. Proposal votes and  tentative issue assignments for accepted articles are tracked in this spreadsheet. The [http://groups.google.com/group/c4lj-articles/browse_thread/thread/ec4c9701401ce94c/70079ef809a6a9da invitation] to become a collaborator is available on the c4lj-articles list. Please use this invitation to add yourself as a collaborator for this document (you must already be a member of c4lj-articles).&lt;br /&gt;
&lt;br /&gt;
== Wordpress (Required) ==&lt;br /&gt;
&lt;br /&gt;
Code4Lib Journal articles are published in a Wordpress installation hosted by ibiblio (http://journal.code4lib.org). The assigned editor for an article is responsible for entering the content into Wordpress, formatting it, and adding images and code snippets. Guidelines on entering articles are available on the [[Code4Lib_Journal_WordPress_Input_Guidelines|wiki]]. We also maintain basic information about the Journal using pages in Wordpress (Mission, Editorial Committee, Process and Structure, Call for Submissions, Article Guidelines).&lt;br /&gt;
&lt;br /&gt;
New editors need to request a Wordpress account:&lt;br /&gt;
&lt;br /&gt;
# Go to http://journal.code4lib.org/wp/wp-login.php?action=register&lt;br /&gt;
# Register&lt;br /&gt;
# Send your username to c4lj-articles@googlegroups.com so the technical editor can grant you Wordpress privileges.&lt;br /&gt;
&lt;br /&gt;
== Google Analytics (Optional) ==&lt;br /&gt;
&lt;br /&gt;
Google Analytics is used to gather statistics for the Code4Lib Journal. If you are interested in being able to view these statistics, just send your preferred Google Account information to the c4lj-articles@googlegroups.com discussion list, and the technical editor will enable your access. &lt;br /&gt;
&lt;br /&gt;
== Other Shared Documents (Optional) ==&lt;br /&gt;
&lt;br /&gt;
The C4LJ Article/Author Ideas spreadsheet is used to track ideas for have for specific articles we'd like to recruit or specific authors we want to recruit for the Journal. The [http://groups.google.com/group/c4lj-articles/browse_thread/thread/425165428b88e2ee invitation] to become a collaborative editor is available on the c4lj-articles list.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2707</id>
		<title>Code4Lib Journal Entries in Directory of Open Access Journals</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2707"/>
				<updated>2009-04-06T15:45:07Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Semi-Automated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are two ways to get metadata into the Directory of Open Access Journals: 1) by hand, or 2) through the use of an XML file. Before you do either method, please keep in mind  the following things:&lt;br /&gt;
&lt;br /&gt;
# We chose not to have volume numbers, just issue numbers. Issue numbers will just keep incrementing.&lt;br /&gt;
# We decided that the &amp;quot;record number&amp;quot; for an article is the article-id that shows up in the WordPress URI. That is, they are not sequential, numbers are skipped. That's fine. So there is no 'start page', but there is a 'record number'; there is no 'end page'.&lt;br /&gt;
# Enter the abstract and authors affiliation exactly as found in our published articles.&lt;br /&gt;
# Enter keywords if there are any. If not, leave this blank&lt;br /&gt;
&lt;br /&gt;
==By Hand==&lt;br /&gt;
&lt;br /&gt;
To edit by hand go to http://www.doaj.org/restricted, enter our secret username/password combination, and do the necessary data entry.&lt;br /&gt;
&lt;br /&gt;
See this [http://groups.google.com/group/c4lj-articles/browse_thread/thread/ba2efed674d66d7a post] for username and password information.&lt;br /&gt;
&lt;br /&gt;
==Semi-Automated==&lt;br /&gt;
&lt;br /&gt;
To use the XML file to do data entry:&lt;br /&gt;
# make sure the WordPress databases is up-to-date, &lt;br /&gt;
# go to http://journal.code4lib.org/issues/issue#/feed/doaj to get the necessary XML. (eg http://journal.code4lib.org/issues/issue5/feed/doaj.)&lt;br /&gt;
# edit the XML [http://journal.code4lib.org/doaj/|so each author is in a element by themselves], &lt;br /&gt;
# validate the XML against the Directory's schema, (how do you do this? -jrochkind)&lt;br /&gt;
# go to http://www.doaj.org/restricted and upload the friuts of your labors.  See this [http://groups.google.com/group/c4lj-articles/browse_thread/thread/ba2efed674d66d7a post] for username and password information.&lt;br /&gt;
&lt;br /&gt;
More info about the feed and how to customize the XML for import into DOAJ: http://journal.code4lib.org/doaj/&lt;br /&gt;
&lt;br /&gt;
--[[User:Ericleasemorgan|Eric Lease Morgan]] 10:42, 28 May 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2706</id>
		<title>Code4Lib Journal Entries in Directory of Open Access Journals</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2706"/>
				<updated>2009-04-06T15:43:40Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are two ways to get metadata into the Directory of Open Access Journals: 1) by hand, or 2) through the use of an XML file. Before you do either method, please keep in mind  the following things:&lt;br /&gt;
&lt;br /&gt;
# We chose not to have volume numbers, just issue numbers. Issue numbers will just keep incrementing.&lt;br /&gt;
# We decided that the &amp;quot;record number&amp;quot; for an article is the article-id that shows up in the WordPress URI. That is, they are not sequential, numbers are skipped. That's fine. So there is no 'start page', but there is a 'record number'; there is no 'end page'.&lt;br /&gt;
# Enter the abstract and authors affiliation exactly as found in our published articles.&lt;br /&gt;
# Enter keywords if there are any. If not, leave this blank&lt;br /&gt;
&lt;br /&gt;
==By Hand==&lt;br /&gt;
&lt;br /&gt;
To edit by hand go to http://www.doaj.org/restricted, enter our secret username/password combination, and do the necessary data entry.&lt;br /&gt;
&lt;br /&gt;
See this [http://groups.google.com/group/c4lj-articles/browse_thread/thread/ba2efed674d66d7a post] for username and password information.&lt;br /&gt;
&lt;br /&gt;
==Semi-Automated==&lt;br /&gt;
&lt;br /&gt;
To use the XML file to do data entry:&lt;br /&gt;
# make sure the WordPress databases is up-to-date, &lt;br /&gt;
# go to http://journal.code4lib.org/issues/issue#/feed/doaj to get the necessary XML. (eg http://journal.code4lib.org/issues/issue5/feed/doaj.)&lt;br /&gt;
# edit the XML [http://journal.code4lib.org/doaj/|so each author is in a element by themselves], &lt;br /&gt;
# validate the XML against the Directory's schema, (how do you do this? -jrochkind)&lt;br /&gt;
# go to http://www.doaj.org/restricted and upload the friuts of your labors. &lt;br /&gt;
&lt;br /&gt;
More info about the feed and how to customize the XML for import into DOAJ: http://journal.code4lib.org/doaj/&lt;br /&gt;
&lt;br /&gt;
--[[User:Ericleasemorgan|Eric Lease Morgan]] 10:42, 28 May 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2705</id>
		<title>Code4Lib Journal Entries in Directory of Open Access Journals</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2705"/>
				<updated>2009-04-06T15:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are two ways to get metadata into the Directory of Open Access Journals: 1) by hand, or 2) through the use of an XML file. Before you do either method, please keep in mind  the following things:&lt;br /&gt;
&lt;br /&gt;
#. We chose not to have volume numbers, just issue numbers. Issue numbers will just keep incrementing.&lt;br /&gt;
&lt;br /&gt;
#. We decided that the &amp;quot;record number&amp;quot; for an article is the article-id that shows up in the WordPress URI. That is, they are not sequential, numbers are skipped. That's fine. So there is no 'start page', but there is a 'record number'; there is no 'end page'.&lt;br /&gt;
&lt;br /&gt;
#. Enter the abstract and authors affiliation exactly as found in our published articles.&lt;br /&gt;
&lt;br /&gt;
#. Enter keywords if there are any. If not, leave this blank&lt;br /&gt;
&lt;br /&gt;
==By Hand==&lt;br /&gt;
&lt;br /&gt;
To edit by hand go to http://www.doaj.org/restricted, enter our secret username/password combination, and do the necessary data entry.&lt;br /&gt;
&lt;br /&gt;
See this [http://groups.google.com/group/c4lj-articles/browse_thread/thread/ba2efed674d66d7a post] for username and password information.&lt;br /&gt;
&lt;br /&gt;
==Semi-Automated==&lt;br /&gt;
&lt;br /&gt;
To use the XML file to do data entry:&lt;br /&gt;
# make sure the WordPress databases is up-to-date, &lt;br /&gt;
# go to http://journal.code4lib.org/issues/issue#/feed/doaj to get the necessary XML. (eg http://journal.code4lib.org/issues/issue5/feed/doaj.)&lt;br /&gt;
# edit the XML [http://journal.code4lib.org/doaj/|so each author is in a element by themselves], &lt;br /&gt;
# validate the XML against the Directory's schema, (how do you do this? -jrochkind)&lt;br /&gt;
# go to http://www.doaj.org/restricted and upload the friuts of your labors. &lt;br /&gt;
&lt;br /&gt;
More info about the feed and how to customize the XML for import into DOAJ: http://journal.code4lib.org/doaj/&lt;br /&gt;
&lt;br /&gt;
--[[User:Ericleasemorgan|Eric Lease Morgan]] 10:42, 28 May 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2704</id>
		<title>Code4Lib Journal Entries in Directory of Open Access Journals</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2704"/>
				<updated>2009-04-06T15:42:28Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are two ways to get metadata into the Directory of Open Access Journals: 1) by hand, or 2) through the use of an XML file. Before you do either method, please keep in mind  the following things:&lt;br /&gt;
&lt;br /&gt;
1. We chose not to have volume numbers, just issue numbers. Issue numbers will just keep incrementing.&lt;br /&gt;
&lt;br /&gt;
2. We decided that the &amp;quot;record number&amp;quot; for an article is the article-id that shows up in the WordPress URI. That is, they are not sequential, numbers are skipped. That's fine. So there is no 'start page', but there is a 'record number'; there is no 'end page'.&lt;br /&gt;
&lt;br /&gt;
3. Enter the abstract and authors affiliation exactly as found in our published articles.&lt;br /&gt;
&lt;br /&gt;
4. Enter keywords if there are any. If not, leave this blank&lt;br /&gt;
&lt;br /&gt;
To edit by hand go to http://www.doaj.org/restricted, enter our secret username/password combination, and do the necessary data entry.&lt;br /&gt;
&lt;br /&gt;
See this [http://groups.google.com/group/c4lj-articles/browse_thread/thread/ba2efed674d66d7a post] for username and password information.&lt;br /&gt;
&lt;br /&gt;
To use the XML file to do data entry:&lt;br /&gt;
# make sure the WordPress databases is up-to-date, &lt;br /&gt;
# go to http://journal.code4lib.org/issues/issue#/feed/doaj to get the necessary XML. (eg http://journal.code4lib.org/issues/issue5/feed/doaj.)&lt;br /&gt;
# edit the XML [http://journal.code4lib.org/doaj/|so each author is in a element by themselves], &lt;br /&gt;
# validate the XML against the Directory's schema, (how do you do this? -jrochkind)&lt;br /&gt;
# go to http://www.doaj.org/restricted and upload the friuts of your labors. &lt;br /&gt;
&lt;br /&gt;
More info about the feed and how to customize the XML for import into DOAJ: http://journal.code4lib.org/doaj/&lt;br /&gt;
&lt;br /&gt;
--[[User:Ericleasemorgan|Eric Lease Morgan]] 10:42, 28 May 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2703</id>
		<title>Code4Lib Journal Entries in Directory of Open Access Journals</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Entries_in_Directory_of_Open_Access_Journals&amp;diff=2703"/>
				<updated>2009-04-06T15:40:30Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are two ways to get metadata into the Directory of Open Access Journals: 1) by hand, or 2) through the use of an XML file. Before you do either method, please keep in mind  the following things:&lt;br /&gt;
&lt;br /&gt;
1. We chose not to have volume numbers, just issue numbers. Issue numbers will just keep incrementing.&lt;br /&gt;
&lt;br /&gt;
2. We decided that the &amp;quot;record number&amp;quot; for an article is the article-id that shows up in the WordPress URI. That is, they are not sequential, numbers are skipped. That's fine. So there is no 'start page', but there is a 'record number'; there is no 'end page'.&lt;br /&gt;
&lt;br /&gt;
3. Enter the abstract and authors affiliation exactly as found in our published articles.&lt;br /&gt;
&lt;br /&gt;
4. Enter keywords if there are any. If not, leave this blank&lt;br /&gt;
&lt;br /&gt;
To edit by hand go to http://www.doaj.org/restricted, enter our secret username/password combination, and do the necessary data entry.&lt;br /&gt;
&lt;br /&gt;
See this [http://groups.google.com/group/c4lj-articles/browse_thread/thread/ba2efed674d66d7a post] for username and password information.&lt;br /&gt;
&lt;br /&gt;
To use the XML file to do data entry, make sure the WordPress databases is up-to-date, go to http://journal.code4lib.org/issues/issue#/feed/doaj to get the necessary XML, [http://journal.code4lib.org/doaj/|edit the XML so each author is in a element by themselves], validate the XML against the Directory's schema, go to http://www.doaj.org/restricted and upload the friuts of your labors. For example, the XML for issue 5 is available at http://journal.code4lib.org/issues/issue5/feed/doaj.&lt;br /&gt;
&lt;br /&gt;
This seems to supply some information about the feed and how to customize the XML for import into DOAJ, but doesn't actually provide XML: http://journal.code4lib.org/doaj/&lt;br /&gt;
&lt;br /&gt;
--[[User:Ericleasemorgan|Eric Lease Morgan]] 10:42, 28 May 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2551</id>
		<title>Code4Lib Journal Email Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2551"/>
				<updated>2009-03-13T21:29:07Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Proposal Accepted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See also [[Code4Lib_Journal_Deadlines]]''&lt;br /&gt;
&lt;br /&gt;
== Submission Acknowledgement  ==&lt;br /&gt;
&lt;br /&gt;
Thanks for submitting a proposal to the Code4Lib Journal. We appreciate your participation in the code4lib community. The editors have received your proposal and should be in touch with you in 2-4 weeks regarding its appropriateness for publication in C4LJ. We will notify you if we need additional information to make this decision. Please feel free to contact us at c4lj-articles@googlegroups.com if you have additional questions.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Need More Information ==&lt;br /&gt;
&lt;br /&gt;
Thank you for your interest in publishing in the Code4Lib Journal. The Journal is primarily focused on technological issues in libraries. In order to help the editors determine if your proposal is appropriate for this publication, could you share more details about the intended audience for the the article and how it will address issues surrounding technology in libraries? Please respond to c4lj-articles@googlegroups.com with the additional information requested.&lt;br /&gt;
&lt;br /&gt;
You may also contact the editors at c4lj-articles@googlegroups.com if you have any additional questions. We look forward to hearing from you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposal Accepted ==&lt;br /&gt;
&lt;br /&gt;
I'm pleased to tell you that the Code4Lib journal is interested in your recent article proposal about &amp;lt;insert topic/title&amp;gt;. Based on your proposal, we are interested in this topic, and would like to see a draft. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;insert any additional comments about focus we'd like to see in the article or editorial committee concerns.  Sample language &amp;quot;We're especially interested in X, and we'd like you to make sure to flesh this out when you write the article.&amp;quot;. &amp;quot;We're interested in this proposal if you can do X, Y, or Z.&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a member of the Code4Lib Journal editorial committee, I will be your contact for your proposed Code4Lib Journal article, and will work with you to get the article ready for publication.&lt;br /&gt;
&lt;br /&gt;
We hope to publish your article in issue &amp;lt;#&amp;gt; of the Journal, which is scheduled to be published on &amp;lt;insert date here&amp;gt;. We need to see a complete draft of the article by &amp;lt;deadline for draft&amp;gt;, but the sooner you can get us a draft the better, the more likely we'll be able to get your article into that issue. Once we see a complete draft, we may work with you on additional requested edits before the Editorial Committee will consider it ready for publication.  Your proposal definitely looks like an article we're interested in, but we can only make the final decision to publish when we see a complete draft. &lt;br /&gt;
&lt;br /&gt;
To see what we're looking for, you should consult our author guidelines at: http://journal.code4lib.org/article-guidelines. &lt;br /&gt;
&lt;br /&gt;
As a final note, we require all authors to agree to CC-BY licensing for the articles we publish in the journal. We recommend that any included code also have some type of code-specific open source license (such as the GPL).&lt;br /&gt;
&lt;br /&gt;
We are excited about your article, and look forward to seeing a complete draft and including it in the Journal. Thanks for submitting to us, and feel free to contact me directly with any questions.&lt;br /&gt;
&lt;br /&gt;
== Proposal Rejected  ==&lt;br /&gt;
&lt;br /&gt;
We regret to inform you that your recent proposal to the Code4Lib Journal for an article about &amp;lt;insert topic/title&amp;gt; has not been accepted for publication. This is likely because the Editorial Committee determined that it was not an appropriate match for the audience, mission, or scope of the Code4Lib Journal. [optional - insert comment here about why it's not appropriate]&lt;br /&gt;
&lt;br /&gt;
For more information about the mission of the Code4Lib Journal, please see http://journal.code4lib.org/mission/.&lt;br /&gt;
&lt;br /&gt;
Thanks for considering us, and please do not hesitate to contact the editors at c4lj-articles@googlegroups.com in the future with a new or revised proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2550</id>
		<title>Code4Lib Journal Email Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2550"/>
				<updated>2009-03-13T21:21:07Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Proposal Accepted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See also [[Code4Lib_Journal_Deadlines]]''&lt;br /&gt;
&lt;br /&gt;
== Submission Acknowledgement  ==&lt;br /&gt;
&lt;br /&gt;
Thanks for submitting a proposal to the Code4Lib Journal. We appreciate your participation in the code4lib community. The editors have received your proposal and should be in touch with you in 2-4 weeks regarding its appropriateness for publication in C4LJ. We will notify you if we need additional information to make this decision. Please feel free to contact us at c4lj-articles@googlegroups.com if you have additional questions.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Need More Information ==&lt;br /&gt;
&lt;br /&gt;
Thank you for your interest in publishing in the Code4Lib Journal. The Journal is primarily focused on technological issues in libraries. In order to help the editors determine if your proposal is appropriate for this publication, could you share more details about the intended audience for the the article and how it will address issues surrounding technology in libraries? Please respond to c4lj-articles@googlegroups.com with the additional information requested.&lt;br /&gt;
&lt;br /&gt;
You may also contact the editors at c4lj-articles@googlegroups.com if you have any additional questions. We look forward to hearing from you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposal Accepted ==&lt;br /&gt;
&lt;br /&gt;
I'm pleased to tell you that the Code4Lib journal is interested in your recent article proposal about &amp;lt;insert topic/title&amp;gt;. Based on your proposal, we are interested in this topic, and would like to see a draft. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;insert any additional comments about focus we'd like to see in the article or editorial committee concerns.  Sample language &amp;quot;We're especially interested in X, and we'd like you to make sure to flesh this out when you write the article.&amp;quot;. &amp;quot;We're interested in this proposal if you can do X, Y, or Z.&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a member of the Code4Lib Journal editorial committee, I will be your contact for your proposed Code4Lib Journal article, and will work with you to get the article ready for publication.&lt;br /&gt;
&lt;br /&gt;
We hope to publish your article in issue &amp;lt;#&amp;gt; of the Journal, which is scheduled to be published on &amp;lt;insert date here&amp;gt;. We need to see a complete draft of the article by &amp;lt;deadline for draft&amp;gt;, but the sooner you can get us a draft the better, the more likely we'll be able to get your article into that issue. Once we see a complete draft, we may work with you on additional requested edits before the Editorial Committee will consider it ready for publication.  Your proposal definitely looks like article we're interested in, but we can only make the final decision to publish when we see a complete draft. &lt;br /&gt;
&lt;br /&gt;
To see what we're looking for, you should consult our author guidelines at: http://journal.code4lib.org/article-guidelines. &lt;br /&gt;
&lt;br /&gt;
As a final note, we require all authors to agree to CC-BY licensing for the articles we publish in the journal. We recommend that any included code also have some type of code-specific open source license (such as the GPL).&lt;br /&gt;
&lt;br /&gt;
We are excited about your article, and look forward to seeing a complete draft and including it in the Journal. Thanks for submitting to us, and feel free to contact me directly with any questions.&lt;br /&gt;
&lt;br /&gt;
== Proposal Rejected  ==&lt;br /&gt;
&lt;br /&gt;
We regret to inform you that your recent proposal to the Code4Lib Journal for an article about &amp;lt;insert topic/title&amp;gt; has not been accepted for publication. This is likely because the Editorial Committee determined that it was not an appropriate match for the audience, mission, or scope of the Code4Lib Journal. [optional - insert comment here about why it's not appropriate]&lt;br /&gt;
&lt;br /&gt;
For more information about the mission of the Code4Lib Journal, please see http://journal.code4lib.org/mission/.&lt;br /&gt;
&lt;br /&gt;
Thanks for considering us, and please do not hesitate to contact the editors at c4lj-articles@googlegroups.com in the future with a new or revised proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2549</id>
		<title>Code4Lib Journal Email Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2549"/>
				<updated>2009-03-13T21:19:51Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Proposal Accepted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See also [[Code4Lib_Journal_Deadlines]]''&lt;br /&gt;
&lt;br /&gt;
== Submission Acknowledgement  ==&lt;br /&gt;
&lt;br /&gt;
Thanks for submitting a proposal to the Code4Lib Journal. We appreciate your participation in the code4lib community. The editors have received your proposal and should be in touch with you in 2-4 weeks regarding its appropriateness for publication in C4LJ. We will notify you if we need additional information to make this decision. Please feel free to contact us at c4lj-articles@googlegroups.com if you have additional questions.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Need More Information ==&lt;br /&gt;
&lt;br /&gt;
Thank you for your interest in publishing in the Code4Lib Journal. The Journal is primarily focused on technological issues in libraries. In order to help the editors determine if your proposal is appropriate for this publication, could you share more details about the intended audience for the the article and how it will address issues surrounding technology in libraries? Please respond to c4lj-articles@googlegroups.com with the additional information requested.&lt;br /&gt;
&lt;br /&gt;
You may also contact the editors at c4lj-articles@googlegroups.com if you have any additional questions. We look forward to hearing from you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposal Accepted ==&lt;br /&gt;
&lt;br /&gt;
I'm pleased to tell you that the Code4Lib journal is interested in your recent article proposal about &amp;lt;insert topic/title&amp;gt;. Based on your proposal, we are interested in this topic, and would like to see a draft. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;insert any additional comments about focus we'd like to see in the article or editorial committee concerns.  Sample language &amp;quot;We're especially interested in X, and we'd like you to make sure to flesh this out when you write the article.&amp;quot;. &amp;quot;We're interested in this proposal if you can do X, Y, or Z.&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a member of the Code4Lib Journal editorial committee, I will be your contact for your proposed Code4Lib Journal article, and will work with you to get the article ready for publication.&lt;br /&gt;
&lt;br /&gt;
We hope to publish your article in issue &amp;lt;#&amp;gt; of the Journal, which is scheduled to be published on &amp;lt;insert date here&amp;gt;. We need to see a complete draft of the article is &amp;lt;deadline for draft&amp;gt;, but the sooner you can get us a draft the better, the more likely we'll be able to get your article into that issue. Once we see a complete draft, we may work with you on additional requested edits before the Editorial Committee will consider it ready for publication.  Your proposal definitely looks like article we're interested in, but we can only make the final decision to publish when we see a complete draft. &lt;br /&gt;
&lt;br /&gt;
To see what we're looking for, you should consult our author guidelines at: http://journal.code4lib.org/article-guidelines. &lt;br /&gt;
&lt;br /&gt;
As a final note, we require all authors to agree to CC-BY licensing for the articles we publish in the journal. We recommend that any included code also have some type of code-specific open source license (such as the GPL).&lt;br /&gt;
&lt;br /&gt;
We are excited about your article, and look forward to seeing a complete draft and including it in the Journal. Thanks for submitting to us, and feel free to contact me directly with any questions.&lt;br /&gt;
&lt;br /&gt;
== Proposal Rejected  ==&lt;br /&gt;
&lt;br /&gt;
We regret to inform you that your recent proposal to the Code4Lib Journal for an article about &amp;lt;insert topic/title&amp;gt; has not been accepted for publication. This is likely because the Editorial Committee determined that it was not an appropriate match for the audience, mission, or scope of the Code4Lib Journal. [optional - insert comment here about why it's not appropriate]&lt;br /&gt;
&lt;br /&gt;
For more information about the mission of the Code4Lib Journal, please see http://journal.code4lib.org/mission/.&lt;br /&gt;
&lt;br /&gt;
Thanks for considering us, and please do not hesitate to contact the editors at c4lj-articles@googlegroups.com in the future with a new or revised proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2548</id>
		<title>Code4Lib Journal Email Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2548"/>
				<updated>2009-03-13T21:14:38Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Proposal Accepted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See also [[Code4Lib_Journal_Deadlines]]''&lt;br /&gt;
&lt;br /&gt;
== Submission Acknowledgement  ==&lt;br /&gt;
&lt;br /&gt;
Thanks for submitting a proposal to the Code4Lib Journal. We appreciate your participation in the code4lib community. The editors have received your proposal and should be in touch with you in 2-4 weeks regarding its appropriateness for publication in C4LJ. We will notify you if we need additional information to make this decision. Please feel free to contact us at c4lj-articles@googlegroups.com if you have additional questions.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Need More Information ==&lt;br /&gt;
&lt;br /&gt;
Thank you for your interest in publishing in the Code4Lib Journal. The Journal is primarily focused on technological issues in libraries. In order to help the editors determine if your proposal is appropriate for this publication, could you share more details about the intended audience for the the article and how it will address issues surrounding technology in libraries? Please respond to c4lj-articles@googlegroups.com with the additional information requested.&lt;br /&gt;
&lt;br /&gt;
You may also contact the editors at c4lj-articles@googlegroups.com if you have any additional questions. We look forward to hearing from you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposal Accepted ==&lt;br /&gt;
&lt;br /&gt;
I'm pleased to tell you that the Code4Lib journal is interested in your recent article proposal about &amp;lt;insert topic/title&amp;gt;. Based on your proposal, we are interested in this topic, and would like to see a draft. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;insert any additional comments about focus we'd like to see in the article or editorial committee concerns.  Sample language &amp;quot;We're especially interested in X, and we'd like you to make sure to flesh this out when you write the article.&amp;quot;. &amp;quot;We're interested in this proposal if you can do X, Y, or Z.&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a member of the Code4Lib Journal editorial committee, I will be your contact for your proposed Code4Lib Journal article, and will work with you to get the article ready for publication.&lt;br /&gt;
&lt;br /&gt;
We hope to publish your article in issue &amp;lt;#&amp;gt; of the Journal, which is scheduled to be published on &amp;lt;insert date here&amp;gt;. We need to see a complete draft of the article is &amp;lt;deadline for draft&amp;gt;, but the sooner you can get us a draft the better, the more likely we'll be able to get your article into that issue. Once we see a complete draft, we may work with you on additional requested edits before the Editorial Committee will vote again to finalize its publication.  Your proposal definitely looks like article we're interested in, but we can only make the final decision to publish when we see a complete draft. &lt;br /&gt;
&lt;br /&gt;
To see what we're looking for, you should consult our author guidelines at: http://journal.code4lib.org/article-guidelines. &lt;br /&gt;
&lt;br /&gt;
As a final note, we require all authors to agree to CC-BY licensing for the articles we publish in the journal. We recommend that any included code also have some type of code-specific open source license (such as the GPL).&lt;br /&gt;
&lt;br /&gt;
We are excited about your article, and look forward to seeing a complete draft and including it in the Journal. Thanks for submitting to us, and feel free to contact me directly with any questions.&lt;br /&gt;
&lt;br /&gt;
== Proposal Rejected  ==&lt;br /&gt;
&lt;br /&gt;
We regret to inform you that your recent proposal to the Code4Lib Journal for an article about &amp;lt;insert topic/title&amp;gt; has not been accepted for publication. This is likely because the Editorial Committee determined that it was not an appropriate match for the audience, mission, or scope of the Code4Lib Journal. [optional - insert comment here about why it's not appropriate]&lt;br /&gt;
&lt;br /&gt;
For more information about the mission of the Code4Lib Journal, please see http://journal.code4lib.org/mission/.&lt;br /&gt;
&lt;br /&gt;
Thanks for considering us, and please do not hesitate to contact the editors at c4lj-articles@googlegroups.com in the future with a new or revised proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2547</id>
		<title>Code4Lib Journal Email Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2547"/>
				<updated>2009-03-13T21:05:35Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: wiki headings for easier editing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See also [[Code4Lib_Journal_Deadlines]]''&lt;br /&gt;
&lt;br /&gt;
== Submission Acknowledgement  ==&lt;br /&gt;
&lt;br /&gt;
Thanks for submitting a proposal to the Code4Lib Journal. We appreciate your participation in the code4lib community. The editors have received your proposal and should be in touch with you in 2-4 weeks regarding its appropriateness for publication in C4LJ. We will notify you if we need additional information to make this decision. Please feel free to contact us at c4lj-articles@googlegroups.com if you have additional questions.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Need More Information ==&lt;br /&gt;
&lt;br /&gt;
Thank you for your interest in publishing in the Code4Lib Journal. The Journal is primarily focused on technological issues in libraries. In order to help the editors determine if your proposal is appropriate for this publication, could you share more details about the intended audience for the the article and how it will address issues surrounding technology in libraries? Please respond to c4lj-articles@googlegroups.com with the additional information requested.&lt;br /&gt;
&lt;br /&gt;
You may also contact the editors at c4lj-articles@googlegroups.com if you have any additional questions. We look forward to hearing from you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Proposal Accepted ==&lt;br /&gt;
&lt;br /&gt;
Congratulations! Your recent proposal for an article about &amp;lt;insert topic/title&amp;gt; has been provisionally accepted to the Code4Lib Journal. As a member of the Code4Lib Journal editorial committee, I will be your contact for your proposed Code4Lib Journal article, and will work with you to get the article ready for publication.&lt;br /&gt;
&lt;br /&gt;
We would like to publish your article in issue &amp;lt;#&amp;gt; of the Journal, which is scheduled to be published on &amp;lt;insert date here&amp;gt;. The deadline for submission of a complete draft of the article is &amp;lt;deadline for draft&amp;gt;, but the sooner you can get us a draft the better, the more likely we'll be able to get your article into that issue. To see what we're looking for, you should consult our author guidelines at: http://journal.code4lib.org/article-guidelines. Once you have submitted a complete draft for publication, we may work with you on additional requested edits before the Editorial Committee will vote again to finalize its publication. &lt;br /&gt;
&lt;br /&gt;
As a final note, we require all authors to agree to CC-BY licensing for the articles we publish in the journal. We recommend that any included code also have some type of code-specific open source license (such as the GPL).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;insert any additional comments about focus we'd like to see in the article or editorial committee concerns&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We are excited about your article, and look forward to seeing a complete draft and including it in the Journal. Thanks for submitting to us, and feel free to contact me directly with any questions. &lt;br /&gt;
&lt;br /&gt;
== Proposal Rejected  ==&lt;br /&gt;
&lt;br /&gt;
We regret to inform you that your recent proposal to the Code4Lib Journal for an article about &amp;lt;insert topic/title&amp;gt; has not been accepted for publication. This is likely because the Editorial Committee determined that it was not an appropriate match for the audience, mission, or scope of the Code4Lib Journal. [optional - insert comment here about why it's not appropriate]&lt;br /&gt;
&lt;br /&gt;
For more information about the mission of the Code4Lib Journal, please see http://journal.code4lib.org/mission/.&lt;br /&gt;
&lt;br /&gt;
Thanks for considering us, and please do not hesitate to contact the editors at c4lj-articles@googlegroups.com in the future with a new or revised proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=ServiceResponse_data_structures_and_generation&amp;diff=2133</id>
		<title>ServiceResponse data structures and generation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=ServiceResponse_data_structures_and_generation&amp;diff=2133"/>
				<updated>2009-02-09T19:57:07Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* The handle method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Part of [[Umlaut Technical Overview]]&lt;br /&gt;
&lt;br /&gt;
==ServiceResponse and related data structures==&lt;br /&gt;
&lt;br /&gt;
Before talking about how the services generate data, we should talk about the data format of a [http://umlaut.rubyforge.org/api/classes/ServiceResponse.html ServiceResponse].  A ServiceResponse is basically a unit of information generated by a Service, generally for display somewhere on the link resolver menu page. For example, there might be a ServiceResponse representing a fulltext link, a help link, or an abstract. ServiceResponses almost always link out somewhere, along with providing other data for display. &lt;br /&gt;
&lt;br /&gt;
The ServiceResponse entity has a few 'standard' properties (display_text, url, notes), but also a property, service_data, consisting of a serialized hash for holding arbitrary key/value information. Different service types might require different key/values here.  The [] operator on ServiceResponse conveniently allows you to store arbitrary key/value information in this property (and also access/set the 'built-in' properties). For appropriately loose coupling between data stored, service generating it, and view, we define some conventions for what key/value pairs are used for what purposes in each response type, in comments on [http://umlaut.rubyforge.org/api/classes/ServiceResponse.html ServiceResponse class definition]. &lt;br /&gt;
&lt;br /&gt;
A ServiceResponse also records which Service generated it, using that Service's service_id/name as defined in config/umlaut_config/services.yml, and generally retrievable from the ServiceList.&lt;br /&gt;
&lt;br /&gt;
So what do we mean by a 'service type'?  The list of all valid service types is defined in the ServiceTypeValue table. Each ServiceTypeValue has a one-word internal identifier token (name), a display_name for user presentation, and optionally a display_name_pluralized (to over-ride standard Rails pluralization). The values in this table are initialized from db/orig_fixed_data/service_type_values.yml when you run rake umlautdb:load_initial_data. We intend the local implementer to be able to create locally defined ServiceTypeValues too, if necessary.  &lt;br /&gt;
&lt;br /&gt;
ServiceTypeValue uses the acts_as_enumerated plug-in to conveniently allow the developer to refer to an individual ServiceTypeValue by name:  ServiceTypeValue[:fulltext] ==&amp;gt; the ServiceTypeValue object with name == 'fulltext'.  acts_as_plugin does efficient caching.&lt;br /&gt;
&lt;br /&gt;
So obviously which ServiceTypeValue a given ServiceResponse is intended for needs to be registered somewhere. But you won't find it in ServiceResponse, which might be confusing at first. In fact, there's a somewhat confusingly named three-way join object called ServiceType, which ties together:&lt;br /&gt;
* a ServiceResponse&lt;br /&gt;
* a ServiceTypeValue&lt;br /&gt;
* a Request&lt;br /&gt;
&lt;br /&gt;
This architecture theoretically allows:&lt;br /&gt;
* One ServiceResponse to belong to multiple Requests (ServiceResponse cacheing accross requests/sessions). &lt;br /&gt;
* One ServiceResponse to be assigned ''multiple'' ServiceTypeValues and thus listed multiple times with a given Request. &lt;br /&gt;
&lt;br /&gt;
In fact, Umlaut does not currently use ServiceResponse caching across requests; it turned out to be tricky to get right without clear gain. And very few (if any?) current services register the same ServiceResponse to a request with multiple ServiceTypeValues. But, the architecture is there to support it if needed in the future. &lt;br /&gt;
&lt;br /&gt;
This data structure architecture ends up somewhat confusing (and ServiceType is probably not a clear name for that three-way join) but there are usually convenience methods defined to avoid the complexity; they should be used. See for example (tbd).&lt;br /&gt;
&lt;br /&gt;
[http://bibwild.wordpress.com/files/2008/02/umlaut-serviceresponse.jpg Data structure diagram] Trying to figure out how to make this display inline, sorry.&lt;br /&gt;
&lt;br /&gt;
==Obligations of Service logic==&lt;br /&gt;
&lt;br /&gt;
What you need to know to write a new Service. How to generate data, and callback methods service logic can or must provide. &lt;br /&gt;
&lt;br /&gt;
Recall that an umlaut &amp;quot;service&amp;quot; is defined in config/umlaut_config/services.yml to be a particular class holding the service logic, and some configuration parameters. &lt;br /&gt;
&lt;br /&gt;
That class holding the service logic is called a &amp;quot;service adaptor&amp;quot;, or somewhat ambiguously, sometimes times just a &amp;quot;service&amp;quot;. Service adaptors live in lib/service_adaptors, and extend [http://umlaut.rubyforge.org/api/classes/Service.html Service]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Statelessness===&lt;br /&gt;
&lt;br /&gt;
Service logic should generally be written to be state-less. The same Service object, defined in services.yml, is initialized once and generally re-used for the life of an application instance (cached by ServiceList).  So any state you store can end up persisting from request to request and session to session, which you probably don't intend. Umlaut architecture for background services also involves threads and forks, and while there's normally no reason a given service object would be in two threads simultaneously, better safe than sorry. It's safest to store no non-universal state in the service object. &lt;br /&gt;
&lt;br /&gt;
===Disclosure methods===&lt;br /&gt;
&lt;br /&gt;
A service adaptor must define [http://umlaut.rubyforge.org/api/classes/Service.html#service_types_generated service_types_generated()] to return an Array of ServiceTypeValues constituting the types of ServiceResponses the service&lt;br /&gt;
&lt;br /&gt;
A service adaptor may optionally list some required configuration params. If they are not supplied, an exception will be thrown when the service is initialized from services.yml. eg:&lt;br /&gt;
: required_config_params :api_key, :base_url&lt;br /&gt;
&lt;br /&gt;
===The handle method===&lt;br /&gt;
&lt;br /&gt;
The heart of a typical service is in implementing the [http://umlaut.rubyforge.org/api/classes/Service.html#handle handle] method. When Umlaut wants a service to do it's thing, Umlaut will pass the request in, and it's up to the Service to do it's work. &lt;br /&gt;
&lt;br /&gt;
The service can examine all metadata from the request, and even examine ServiceResponses generated by other services, and the status of other services in progress or finished. (See [http://umlaut.rubyforge.org/api/classes/Request.html Request#dispatched_services], Request#dispatched, Request#services_in_progress, etc.)&lt;br /&gt;
&lt;br /&gt;
The service can then enhance any metadata if desired (likely data in [http://umlaut.rubyforge.org/api/classes/Referent.html Referent], from Request#referent). &lt;br /&gt;
&lt;br /&gt;
The service can create one or more ServiceResponses. A ServiceResponse normally represents a discrete package of data that will be displayed on some part of the resolve menu. ServiceResponses should generally be created with the convenience method [http://umlaut.rubyforge.org/api/classes/Request.html Request]#add_service_response.  &lt;br /&gt;
&lt;br /&gt;
The add_service_response call has you specify the particular service class, the ServiceTypeValue, and arbitrary key value pairs as appropriate/conventional for the given time. For conventions on these key/value pairs, see [http://umlaut.rubyforge.org/api/classes/ServiceResponse.html ServiceResponse]. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
request.add_service_response(:service=&amp;gt;self,&lt;br /&gt;
                            :service_type_value =&amp;gt; :cover_image,&lt;br /&gt;
                            :display_text =&amp;gt; 'Cover Image',&lt;br /&gt;
                            :key=&amp;gt;size,&lt;br /&gt;
                            :url =&amp;gt; img.inner_html,&lt;br /&gt;
                            :asin =&amp;gt; asin,&lt;br /&gt;
                            :size =&amp;gt; size )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Service code is also responsible for registering a DispatchedService object with the completion state of the service. This should be done with the convenience method [http://umlaut.rubyforge.org/api/classes/Request.html Request]#dispatched .  If the service throws an uncaught exception, Umlaut itself will register a DispatchedService with status FailedFatal. But otherwise, the service is responsible for registering a completion status, or Umlaut may not realize the service is complete and continue running it over and over again, or reporting it as timed out.&lt;br /&gt;
&lt;br /&gt;
===callback methods===&lt;br /&gt;
&lt;br /&gt;
The Service can play an interactive role with the view elements of Umlaut in determining how to display the ServiceResponse and how to generate an external url for it if the user clicks on it. A Service doesn't need to do this--it can simply include properties in generated ServiceResponses for the conventional keys mentioned in [http://umlaut.rubyforge.org/api/classes/ServiceResponse.html ServiceResponse],  including a pre-generated url in the :url property. &lt;br /&gt;
&lt;br /&gt;
However, for more complicated processing (including not generating urls until the point-of-need when a user actually clicks on one), callback methods can instead be implemented. &lt;br /&gt;
&lt;br /&gt;
These callback methods include [http://umlaut.rubyforge.org/api/classes/Service.html]#view_data_from_service_type(service_type_obj) ,  #to_[name of service goes here] (eg #to_fulltext, or #to_help ), Service#response_to_view_data, and Service#response_url. &lt;br /&gt;
&lt;br /&gt;
For more information, see the Technical Overview section on view logic. (tbd).&lt;br /&gt;
&lt;br /&gt;
==Alternate Service Tasks==&lt;br /&gt;
&lt;br /&gt;
Services were originally designed to do one thing, as described above. However, it has been useful to use the service architecture to perform other 'tasks' too, basically other sorts of plug-ins. What plug-in 'task' a service will be called upon to perform depends on the task config property in services.yml, which defaults to 'standard' when empty. &lt;br /&gt;
&lt;br /&gt;
The other service task we have defined currently as 'link_out_filter'. A task:link_out_filter service will never have it's handle method called. Instead, it will have a [http://umlaut.rubyforge.org/api/classes/Service.html Service#]link_out_filter method defined, and called at the appropriate control point.  Examples of link_out_filter services are ezproxy, and sfx_backchannel_record.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=2099</id>
		<title>Umlaut wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=2099"/>
				<updated>2009-02-05T17:05:58Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
Desired or planned features. &lt;br /&gt;
&lt;br /&gt;
* Allow a service_response to have a tree relationship to children, so for instance alternate versions of a text can be attached as children of the main link, expandable by the user. &lt;br /&gt;
&lt;br /&gt;
* http://export.arxiv.org/api_help/   !!!!&lt;br /&gt;
&lt;br /&gt;
* PubMed Central full text lookup http://www.ncbi.nlm.nih.gov/entrez/query/static/esearch_help.html (SFX may already do this?)&lt;br /&gt;
&lt;br /&gt;
* Journal ToC from CiteULike&lt;br /&gt;
&lt;br /&gt;
* Parsing of formatted references from an entry screen. Use http://wing.comp.nus.edu.sg/parsCit/ package. Very interesting!  Or a similar UCOP package: http://purl.net/net/egh/hmm-citation-extractor/ See list of such packages here under &amp;quot;Other Parsing Tools&amp;quot; http://freecite.library.brown.edu/&lt;br /&gt;
&lt;br /&gt;
* LibraryThing open knowledge API for more data. http://www.librarything.com/blog/2008/08/free-web-services-api-to-common.php&lt;br /&gt;
&lt;br /&gt;
* Connect to internet linked movie database on movies: http://www.linkedmdb.org/&lt;br /&gt;
&lt;br /&gt;
* Add information about the conversation happening around an article with Scintilla if we have a URL, PMID or DOI (Alf at Scintilla would prefer us NOT to use the API for high-traffic. But we can copy his techniques internally to Umlaut. CrossRef and PubMed for &amp;quot;cited by&amp;quot; on DOI and PMID identifiers are a good idea. He has also reverse engineered the Scopus javascript api to allow server-side json access. http://hublog.hubmed.org/archives/001512.html):&lt;br /&gt;
     http://hublog.hubmed.org/archives/001609.html&lt;br /&gt;
     Unofficially it will return json:&lt;br /&gt;
     http://scintilla.nature.com/conversations?uri=info%3Adoi%2F10.1371%2Fjournal.pmed.0020124&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rochester “Getting Users Fulltext” style code to skip right to the full text, skipping content-provider metadata pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* UMich Mirlyn for metadata enrichment? &lt;br /&gt;
     http://webservices.itcs.umich.edu/mediawiki/MLibraryAPI/index.php/Mirlynapi:Home&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* xISBN/thingISBN use. (Some thought is required in how to integrate this while avoiding false positives). Bowker ISSN service for metadata enhancement. OCLC xISSN?  Integrate preceding/succeeding title information from OPAC or xISSN?&lt;br /&gt;
&lt;br /&gt;
* LibraryLookup: http://xisbn.worldcat.org/liblook/index.htm  At least until xISBN is baked in we could provide a link to this service. Increases the chances of finding a desired book in the catalog through work set grouping. Used by LibX.&lt;br /&gt;
      http://xisbn.worldcat.org/liblook/resolve.htm?res_id=http://www.iucat.iu.edu&amp;amp;rft.isbn=0451530942&amp;amp;url_ver=Z39.88-2004&amp;amp;rft_val_fmt=info:ofi/fmt:kev:mtx:book&lt;br /&gt;
&lt;br /&gt;
* Journal covers from Ulrich's via screen-scraping (or Ulrich's/sersol built in api?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connotea integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fetch ToC from LC. Screen scrape, I guess? Or z3950? Any other content from LC?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link to Books In Print ala Notre Dame. &lt;br /&gt;
http://www.library.nd.edu/eresources/findit/findit.cgi?doc_num=001939269&amp;amp;aleph_session=U5AVHRXD5QB1CGDFDSVJ9DSY2UA6QNCGVEU8EYRX9NNMIQ429Q-54668%22&lt;br /&gt;
example &lt;br /&gt;
&lt;br /&gt;
* bip search url? :&lt;br /&gt;
http://www.booksinprint.com/merge_shared/Search/advsearch.asp%3FdateState%3DY%26txtAction%3D%26BooleanSearch%3D%26SType%3Dadv%26collection%3DBIP%26QueryMode%3DSimple%26ResultCount%3D25%26ResultTemplate%3Dmbbookresult_fl.hts%26navPage%3D1%26SrchFrm%3DAdv%26ScoreThreshold%3D0%26Criteria1%3DISBN%26CriteriaText1%3D0838935370&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX plugin:  Notice when first title given is non-roman, and look for roman title to enhance metadata with when so. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* HIP and other OPAC searchers should pull ToC from MARC 505 when present.  And 856's judged to be ToC in ToC, not full text. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Umlaut Referent to more easily allow multiple authors. Architectural change neccessary to get a lot of this stuff working right. &lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Cited by&amp;quot; service. Scopus via screen scraping? (scopus javascript api? http://www.scopus.com/scsearchapi/ See also http://hublog.hubmed.org/archives/001512.html ) ISI Web of Science is too hard to even screen scrape the interface is such a mess, but Scopus looks do-able.  Google scholar?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Enhance metadata to have full metadata for a refworks etc export. Using: CrossRef?  Metalib?  Anything else?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A general purpose responsecache. Schema: Date, service/source, key.  Use for caching image urls, ToC urls from LC, etc. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Worldcat registry auto-discovery. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a Worldcat search that uses API, instead of screen scrape. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Switch OCA search to use OCA native APIs, instead of indexdata mirror index. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* fix unapi in umlaut. unapi to rsi?  For zotero. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change background to use Spawn plugin instead of manual threading. Investigating using spawn with fork instead of thread (terry reese on limited pool of forks). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Crazy idea for an abstract interface/architecture to support querying web service apis that require client side javascript, like Google Books and Scopus. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Integrate my various local document delivery services into menu of options when full text isn’t available. More generally, a clear architecture for providing localized doc delivery services in addition to a single ILL link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX adaptor: Add a &amp;quot;rollup&amp;quot; feature that pays attention to dates to avoid eliminating coverage.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=2098</id>
		<title>Umlaut wishlist</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_wishlist&amp;diff=2098"/>
				<updated>2009-02-05T17:03:46Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
Desired or planned features. &lt;br /&gt;
&lt;br /&gt;
* Allow a service_response to have a tree relationship to children, so for instance alternate versions of a text can be attached as children of the main link, expandable by the user. &lt;br /&gt;
&lt;br /&gt;
* http://export.arxiv.org/api_help/   !!!!&lt;br /&gt;
&lt;br /&gt;
* PubMed Central full text lookup http://www.ncbi.nlm.nih.gov/entrez/query/static/esearch_help.html (SFX may already do this?)&lt;br /&gt;
&lt;br /&gt;
* Journal ToC from CiteULike&lt;br /&gt;
&lt;br /&gt;
* Parsing of formatted references from an entry screen. Use http://wing.comp.nus.edu.sg/parsCit/ package. Very interesting!  Or a similar UCOP package: http://purl.net/net/egh/hmm-citation-extractor/ See list of such packages here under &amp;quot;Other Parsing Tools&amp;quot; http://freecite.library.brown.edu/&lt;br /&gt;
&lt;br /&gt;
* LibraryThing open knowledge API for more data. http://www.librarything.com/blog/2008/08/free-web-services-api-to-common.php&lt;br /&gt;
&lt;br /&gt;
* Connect to internet linked movie database on movies: http://www.linkedmdb.org/&lt;br /&gt;
&lt;br /&gt;
* Add information about the conversation happening around an article with Scintilla if we have a URL, PMID or DOI (Alf at Scintilla would prefer us NOT to use the API for high-traffic. But we can copy his techniques internally to Umlaut. CrossRef and PubMed for &amp;quot;cited by&amp;quot; on DOI and PMID identifiers are a good idea. He has also reverse engineered the Scopus javascript api to allow server-side json access. http://hublog.hubmed.org/archives/001512.html):&lt;br /&gt;
     http://hublog.hubmed.org/archives/001609.html&lt;br /&gt;
     Unofficially it will return json:&lt;br /&gt;
     http://scintilla.nature.com/conversations?uri=info%3Adoi%2F10.1371%2Fjournal.pmed.0020124&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Rochester “Getting Users Fulltext” style code to skip right to the full text, skipping content-provider metadata pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* UMich Mirlyn for metadata enrichment? &lt;br /&gt;
     http://webservices.itcs.umich.edu/mediawiki/MLibraryAPI/index.php/Mirlynapi:Home&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* xISBN/thingISBN use. (Some thought is required in how to integrate this while avoiding false positives). Bowker ISSN service for metadata enhancement. OCLC xISSN?  Integrate preceding/succeeding title information from OPAC or xISSN?&lt;br /&gt;
&lt;br /&gt;
* LibraryLookup: http://xisbn.worldcat.org/liblook/index.htm  At least until xISBN is baked in we could provide a link to this service. Increases the chances of finding a desired book in the catalog through work set grouping. Used by LibX.&lt;br /&gt;
      http://xisbn.worldcat.org/liblook/resolve.htm?res_id=http://www.iucat.iu.edu&amp;amp;rft.isbn=0451530942&amp;amp;url_ver=Z39.88-2004&amp;amp;rft_val_fmt=info:ofi/fmt:kev:mtx:book&lt;br /&gt;
&lt;br /&gt;
* Journal covers from Ulrich's via screen-scraping (or Ulrich's/sersol built in api?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Connotea integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fetch ToC from LC. Screen scrape, I guess? Or z3950? Any other content from LC?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Link to Books In Print ala Notre Dame. &lt;br /&gt;
http://www.library.nd.edu/eresources/findit/findit.cgi?doc_num=001939269&amp;amp;aleph_session=U5AVHRXD5QB1CGDFDSVJ9DSY2UA6QNCGVEU8EYRX9NNMIQ429Q-54668%22&lt;br /&gt;
example &lt;br /&gt;
&lt;br /&gt;
* bip search url? :&lt;br /&gt;
http://www.booksinprint.com/merge_shared/Search/advsearch.asp%3FdateState%3DY%26txtAction%3D%26BooleanSearch%3D%26SType%3Dadv%26collection%3DBIP%26QueryMode%3DSimple%26ResultCount%3D25%26ResultTemplate%3Dmbbookresult_fl.hts%26navPage%3D1%26SrchFrm%3DAdv%26ScoreThreshold%3D0%26Criteria1%3DISBN%26CriteriaText1%3D0838935370&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX plugin:  Notice when first title given is non-roman, and look for roman title to enhance metadata with when so. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* HIP and other OPAC searchers should pull ToC from MARC 505 when present.  And 856's judged to be ToC in ToC, not full text. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Umlaut Referent to more easily allow multiple authors. Architectural change neccessary to get a lot of this stuff working right. &lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Cited by&amp;quot; service. Scopus via screen scraping? (scopus javascript api? http://www.scopus.com/scsearchapi/ ) ISI Web of Science is too hard to even screen scrape the interface is such a mess, but Scopus looks do-able.  Google scholar?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Enhance metadata to have full metadata for a refworks etc export. Using: CrossRef?  Metalib?  Anything else?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* A general purpose responsecache. Schema: Date, service/source, key.  Use for caching image urls, ToC urls from LC, etc. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fix Worldcat registry auto-discovery. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a Worldcat search that uses API, instead of screen scrape. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Switch OCA search to use OCA native APIs, instead of indexdata mirror index. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* fix unapi in umlaut. unapi to rsi?  For zotero. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change background to use Spawn plugin instead of manual threading. Investigating using spawn with fork instead of thread (terry reese on limited pool of forks). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Crazy idea for an abstract interface/architecture to support querying web service apis that require client side javascript, like Google Books and Scopus. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Integrate my various local document delivery services into menu of options when full text isn’t available. More generally, a clear architecture for providing localized doc delivery services in addition to a single ILL link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SFX adaptor: Add a &amp;quot;rollup&amp;quot; feature that pays attention to dates to avoid eliminating coverage.&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2051</id>
		<title>Code4Lib Journal Email Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Code4Lib_Journal_Email_Templates&amp;diff=2051"/>
				<updated>2009-02-02T17:04:54Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''See also [[Code4Lib_Journal_Deadlines]]''&lt;br /&gt;
&lt;br /&gt;
'''Submission Acknowledgement &lt;br /&gt;
&lt;br /&gt;
Thanks for submitting a proposal to the Code4Lib Journal. We appreciate your participation in the code4lib community. The editors have received your proposal and should be in touch with you in 2-4 weeks regarding its appropriateness for publication in C4LJ. We will notify you if we need additional information to make this decision. Please feel free to contact us at c4lj-articles@googlegroups.com if you have additional questions.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Need More Information&lt;br /&gt;
&lt;br /&gt;
Thank you for your interest in publishing in the Code4Lib Journal. The Journal is primarily focused on technological issues in libraries. In order to help the editors determine if your proposal is appropriate for this publication, could you share more details about the intended audience for the the article and how it will address issues surrounding technology in libraries? Please respond to c4lj-articles@googlegroups.com with the additional information requested.&lt;br /&gt;
&lt;br /&gt;
You may also contact the editors at c4lj-articles@googlegroups.com if you have any additional questions. We look forward to hearing from you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Proposal Accepted&lt;br /&gt;
&lt;br /&gt;
Congratulations! Your recent proposal for an article about &amp;lt;insert topic/title&amp;gt; has been provisionally accepted to the Code4Lib Journal. As a member of the Code4Lib Journal editorial committee, I will be your contact for your proposed Code4Lib Journal article, and will work with you to get the article ready for publication.&lt;br /&gt;
&lt;br /&gt;
We would like to publish your article in issue &amp;lt;#&amp;gt; of the Journal, which is scheduled to be published on &amp;lt;insert date here&amp;gt;. The deadline for submission of a complete draft of the article is &amp;lt;deadline for draft&amp;gt;, but the sooner you can get us a draft the better, the more likely we'll be able to get your article into that issue. To see what we're looking for, you should consult our author guidelines at: http://journal.code4lib.org/article-guidelines. Once you have submitted a complete draft for publication, we may work with you on additional requested edits before the Editorial Committee will vote again to finalize its publication. &lt;br /&gt;
&lt;br /&gt;
As a final note, we require all authors to agree to CC-BY licensing for the articles we publish in the journal. We recommend that any included code also have some type of code-specific open source license (such as the GPL).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;insert any additional comments about focus we'd like to see in the article or editorial committee concerns&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We are excited about your article, and look forward to seeing a complete draft and including it in the Journal. Thanks for submitting to us, and feel free to contact me directly with any questions. &lt;br /&gt;
&lt;br /&gt;
'''Proposal Rejected &lt;br /&gt;
&lt;br /&gt;
We regret to inform you that your recent proposal to the Code4Lib Journal for an article about &amp;lt;insert topic/title&amp;gt; has not been accepted for publication. This is likely because the Editorial Committee determined that it was not an appropriate match for the audience, mission, or scope of the Code4Lib Journal. [optional - insert comment here about why it's not appropriate]&lt;br /&gt;
&lt;br /&gt;
For more information about the mission of the Code4Lib Journal, please see http://journal.code4lib.org/mission/.&lt;br /&gt;
&lt;br /&gt;
Thanks for considering us, and please do not hesitate to contact the editors at c4lj-articles@googlegroups.com in the future with a new or revised proposal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Code4Lib Journal]]&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1765</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1765"/>
				<updated>2008-12-23T18:18:52Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* 1. Make sure you have a modern Ruby */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Install a 1.8.x version of ruby, ruby 1.9 is still considered experimental. The Rails web page says &amp;quot;We recommend Ruby 1.8.7 for use with Rails. Ruby 1.8.6, 1.8.5, 1.8.4 and 1.8.2 are still usable too, but version 1.8.3 is not.&amp;quot; (http://rubyonrails.org/download)   Try installing Ruby with your package manager of choice. If not, try installing from source, eg&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.7.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.7.tar.gz&lt;br /&gt;
# cd ruby-1.8.7&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
( jrochkind is currently running ruby 1.8.6 as of Dec 08 )&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
===== redhat =====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
===== ubuntu =====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
===== Solaris 10 (sparc) ===== &lt;br /&gt;
&lt;br /&gt;
This has been reported to work on Solaris 10 (sparc)&lt;br /&gt;
&lt;br /&gt;
 gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/ &lt;br /&gt;
 \ --with-mysql-lib=/opt/pkgs/mysql/lib&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1559</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1559"/>
				<updated>2008-12-03T20:28:50Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Solaris 10 (sparc) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
===== redhat =====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
===== ubuntu =====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
===== Solaris 10 (sparc) ===== &lt;br /&gt;
&lt;br /&gt;
This has been reported to work on Solaris 10 (sparc)&lt;br /&gt;
&lt;br /&gt;
 gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/ &lt;br /&gt;
 \ --with-mysql-lib=/opt/pkgs/mysql/lib&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1558</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1558"/>
				<updated>2008-12-03T20:28:32Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Solaris 10 (sparc) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
===== redhat =====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
===== ubuntu =====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
===== Solaris 10 (sparc) ===== &lt;br /&gt;
&lt;br /&gt;
This has been reported to work on Solaris 10 (sparc)&lt;br /&gt;
&lt;br /&gt;
 gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/ --with-mysql-lib=/opt/pkgs/mysql/lib&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1557</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1557"/>
				<updated>2008-12-03T20:28:12Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* ubuntu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
===== redhat =====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
===== ubuntu =====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
===== Solaris 10 (sparc) ===== &lt;br /&gt;
&lt;br /&gt;
This has been reported to work on Solaris 10 (sparc)&lt;br /&gt;
&lt;br /&gt;
 gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/&lt;br /&gt;
--with-mysql-lib=/opt/pkgs/mysql/lib&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1556</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1556"/>
				<updated>2008-12-03T20:28:02Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* redhat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
===== redhat =====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
 sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
===== ubuntu =====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
===== Solaris 10 (sparc) ===== &lt;br /&gt;
&lt;br /&gt;
This has been reported to work on Solaris 10 (sparc)&lt;br /&gt;
&lt;br /&gt;
 gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/&lt;br /&gt;
--with-mysql-lib=/opt/pkgs/mysql/lib&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1555</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1555"/>
				<updated>2008-12-03T20:27:52Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Solaris 10 (sparc) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
===== redhat =====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
===== ubuntu =====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
===== Solaris 10 (sparc) ===== &lt;br /&gt;
&lt;br /&gt;
This has been reported to work on Solaris 10 (sparc)&lt;br /&gt;
&lt;br /&gt;
 gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/&lt;br /&gt;
--with-mysql-lib=/opt/pkgs/mysql/lib&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1554</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1554"/>
				<updated>2008-12-03T20:26:11Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* mysql */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
===== redhat =====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
===== ubuntu =====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
===== Solaris 10 (sparc) ===== &lt;br /&gt;
&lt;br /&gt;
This has been reported to work on Solaris 10 (sparc)&lt;br /&gt;
&lt;br /&gt;
gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/&lt;br /&gt;
with-mysql-lib=/opt/pkgs/mysql/lib&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1553</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1553"/>
				<updated>2008-12-03T20:25:50Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* mysql */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
===== redhat =====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
===== ubuntu =====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
===== Solaris 10 (sparc) =====&lt;br /&gt;
&lt;br /&gt;
This has been reported to work on Solaris 10 (sparc)&lt;br /&gt;
&lt;br /&gt;
gem install mysql -- --with-mysql-include=/opt/pkgs/mysql/include/&lt;br /&gt;
with-mysql-lib=/opt/pkgs/mysql/lib&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1552</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1552"/>
				<updated>2008-12-03T20:24:33Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* ubuntu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
==== redhat ====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
==== ubuntu ====&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1551</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1551"/>
				<updated>2008-12-03T20:24:24Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* redhat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
==== redhat ====&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
=== ubuntu ===&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1550</id>
		<title>Umlaut Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Installation&amp;diff=1550"/>
				<updated>2008-12-03T20:23:34Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* mysql */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
To install Umlaut&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Make sure you have a modern Ruby ==&lt;br /&gt;
&lt;br /&gt;
Rails recommends Ruby 1.8.4 (and requires at least 1.8.2, but 1.8.3 is incompatible). Some Red Hat versions may come with only 1.8.1.  Try installing Ruby with your package manager of choice, and see if you can get 1.8.4. If not, try installing from source:&lt;br /&gt;
&lt;br /&gt;
# [Download 1.8.4&amp;gt;http://rubyforge.org/frs/download.php/7858/ruby-1.8.4.tar.gz]&lt;br /&gt;
# tar -zxvf ruby-1.8.4.tar.gz&lt;br /&gt;
# cd ruby-1.8.4&lt;br /&gt;
# sudo ./configure&lt;br /&gt;
# sudo make&lt;br /&gt;
# sudo make install&lt;br /&gt;
&lt;br /&gt;
== 2. Install RubyGems ==&lt;br /&gt;
&lt;br /&gt;
Again, your package manager may be able to supply this (for example &amp;quot;yum install rubygems), but if not, you could again install from source:&lt;br /&gt;
&lt;br /&gt;
# [Download here&amp;gt;http://rubyforge.org/frs/?group_id=126]&lt;br /&gt;
# tar -zxvf rubygems-x.x.x.tar.gz&lt;br /&gt;
# cd rubygems-x.x.x&lt;br /&gt;
# sudo ruby setup.rb&lt;br /&gt;
( actually don't do this, to be safe # sudo gem update)&lt;br /&gt;
&lt;br /&gt;
[NOTE: Right now, umlaut may only work with rubygems 0.9. Working on it!]&lt;br /&gt;
&lt;br /&gt;
== 3. Install Rails ==&lt;br /&gt;
&lt;br /&gt;
Umlaut requires Rails 2.1.2, and is bound to it in the default environment.rb. It has not been verified for Rails 2.2.x yet. So install the 2.1.2 version of Rails (you can have multiple versions of Rails installed simulataneously, don't worry about this overwriting a more recent version of Rails you may want--it won't.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;sudo gem install rails -v 2.1.2&amp;quot;  (say yes to any dependencies)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''': There are various guides available on the net to getting Ruby/Rubygems/Rails installed on various OSs. Consult if you have trouble.&lt;br /&gt;
&lt;br /&gt;
== 4. Install Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Right now, the best (only) way to install Umlaut is from it's SVN store.&lt;br /&gt;
&lt;br /&gt;
For a read-only checkout:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout http://umlaut.rubyforge.org/svn/trunk/  ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or instead of &amp;quot;./Umlaut&amp;quot;, whatever local path you want to put the thing in.&lt;br /&gt;
&lt;br /&gt;
For a checkout with commit privs, you need a rubyforge account and to be added to the umlaut project, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
svn checkout svn+ssh://(developername)@rubyforge.org/var/svn/umlaut/U2 ./Umlaut&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Umlaut comes with a number of Ruby gems and Rails plugins &amp;quot;frozen&amp;quot; into it's distribution, in vendor/plugins.  You do not need to install these, they come with Umlaut. These include: json_pure ; sru; xisbn;  enumerations_mixin (plugin) ; app_config (plugin); isbn-tools (plugin) ; openurl ( svn external link in plugin; needs to be fixed to link to a specific tag ); htmlentities (http://htmlentities.rubyforge.org/)&lt;br /&gt;
&lt;br /&gt;
However, there are a few plugins that can not be conveniently packaged with Umlaut, you need to install them yourself...&lt;br /&gt;
&lt;br /&gt;
== 5. Install Umlaut's gem dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== mongrel === &lt;br /&gt;
&lt;br /&gt;
(Umlaut will not run with WEBrick due to threading issues. Recommend installing mongrel for testing and deployment. mongrel 1.1.4 or later is highly reccommended. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install mongrel&lt;br /&gt;
&lt;br /&gt;
=== hpricot ===&lt;br /&gt;
&lt;br /&gt;
(hpricot is compiled C code, so you are best off installing it yourself. Right now hpricot 0.6 is tested and confirmed. )&lt;br /&gt;
&lt;br /&gt;
sudo gem install hpricot -v 0.6&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
A pure-ruby json library is bundled with Umlaut automatically, but you really ought to install the compiled C one on your server instead, for much better performance. Umlaut will automatically use it if present. Currently verified with version 1.1.3&lt;br /&gt;
&lt;br /&gt;
sudo gem install json -v 1.1.3&lt;br /&gt;
&lt;br /&gt;
=== mysql ===&lt;br /&gt;
&lt;br /&gt;
MySQL is the reccomended db, and the only db currently verified to work. Umlaut won't usually run with SQLite3 due to threading issues.&lt;br /&gt;
&lt;br /&gt;
Rails is supposed to be able to talk to mysql without the mysql gem installed (just less efficiently), but for some reason Umlaut seems to have trouble with this. Not sure, you can try it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install msyql&lt;br /&gt;
&lt;br /&gt;
Except some additional configuration arguments may be neccesary to compile on your machine. &lt;br /&gt;
&lt;br /&gt;
=== redhat ===&lt;br /&gt;
&lt;br /&gt;
On a RedHat machine, this works:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config&lt;br /&gt;
&lt;br /&gt;
=== ubuntu ===&lt;br /&gt;
&lt;br /&gt;
On Ubuntu you will also need to:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysqlclient15-dev&lt;br /&gt;
&lt;br /&gt;
Then you can:&lt;br /&gt;
&lt;br /&gt;
sudo gem install mysql&lt;br /&gt;
&lt;br /&gt;
Ubuntu also packages the mysql library, if you'd rather use that version you can try:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libmysql-ruby&lt;br /&gt;
&lt;br /&gt;
=== More optional gems ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Voyager sites that want to bypass z39.50 and access Oracle directly will need Oracle Instant Client or Full Client installed on the same machine as the Umlaut. (This native Voyager code is not currently verified as working.) [http://www.jiubao.org/ruby-oci8 Oracle OCI8] [http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle Instant Client]&lt;br /&gt;
&lt;br /&gt;
== Now You Need to Setup Umlaut ==&lt;br /&gt;
&lt;br /&gt;
Good job, you've got all software installed, now you need to do some setup. See [[Umlaut Setup]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Setup&amp;diff=1473</id>
		<title>Umlaut Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Setup&amp;diff=1473"/>
				<updated>2008-11-26T20:16:07Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Next Steps? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
= Umlaut First-Time Setup and Configuration =&lt;br /&gt;
&lt;br /&gt;
''In all these instructions '''$Umlaut''' in a path stands for the location you have installed Umlaut.&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Create Local Config Directories ==&lt;br /&gt;
&lt;br /&gt;
To create directories for your local config, cd into your Umlaut directory, and run:&lt;br /&gt;
&lt;br /&gt;
./script/generate umlaut_local&lt;br /&gt;
&lt;br /&gt;
This will create several directories including the one we care about now:  $Umlaut/config/umlaut_config/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:'''Explanation''': In a normal Rails app, your local config goes in places like config/environment.rb and config/database.yml.  But Umlaut config/environment.rb has  Umlaut application fixed settings in it, mixing in your local settings would be confusing. Plus, that config directory is in the Umlaut overall SVN, you might want to SVN control your local config seperately.&lt;br /&gt;
&lt;br /&gt;
:Therefore we have an architecture to put all local config (and other local customization) in seperate local directories. The goal is that you should never have to edit any of the files that came with the Umlaut distribution to make local customizations, you should always be able to do this through local config. To learn more about this architecture, and how to put your local config in your own local svn, see [[Umlaut Local Configuration Architecture]].&lt;br /&gt;
&lt;br /&gt;
== 2. Configure your database connection information ==&lt;br /&gt;
&lt;br /&gt;
A typical Rails app uses three databases: a production db, a development db, and a test db. At a minimum you need a production db. A development db is probably also neccessary--Umlaut doesn't use tests right now (we are ashamed), so you don't really need a test db.&lt;br /&gt;
&lt;br /&gt;
In Umlaut (a little bit different than standard Rails), your local connection information for your dbs is stored in $Umlaut/config/umlaut_config/database.yml.   There should already be an example file there with some hints in it.&lt;br /&gt;
&lt;br /&gt;
We reccommend MySQL 5.x for use with Umlaut. ( SQLite3 won't work, unless you figure out a way to compile it with concurrency support). Create your databases in MySQL. We recommend making sure they are set to UTF8 char encoding. (eg, (CREATE DATABASE 'Name' DATABASE DEFAULT CHARACTER SET utf8).   Don't create any tables in your databases yet, that will be done automatically. Do fill out your umlaut_config/database.yml file to point at the right place.&lt;br /&gt;
&lt;br /&gt;
For search functions (manually entered journal name or citation), Umlaut uses a direct db connection to your SFX instance. You should use the MySQL utility to create a new user in the SFX MySQL instance, which is granted only select permissions to the SFX databases.  Then, you can fill out your SFX direct to db connection information in config/umlaut_config/database.yml. &lt;br /&gt;
&lt;br /&gt;
If you can't do this, or don't want to do this now, talk to Jonathan, it may be possible to set up other functionality. Umlaut used to support a bulk export from SFX instead of a live db connection, but that functionality has atrophied. It can in theory be brought back if needed.&lt;br /&gt;
&lt;br /&gt;
== 3. Create your database tables ==&lt;br /&gt;
&lt;br /&gt;
Once your dbs are configured in database.yml, you can have Rails create all the neccesary tables for you by running (from the Umlaut directory):&lt;br /&gt;
&lt;br /&gt;
:rake db:schema:load&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That will create tables in your development database. To create them in your production database too:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:rake db:schema:load RAILS_ENV=production&lt;br /&gt;
&lt;br /&gt;
== 4.  Set up initial Umlaut data ==&lt;br /&gt;
&lt;br /&gt;
Now you've created your databases and tables, but there is some initial fixed data that need to be in those tables for Umlaut to work with. To add this to your database, cd into your $UMLAUT directory, and run:&lt;br /&gt;
&lt;br /&gt;
:rake umlaut:load_initial_data&lt;br /&gt;
&lt;br /&gt;
And again for production:&lt;br /&gt;
&lt;br /&gt;
:rake umlaut:load_initial_data RAILS_ENV=production&lt;br /&gt;
&lt;br /&gt;
== 5.  Set up your Institutions and Services ==&lt;br /&gt;
&lt;br /&gt;
What functions your Umlaut installation will have will depend on which services you configure. Services are configured in $Umlaut/config/umlaut_config/services.yml  .   An individual user connects with given services by association to Institutions. Each Institution has a collection of services, and an individual user is associated with one more institutions.&lt;br /&gt;
&lt;br /&gt;
To begin with, you could define just one default institution (that all users will be associated with) in institutions.yml, and give it a few services. To start out with, just configure an SFX service pointing to your SFX installation. Comment out the others. As you know a service is working, you can add in another.&lt;br /&gt;
&lt;br /&gt;
Note: The A-Z list and journal name lookup will only currently work if using the direct connection to the SFX database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After editing the institutions.yml file, it needs to be synced with the db, as some institution information is stored in the db. Umlaut should check on startup if timestamp of institutions.yml requires a resync and do it automatically, but if you want to do it manually you can cd into the $UMLAUT directory and run:&lt;br /&gt;
&lt;br /&gt;
:rake umlaut:sync_institutions  (RAILS_ENV=production)&lt;br /&gt;
&lt;br /&gt;
== 6. Review additional local configuration ==&lt;br /&gt;
&lt;br /&gt;
There are several files in $Umlaut/config/umlaut_config/initializers/umlaut that contain additional local configuration parameters. A bunch of examples are provided for you, you'll have to un-comment the line and set a value if you want to locally configure a particular property. &lt;br /&gt;
&lt;br /&gt;
There are only a few that are really best set right away, all in umlaut_config/initializers/umlaut/umlaut_properties.rb&lt;br /&gt;
* You may want to set your local application name and a URL to an image for a 'link resolver button'. The button is mainly only used in Umlaut 'search' functionality (look up a manually typed in citation or journal name). &lt;br /&gt;
* You will definitely need to point AppConfig::Base.main_sfx_base_url to your SFX base URL. This is not used in general link resolver menu functions, but may be used in 'search' function to look up a manually typed in journal name or citation. It is also used on Umlaut's error page, to give the user an option of going to the native original SFX in an error condition. &lt;br /&gt;
* You may want to set AppConfig::Base.help_url , which is also used on error pages. &lt;br /&gt;
&lt;br /&gt;
There's really nothing else here you need to change to get Umlaut to work properly for you, but feel free to look around in the other files in initializers to see what sorts of things you can customize (an awful lot, sometimes by writing custom logic in ruby code to determine a particular Umlaut decision.)&lt;br /&gt;
&lt;br /&gt;
== 7. Nightly maintenance ==&lt;br /&gt;
&lt;br /&gt;
Some maintenance routines meant to be run nightly can be executed by cd'ing to your $Umlaut directory and running:&lt;br /&gt;
&lt;br /&gt;
:rake umlaut:nightly_maintenance (RAILS_ENV=production)&lt;br /&gt;
&lt;br /&gt;
To put that in a cron job, use this (with parens, where $Umlaut represents your umlaut install directory as usual):&lt;br /&gt;
&lt;br /&gt;
:( cd $Umlaut &amp;amp;&amp;amp; /usr/bin/rake umlaut:nightly_maintenance RAILS_ENV=production )&lt;br /&gt;
&lt;br /&gt;
Or leave  the RAILS_ENV=production off to perform maintainance on your dev database.&lt;br /&gt;
&lt;br /&gt;
If you don't put it in a cron job yet, you might want to run this manually from time to time, and probably once now to begin.&lt;br /&gt;
&lt;br /&gt;
== Next Steps? ==&lt;br /&gt;
&lt;br /&gt;
To try out Umlaut, cd into the $Umlaut directory and run &amp;quot;./script/server&amp;quot;  to launch the Rails app. (Be sure you've installed mongrel with 'sudo gem install mongrel', in which case Umlaut will be started with the mongrel environment. The default WEBrick environment will not work for Umlaut!). You'll then connect to Umlaut on &lt;br /&gt;
&lt;br /&gt;
 http://yourservername.tld:3000  &lt;br /&gt;
&lt;br /&gt;
The resolver base URL will be:  &lt;br /&gt;
&lt;br /&gt;
 http://yourservername.tld:3000/resolve?.&lt;br /&gt;
&lt;br /&gt;
The A-Z search interface will be: &lt;br /&gt;
&lt;br /&gt;
 http://yourservername.tld:3000/search&lt;br /&gt;
&lt;br /&gt;
 (should also work on straight http://yourservername.tld:3000/)&lt;br /&gt;
&lt;br /&gt;
This is a fine way to start it just for testing, but to deploy it for real see [[Umlaut Deployment]].&lt;br /&gt;
&lt;br /&gt;
You may also be interested in providing your own customized header, footer, or stylesheets. For this, and more localization, you'll find it helpful to see [[Umlaut Local Configuration Architecture]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	<entry>
		<id>https://wiki.code4lib.org/index.php?title=Umlaut_Setup&amp;diff=1472</id>
		<title>Umlaut Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.code4lib.org/index.php?title=Umlaut_Setup&amp;diff=1472"/>
				<updated>2008-11-26T20:15:22Z</updated>
		
		<summary type="html">&lt;p&gt;128.220.205.186: /* Next Steps? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Umlaut]]&lt;br /&gt;
&lt;br /&gt;
= Umlaut First-Time Setup and Configuration =&lt;br /&gt;
&lt;br /&gt;
''In all these instructions '''$Umlaut''' in a path stands for the location you have installed Umlaut.&lt;br /&gt;
''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1. Create Local Config Directories ==&lt;br /&gt;
&lt;br /&gt;
To create directories for your local config, cd into your Umlaut directory, and run:&lt;br /&gt;
&lt;br /&gt;
./script/generate umlaut_local&lt;br /&gt;
&lt;br /&gt;
This will create several directories including the one we care about now:  $Umlaut/config/umlaut_config/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:'''Explanation''': In a normal Rails app, your local config goes in places like config/environment.rb and config/database.yml.  But Umlaut config/environment.rb has  Umlaut application fixed settings in it, mixing in your local settings would be confusing. Plus, that config directory is in the Umlaut overall SVN, you might want to SVN control your local config seperately.&lt;br /&gt;
&lt;br /&gt;
:Therefore we have an architecture to put all local config (and other local customization) in seperate local directories. The goal is that you should never have to edit any of the files that came with the Umlaut distribution to make local customizations, you should always be able to do this through local config. To learn more about this architecture, and how to put your local config in your own local svn, see [[Umlaut Local Configuration Architecture]].&lt;br /&gt;
&lt;br /&gt;
== 2. Configure your database connection information ==&lt;br /&gt;
&lt;br /&gt;
A typical Rails app uses three databases: a production db, a development db, and a test db. At a minimum you need a production db. A development db is probably also neccessary--Umlaut doesn't use tests right now (we are ashamed), so you don't really need a test db.&lt;br /&gt;
&lt;br /&gt;
In Umlaut (a little bit different than standard Rails), your local connection information for your dbs is stored in $Umlaut/config/umlaut_config/database.yml.   There should already be an example file there with some hints in it.&lt;br /&gt;
&lt;br /&gt;
We reccommend MySQL 5.x for use with Umlaut. ( SQLite3 won't work, unless you figure out a way to compile it with concurrency support). Create your databases in MySQL. We recommend making sure they are set to UTF8 char encoding. (eg, (CREATE DATABASE 'Name' DATABASE DEFAULT CHARACTER SET utf8).   Don't create any tables in your databases yet, that will be done automatically. Do fill out your umlaut_config/database.yml file to point at the right place.&lt;br /&gt;
&lt;br /&gt;
For search functions (manually entered journal name or citation), Umlaut uses a direct db connection to your SFX instance. You should use the MySQL utility to create a new user in the SFX MySQL instance, which is granted only select permissions to the SFX databases.  Then, you can fill out your SFX direct to db connection information in config/umlaut_config/database.yml. &lt;br /&gt;
&lt;br /&gt;
If you can't do this, or don't want to do this now, talk to Jonathan, it may be possible to set up other functionality. Umlaut used to support a bulk export from SFX instead of a live db connection, but that functionality has atrophied. It can in theory be brought back if needed.&lt;br /&gt;
&lt;br /&gt;
== 3. Create your database tables ==&lt;br /&gt;
&lt;br /&gt;
Once your dbs are configured in database.yml, you can have Rails create all the neccesary tables for you by running (from the Umlaut directory):&lt;br /&gt;
&lt;br /&gt;
:rake db:schema:load&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That will create tables in your development database. To create them in your production database too:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:rake db:schema:load RAILS_ENV=production&lt;br /&gt;
&lt;br /&gt;
== 4.  Set up initial Umlaut data ==&lt;br /&gt;
&lt;br /&gt;
Now you've created your databases and tables, but there is some initial fixed data that need to be in those tables for Umlaut to work with. To add this to your database, cd into your $UMLAUT directory, and run:&lt;br /&gt;
&lt;br /&gt;
:rake umlaut:load_initial_data&lt;br /&gt;
&lt;br /&gt;
And again for production:&lt;br /&gt;
&lt;br /&gt;
:rake umlaut:load_initial_data RAILS_ENV=production&lt;br /&gt;
&lt;br /&gt;
== 5.  Set up your Institutions and Services ==&lt;br /&gt;
&lt;br /&gt;
What functions your Umlaut installation will have will depend on which services you configure. Services are configured in $Umlaut/config/umlaut_config/services.yml  .   An individual user connects with given services by association to Institutions. Each Institution has a collection of services, and an individual user is associated with one more institutions.&lt;br /&gt;
&lt;br /&gt;
To begin with, you could define just one default institution (that all users will be associated with) in institutions.yml, and give it a few services. To start out with, just configure an SFX service pointing to your SFX installation. Comment out the others. As you know a service is working, you can add in another.&lt;br /&gt;
&lt;br /&gt;
Note: The A-Z list and journal name lookup will only currently work if using the direct connection to the SFX database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After editing the institutions.yml file, it needs to be synced with the db, as some institution information is stored in the db. Umlaut should check on startup if timestamp of institutions.yml requires a resync and do it automatically, but if you want to do it manually you can cd into the $UMLAUT directory and run:&lt;br /&gt;
&lt;br /&gt;
:rake umlaut:sync_institutions  (RAILS_ENV=production)&lt;br /&gt;
&lt;br /&gt;
== 6. Review additional local configuration ==&lt;br /&gt;
&lt;br /&gt;
There are several files in $Umlaut/config/umlaut_config/initializers/umlaut that contain additional local configuration parameters. A bunch of examples are provided for you, you'll have to un-comment the line and set a value if you want to locally configure a particular property. &lt;br /&gt;
&lt;br /&gt;
There are only a few that are really best set right away, all in umlaut_config/initializers/umlaut/umlaut_properties.rb&lt;br /&gt;
* You may want to set your local application name and a URL to an image for a 'link resolver button'. The button is mainly only used in Umlaut 'search' functionality (look up a manually typed in citation or journal name). &lt;br /&gt;
* You will definitely need to point AppConfig::Base.main_sfx_base_url to your SFX base URL. This is not used in general link resolver menu functions, but may be used in 'search' function to look up a manually typed in journal name or citation. It is also used on Umlaut's error page, to give the user an option of going to the native original SFX in an error condition. &lt;br /&gt;
* You may want to set AppConfig::Base.help_url , which is also used on error pages. &lt;br /&gt;
&lt;br /&gt;
There's really nothing else here you need to change to get Umlaut to work properly for you, but feel free to look around in the other files in initializers to see what sorts of things you can customize (an awful lot, sometimes by writing custom logic in ruby code to determine a particular Umlaut decision.)&lt;br /&gt;
&lt;br /&gt;
== 7. Nightly maintenance ==&lt;br /&gt;
&lt;br /&gt;
Some maintenance routines meant to be run nightly can be executed by cd'ing to your $Umlaut directory and running:&lt;br /&gt;
&lt;br /&gt;
:rake umlaut:nightly_maintenance (RAILS_ENV=production)&lt;br /&gt;
&lt;br /&gt;
To put that in a cron job, use this (with parens, where $Umlaut represents your umlaut install directory as usual):&lt;br /&gt;
&lt;br /&gt;
:( cd $Umlaut &amp;amp;&amp;amp; /usr/bin/rake umlaut:nightly_maintenance RAILS_ENV=production )&lt;br /&gt;
&lt;br /&gt;
Or leave  the RAILS_ENV=production off to perform maintainance on your dev database.&lt;br /&gt;
&lt;br /&gt;
If you don't put it in a cron job yet, you might want to run this manually from time to time, and probably once now to begin.&lt;br /&gt;
&lt;br /&gt;
== Next Steps? ==&lt;br /&gt;
&lt;br /&gt;
To try out Umlaut, cd into the $Umlaut directory and run &amp;quot;./script/server&amp;quot;  to launch the Rails app. (Be sure you've installed mongrel with 'sudo gem install mongrel', in which case Umlaut will be started with the mongrel environment. The default WEBrick environment will not work for Umlaut!). You'll then connect to Umlaut on &lt;br /&gt;
&lt;br /&gt;
 http://yourservername.tld:3000  &lt;br /&gt;
&lt;br /&gt;
The resolver base URL will be:  &lt;br /&gt;
&lt;br /&gt;
 http://yourservername.tld:3000/resolve?.&lt;br /&gt;
&lt;br /&gt;
The A-Z search interface will be: &lt;br /&gt;
&lt;br /&gt;
 http://yourservername.tld:3000/search&lt;br /&gt;
&lt;br /&gt;
This is a fine way to start it just for testing, but to deploy it for real see [[Umlaut Deployment]].&lt;br /&gt;
&lt;br /&gt;
You may also be interested in providing your own customized header, footer, or stylesheets. For this, and more localization, you'll find it helpful to see [[Umlaut Local Configuration Architecture]].&lt;/div&gt;</summary>
		<author><name>128.220.205.186</name></author>	</entry>

	</feed>