Snazzy up your DB/TextWorks databases!

by Kathy Bryce Wednesday, July 04, 2018 10:58 AM

DB/TextWorks has been around since the late 1990’s and we sometimes come across clients with databases that were developed almost that long ago!  Two recent projects we are working on involve rationalizing older databases to modern standards.   It’s amazing how old, ugly, inefficient interfaces can be spruced up through the use of one of our kits for libraries, archives and museums.  We use these as a starting point, and after updating field names to be as descriptive as possible, we import our query screens, report and edit forms and adjust these to show the clients fields.  If you have report designs you like, you can do this too!  Under Maintain > Manage Textbase Elements you can import and export forms from one database to another.  We like to color code our databases and it’s possible to open the exported forms in Notepad or other text editor and carefully edit to replace background colors. Archives_Accessions

Inevitably requirements change over the years, so we help clients review how fields are being used, and suggest adding or deleting fields to better handle their needs.  We also make sure to add automatic number and date fields, appropriate validation and substitution lists and work with clients to clean up their data by batch modifying or updating values through the validation lists. After so many years working with DB/TextWorks we have a lot of tricks up our sleeves, and often export data, adjust it in other software and re-import to split or combine fields.

If you need assistance with your databases, please check out some of our past blog posts that provide various suggestions for improvements.  Note that some of these reference older versions of DB/TextWorks so the location of functions may not be identical.

Spring Cleanup series:

Give your databases a new lease on life and contact us for a quote to help you love them again!

Converting DB/TextWorks Data to MARC: Not as Easy as it Sounds!

by Jonathan Jacobsen Wednesday, April 25, 2018 4:55 PM

We recently had a client ask us if we could help them convert their DB/TextWorks library catalogue database to MARC format, for submission to another search system.

Our initial reaction was "Sure, easy-peasy." After all, we're librarians, we know MARC well, we're experts in DB/TextWorks, and we've done this before. How hard could it be?

Ha! Famous last words, and all that.

To be fair, there are a few wrinkles:

  1. The conversion is not a one-time affair, but rather something the client would like automated and running on a regular basis.
  2. Not all records in the database are to be converted.
  3. MARC is not the simplest of formats. Whether MARC or MARCXML, there are a fairly rigid set of rules that must be followed to create 100% valid, standards-compliant MARC records.

Nonetheless, since MARC has been around rather a long time, there are a plethora of tools available for creating MARC records from other data sources. There's Inmagic's own MARC Transformer, which works directly with DB/TextWorks databases, as well as various free or open source tools from the U.S. Library of Congress and other agencies, MARCEdit, Balboa Software's Data Magician, and others.

We also have our Andornot Data Extraction Utility for automatically exporting data from a DB/TextWorks database and manipulating it into a variety of formats.

Ever optimistic, we figured some combination of these tools could be strung together in sequence without too much effort to create a solution for this client. We wanted to avoid developing a DB/TextWorks-to-MARC conversion program from scratch as it would be quite time consuming, mostly due to the MARC format requirements themselves.

Several tools, upon closer investigation, proved to be too ancient to run reliably on a modern Windows server, or couldn't work with the current version of DB/TextWorks. Others proved almost impossible to use in an automated fashion. They could be useful in a one-time manual conversion to MARC format, but not in the hands-off, automated workflow we needed.

The exploration of this issue was an interesting exercise in seeing how old data formats and old programs age and become harder to work with.

The recipe that baked the cake in the end was:

  1. Use the Andornot Data Extraction Utility and the Inmagic ODBC driver to extract data from the DB/TextWorks database to a pseudo-MARC plain text format. 
  2. Use a custom-developed PowerShell script to manipulate the records in this file to handle some of the quirks of the ODBC output and to more closely adhere to the MARC format.
  3. Use the command line interface to MARCEdit to convert the pseudo-MARC to MARC Communications Format files.
  4. Upload the MARC files over FTP to the destination server.
  5. Manage all the moving parts through a PowerShell script and log the steps and results to a file for easy troubleshooting in case of problems.
  6. Run the script nightly as a scheduled task on a Windows server.

When written like that, in hindsight, it sounds so simple. And in the end, it was, and works well. But the journey to arrive at this solution was one of the more challenging small projects we've undertaken, considering how simple the task sounds at first.

We hope this will help you if you have a similar project, but don't hesitate to ask us for help, now that we've worked through this.

How to use record skeletons in Inmagic Genie to save time when cataloguing

by Jonathan Jacobsen Wednesday, August 09, 2017 8:15 AM

