Forgot password? | Forgot username? | Register
  • Index
  • » Users
  • » Tom Trombone
  • » Profile

Posts

Posts

21-Jul-15 23:45:03
Category: Using EMu

Thanks, Deb! As it happens we are running an older version of EMu (quite a bit older: 4.0.03) that doesn't seem to support this Registry entry.

We had been holding off on upgrading until other departments here at AMNH implement EMu, but recently we decided to move ahead with an upgrade of our live environment in the near future. Consequently we just upgraded our test environment last week, and I see that the test client does support the Reportable entry. I will take a look at this entry in test and see if I can use it address the question in my first post.

Tom Trombone
AMNH Ornithology

17-Jul-15 01:37:28
Category: Using EMu

John's post and Christelle's response reminded me of a question I have:

I sometimes find that a field is not available in the Field Properties box when I try to add it to a report (for example, CatObjectType in our Catalog module.) If I remember correctly, this is because each field needs an attribute set before it appears as available. Can this attribute also be set in the Registry? Or must it be set by KE/Axiell staff?

Other such fields include LatPreferredCentroidLatitude, LatPreferredCentroidLongitude, LatPreferredCentroidLatDec and LatPreferredCentroidLongDec in the Localities module.

I know I can directly edit the Registry entry for a report in order to include such a field, but adding it to the list of available fields would of course be more straightforward.

Thanks,
Tom Trombone
AMNH Ornithology

Thanks, Karen, that's great to know. I will take a look at the links and also pass the information along to our web developers.

Tom Trombone
AMNH Ornithology

No worries, Deb, and welcome!

Tom

22-May-15 04:05:21
Category: Using EMu
Forum: Searching

An old post but a useful suggestion. Thanks!

In the ensuing (gulp) nine years I have come to use IRNs as you suggest. On occasion I've also taken to doing a quick export on a set of records and then importing them into Microsoft Access to perform some more complicated queries. May not be elegant but it works.

Tom Trombone
AMNH Ornithology

Hi Deb,

Thanks; as it happens we do still need help with this. One question: our web interface was set up several years ago using what I believe were WEB 5 PHP objects which predated the IMu platform. It was my understanding that our web site would need to be rewritten in order to implement IMu. Would it be possible for support to help us implement Google Analytics with our current pre-IMu web site?

Thanks,
Tom Trombone
AMNH Ornithology

20-May-15 00:31:16
How are you approaching specimen Latitude and Longitude?

Hi Mike,

At AMNH we use a "flattened" model wherein the Collecting Events and Sites modules were collapsed into a single module containing all locality-related information. (The backend name of this module is still ecollectionevents but its on-screen name appears as "Localities"; basically, we simply suppressed the esites module.) In my department (Ornithology) a Localities record contains only locality information, while the collector and collecting-date are recorded in the Catalog records. By contracts our Ichthyology department stores collector and collecting-date in the Localities record. Either way, though, only two modules are involved: Catalog and Localities.

We opted to take this approach when we adopted EMu because we felt this flattened approach more closely reflected how we thought about our specimen data. The idea of a "collecting event" layer in between catalog records and site records seemed an unnecessary complication, even if it would have provided a greater degree of normalization. Not saying we were right or wrong (or even necessarily took the best approach in hindsight); that's simply the history of our development.

Best,
Tom Trombone
AMNH Ornithology

30-Apr-15 23:53:28
How are you approaching specimen Latitude and Longitude?

Hi Bill,

For what it's worth, we create a new site record for every new combination of coordinate data (or new value of elevation.) At least in my department, we don't see *too* many records with the exact same locality text but different coordinate data.

Tom Trombone
AMNH Ornithology

Hi Sharon,

You probably already know this but just in case, my kludgy solution to batch extracting images from the Multimedia module is to create a report of type "Export CSV Format" (or "Export ODBC Data Source") and to include the "Multimedia" field on that report. For example the report I usually run includes the following fields:

emultimedia_key
irn
MulDescription
MulIdentifier
MulMimeFormat
MulMimeType
Multimedia
MulTitle

This results in a CSV file wherein the column "Multimedia" includes the full path to each downloaded image, for example:

C:\Users\Tom\AppData\Local\KESoftware\Cache\5072\151\BCW158.JPG
C:\Users\Tom\AppData\Local\KESoftware\Cache\5072\152\BCW162.JPG
C:\Users\Tom\AppData\Local\KESoftware\Cache\5072\153\BCW162_2.JPG
C:\Users\Tom\AppData\Local\KESoftware\Cache\5072\154\BCW166.JPG
C:\Users\Tom\AppData\Local\KESoftware\Cache\5072\155\BCW166_2.JPG
C:\Users\Tom\AppData\Local\KESoftware\Cache\5072\156\BCW168.JPG
C:\Users\Tom\AppData\Local\KESoftware\Cache\5072\157\BCW168_2.JPG

You'll notice all the images files are stored in subfolders under a cache folder named (in this case) "5072". I can then extract all the images at once from the parent folder by either searching the parent folder for all *.jpg files, or by using the column above to create a quick batch file that moves the images elsewhere.

The only problem with this approach (besides it's being kludgy) is that it exports only the full resolution image and ignores the smaller resolution versions. In the "Report Properties" dialog box there are a couple of fields for "Resolution", namely "Height" and "Width". According to the Help file these two fields:

"Specify the desired resolution of images to display in the report. Each image in EMu can have multiple resolutions. When a resolution is specified here, the version of an image closest in size (equal to or greater than the resolution specified) will be displayed. If no resolution is specified, the master image is displayed (the first image listed in the Resolutions table on the Resolutions tab of the Multimedia module)."

I have not played around with these fields; generally if I need smaller versions I just-batch resize the full-size images using some other tool.

Of course a dedicated script would be handier so I'll be interested to see what you find. I should add that we're running an older version of EMu (4.0.03) so there may now be easier ways to do it built into EMu that I am unaware of.

Best,
Tom Trombone
AMNH Ornithology

We at AMNH are interested in tracking usage statistics on our EMu web site. As EMu has no "out of the box" usage tracking capabilities, we're looking for a simple solution that we can implement on our own relatively quickly and easily. It has been suggested to us that our best approach might be to use Google Analytics. Does anyone here have any experience incorporating Google Analytics in their existing EMu web site to track visits, queries, records downloaded, etc? If so, I'd love to hear anything about it you care to share either on-list or off; ideally, thoughts on the advisability of going this route in the first place, and information about how to do implement it. Given our current level of expertise we would need some help incorporating Google Analytics into our site. (We have IT folk here at AMNH who might be able to lend a hand but they don't presently have anything to do with our EMu web site specifically, so our EMu folk would need to learn about usage tracking and our IT folk would need to learn about EMu.)

Of course if you think there's a better approach than Google Analytics or if there are informational resources out there I'm unaware of I'd appreciate hearing about that too.

Thanks!

Tom Trombone
Department of Ornithology
American Museum of Natural History
trombone@amnh.org

08-May-14 08:17:46
Category: Using EMu
Forum: Searching

Seven years and one month on, and the only useful way I have to do such searches is still to export the values and import them into Access (which I don't do very often.) I'll agree with your bump, Sam, and reiterate that adding such features to multi-value table fields would make them infinitely more useful, approaching true user-defined fields.

Tom Trombone
AMNH

29-Oct-13 04:16:26
Category: Using EMu
Forum: Searching

I agree with Heather that this would be really useful functionality to have available to us. It would make multi-field tables much more manageable; as it stands I worry about the ease of retrieving some of the data we store in these tables, as in the example involving a "Note" and a related "Kind of Note" described by Heather. Ideally such functionality should be incorporated into the client, but even having it available as a TexQL statement would be helpful and would greatly enhance the utility of such tables. (I see I first asked about this in 2007; it would be great to see the functionality of such tables finally beefed up!)

Thanks, Mark; that's a good idea.  I will likely implement something similar here.  I know it is possible to edit the query text via "Show Search" to include the statement "rownum=1" which will return only records with the query term in the first row of a table field, but such a query seems always to take a very long time to run.  A dedicated "first row value" would certainly speed up retrieval of just those records of interest to me.

Tom
AMNH

Minor complaint: On Windows 7 when I use the "Alt-Tab" key combination to page through (and switch between) my open windows, EMu only appears if a module window is actually open.  In other words, if EMu is running but only the Command Center is on screen, EMu does not appear as one of the  currently open and available windows.  This makes switching between open programs a bit more trouble that it usually is.  It would be nice if EMu could "let Windows know" it's running even when no module window is open.

This behavior also applies to scrolling through open windows with the "Windows key-Tab" combination.

Note that this was NOT a problem under Windows XP.  On XP EMu shows up when task-switching even if no module windows are open.  ((I have no idea what happens under Windows 8.)

Thanks,
Tom Trombone
AMNH Ornithology

Scott Williams wrote:

...I still think that it would be quite helpful for users to be able to duplicate Sorts, List Views, Shortcuts, Groups and Reports from the dialog box without accessing the registry.

Wholeheartedly seconded!

Tom Trombone
AMNH

Hi Scott,

If I understand correctly, I think you can do what you want by creating a new report with some dummy values (e.g., just IRN) and then going to the Registry records for both reports, copying the data from the Value field of the Registry record for the original report and pasting it into the same field in the record for the new report.  When you next call up the new report you should see all the fields and groupings from the old report.  I've done this in the past though not recently, so I'd suggest you give it a try with a sample report first to make sure it really works!

Tom Trombone
AMNH

I'd like to see support within the EMu client for searching a particular row of a table field.  For example, we use our Inventory Status field to record the reported inventory status of objects through time in reverse chronological order, i.e., with the most recent inventory status at top.  So an object that was missing in the past but was recently found might look like this:

Status   Date
Found   2012
Missing 2010

while an object that was found in the past but is now missing might look like this:

Status   Date
Missing 2012
Found 2010

There is no straightforward way to query for only those objects that are currently missing, since querying for "missing" would find both of the above objects.  One solution might be to create a special "Current Inventory Status" field (similar to our "Current Scientific Name" field in Taxonomy) but a simpler and more generally useful approach would be to add support within the client for querying only a particular row of a table field, in this case the first row.

Thanks,
Tom Trombone
AMNH

I agree, especially with Mark's suggestion that a user not be allowed to enter more data in the field in Edit mode than can actually be saved.

I have also run into a problem with fields that are displayed as large open text boxes but that are apparently in actuality table fields.  I may try record a list of short items in such a field, assuming that because the entire number of data characters is relatively low there won't be a problem saving the information.  However when I save the record the list is truncated because the field has a set maximum number of lines that can be accommodated (and that number doesn't appear on the field help screens.)  Ideally I'd like to see such fields treat the "end of line" character as just another character thereby eliminating the restriction on the maximum number of lines that can be stored, but in lieu of that I'd prefer simply not being to able to enter text on a line if the record will ultimately just discard it when I click "Save."

Tom Trombone
AMNH

24-Mar-12 01:46:29
For regular multi-value substitutions
Forum: Wishlist

Absolutely, Karen!  I requested this a little over three years ago (see this post) and I see now that you replied in agreement back then.  Be nice to see it implemented; it would really save me a lot of keystrokes!

Makes sense.  The issue here was only with dittoing fields not currently visible on the screen.  We'll find this new privilege very useful.

Tom
AMNH Ornithology

Good to hear, Bern!  If a user is not given the new privilege, will "Ditto Current Tab" still work for that user?  Or does the new privilege cover both "Current Tab" and "All Fields"?

Tom

I agree about the need for an option to disallow the "Ditto All" function.  Ideally I'd like there to be two separate options:  Disallow "Ditto Current Tab" and disallow "Ditto All Fields."  The problem I've run into has to do with the fact that the keyboard shortcut for "Ditto Current Tab" is Shift+Control+F9 while "Ditto All" is the same sans the Control key.  If I inadvertently don't strike the Control key (or if I strike it but inadvertently ease up on it a moment before striking Shift) then I may be dittoing the entire record instead of just the current tab without even realizing it, as the Edit screen looks the same in either case.

Personally I would probably turn off "Ditto All Fields" for all users since I think it's something of a bad idea to be dittoing fields that are on tabs you can't currently see;  I'd much rather all users (myself included!) visit each of the tabs and ditto them one at a time, to make sure they really want to ditto the fields on that tab.

I will second this request WHOLEHEARTEDLY since I am one of the users who has on occasion inadvertently dittoed an entire record!

Tom Trombone
AMNH

Thanks, Mark.  I will probably do something similar using the path names in the CSV export file.  I had thought there might be a more "direct" approach using the client, but apparently not.

Tom

Following up: I see that I can add the Multimedia field to a report in order to save copies of all the resources under C:\Documents and Settings\Tom\Local Settings\Application Data\KESoftware\Cache\..., though the files are stored in various subfolders therein and need to be teased out and grouped together.  Is there a better way to do it?

Suppose I have a window containing 50 Multimedia records.  Is there any way to save (i.e., save locally, to my desktop computer) the Multimedia resources associated with all 50 of those records at once?  Or must I choose Multimedia -> Save and pick a resolution for every one of those 50 records?

Thanks,
Tom Trombone
AMNH

If you're clumsy, so am I.  I think a prompt would be useful.  In fact I'd like to see such a prompt in some other places too.  Particularly the Shift+F9 "Ditto all fields" key combination.  It's much too close to the "Ditto current tab" key combination of Shift+Ctrl+F9.  At least once I have failed to press the Control key and inadvertently dittoed the entire record, with no warning and no obvious indication that data on other tabs had changed.

12-Mar-11 08:04:38
Category: Using EMu

One more vote for adding the ability to increase font size.  My eyes now have 96 years of experience (combined, that is) and my ability to discern tiny text is not getting any better.

Tom Trombone
AMNH

Sometimes one module is tied up performing a long operation; e.g., exporting or sorting a large set of records.  Currently the entire client is unavailable during this time.  It would be great if while one module were so occupied we could call up a different module and continue working therein.

Just wanted to say I agree this would be useful.

As long as we're discussing groups, it would be nice if when viewing the "Group Properties..." window from any given module, one could jump directly to that record in the Groups module.

Tom
Thomas J. Trombone
American Museum of Natural History

Hi Ducky,

I suspect the reason there is no prompt when clicking Save or using Ctrl+S is because those are viewed as explicit and intentional "save" operations, whereas moving to the next record or creating a new record are not (in the latter cases you aren't telling the system explicitly to save any changes, so it needs to ask you what to do.) This approach makes sense to me, *IF* you're confident that you didn't make any mistakes before explicitly saving a record. My present concern is basically how to save myself from myself, i.e., if I DID make an mistake, how can I catch it before committing it to the database?

The generic "Would you like to save your changes" prompt would not have helped me in the situation I described above, because I knew I was making a change to one field. I just didn't know I was unintentionally also creating an error in another field at the same time. What I'm after is more a way to check over all the changes that will be committed before they actually are committed.

I suppose the idea might be overkill, but I don't see any other reliable way to force a user to "approve" all changes before saving them. Of course a user might still just click "Ok, commit all these changes" without really paying attention, but at least the warning screen would serve as a flag.

None of this would be necessary if we never make mistakes, but having had to admit (to a curator, no less!) that I am imperfect, I'd love to have a better (but still practical) protocol for preventing/catching such errors.

Recently we came across a data entry error that I had made in a Locality record. I had added a comment (LatComment_nesttab) to a set of latitude/longitude coordinates in one record and I then wanted to add the same comment to a different record. Apparently I hit F9 instead of simply pasting the comment into the field. By dittoing with F9 I overwrote all the data on that line, including the coordinates of the second record, which I did not notice had been changed before saving the record.

I figured out what had happened by looking at the audit trails of the two records. In the relevant Audit Trail record it was easy to see that in the second record I had updated many more fields (LatLatitudeDecimal_nesttab, LatLatitudeDM_nesttab, etc.) than I had meant to. This got me to thinking about ways to prevent such unintentional changes caused by user error (in other words, how to idiot-proof EMu -- especially when I'm the idiot!)

Right now when I edit a record and save it with Ctrl+S I am not prompted in any way. Since changes to fields are written to the Audit Trail module, it seems like it might be possible to also have them displayed on-screen in a pop-up window, maybe with a warning such as "You are about to change the values of the following fields..." followed by a list of fields and the values being changed. Of course it would be best if such a warning screen were implemented as optional, though perhaps we'd want some users not to have permission to disable the option.

I can think of other situations where one might not be aware of unintentional changes made to a record; for example, accidentally hitting Shift+F9 instead of Ctrl+Shift+F9 will ditto all fields in the record, meaning you might accidentally make changes to fields you don't even see on the current tab. Of course examining the audit trail record after saving the record would reveal the same information, but that seems impractical, particularly if you *think* you are only changing the contents of a single field.

At any rate I am throwing this out as a suggestion. Does anyone else think this would be a useful safeguard?

Tom Trombone
AMNH

I was surprised to see that the new Groups module uses the old style Notes tab (at least in our version of the client.) In general I think the multi-valued version of the Notes tab is preferable everywhere the tab occurs.

Tom

Suppose I have four records in the Groups module that all link to records in Catalog. Is there any way I can call up all the linked Catalog records associated with all four Groups records at once? I had hoped I'd be able to do it by selecting all four Groups records, then using "Edit -> "View Attached" -> "Selected Records", but when I try this both "Selected Records" and "Current Records" are grayed out.

I don't think I can do this via Catalog (using the "Tools" -> "Group" -> "Retrieve Group" dialogue) but if it is indeed possible I'd certainly like to know how. In any case, I would prefer to do it from the Groups module, because then I could easily query for a certain set of Groups (e.g., all Groups records created on a given date) rather than having to pick and choose them from the "Restore Groups..." window.

Thanks,
Tom Trombone
AMNH
Thomas J. Trombone
American Museum of Natural History

P.S. One more minor wish list item regarding the Replace function:

When defining a new substitution, it would be nice if the "Text to find:" and "Replace with:" boxes recognized the F11 and F12 keys for attachments and lookup lists, so I didn't have to take my hands off the keyboard when defining them (pretty much everything else can be tabbed through, but not those two fields.) A minor issue, but one that would enhance work flow when defining several substitutions at once.

> In my opinion it's an issue of usability for the average end user.

> It makes sense to improve the functionality at the common interface
> level.

Got it, and I agree completely. (I keep forgetting other institutions actually have many end users!)

Out of curiosity (and not to belabor the point) but how is it any easier to work with groups within another module than by using the Groups module directly? In the Groups module I can search for all groups from a given module, and within that I can search for all groups that contain a given record (or set of records.*) What can you do when you call up the groups list in, say, Catalog that you can't do by searching the Groups module for module=ecatalogue? (Hey, I didn't know about replacing selected records; maybe I'm missing something here too!)

Tom

* This reminds me, another nice wish list item would be if the field in the Groups module called "Group IRNs:" (which appears to have a column name of Keys_tab) were made into an attachment field in Search mode, so one could jump from that field into a given module, call up a batch of records, and then run a query to see which Groups contain any of those records.

> For #2, you can select the records needing replacement and
> hit the Replace button (not Replace All). This will appy
> your replacement against the selected records. This is a
> similar behavior to when you run reports, Report will
> generate a report against selected records.

Thanks, Ducky! I didn't know that worked. For that matter, I didn't know it worked for reports either :)

> For #3, this would be nice and great if it exists in other
> types of EMu resources, i.e. Groups. My Groups build up and
> I would like to delete many at once.

The version we're running has a separate Groups module, in which this can be done easily. (I think it was implemented with version 4 but don't quote me on that.) Maybe what we need in version 5 is a Replacements module...

Here are a few "wish list" requests involving the Replace operation:

1. The ability to save a set of replacements and call them up again at a later date. For example, I often update the same three fields on our Status/Condition tab (Inventory Status, Recorded By and Date Recorded.) Obviously the Date Recorded often changes, but Recorded By is usually one of a handful of values (department staff members.) It would be nice to be able to call up the "Set of Replacements for objects found by Pete" instead of having to define all three fields and insert values "Found" and "Pete" over and over again.

2. The ability to replace only the selected records out of a large set. At the moment the only options are the current record or all the records in the result set. You might wonder why it's not just as easy to simply select and discard the records I don't want to replace. The reason is that sometimes I will have a large set (say, 100 records) and I want to run the same replacement operation on them all but with different values for some of them (20 of them will have today's date inserted, 30 will have yesterday's date, and so on.) Using the "discard selected, then replace all" approach means I have to call up the same set, sort, select and discard records for every subset that has different values to be replaced. It would be much easier if I could just run the replacements repeatedly on the different selected subsets in the same window.

3. The ability to delete all currently defined replacements at once, instead of having to click the little red X and then click "Yes, I want to delete this substitution" for every single one (sometimes I have a lot of replacements defined at the same time.) Not as important as the first two items, but hey, this is a wish list...

If anyone knows how to do any of the above with the current client, I'd much appreciation learning how.

Thanks,
Tom Trombone
AMNH Ornithology
trombone@amnh.org

Posted by DucPhong Nguyen on 9 December 2009

For #1, I agree that this feature would be most desirable. I'm tired of having to recreate the replacements each time. Of course, for this to work, one would need to be able to select specific replacements and apply only those.

For #2, you can select the records needing replacement and hit the Replace button (not Replace All). This will appy your replacement against the selected records. This is a similar behavior to when you run reports, Report will generate a report against selected records.

For #3, this would be nice and great if it exists in other types of EMu resources, i.e. Groups. My Groups build up and I would like to delete many at once.

Ducky Nguyen
NMAI

Posted by Tom Trombone on 9 December 2009

> For #2, you can select the records needing replacement and
> hit the Replace button (not Replace All). This will appy
> your replacement against the selected records. This is a
> similar behavior to when you run reports, Report will
> generate a report against selected records.

Thanks, Ducky! I didn't know that worked. For that matter, I didn't know it worked for reports either :)

> For #3, this would be nice and great if it exists in other
> types of EMu resources, i.e. Groups. My Groups build up and
> I would like to delete many at once.

The version we're running has a separate Groups module, in which this can be done easily. (I think it was implemented with version 4 but don't quote me on that.) Maybe what we need in version 5 is a Replacements module...

Posted by DucPhong Nguyen on 9 December 2009

Re. Groups, yes we have that too but it's a bit cumbersome to run multiple searches to pull up the right groups and delete them (I for one cannot remember the titles of my groups!) I prefer to do my groups cleanup within the module that I'm currently in :-)