Inmagic DB/TextWorks has long had a popular feature called 'record skeletons.' They're a great way to save and add consistency and accuracy to data entry. 

Here's how they work: Suppose you're cataloguing a group of materials that all share some data in common. This could be as simple as books, written in English and published in 2017. Or it could be a series all with the same title, author, publisher, date, subjects, etc. and only the subtitle or volume number changes.

In both of these cases, when filling in a data entry form, you'd be filling in some fields with the same values over and over again.

Why repeat work when there are tools to save time?

The Duplicate Record feature in DB/TextWorks is handy when you have the first record finished and want to duplicate it. But this copies all the fields, and you then need to change or remove fields that are different in the next item you're cataloguing.

This is where 'record skeletons' are useful. A record skeleton is a set of values to populate in select fields in a new record, such as:

Material Type = Book

Language = English

Publication Date = 2017

Long-time DB/Text users are well versed in these features, but what if you manage your library with the Inmagic Genie system?

While record skeletons are not a feature of Genie itself, there's a reasonably easy way to add them, using browser extensions know as 'form fillers'. These tools work just like a record skeleton, storing default values for fields, but within your browser, rather than in Genie itself. So, you might have one profile (a set of fields) for books, another for journals, another for internal corporate reports, etc.

When cataloguing an item in Genie, you pretty much just just click on your form filler extension and choose a profile and the appropriate fields will be filled in. 2 clicks and you're done!

To set up a profile, you can populate the fields you want in the skeleton, then save the profile. You can also, in some cases, access an editor, such as shown below, for fine-grained control.

A form filler could be used in any module in Genie. Orders would be another good place, for example.

Of course, it's most useful if you have many similar items to catalogue. For more unique items, there's no time savings over just cataloguing as per usual, one record and one field at a time.

Depending on the form filler you choose, you may want or need to consolidate all your Catalogue fields into a single tab (the default is 4 tabs: Biblio 1, Biblio 2, Physical and Serials) so that the form filler can populate them all at once. This is easily done by editing the MyEditScreens.config XML file in Genie. 

Since the different profiles you set up are stored in your browser, if you have colleagues who also catalogue, you'd want to export the profile from the form filler and import it into their browser. You might store a master exported profile on your network somewhere so that anyone who needs it can get it. Many of the form filler extensions have export and import ability.

One form filler extension we recommend is Autofill for Chrome (shown above).

Andornot would be happy to help you select, install and configure a form filler extension for your browser and your Genie instance. Just mailto:#mce_temp_url# and we'll tell you more.

To Print or Not to Print URLs in the Twitter Bootstrap Framework

by Jonathan Jacobsen Tuesday, October 11, 2016 11:32 AM

Andornot uses the Twitter Bootstrap framework for almost all our web application development these days. This framework saves considerable development time, with so much pre-built, and allows a single site to adapt to the viewing device, meaning a search engine such as the Andornot Discovery Interface, works just as well on a tablet or phone as in a desktop browser.

One of the "features" of this framework is the display of URLs in print views. By default, the print stylesheet appends the URL of a hyperlink to the hyperlink text in print view. For example, a link to the Andornot website with the text “Learn more about Andornot” would appear in a printout as

Learn more about Andornot. http://www.andornot.com

This is a very helpful automatic feature, as without it, you’d have a print view without the URLs needed to get to the sites mentioned. It's great when the URLs are short, but when they are long, such as a pre-created search for a set of results, or anything with lots of parameters in it, they tend to make for a print view cluttered with not very useful HTML.

For example, a link whose text is “View information about Fish and Fisheries” might have a URL such as http://www.someserver.org/Search/Results?lookfor=Fishes+OR+Fisheries+OR+Fishing+OR+%22Juvenile+fish%22+OR+%22Resident+fish%22+
OR+%22Sport+fish%22+OR+Sportfish+OR+Eulachon+OR+Anadromous+OR+Trout+
OR+Salmon+OR+Coho+OR+Chinook+OR+Sockeye+OR+Fishway*&type=AllFields
&limit=20&sort=relevance

This is too long a URL for anyone to retype, so it’s not useful to have in the print view. It just makes the plain text hard to read.

(As an aside, see our recent blog post about URL shortening for tips on using short URLs in blog posts, Tweets, Facebook posts, etc.).

A very simple adjustment you can make to Bootstrap is to add this bit of CSS to your stylesheet, overriding the Bootstrap default:

@media print {

  a[href]:after {

    content: none;

  }

}

This will suppress the display of URLs after links in all cases. You might want to be more sophisticated and only suppress them for certain types of links, ones you know will be long, while leaving the behaviour as-is for shorter ones. Easily done by adding a class to certain links and adjusting the above style addition to reflect that class.

Contact Andornot for assistance with this and any similar web development tweaks.

Shortening 2: Peter’s Flaky Pastry Recipe

by Peter Tyrrell Wednesday, September 21, 2016 9:51 AM

I use shortening in my pies, and they are reckoned to be very good, if I do say so myself. Here is my flaky pastry recipe.

3 cups all-purpose flour (400g, 14.4 oz)
0.5 cups unsalted butter (114g, 4 oz)
0.5 cups shortening (114g, 4 oz)
1 tbsp granulated sugar (15mg)
1 tsp salt (5mg)
1 cup water

1 beaten egg
1-2 tbsp sugar

Mix the dry ingredients. Cut the butter and shortening into acorn sized lumps. Using a mixer, pastry knife or a pair of table knives, mix in the fat until the butter lumps are the size of small peas. You can hand-fondle any remaining lumps to size. Don’t overmix, as can occur when you use a mixer. If the dough has the consistency of breadcrumbs, you’ve gone too far. In fact, when using a mixer, I turn if off early and do the rest by hand. Just to be sure. Those little lumps of fat are going to create pockets in the pastry while in the oven, which is where the pastry’s flake comes from. If the butter and shortening are mixed too thoroughly into the flour, you’ll wind up with a dense, heavy pastry.

Add the water bit by bit while mixing. (A mixer is invaluable here.) Watch the dough carefully, because you may not need all the water. You want the dough moist enough to clump together, but not wet. How much water the pastry will want depends on the humidity, temperature, and probably the phase of the moon. Temperamental stuff, pastry. When I make pies at our summer cabin, I always need to add the full amount of water, but at home, never. And again, do not overmix.

Dump out the dough onto a floured surface and knead it gently by folding it over 5 or 6 times, just enough so it is holding together. Overmixing or too much kneading at this stage will lead to tough and chewy pastry, because you will have over-activated the gluten in the flour.

Divide the dough into two halves, wrap with cling film plastic, and put in the refrigerator for at least an hour. If you’re in a hurry and don’t have that much time, you probably shouldn’t have tried to make pies today.

Make your filling, and put that in the refrigerator too. Side note: whatever your filling, be sure to mitigate its moisture content with enough flour, cornstarch, chia seeds or what have you, and avoid adding excess liquid when ladling your filling into the pie. Too much liquid and your pie will come out of the oven with a soggy bottom.

When your dough has chilled long enough, haul out one half and roll it out on a floured surface to fit your pie pan. Ceramic pie pans are best because they conduct and evenly distribute heat super well. However, glass pans are fine, plus they allow you to check the bottom of the pie as it bakes, which is arguably more important when you are still getting used to a recipe. The dough should hang over the edge of the pie pan.

Add filling. As above, the less liquid the better. Put the uncovered pie in the fridge.

Roll out the second half of the dough on a floured surface and cover the filling, so that the dough hangs over the edge of the pie pan. You want enough so that you can pinch and roll the bottom and top dough together to create a seal, and that raised crust around the edge. Cut off any excess before your pinchrolling activity or you’ll end up with an uneven or overly thick crust.

I press my thumb into the crust to create a sort of scallop pattern. Do whatever you must, just make sure the crust seals the top and bottom together.

Beat an egg and brush it lightly onto the pie surface to create a lovely browning effect in the oven. Sprinkle sugar on the top also if you’re into that.

Cut some blowholes into the pie with a sharp knife so it can breathe while baking. Don’t do this and you can expect exploded pie guts all over your oven. I used to put fancy scrollwork into my pies for vents but now just stab them with XXXs.

Bake at 375 F (190 C) for about an hour. Check the pie after 50 minutes. When ready to come out, the pie should have brown highlights, and the bottom—if you can check through a glass pan—should be a golden brown. The filling will probably bubble out of the vents a bit. Don’t be afraid to keep baking for 10 or even 15 minutes past the hour if that’s what it needs. You’re more likely to underbake than overbake, in my experience.

Let cool, then serve it forth.

General Tip: Keep the ingredients cold, even going so far as to put them in the refrigerator or freezer before you begin. While you’re working, everything you don’t need immediately should go back in the refrigerator until you do. Even put ice cubes in your water. Really.

Tags: tips

Month List