Ducky Nguyen
NMAI

Posted by Tom Trombone 9 December 2009

Out of curiosity (and not to belabor the point) but how is it any easier to work with groups within another module than by using the Groups module directly? In the Groups module I can search for all groups from a given module, and within that I can search for all groups that contain a given record (or set of records.*) What can you do when you call up the groups list in, say, Catalog that you can't do by searching the Groups module for module=ecatalogue? (Hey, I didn't know about replacing selected records; maybe I'm missing something here too!)

Tom

* This reminds me, another nice wish list item would be if the field in the Groups module called "Group IRNs:" (which appears to have a column name of Keys_tab) were made into an attachment field in Search mode, so one could jump from that field into a given module, call up a batch of records, and then run a query to see which Groups contain any of those records.

Posted by DucPhong Nguyen on 9 December 2009

There is better management within the Groups module for sure. In my opinion it's an issue of usability for the average end user. The Groups module is designed for the more advanced user who knows the real names of the module, writing texql statement, etc. Most of our users have been trained to use the Groups tool from the file menu and have learned to manage their EMu resources (lists, sorts, reports, etc) this way. It makes sense to improve the functionality at the common interface level.

Re. the extra wish list item for Group IRNS... one workaround is to query for your records in say Catalogue, switch your list view to display only IRN, then copy and paste the results into the Group IRNS field in Groups, and run the search. But yes, making it an attachment field would be fab.

Ducky Nguyen
NMAI

Posted by Tom Trombone 9 December 2009

> In my opinion it's an issue of usability for the average end user.

> It makes sense to improve the functionality at the common interface
> level.

Got it, and I agree completely. (I keep forgetting other institutions actually have many end users!)

Posted by Tom Trombone 10 December 2009

P.S. One more minor wish list item regarding the Replace function:

When defining a new substitution, it would be nice if the "Text to find:" and "Replace with:" boxes recognized the F11 and F12 keys for attachments and lookup lists, so I didn't have to take my hands off the keyboard when defining them (pretty much everything else can be tabbed through, but not those two fields.) A minor issue, but one that would enhance work flow when defining several substitutions at once.

Posted by Karen Biddle 22 Jan 2010

Hi Thomas,

I agree with you on this one... there are certain fiddly data replacements that I run on a periodic basis and if I could just do my record retrieval and then retrieve the desired replacement script, that would be GREAT!

-Karen Biddle

19-Sep-09 09:00:00
Category: Using EMu

I will eventually need to do a similar import here, so I came up with a very kludgy way to "add" multimedia attachments to catalog records with existing multimedia attachments. I've only tested it so far on small sample sets but it seems to work. It does require that after you import your new multimedia objects, you have some way to associate each one with the appropriate existing catalog record (via something like a barcode as Joanna suggested.)

Basically, I export the existing associations of catalog IRNs and their attached multimedia IRNs, and create a spreadsheet with two columns (catalog irn, multimedia irn) that has one row for each association. I add to this spreadsheet all the *new* associations of catalog record IRNs and new multimedia record IRNs, so that I have one spreadsheet with all the attachments that I ultimately want in existence. Then I restructure the spreadsheet and paste its contents into an xml file, which I use to run the import (told you it was kludgy.) If you still need to do this and are interested, Will, contact me and I'll describe it further.

Tom Trombone
American Museum of Natural History
trombone@amnh.org
Thomas J. Trombone
American Museum of Natural History

Hi Mark,

I saved the above excerpt as a csv file. Playing around with it I found three things that look like problems:

1. There is no comma between the IRN and the Notes field.
2. The Notes are delimited by open-double-quote “ and close-double-quote ” characters instead of just the double-quote character ".
3. There are carriage-return/line-feed character combinations in the middle of a cell's data (for example following Inkahoots notes:) instead of just line-feeds. These combinations cause Excel to start new rows.

I fixed all three by using a hex editor (I used HxD Hex Editor, a free editor available at http://tinyurl.com/clu3uu.)

First I replaced the space/open-double-quote combination with a comma/double-quote combination (using the text data type search option):
Replace:

with:
,"

Then I replaced all close-double-quote characters with the double-quote character (again using the text data type search option):
Replace:

with:
"

Then I replaced all carriage-return/line-feed combinations with just line-feeds (using the hexadecimal data type search option):
Replace:
0D0A
with:
0A

When I then opened the csv file in Excel, I got the result I think you're looking for. It's a bit circuitous but it seems to work; let me know if you need help doing it. (By the way, it looks like the note for IRN 162470 is missing its end quote; it'll be best if all such problems are cleared up before doing the search-and-replace operations.)

Best,
Tom

Attachment: mark-2.zip

Thomas J. Trombone
American Museum of Natural History

Hi Mark,

You might give this a try: Save the Word file as a text document, rename the text document's extension from .txt to .csv, then open the csv file in Excel and see if the data is in the correct fields.

If that doesn't work, you could try using a hex editor to search the text file for the appropriate "carriage return/line feed" combinations (hex 0D 0A) and replace them with just a line feed (0A).

I'll be happy to take a look at your Word document if you upload it.

Best,
Tom

Thomas J. Trombone
American Museum of Natural History

28-Jan-09 11:00:00
Category: Using EMu
Forum: Searching

I'm using 3.2.04 and it works fine. Are you sure you're not left-clicking in the field first? Once you have copied the list of values from Word or Excel, just right-click in the desired EMu field and choose "Paste."
Thomas J. Trombone
American Museum of Natural History

I've only begun playing around with Crystal Reports so I don't know if this will be particularly helpful but I'll throw it out there anyway: Attached is a report I ran on 26 Catalog records. For each record, the contents of two table fields are displayed (OrnPlumageNotes_tab and OrnSoftPartColorNotes_tab) as well as the contents of a "table of attachments" field (BioCollectorsRef_tab). For each of the two table fields I created a formula field in Crystal that concatenates the multiple lines of each field into a single line with the values separated by a semicolon. I grouped the report by IRN (in descending order) and for each of the 26 IRNs I see only a single line of concatenated "Plumage" and "Color" notes, and only a single instance of the associated collector names for that IRN. For example for the first (sample) record, IRN 5089847, the three rows of sample data in Plumage Notes ("delta", "epsilon" and "zeta") have been concatenated into one row ("delta; epsilon; zeta") and the three names listed as the collectors for that IRN appear only once. Perhaps some of this will be useful to you.

Regards,
Tom

Attachment: ConcatenatedTableFieldsExample.rpt

Thomas J. Trombone
American Museum of Natural History

Thanks for the clarification, Robert! I have a few follow-up questions:

- In the example I gave, what would be the values of "Is original?" and "Original name:" for the record of parent species Myrmoborus leucophrys? Would these fields be left blank (as they presumably would be for any higher level names such as genera or families?)

- What if the name of a parent species *is* a basionym? See:

ORIGINAL NAMES:
Pachycephala mentalis
Pachycephala obiensis

COMBINATIONS:
Pachycephala mentalis mentalis
Pachycephala mentalis obiensis

Pachycephala mentalis is an original name and is also the (valid) name of the parent species of (valid) subspecies Pachycephala mentalis mentalis and Pachycephala mentalis obiensis. For subspecies Pachycephala mentalis mentalis, would we not want to set "Is original?" to "No" and link it to its own parent Pachycephala mentalis as its original name? Or would we maintain two separate records for the species-level name Pachycephala mentalis: one used as the original name, and the other as the parent species?

- Would "Is current?" and "Current name:" be used for higher level categories, for example to link genera as synonyms of one another?

Thanks,
Tom
Thomas J. Trombone
American Museum of Natural History

I have a question regarding the steps for establishing synonymy clusters laid out in "taxonomy_final.doc". Suppose you start with the following five names:

BASIONYMS:
Pithys leucophrys
Pithys erythrophrys
COMBINATIONS:
Myrmoborus leucophrys
Myrmoborus leucophrys leucophrys
Myrmoborus leucophrys erythrophrys

The last three names (one species and two subspecies) are all valid. Step 3 (linking all combinations to corresponding original names) produces:

COMBINATION -> ORIGINAL NAME
Myrmoborus leucophrys -> Pithys leucophrys
Myrmoborus leucophrys leucophrys -> Pithys leucophrys
Myrmoborus leucophrys erythrophrys -> Pithys erythrophrys

which creates two objective synonym clusters:

1.
Pithys leucophrys
Myrmoborus leucophrys
Myrmoborus leucophrys leucophrys

and

2.
Pithys erythrophrys
Myrmoborus leucophrys erythrophrys

Per Step 5, all three combinations are recognized as current names by setting "Is current?" to "Yes".

I am not sure how to apply step 6 ("Basionyms of non-current names... are linked to basionym of current name...") It would seem that neither original name here is an "original name of a non-current name," in which case no link would be established between the subjective synonym clusters. Is this correct? If not, how should the original names be linked?

Thanks,
Tom
Thomas J. Trombone
American Museum of Natural History

Karen, you should also be able to solve your second problem just by using Windows Explorer. After running the report, do a search on the Cache folder (including subfolders) for all jpeg files, and sort the result list by date (using "Date Created", not "Date Modified".) All the images you just exported should be grouped together at the most recent end of the sorted list. You can now select them all at once and move or copy them to a single folder. (If you have any images with duplicate names, you'll run into trouble aggregating them into a single folder. You can fix these duplicate names right in the search window.)

You might want to empty your local Cache folder before performing the above operation to make things simpler; I don't *think* that will cause any problems...

Tom
Thomas J. Trombone
American Museum of Natural History

18-Aug-07 09:00:00
Category: Using EMu

I don't know the answer to your question (though I'd like to) but as a workaround you could use the Import tool to update the affected records instead. The documentation for the Import tool specifically explains how to import data containing the Carriage Return/New Line combination.
Thomas J. Trombone
American Museum of Natural History

Oops -- the example I gave actually applies to the our Contents field, LotObjectType_tab. You should use the following instead:

Replace ({eaccessi_csv.ObjCategory_tab},ChrW (10) ,"; " )

Tom
Thomas J. Trombone
American Museum of Natural History

I've only fiddled a bit with reporting in EMu but I think I ran into the same problem. In your report specification, did you click the "Table as Text" icon for the Category field? It's in Report Properties on the Fields tab; the icon looks like a tiny grid with a little red letter "a" next to it. Clicking this will ensure the associated Category data is included in the main .csv file that EMu generates when you run the report. In Crystal you should then see only one result for accession # 84.90.

The multiple Category entries themselves will still appear on separate lines in your report; this may be fine for you. If not, I added a little code to concatenate multiple entries into a single line. In your case it would look like this:

Replace ({eaccessi_csv.LotObjectType_tab},ChrW (10) ,"; " )

The multiple entries are separated in the .csv file by a linefeed character; this code searches for the linefeed character and replaces it with a semicolon. Create a new Formula Field in Crystal and use the above code as its value. Then add the new formula to a report and instead of seeing this:

Jewish Ceremonial Art - Personal and Home
Books, Manuscripts and Documents

you should see this:

Jewish Ceremonial Art - Personal and Home; Books, Manuscripts and Documents

Hope it helps!
Tom Trombone, AMNH
Thomas J. Trombone
American Museum of Natural History

  • Index
  • » Users
  • » Tom Trombone
  • » Profile

Board Info

Board Stats
 
Total Topics:
601
Total Polls:
0
Total Posts:
1362
User Info
 
Total Users:
827
Newest User:
Marcus Swann (Axiell Melbourne)
Members Online:
2
Guests Online:
152