Re: [Archivesspace_Users_Group] Adding barcoded items within barcoded containers to the import spreadsheet

2022-09-29 Thread Karen Miller
I’ve written an API script to do this. If you’re familiar with using the API 
and would like it please contact me directly. I’ll be happy to send it out.

Karen Miller
Northwestern University
k-mill...@northwestern.edu

Sent from my iPhone

On Sep 29, 2022, at 6:59 PM, Lori Dedeyan  
wrote:


Hi Julia,

We had a similar use case and ended up sending a spreadsheet to our hosting 
service; they wrote a database query to add the child barcodes to the archival 
objects we needed (we already had the rest of the description in 
ArchivesSpace). However, I would love to hear of more direct solutions, if 
anyone has found them.

Best,
Lori

On Thu, Sep 29, 2022 at 1:39 PM Julia Tanenbaum 
mailto:julia.tanenb...@wisc.edu>> wrote:
Hello,


I am working on an audio-visual collection that includes individual tapes that 
are barcoded, and hope to use the import 
spreadsheet<https://urldefense.com/v3/__https://github.com/archivesspace/archivesspace/blob/master/templates/bulk_import_template.csv__;!!Dq0X2DkFhyF93HkjWTBQKhk!S5HOduDa7Qs_8t74j70No6bEdVYh6OJNC3rL8n1gGmchb4o1OqUV_DnaduIpXQPqNc4wDp6S6XFVDPIzdUtjAfwvOC8hyZ4bZHGlqg$>
 to import the contents list. However, the spreadsheet does not have a column 
for child barcodes, only for top container barcodes. Do you know how I could 
add a barcoded item within a barcoded container using the spreadsheet or 
another quick way to do it? It will take a long time to do it manually because 
there are over 800 tapes. Thank you so much for your help!

Sincerely

Julia Tanenbaum
she/her
Project Processing Archivist
University of Wisconsin Madison University Archives
**My working day may not be your working day. Please do not feel obliged to 
reply to this email outside of your normal working hours.**

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 on behalf of 
archivesspace_users_group-requ...@lyralists.lyrasis.org<mailto:archivesspace_users_group-requ...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-requ...@lyralists.lyrasis.org>>
Sent: Monday, September 26, 2022 8:03 AM
To: 
archivesspace_users_group@lyralists.lyrasis.org<mailto:archivesspace_users_group@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Archivesspace_Users_Group Digest, Vol 224, Issue 1

Send Archivesspace_Users_Group mailing list submissions to

archivesspace_users_group@lyralists.lyrasis.org<mailto:archivesspace_users_group@lyralists.lyrasis.org>

To subscribe or unsubscribe via the World Wide Web, visit

http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group<https://urldefense.com/v3/__http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group__;!!Dq0X2DkFhyF93HkjWTBQKhk!S5HOduDa7Qs_8t74j70No6bEdVYh6OJNC3rL8n1gGmchb4o1OqUV_DnaduIpXQPqNc4wDp6S6XFVDPIzdUtjAfwvOC8hyZ4fwvt0CQ$>

or, via email, send a message with subject or body 'help' to

archivesspace_users_group-requ...@lyralists.lyrasis.org<mailto:archivesspace_users_group-requ...@lyralists.lyrasis.org>

You can reach the person managing the list at

archivesspace_users_group-ow...@lyralists.lyrasis.org<mailto:archivesspace_users_group-ow...@lyralists.lyrasis.org>

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Archivesspace_Users_Group digest..."


Today's Topics:

   1. announcing the 2021/2022 ArchivesSpaceannual report
  (Christine Di Bella)


--

Message: 1
Date: Mon, 26 Sep 2022 13:03:28 +
From: Christine Di Bella 
mailto:christine.dibe...@lyrasis.org>>
To: Archivesspace Users Group

mailto:archivesspace_users_group@lyralists.lyrasis.org>>,
 Archivesspace
Member Reps 
mailto:archivesspace_member_r...@lyralists.lyrasis.org>>,

"archivesspace_...@lyralists.lyrasis.org<mailto:archivesspace_...@lyralists.lyrasis.org>"

mailto:archivesspace_...@lyralists.lyrasis.org>>,

"archivesspace_...@lyralists.lyrasis.org<mailto:archivesspace_...@lyralists.lyrasis.org>"

mailto:archivesspace_...@lyralists.lyrasis.org>>,

"archivesspace_small_archives_users_gr...@lyralists.lyrasis.org<mailto:archivesspace_small_archives_users_gr...@lyralists.lyrasis.org>"

mailto:archivesspace_small_archives_users_gr...@lyralists.lyrasis.org>>
Cc: 
"archivesspace_bot_memb...@lyralists.lyrasis.org<mailto:archivesspace_bot_memb...@lyralists.lyrasis.org>"

mailto:archivesspace_bot_memb...@lyralists.lyrasis.org>>
Subject: [Archivesspace_Users_Group] announcing the 2021/2022
ArchivesSpace   annual report
Message-ID:
  

Re: [Archivesspace_Users_Group] Log of ASpace User actions

2022-07-12 Thread Karen Miller
Hi Anna,

If you can query the backend database, this information is stored in the MySQL 
table archivesspace.deleted_records. If you sort the data by the URI element, 
all of the Agent records will appear at the top. Our table shows records back 
to August 30, 2021. I'm not sure if the amount of data stored is arbitrary or 
if it can be configured. Also, our database is named "archivesspace", which I 
think is the default, but it's possible that yours is named something else. The 
table name should be the same.

It appears that merged Agent records show up as deleted records, so it doesn't 
differentiate between those that were merged and those that were outright 
deleted, but it will probably give you what you need.

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Anna 
Haywood
Sent: Monday, July 11, 2022 10:59 AM
To: 'archivesspace_users_group@lyralists.lyrasis.org' 

Subject: [Archivesspace_Users_Group] Log of ASpace User actions

Hello all,

I am trying to see which agent records one of our staff recently merged or 
deleted in ArchivesSpace. I have admin permissions. Does anyone know if there 
is a log somewhere or another way to see what actions a specific user or all 
users have done in ArchivesSpace?

Any suggestion is much appreciated!

Thanks,
Anna

---

Anna Haywood
Archiviste
Archivist

Centre Canadien d'Architecture
Canadian Centre for Architecture
1920, rue Baile, Montréal, Québec, Canada, H3H 2S6
+1 5149397001x1368
cca.qc.ca
Twitter
 | 
Instagram
 | 
Facebook
 | 
YouTube

Où commence le 
chez-soi?
Where does home 
begin?

Inscrivez-vous
 pour recevoir de nos nouvelles.
Sign 
up
 to get news from us.
___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


Re: [Archivesspace_Users_Group] ODBC advice

2022-02-17 Thread Karen Miller
Hi Celia,

I had to redo my ODBC setting recently, so it’s relatively fresh in my mind. 
Here’s what I think is the relevant issue from our documentation at NUL:


Set up an ODBC connection with the following:

  *   Data Source Name: ArchivesSpace Production
  *   Description: can be left blank
  *   TCP/IP Server: [your TCP/IP server here]
  *   Port: 3306 [this is the default – yours may differ]
  *   User: [check with your DBA for this]
  *   Password: [check with your DBA for this]
  *   Database: can be left blank until the connection is first made, then 
should be archivesspace





If you want to check out your own configuration in the ODBC Data Source 
Administrator (click Configure to see how it’s set up for you), that should 
give you the TCP/IP server and the Port number.



If you need fuller instructions, I can edit our documentation to hide the local 
settings and send it along.



Karen


Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Celia 
Caust-Ellenbogen
Sent: Wednesday, February 16, 2022 12:32 PM
To: Archivesspace Users Group 
Subject: [Archivesspace_Users_Group] ODBC advice

Hi folks,

My colleague is trying to set up an ODBC connection between ArchivesSpace and 
MS Access (read-only) and has hit a dead end. I set it up for myself about 7 
years ago and so my memory is foggy. Has anyone done it recently or can offer 
assistance? The step that is tripping her up is setting up the Data Source (on 
a Windows machine)

Thanks!
Celia

--
Celia Caust-Ellenbogen 
(she/her/hers)
 (pronounce my 
name)
Friends Historical Library of Swarthmore 
College
ccaus...@swarthmore.edu
___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


Re: [Archivesspace_Users_Group] Adding an element with the API

2020-12-18 Thread Karen Miller
Thanks, Mark, that’s great advice!

I am working off a JSON example that has a digital object note, so I’ve got 
step covered. And the records I want to update have minimal data, so step 2 is 
covered as well. But I’ll go through the rest of the steps to make sure I know 
exactly what I’m changing. I’m familiar with the issues that mis-matched note 
types can cause, since we had a number of those show up in data that was 
migrated from Archon into ArchivesSpace when we updated to v2.7.

I’m so appreciative of the help today! I was grinding out a big headache this 
morning.

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Custer, 
Mark
Sent: Friday, December 18, 2020 1:45 PM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] Adding an element with the API

Karen,


In addition to Michelle's great advice, if you're adding notes, you'll want to 
follow the same model of creating the whole note and posting it.


Here's an ugly mocked-up example:


   new_sc_note_content = "Whatever note you're adding"

note = {"jsonmodel_type": "note_multipart", "type": 
"scopecontent", "publish": True,
"subnotes": [{"jsonmodel_type": "note_text",
 "content": new_sc_note_content,
 "publish": True}]}

record_json["notes"].append(note)

But notes are trickiest, since there are a few different ways that 
ArchivesSpace models those depending on the note type, and if there are lists, 
etc.

When working with the API and ArchivesSpace this way, I'd suggest going through 
the following steps (rather than trying to read the codebase and the internal 
data schemas):

  1.  Create the data that you want to add to ASpace directly in the staff 
interface (e.g. create a digital object with those two file URIs, and the two 
notes, etc.)
  2.  Also create another record that just has the required data fields (e.g. 
just a digital object with a title or whatever is required, and not the extra 
stuff you want to add)
  3.  Use the API to get both of those objects and check out what the JSON 
looks like.
  4.  Then, write your script to model the data the same way (and, the reason 
to grab an object with a minimal amount of data is just to see if you need to 
create a new data field like for "notes", of if that key will already be 
present even when empty, etc.).
  5.  Check out the results after you post your new data to a variety of 
existing records and make sure that your script won't overwrite any existing 
data that you don't want to erase (e.g. if you're adding a thumbnail URI, 
you'll want to make sure that you "append" it, as in Michelle's example.)
And, of course, always best if you have a test environment to do this.  If not, 
you could try things out on one of the other TEST instances out there 


Mark






From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 on behalf of Karen Miller 
mailto:k-mill...@northwestern.edu>>
Sent: Friday, December 18, 2020 1:20 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Adding an element with the API


Thank you, Michelle!



Yes, if you don’t mind sending the script, I’d really appreciate it. This looks 
like what I need, but I think having the script might be useful.



Karen



From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Michelle Paquette
Sent: Friday, December 18, 2020 12:04 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Adding an element with the API



Hi Karen,



I think you're getting the error because it's looking to set those values on a 
file version that already exists, and the file version doesn't exist yet.



I have a script that does something similar and what I've done is create a 
definition for a new file version, and then done an "append" on the record in 
question (record being the digital object).



def add_thumbnail(thumbnail_uri):

note_dict =  {'file_uri': thumbnail_uri,

'publish': True, #change to False if you do not want the file version to be 
published.

'xlink_actuate_attribute': 'onLoad',

'xlink_show_attribute': 'embed',

'use_statement': 'image-thumbnail',

'jsonmodel_type': 'file_version'

}





Later I have record['file

Re: [Archivesspace_Users_Group] Adding an element with the API

2020-12-18 Thread Karen Miller
Hi, Michelle,

Outlook has removed the attachment, since it has a .py extension. This happened 
to me recently when I emailed something within the library! Could I trouble you 
to change the extension to .txt and re-send it please? Thank you very much!

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Michelle 
Paquette
Sent: Friday, December 18, 2020 1:16 PM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] Adding an element with the API

Sure thing - I made a mistake in my effort to genericize it anyway and missed a 
piece, so hopefully this helps. Good luck!

Michelle

On Fri, Dec 18, 2020 at 1:20 PM Karen Miller 
mailto:k-mill...@northwestern.edu>> wrote:
Thank you, Michelle!

Yes, if you don’t mind sending the script, I’d really appreciate it. This looks 
like what I need, but I think having the script might be useful.

Karen

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Michelle Paquette
Sent: Friday, December 18, 2020 12:04 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Adding an element with the API

Hi Karen,

I think you're getting the error because it's looking to set those values on a 
file version that already exists, and the file version doesn't exist yet.

I have a script that does something similar and what I've done is create a 
definition for a new file version, and then done an "append" on the record in 
question (record being the digital object).

def add_thumbnail(thumbnail_uri):
note_dict =  {'file_uri': thumbnail_uri,
'publish': True, #change to False if you do not want the file version to be 
published.
'xlink_actuate_attribute': 'onLoad',
'xlink_show_attribute': 'embed',
'use_statement': 'image-thumbnail',
'jsonmodel_type': 'file_version'
}


Later I have record['file_versions'].append(add_thumbnail)

thumbnail_uri is coming from a spreadsheet. If seeing the full script is 
helpful for you please let me know and I'd be happy to share it with you.

Best,
Michelle

On Fri, Dec 18, 2020 at 12:48 PM Karen Miller 
mailto:k-mill...@northwestern.edu>> wrote:
I hope there are still some folks around to think about an API problem I’m 
having!

We’re updating URLs in our digital objects. I can easily update the URL that 
exists in digital objects, using Python syntax like this:

digital_object_json['file_versions'][0]['file_uri'] = permalink

post_record = 
requests.post<https://urldefense.com/v3/__http:/requests.post__;!!Dq0X2DkFhyF93HkjWTBQKhk!FM_atqifl5z9WUFHxd0sKcmtc-C-nYZGSNcAH-NEN41PVE71q3zKB8X96v264rUBCqnUIrH0$>(f"{api_url}/{digital_object_uri}",
 headers=headers, json=digital_object_json).json()

where “permalink” is a value I’ve read in from a spreadsheet. This works just 
fine for me. But I wanted to get fancy and add a second URL as a thumbnail (I 
can do this through the staff interface and it works the way I anticipate) as 
well as a couple of notes. I thought that the syntax would be straightforward:

digital_object_json['file_versions'][1]['file_uri'] = thumbnail
digital_object_json['notes'][0]['content'] = note1
digital_object_json['notes'][0]['jsonmodel_type'] = 'note_digital_object'
digital_object_json['notes'][0]['publish'] = False
digital_object_json['notes'][0]['type'] = 'note'
digital_object_json['notes'][1]['content'] = note2
digital_object_json['notes'][1]['jsonmodel_type'] = 'note_digital_object'
digital_object_json['notes'][1]['publish'] = False
digital_object_json['notes'][1]['type'] = 'note'
where “thumbnail”, “note1”, and “note2” are values from the spreadsheet. 
However, I’m getting this error for each of these statements:

IndexError: list index out of range

because those aren’t already in the JSON that I’ve retrieved. How do I add to 
the JSON? I’m not experienced enough with JSON or with Python and am looking 
for some basic help. Any advice will be appreciated!

Best regard and happy holidays,
Karen


Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.467.3462

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org<mailto:Archivesspace_Users_Group@lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group<https://urldefense.com/v3/__http:/lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group__;!!Dq0X2DkFhyF93HkjWTBQKhk!FM_atqifl5z9WUFHxd0sKcmtc-C-nYZGSNcAH-NEN41PVE71q3zKB8X96v264rUBCpowfNuQ$>

Re: [Archivesspace_Users_Group] Adding an element with the API

2020-12-18 Thread Karen Miller
Thank you, Michelle!

Yes, if you don’t mind sending the script, I’d really appreciate it. This looks 
like what I need, but I think having the script might be useful.

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Michelle 
Paquette
Sent: Friday, December 18, 2020 12:04 PM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] Adding an element with the API

Hi Karen,

I think you're getting the error because it's looking to set those values on a 
file version that already exists, and the file version doesn't exist yet.

I have a script that does something similar and what I've done is create a 
definition for a new file version, and then done an "append" on the record in 
question (record being the digital object).

def add_thumbnail(thumbnail_uri):
note_dict =  {'file_uri': thumbnail_uri,
'publish': True, #change to False if you do not want the file version to be 
published.
'xlink_actuate_attribute': 'onLoad',
'xlink_show_attribute': 'embed',
'use_statement': 'image-thumbnail',
'jsonmodel_type': 'file_version'
}


Later I have record['file_versions'].append(add_thumbnail)

thumbnail_uri is coming from a spreadsheet. If seeing the full script is 
helpful for you please let me know and I'd be happy to share it with you.

Best,
Michelle

On Fri, Dec 18, 2020 at 12:48 PM Karen Miller 
mailto:k-mill...@northwestern.edu>> wrote:
I hope there are still some folks around to think about an API problem I’m 
having!

We’re updating URLs in our digital objects. I can easily update the URL that 
exists in digital objects, using Python syntax like this:

digital_object_json['file_versions'][0]['file_uri'] = permalink

post_record = 
requests.post<https://urldefense.com/v3/__http:/requests.post__;!!Dq0X2DkFhyF93HkjWTBQKhk!FM_atqifl5z9WUFHxd0sKcmtc-C-nYZGSNcAH-NEN41PVE71q3zKB8X96v264rUBCqnUIrH0$>(f"{api_url}/{digital_object_uri}",
 headers=headers, json=digital_object_json).json()

where “permalink” is a value I’ve read in from a spreadsheet. This works just 
fine for me. But I wanted to get fancy and add a second URL as a thumbnail (I 
can do this through the staff interface and it works the way I anticipate) as 
well as a couple of notes. I thought that the syntax would be straightforward:

digital_object_json['file_versions'][1]['file_uri'] = thumbnail
digital_object_json['notes'][0]['content'] = note1
digital_object_json['notes'][0]['jsonmodel_type'] = 'note_digital_object'
digital_object_json['notes'][0]['publish'] = False
digital_object_json['notes'][0]['type'] = 'note'
digital_object_json['notes'][1]['content'] = note2
digital_object_json['notes'][1]['jsonmodel_type'] = 'note_digital_object'
digital_object_json['notes'][1]['publish'] = False
digital_object_json['notes'][1]['type'] = 'note'
where “thumbnail”, “note1”, and “note2” are values from the spreadsheet. 
However, I’m getting this error for each of these statements:

IndexError: list index out of range

because those aren’t already in the JSON that I’ve retrieved. How do I add to 
the JSON? I’m not experienced enough with JSON or with Python and am looking 
for some basic help. Any advice will be appreciated!

Best regard and happy holidays,
Karen


Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.467.3462

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org<mailto:Archivesspace_Users_Group@lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group<https://urldefense.com/v3/__http:/lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group__;!!Dq0X2DkFhyF93HkjWTBQKhk!FM_atqifl5z9WUFHxd0sKcmtc-C-nYZGSNcAH-NEN41PVE71q3zKB8X96v264rUBCpowfNuQ$>


--
Michelle Paquette
(she/her)
Metadata & Technical Services Archivist
Special Collections
Smith College
413-585-7029
mpaque...@smith.edu<mailto:mpaque...@smith.edu>


Please note: In light of COVID-19, the Libraries are offering contactless 
pickup, and all other services will continue to be offered remotely. Visit 
bit.ly/SCLcovid-19<https://urldefense.com/v3/__http:/bit.ly/SCLcovid-19__;!!Dq0X2DkFhyF93HkjWTBQKhk!FM_atqifl5z9WUFHxd0sKcmtc-C-nYZGSNcAH-NEN41PVE71q3zKB8X96v264rUBChRVz_a6$>
 for full details.

Please send any questions you may have to 
libraryh...@smith.edu<mailto:libraryh...@smith.edu> and they will be answered 
as soon as possible. Special Collections reference 
service<mailto:specialcollecti...@smith.edu> is active, but limited. For 
information about Smith College’s response to Covid-19, please visit the 
college’s official 
website<https://urldefense.com/v3/__ht

[Archivesspace_Users_Group] Adding an element with the API

2020-12-18 Thread Karen Miller
I hope there are still some folks around to think about an API problem I'm 
having!

We're updating URLs in our digital objects. I can easily update the URL that 
exists in digital objects, using Python syntax like this:

digital_object_json['file_versions'][0]['file_uri'] = permalink

post_record = requests.post(f"{api_url}/{digital_object_uri}", headers=headers, 
json=digital_object_json).json()

where "permalink" is a value I've read in from a spreadsheet. This works just 
fine for me. But I wanted to get fancy and add a second URL as a thumbnail (I 
can do this through the staff interface and it works the way I anticipate) as 
well as a couple of notes. I thought that the syntax would be straightforward:

digital_object_json['file_versions'][1]['file_uri'] = thumbnail
digital_object_json['notes'][0]['content'] = note1
digital_object_json['notes'][0]['jsonmodel_type'] = 'note_digital_object'
digital_object_json['notes'][0]['publish'] = False
digital_object_json['notes'][0]['type'] = 'note'
digital_object_json['notes'][1]['content'] = note2
digital_object_json['notes'][1]['jsonmodel_type'] = 'note_digital_object'
digital_object_json['notes'][1]['publish'] = False
digital_object_json['notes'][1]['type'] = 'note'
where "thumbnail", "note1", and "note2" are values from the spreadsheet. 
However, I'm getting this error for each of these statements:

IndexError: list index out of range

because those aren't already in the JSON that I've retrieved. How do I add to 
the JSON? I'm not experienced enough with JSON or with Python and am looking 
for some basic help. Any advice will be appreciated!

Best regard and happy holidays,
Karen


Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


Re: [Archivesspace_Users_Group] Developing custom reports

2020-11-09 Thread Karen Miller
Hello Adrien,

I've got several reports that bring together multiple tables and aggregate 
repeatable fields (such as Extent) using SQL. My SQL is not very pretty, but it 
might be helpful for you.

Below is the SQL I use to generate a list of Accession records with aggregated 
Extents and Agents and another that looks at whether any Archival Objects are 
unpublished (an archivist wanted to know whether it was OK to click the 
"Publish All" button for any particular Resource).

I also have a couple of shelf lists that might be useful (they pull in Instance 
information), as well.

SELECT T0.id AS 'ID',
 T1.repo_code AS 'Repository',
 T0.title AS 'Title',
  
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(T0.identifier,'","','-'),'[',''),']',''),'null',''),'"',''),',','')
 AS 'Identifier',
 T0.accession_date AS 'Accession Date',
GROUP_CONCAT(DISTINCT CONCAT(T2.number, ' ', T3.value) ORDER BY 
CONCAT(T2.number, ' ', T3.value) DESC SEPARATOR ', ') AS 'Extent',
GROUP_CONCAT(DISTINCT T2.container_summary ORDER BY T2.container_summary DESC 
SEPARATOR '; ') AS 'Container Summary',
 GROUP_CONCAT(DISTINCT T2.dimensions ORDER BY T2.dimensions DESC SEPARATOR 
'; ') AS 'Dimensions',
 GROUP_CONCAT(DISTINCT T5.sort_name ORDER BY T5.sort_name DESC SEPARATOR '; 
') AS 'Person',
 GROUP_CONCAT(DISTINCT T7.sort_name ORDER BY T7.sort_name DESC SEPARATOR '; 
') AS 'Corporate Body',
GROUP_CONCAT(DISTINCT T8.sort_name ORDER BY T8.sort_name DESC SEPARATOR ', ') 
AS 'Family',
 GROUP_CONCAT(T6.value SEPARATOR ', ') AS 'Agent Role',
 T0.suppressed AS 'accessionSuppressed',
 T0.publish AS 'Published?',
 T0.created_by AS 'Created by',
 T0.last_modified_by AS 'Modified by',
 CONVERT_TZ(T0.create_time, '+00:00', '-5:00') AS 'Creation time',
CONVERT_TZ(T0.system_mtime, '+00:00', '-5:00') AS 'Modification time'
 FROM archivesspace.accession T0
 LEFT JOIN archivesspace. linked_agents_rlshp T4
 ON T4.accession_id = T0.id
 LEFT JOIN archivesspace.name_person T5
 ON T4.agent_person_id=T5.agent_person_id AND T5.authorized = '1'
 LEFT JOIN archivesspace.enumeration_value T6
 ON T4.role_id=T6.id
 LEFT JOIN archivesspace.name_corporate_entity T7
 ON T4.agent_corporate_entity_id=T7.agent_corporate_entity_id AND 
T7.authorized = '1'
 LEFT JOIN archivesspace.name_family T8
 ON T4.agent_family_id=T8.agent_family_id AND T8.authorized='1'
 LEFT JOIN archivesspace.repository T1
 ON T0.repo_id=T1.id
 LEFT JOIN archivesspace.extent T2
 ON T0.id=T2.accession_id
 LEFT JOIN  enumeration_value T3
 ON T2.extent_type_id=T3.id
 GROUP BY T0.ID
 ORDER BY T0.create_time DESC

This SQL prompts for a Resource ID (WHERE T8.root_record_id=?) and lists all of 
the  attached Archival Objects, sorted by their Publish value. It's not what 
you want, but it illustrates connecting a Resource to Archival Objects and Top 
Container information.

SELECT
CONCAT(T9.value, " ", T6.indicator) AS `Container`,
T8.component_id AS `Level`,
T8.display_string AS `Component Title`,
 T8.publish AS `Publish?`
 FROM archivesspace.archival_object T8
 LEFT OUTER JOIN archivesspace.instance T1
 ON T1.archival_object_id=T8.id
 LEFT JOIN archivesspace.sub_container T2
 ON T1.id = T2.instance_id
 LEFT JOIN archivesspace.top_container_link_rlshp T3
 ON T2.id = T3.sub_container_id
 LEFT OUTER JOIN archivesspace.top_container T6
 ON T3.top_container_id = T6.id
 LEFT JOIN archivesspace.top_container_housed_at_rlshp T4
 ON T4.top_container_id = T6.id
 LEFT JOIN archivesspace.location T5
 ON T4.location_id = T5.id
 LEFT JOIN archivesspace.enumeration_value T9
 ON T6.type_id=T9.id
 WHERE T8.root_record_id=?
 ORDER by T8.publish, T9.value, T8.component_id ASC



Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Hilton, 
Adrien
Sent: Monday, November 09, 2020 1:24 PM
To: Archivesspace Users Group 
Subject: [Archivesspace_Users_Group] Developing custom reports

Dear Colleagues,

We are considering creating three reports that are essentially data dumps of 
various record types in a repository, e.g. all resource record level data; all 
accession record level data; and all archival object level data associated with 
a single resource record. You can see our use cases and specifications here:

Resource record level data: 
https://docs.google.com/document/d/1ndDKXuE27rKdfOycPjCODq6UVOKGlqY4ns3x_S4aFcM/edit?usp=sharing
Accession record level data: 

Re: [Archivesspace_Users_Group] Custom reports with string params?

2020-10-02 Thread Karen Miller
Hi Nick,

I have an SQL query that I've embedded into an Excel spreadsheet (as a .odc 
file) which prompts the user for a value. The value I'm prompting for is 
numeric, but the code could be adjusted to take a string. I don't think this is 
what you want, but if it is, please let me know and I'll forward the code.

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Nick 
Butler
Sent: Friday, October 02, 2020 6:14 AM
To: Archivesspace Users Group 
Subject: [Archivesspace_Users_Group] Custom reports with string params?

Hi all,

We've been asked to create a custom report that allows the user running it to 
input a string which is then used to search across various fields. I've checked 
through the pre-existing reports, and through several reports created by other 
institutions, but I haven't found an example of a report accepting a string 
parameter (only booleans and dates). I see from e.g. 
https://github.com/archivesspace/archivesspace/blob/75000415aa5ee60411c6caf012042af4fc157d00/frontend/app/views/jobs/_form.html.erb#L121
 that it should be possible to use a custom partial for different data types 
but nothing I've tried has worked so far. Is anyone doing anything like this, 
and might they have an example of it working?

Many thanks!
Nick
___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


Re: [Archivesspace_Users_Group] Agent/Subject record merging in multi-repository setting

2020-09-28 Thread Karen Miller
Yes, good point about retaining the Biographical/Historical notes and other 
information!

We had a lot of duplicates because we migrated from Archon, where is a person 
was both a creator and a subject, their name was entered twice in Archon. But 
since the subjects that were names were identified as names, they ended up as 
Agent records in ArchivesSpace. There was only room for a BiogHist note in the 
Archon Creator record, so at least we didn’t have duplicates of those, but we 
did have to be very careful not to “victimize” those records when we merged.

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Custer, 
Mark
Sent: Monday, September 28, 2020 10:41 AM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] Agent/Subject record merging in 
multi-repository setting

Betts,

Exactly what Karen and Dan said!

I would caution you not to rely exclusively on the staff interface to do this 
work when working in a multi-repository ASpace installation, though. When we 
did a similar project, we exported all of the data to external spreadsheets to 
make the comparisons.  For just one of many examples, we had agent records for 
“Milhaud, Darius” and “Milhaud, Darius, 1892-1974”.  The first agent was linked 
to 10 archival objects in 1 repositories;  the second agents was linked to 2 
Resources in 1 repository, and 8 Resources in a different repository, as well 
as more archival objects in another repository.  You don’t get a sense of that 
in the staff interface, though, since when you’re working in the staff 
interface you’re always scoped to a single repository at a time.  So, before we 
could merge those two records with confidence, we had to check out the links in 
the different repositories to make sure it was indeed the same person.  In this 
case it was the same person; in other cases it wasn’t.

Also, ASpace is great with preserving linked records whenever you do a merge, 
but be aware that it just deletes the data from the “victim” record during a 
merge (the API language introduces the terms “target” and “victim” for the 
merge process).  This behavior is similar to merging Resource records, for 
instance – all of the Resource data from the ‘victim’ resource is deleted, but 
the liked archival objects are transferred exactly as is from ‘victim’ to 
‘target’.  So, if you have any contact details, bioghist notes, etc., on a 
“victim” agent that you want to preserve, then you’ll need to move those over 
to the “target” yourself either before or after the merge.  We usually didn’t 
have to worry about this since we did our merge project before we started our 
project to add bioghist notes to agents (having a bioghist notes directly on 
each Agent record is a HUGE help, since then you can add context that everyone 
can see in the staff interface!!!), but we did have to re-add some contact info 
details for a few agents after our merge process.

Mark



From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 [mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org] On Behalf Of 
Karen Miller
Sent: Monday, 28 September, 2020 10:52 AM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Agent/Subject record merging in 
multi-repository setting

Hello Betts et al,

At Northwestern University we have also merged quite a few duplicate Subjects 
and Agents that were used by multiple repositories. The merged records do 
indeed retain all of the links to Resource and Accession records that were 
previously linked to the separate Subject and Agent records. We tested this in 
our sandbox repository before trying it in the production server.

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.467.3462

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Daniel Michelson
Sent: Monday, September 28, 2020 9:20 AM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Agent/Subject record merging in 
multi-repository setting

Hi Betty,

Agents and subjects are not specific to repositories, so it shouldn't matter 
whether it is linked to records in multiple repositories.  We have not 
encountered any problems relating to multiple repositories when merging agents 
or subjects.

All the best,

Dan

On Mon, Sep 28, 2020 at 10:10 AM Coup, Betts 
mailto:elizabeth_c...@harvard.edu>> wrote:
Greetings all,

The Arch

Re: [Archivesspace_Users_Group] Agent/Subject record merging in multi-repository setting

2020-09-28 Thread Karen Miller
Hello Betts et al,

At Northwestern University we have also merged quite a few duplicate Subjects 
and Agents that were used by multiple repositories. The merged records do 
indeed retain all of the links to Resource and Accession records that were 
previously linked to the separate Subject and Agent records. We tested this in 
our sandbox repository before trying it in the production server.

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Daniel 
Michelson
Sent: Monday, September 28, 2020 9:20 AM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] Agent/Subject record merging in 
multi-repository setting

Hi Betty,

Agents and subjects are not specific to repositories, so it shouldn't matter 
whether it is linked to records in multiple repositories.  We have not 
encountered any problems relating to multiple repositories when merging agents 
or subjects.

All the best,

Dan

On Mon, Sep 28, 2020 at 10:10 AM Coup, Betts 
mailto:elizabeth_c...@harvard.edu>> wrote:
Greetings all,

The ArchivesSpace Subject and Agent Taskforce at Harvard Library is working to 
develop best practices for subject and agent record creation, editing, and 
merging, and we're wondering if anyone might have experience with merging agent 
and subject records in a multi-repository setting in ArchivesSpace? We're 
currently exploring potential data clean-up options but are concerned about 
what happens when agent records linked to multiple different repositories' 
resource records are merged (and likewise for subject records and resource 
records). Do all the resource records remain linked to the merged, single agent 
record (or subject record)? How were you able to ensure no links were lost to 
other repositories' resource records?

If other institutions are in a similar multi-repository situation and completed 
merging successfully, would you mind sharing your workflows or processes and 
how you ensured there weren't links lost between agents/subjects and resource 
records?

Many thanks in advance for your time and help!

Best,
Betts Coup
Paula Aloisio
Julianna Kuipers
Amber LaFountain
Subject and Agent Taskforce

Betts Coup (she/hers)
Processing Archivist
Houghton Library
elizabeth_c...@harvard.edu
___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


--
Dan Michelson
Project Manager Archivist
Smith College Special Collections


The Special Collections reading room is closed. As of March 18th, all Special 
Collections staff will be working remotely. Smith course support is our primary 
responsibility at this time.


Minimal reference services will be managed remotely by staff. Reference 
inquiries that require access to physical materials will be held in order of 
when they were received and responded to once the campus is reopened. Expect a 
four to six week delay, minimum. There is a moratorium on digitization services.

For information about Smith College’s response to Covid-19, please visit the 
college’s official 
website.
 For information about library services during this time, information is 
available on our 
website.
___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


[Archivesspace_Users_Group] ASpace v2.7.1 languages issue / Help with API deleting notes

2020-09-09 Thread Karen Miller
Hi all,

I've been trying to rectify the problems we had with Language of Materials 
notes when we upgraded to v2.7 without much success. The issue is as Benn 
described it below - archival objects that had Language of Materials notes 
ended up with a Languages sub-record that has a Language controlled value of 
"English" (regardless of what was in the note) and a Language of Materials note 
that has no content. When I retrieve the JSON via the API, the content is not 
present at all. We've upgraded our sandbox, so I have access to that text from 
the production server.

I thought that I could simply update the content field using the API, but it 
objects to the key outright (I can update an archival object Language of 
Materials note that I've added in the staff interface, so I know I have the 
right path to it). This isn't entirely surprising to me, because in the staff 
interface, I can edit the empty Language of Materials note to include the text 
it's supposed to have, but it won't save. I have to delete that note, save the 
archival object, then add the note back in.

I thought that I could use the API to delete the Language of Material notes and 
then add them back in in a second step, but this is where I'm getting stuck. My 
understanding of the delete request is that it only takes a URI as an argument. 
Maybe there is a way to specify a field within that URI, but I haven't been 
able to make that work.

With the help of this listserv, I was able to figure out how to update the 
contents of multi-part notes using the API, so I thought someone else might 
have run into this already. Any ideas are welcome!

Best,
Karen

PS - we are, in fact, experiencing this issue with Resources as well. But since 
we have fewer than 20 Resource records with Language of Material notes, we 
thought we'd just hold onto the text in a spreadsheet  and update them by hand 
in production. We have over 12,000 archival objects with Language of Material 
notes.

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Benn 
Joseph
Sent: Thursday, August 27, 2020 11:46 AM
To: Archivesspace Users Group 
Subject: [Archivesspace_Users_Group] ASpace v2.7.1 languages issue

Hi all,
We are upgrading from ArchivesSpace v2.4.1 to v2.7.1 as part of a plan to 
eventually get to 2.8-it was recommended that we to go to 2.7.1 first and sort 
out changes to the Languages sub-record first, so that's what we're doing. So 
far we've gone from 2.4.1 to 2.7.1 on our sandbox, and have discovered an 
unexpected behavior with languages for Archival Objects. Here's what we 
expected to happen (from the Atlas support site):
"If you have values in both Basic Information > Language of Materials and under 
Notes > Language of Materials in any version prior to v2.7.0 (which we do for 
many records):

  *   The values in Basic Information > Language of Materials will migrate to 
the new controlled value list under the new Languages sub-record in your 
Resource records as part of the update to v2.7.0. The presence of this 
information fulfills the requirement of the sub-record. You will not have to 
take any additional action for these records.
  *   The notes in Notes > Language of Materials will move from under the Notes 
heading to under the Language of Materials sub-record. They will display as 
text. Though this note alone does not meet the requirements of the sub-record, 
since it is paired with a Language (per the above), so you will not need to 
take any additional actions on these records."
This process worked successfully for Resource records, but for Archival Objects 
with both of the above values this is the result we're seeing:


* The values in Basic Information > Language of Materials AND Notes > 
Language of Materials have both disappeared from the Archival Object.

* There is now a new Language of Materials sub-record in the Archival 
Object that contains no data (just a blank text sub-note).

Upon moving to v2.7.1 we ran the 
batch_update_lang_and_script
  plugin; but it doesn't seem like this would have affected the Archival 
Objects in the way are seeing.

Has anyone else experienced this issue? We are following up with our hosting 
service too just in case there is a step we missed.

Best,
--Benn

Benn Joseph
Head, Collections Services
McCormick Library of Special Collections & University Archives
Northwestern University Libraries
Northwestern University
www.library.northwestern.edu
benn.jos...@northwestern.edu
847.467.6581


Re: [Archivesspace_Users_Group] help with API route for archival object notes

2020-07-02 Thread Karen Miller
Thanks, James.

I will try this code as well as what Noah suggested. I really like being able 
to test out a specific change interactively before trying it in a script, so 
this is useful. Understanding how to access specific data in the JSON has been 
a big challenge for me.

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of James 
Bullen
Sent: Wednesday, July 01, 2020 10:43 PM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] help with API route for archival 
object notes


Hi Karen,

No worries. Chris’ help was more to the point anyway ;)

From your example, you should be able to reference the content with the bad tag 
like this:

[’notes’][0][‘content’][0]


Cheers,
James



On Jul 2, 2020, at 1:23 AM, Karen Miller 
mailto:k-mill...@northwestern.edu>> wrote:

Hello, James.

Sorry, I just realized I addressed you as Chris instead of as James! My 
apologies! I was so thrilled to get some assistance that I skimmed through the 
signatures too quickly.

Best,
Karen

From: Karen Miller
Sent: Wednesday, July 01, 2020 9:50 AM
To: 'Archivesspace Users Group' 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: RE: [Archivesspace_Users_Group] help with API route for archival 
object notes

Hi Chris.

I’ve been able to successfully retrieve & update nested elements from the Agent 
record, just not from the archival object notes record. But your description of 
them as “repeating parts” of that record is helpful. Thanks!

Karen

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of James Bullen
Sent: Tuesday, June 30, 2020 6:35 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] help with API route for archival 
object notes


Hi Karen,

The general rule is that anything you can GET from a uri can be modified and 
POSTed back to update it.

So, GET the JSON for the archival_object as you are doing. Then modify the JSON 
(in this case the notes bit of it) to look how you want. Then POST it back to 
the same uri.

Notes are nested subrecords (as are dates and others). These don’t have a life 
of their own, they are really just repeating parts of the top level record that 
they are contained within.

Hope that helps..


Cheers,
James


On Jul 1, 2020, at 8:22 AM, Karen Miller 
mailto:k-mill...@northwestern.edu>> wrote:

Good morning, ArchivesSpace users.

I am a cataloger (*not* a developer) using the API to update ArchivesSpace. So 
far I’ve figured out how to add LCCNs to the authority_Id of Agent records and 
do a couple more updates that, in retrospect, were pretty simple.

The next task I’d like to tackle, however, just seems like maybe it can’t be 
done. We’ve got a lot of notes with html tags in them and I would like to 
update those to valid tags. I can get the JSON for the notes in any particular 
archival object, but I don’t know how to specify the route to the note to 
change it. The JSON looks like this:

'notes': [{'content': ['This is a note with a bad tag'],
'jsonmodel_type': 'note_singlepart',
'persistent_id': '75ba0ec57e374b8b154551a69b4c311f',
'publish': True,
'type': 'abstract'},
   {'jsonmodel_type': 'note_multipart',
'persistent_id': '66afa07b3214260078123236bbe1ff27',
'publish': True,
'subnotes': [{'content': 'This is a dippy note.',
  'jsonmodel_type': 'note_text',
  'publish': True}],
'type': 'scopecontent'}],

I got this using the route ‘repositories/10/archival_objects/489763’, but I 
don’t know how to specify the note that I want in the JSON. For the agent 
authority_id I used the route ‘‘/agents/people/ and specified the 
field like this:

['names'][0]['authority_id']

I’m hoping this is an easy question for somebody with more experience with the 
API and (especially) with JSON than I. I’m a little afraid the answer is that 
it can’t be done. Any advice will be appreciated!

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu/>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.467.3462

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org<mailto:Archivesspace_Users_Group@lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group<https://urldefense.com/v3/__http:/lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group__;!!Dq0X2DkFhyF93HkjWTBQKhk!H-EUJhiBG0T

Re: [Archivesspace_Users_Group] help with API route for archival object notes

2020-07-02 Thread Karen Miller
Thank you, Noah! The Python script looks like it’s exactly what I need. And I 
appreciate the SQL as well; one less thing for me to code! I think I have just 
enough Python skills now (i.e., almost none + a reference manual) to make your 
script work.

Although I really miss cataloging print materials during the pandemic, I am 
really pleased to be able to learn a new skill while working from home. And I 
couldn’t have done it without examples, encouragement, and help from the 
ArchivesSpace community. Thank you!

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Noah 
Huffman
Sent: Wednesday, July 01, 2020 10:59 AM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] help with API route for archival 
object notes

Hi Karen,

I believe each note has a persistent identifier, so if you can use SQL to get 
the note identifiers you can address the problem notes that way.

Here’s an example of some SQL that gets access restriction notes on archival 
objects including the identifiers: 
https://github.com/duke-libraries/archivesspace-duke-scripts/blob/master/sql/access_restriction_notes_on_aos.sql<https://urldefense.com/v3/__https:/github.com/duke-libraries/archivesspace-duke-scripts/blob/master/sql/access_restriction_notes_on_aos.sql__;!!Dq0X2DkFhyF93HkjWTBQKhk!FQsO9PqU3enTLZX0T0GRys84svUYZFwVvM8fWXHDtN3ecL--n7iU_fCRmT1ijs0J-9wvs1Gh$>

And, here’s an example of a python script that uses those note identifiers to 
make updates to those notes (based on a script I borrowed from Alicia Detelich 
at Yale): 
https://github.com/duke-libraries/archivesspace-duke-scripts/blob/master/python/duke_as_replace_notes.py#L40<https://urldefense.com/v3/__https:/github.com/duke-libraries/archivesspace-duke-scripts/blob/master/python/duke_as_replace_notes.py*L40__;Iw!!Dq0X2DkFhyF93HkjWTBQKhk!FQsO9PqU3enTLZX0T0GRys84svUYZFwVvM8fWXHDtN3ecL--n7iU_fCRmT1ijs0J-4ZP_r0M$>

I haven’t used these in a while, so I can’t confirm if they still work, but the 
general idea should still hold.

-Noah


Noah Huffman
Archivist for Metadata, Systems, and Digital Records
David M. Rubenstein Rare Book & Manuscript Library
Duke University | 919-660-5982
http://library.duke.edu/rubenstein/<https://urldefense.com/v3/__http:/library.duke.edu/rubenstein/__;!!Dq0X2DkFhyF93HkjWTBQKhk!FQsO9PqU3enTLZX0T0GRys84svUYZFwVvM8fWXHDtN3ecL--n7iU_fCRmT1ijs0J-y9UnFC3$>
Pronouns: he / him / his



From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Karen Miller
Sent: Wednesday, July 1, 2020 11:23 AM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] help with API route for archival 
object notes

Hello, James.

Sorry, I just realized I addressed you as Chris instead of as James! My 
apologies! I was so thrilled to get some assistance that I skimmed through the 
signatures too quickly.

Best,
Karen

From: Karen Miller
Sent: Wednesday, July 01, 2020 9:50 AM
To: 'Archivesspace Users Group' 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: RE: [Archivesspace_Users_Group] help with API route for archival 
object notes

Hi Chris.

I’ve been able to successfully retrieve & update nested elements from the Agent 
record, just not from the archival object notes record. But your description of 
them as “repeating parts” of that record is helpful. Thanks!

Karen

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of James Bullen
Sent: Tuesday, June 30, 2020 6:35 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] help with API route for archival 
object notes


Hi Karen,

The general rule is that anything you can GET from a uri can be modified and 
POSTed back to update it.

So, GET the JSON for the archival_object as you are doing. Then modify the JSON 
(in this case the notes bit of it) to look how you want. Then POST it back to 
the same uri.

Notes are nested subrecords (as are dates and others). These don’t have a life 
of their own, they are really just repeating parts of the top level record that 
they are contained within.

Hope that helps..


Cheers,
James


On Jul 1, 2020, at 8:22 AM, Karen Miller 
mailto:k-mill...@northwestern.edu>> wrote:

Good morning, ArchivesSpace users.

I am a cataloger (*not* a developer) using the API to update ArchivesSpace. So 
far I’ve figured out how to add LCCNs to the authority_Id of Agent records and 
do a couple more updates that, in retrospect, were pretty simple.

The next task I’d like to tackle, however, just seems lik

Re: [Archivesspace_Users_Group] help with API route for archival object notes

2020-07-01 Thread Karen Miller
Hello, James.

Sorry, I just realized I addressed you as Chris instead of as James! My 
apologies! I was so thrilled to get some assistance that I skimmed through the 
signatures too quickly.

Best,
Karen

From: Karen Miller
Sent: Wednesday, July 01, 2020 9:50 AM
To: 'Archivesspace Users Group' 

Subject: RE: [Archivesspace_Users_Group] help with API route for archival 
object notes

Hi Chris.

I’ve been able to successfully retrieve & update nested elements from the Agent 
record, just not from the archival object notes record. But your description of 
them as “repeating parts” of that record is helpful. Thanks!

Karen

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of James Bullen
Sent: Tuesday, June 30, 2020 6:35 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] help with API route for archival 
object notes


Hi Karen,

The general rule is that anything you can GET from a uri can be modified and 
POSTed back to update it.

So, GET the JSON for the archival_object as you are doing. Then modify the JSON 
(in this case the notes bit of it) to look how you want. Then POST it back to 
the same uri.

Notes are nested subrecords (as are dates and others). These don’t have a life 
of their own, they are really just repeating parts of the top level record that 
they are contained within.

Hope that helps..


Cheers,
James


On Jul 1, 2020, at 8:22 AM, Karen Miller 
mailto:k-mill...@northwestern.edu>> wrote:

Good morning, ArchivesSpace users.

I am a cataloger (*not* a developer) using the API to update ArchivesSpace. So 
far I’ve figured out how to add LCCNs to the authority_Id of Agent records and 
do a couple more updates that, in retrospect, were pretty simple.

The next task I’d like to tackle, however, just seems like maybe it can’t be 
done. We’ve got a lot of notes with html tags in them and I would like to 
update those to valid tags. I can get the JSON for the notes in any particular 
archival object, but I don’t know how to specify the route to the note to 
change it. The JSON looks like this:

'notes': [{'content': ['This is a note with a bad tag'],
'jsonmodel_type': 'note_singlepart',
'persistent_id': '75ba0ec57e374b8b154551a69b4c311f',
'publish': True,
'type': 'abstract'},
   {'jsonmodel_type': 'note_multipart',
'persistent_id': '66afa07b3214260078123236bbe1ff27',
'publish': True,
'subnotes': [{'content': 'This is a dippy note.',
  'jsonmodel_type': 'note_text',
  'publish': True}],
'type': 'scopecontent'}],

I got this using the route ‘repositories/10/archival_objects/489763’, but I 
don’t know how to specify the note that I want in the JSON. For the agent 
authority_id I used the route ‘‘/agents/people/ and specified the 
field like this:

['names'][0]['authority_id']

I’m hoping this is an easy question for somebody with more experience with the 
API and (especially) with JSON than I. I’m a little afraid the answer is that 
it can’t be done. Any advice will be appreciated!

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu/>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.467.3462

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org<mailto:Archivesspace_Users_Group@lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group<https://urldefense.com/v3/__http:/lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group__;!!Dq0X2DkFhyF93HkjWTBQKhk!H-EUJhiBG0Tz5NQSebTYw6EUuEtRZ7cUmR2Pz_3UWKMEJCVchzyYC019ApoGsVbid0MZ-UMN$>

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


Re: [Archivesspace_Users_Group] help with API route for archival object notes

2020-07-01 Thread Karen Miller
Hi Chris,

Yes, I think you understood my problem exactly! I am using Python with the API 
and I’m not very familiar with either Python or JSON. I am pretty adept at SQL, 
so I am pretty sure I can identify and export the URIs of archival objects that 
have notes that contain HTML. It’s the issue of identifying that part of the 
JSON for Python to understand that I’m struggling with.

I think I’ll read up a bit more on dictionaries (I’ve been plowing through a 
book about beginning Python but gave up after reading about lists) and look 
into using the for loop with my notes. If I run into another brick wall, I’ll 
probably be back. Thanks!

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Chris 
Mayo
Sent: Wednesday, July 01, 2020 7:13 AM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] help with API route for archival 
object notes

Hi Karen,

To be a little more specific, I'm getting the sense (since I've struggled with 
needing to update some notes but not others as well) that what you're asking is 
how to create the path to a specific note when you don't know in advance which 
note it's going to be.

If you want to only modify notes that have html tags in them, you'll need to 
give it the path to ['notes'] part of the structure, and then run a for-loop, 
since that part is a list. You can ask it to look at each note in the list of 
notes and only make changes if it comes across one of the bad tags you're 
looking for. In python this would look something like

for note in json['notes']
if 'bad tag' in note:
modify the note

I'm afraid that I am enough of a scripter to only use Python to interact with 
the API, if you're using Postman or anything like that I'm not entirely sure 
how you'd accomplish something like this, and maybe somebody else can advise.

The thing that was hardest for me about learning how to interact with JSON was 
coming to realize that as far as the scripting language is concerned, anything 
inside square brackets [ ] is a list, and anything inside curly braces { } is a 
dictionary, and they can be interacted with as those data types.

Hope that helps, and sorry if I misread what your problem was!
Chris

On Tue, Jun 30, 2020 at 7:35 PM James Bullen 
mailto:ja...@hudmol.com>> wrote:

Hi Karen,

The general rule is that anything you can GET from a uri can be modified and 
POSTed back to update it.

So, GET the JSON for the archival_object as you are doing. Then modify the JSON 
(in this case the notes bit of it) to look how you want. Then POST it back to 
the same uri.

Notes are nested subrecords (as are dates and others). These don’t have a life 
of their own, they are really just repeating parts of the top level record that 
they are contained within.

Hope that helps..


Cheers,
James



On Jul 1, 2020, at 8:22 AM, Karen Miller 
mailto:k-mill...@northwestern.edu>> wrote:

Good morning, ArchivesSpace users.

I am a cataloger (*not* a developer) using the API to update ArchivesSpace. So 
far I’ve figured out how to add LCCNs to the authority_Id of Agent records and 
do a couple more updates that, in retrospect, were pretty simple.

The next task I’d like to tackle, however, just seems like maybe it can’t be 
done. We’ve got a lot of notes with html tags in them and I would like to 
update those to valid tags. I can get the JSON for the notes in any particular 
archival object, but I don’t know how to specify the route to the note to 
change it. The JSON looks like this:

'notes': [{'content': ['This is a note with a bad tag'],
'jsonmodel_type': 'note_singlepart',
'persistent_id': '75ba0ec57e374b8b154551a69b4c311f',
'publish': True,
'type': 'abstract'},
   {'jsonmodel_type': 'note_multipart',
'persistent_id': '66afa07b3214260078123236bbe1ff27',
'publish': True,
'subnotes': [{'content': 'This is a dippy note.',
  'jsonmodel_type': 'note_text',
  'publish': True}],
'type': 'scopecontent'}],

I got this using the route ‘repositories/10/archival_objects/489763’, but I 
don’t know how to specify the note that I want in the JSON. For the agent 
authority_id I used the route ‘‘/agents/people/ and specified the 
field like this:

['names'][0]['authority_id']

I’m hoping this is an easy question for somebody with more experience with the 
API and (especially) with JSON than I. I’m a little afraid the answer is that 
it can’t be done. Any advice will be appreciated!

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu/>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.467.3462

___
Archivesspace_Users_Group mailing list
A

Re: [Archivesspace_Users_Group] help with API route for archival object notes

2020-07-01 Thread Karen Miller
Hi Chris.

I’ve been able to successfully retrieve & update nested elements from the Agent 
record, just not from the archival object notes record. But your description of 
them as “repeating parts” of that record is helpful. Thanks!

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of James 
Bullen
Sent: Tuesday, June 30, 2020 6:35 PM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] help with API route for archival 
object notes


Hi Karen,

The general rule is that anything you can GET from a uri can be modified and 
POSTed back to update it.

So, GET the JSON for the archival_object as you are doing. Then modify the JSON 
(in this case the notes bit of it) to look how you want. Then POST it back to 
the same uri.

Notes are nested subrecords (as are dates and others). These don’t have a life 
of their own, they are really just repeating parts of the top level record that 
they are contained within.

Hope that helps..


Cheers,
James



On Jul 1, 2020, at 8:22 AM, Karen Miller 
mailto:k-mill...@northwestern.edu>> wrote:

Good morning, ArchivesSpace users.

I am a cataloger (*not* a developer) using the API to update ArchivesSpace. So 
far I’ve figured out how to add LCCNs to the authority_Id of Agent records and 
do a couple more updates that, in retrospect, were pretty simple.

The next task I’d like to tackle, however, just seems like maybe it can’t be 
done. We’ve got a lot of notes with html tags in them and I would like to 
update those to valid tags. I can get the JSON for the notes in any particular 
archival object, but I don’t know how to specify the route to the note to 
change it. The JSON looks like this:

'notes': [{'content': ['This is a note with a bad tag'],
'jsonmodel_type': 'note_singlepart',
'persistent_id': '75ba0ec57e374b8b154551a69b4c311f',
'publish': True,
'type': 'abstract'},
   {'jsonmodel_type': 'note_multipart',
'persistent_id': '66afa07b3214260078123236bbe1ff27',
'publish': True,
'subnotes': [{'content': 'This is a dippy note.',
  'jsonmodel_type': 'note_text',
  'publish': True}],
'type': 'scopecontent'}],

I got this using the route ‘repositories/10/archival_objects/489763’, but I 
don’t know how to specify the note that I want in the JSON. For the agent 
authority_id I used the route ‘‘/agents/people/ and specified the 
field like this:

['names'][0]['authority_id']

I’m hoping this is an easy question for somebody with more experience with the 
API and (especially) with JSON than I. I’m a little afraid the answer is that 
it can’t be done. Any advice will be appreciated!

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu/>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.467.3462

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org<mailto:Archivesspace_Users_Group@lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group<https://urldefense.com/v3/__http:/lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group__;!!Dq0X2DkFhyF93HkjWTBQKhk!H-EUJhiBG0Tz5NQSebTYw6EUuEtRZ7cUmR2Pz_3UWKMEJCVchzyYC019ApoGsVbid0MZ-UMN$>

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


[Archivesspace_Users_Group] help with API route for archival object notes

2020-06-30 Thread Karen Miller
Good morning, ArchivesSpace users.

I am a cataloger (*not* a developer) using the API to update ArchivesSpace. So 
far I've figured out how to add LCCNs to the authority_Id of Agent records and 
do a couple more updates that, in retrospect, were pretty simple.

The next task I'd like to tackle, however, just seems like maybe it can't be 
done. We've got a lot of notes with html tags in them and I would like to 
update those to valid tags. I can get the JSON for the notes in any particular 
archival object, but I don't know how to specify the route to the note to 
change it. The JSON looks like this:

'notes': [{'content': ['This is a note with a bad tag'],
'jsonmodel_type': 'note_singlepart',
'persistent_id': '75ba0ec57e374b8b154551a69b4c311f',
'publish': True,
'type': 'abstract'},
   {'jsonmodel_type': 'note_multipart',
'persistent_id': '66afa07b3214260078123236bbe1ff27',
'publish': True,
'subnotes': [{'content': 'This is a dippy note.',
  'jsonmodel_type': 'note_text',
  'publish': True}],
'type': 'scopecontent'}],

I got this using the route 'repositories/10/archival_objects/489763', but I 
don't know how to specify the note that I want in the JSON. For the agent 
authority_id I used the route ''/agents/people/ and specified the 
field like this:

['names'][0]['authority_id']

I'm hoping this is an easy question for somebody with more experience with the 
API and (especially) with JSON than I. I'm a little afraid the answer is that 
it can't be done. Any advice will be appreciated!

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


Re: [Archivesspace_Users_Group] Mrs. Husband's Name / updates in our ArchivesSpace database

2020-05-19 Thread Karen Miller
Good morning.

At Northwestern University, our ArchivesSpace is hosted by Atlas, who has given 
us ODBC read-only access to the MySQL database. Just yesterday I ran a report 
that harvests BiogHist notes from Agents for a cleanup project. My SQL is 
pretty hacky too (although Mark’s is a good bit more neat looking than mine!), 
but I could post it on GitHub if it’s of interest.

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Lara 
Friedman-Shedlov
Sent: Monday, May 18, 2020 4:07 PM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] Mrs. Husband's Name / updates in our 
ArchivesSpace database

Thanks for sharing this Mark.  At the University of Minnesota, we are in the 
early stages of doing some agent record clean-up as well, so this information 
is very useful.

For one project we were looking at doing with our agents, we wanted to create a 
report of all of our agent records that would also include the biographical 
/historical notes from any linked resource records (or at least the URLs to any 
associated resource records, so we could easily find the relevant bio/hist 
notes).  Our instance of ArchivesSpace is hosted by Lyrasis so we contacted 
them to ask about it and were told this is "not possible."  I found that 
surprising and wonder if anyone else has done something like this and if so, 
how.

/ Lara Friedman-Shedlov



On Mon, May 18, 2020 at 4:00 PM Custer, Mark 
mailto:mark.cus...@yale.edu>> wrote:
All,

Is anyone else working on Agent-related cleanup projects in ArchivesSpace right 
now?  We’ve got a couple of those going on at Yale, and I wanted to mention one 
of them on this listserv since I said that I would last night on Twitter .  My 
reasoning was that it would be better to share widely, even early on, in the 
likely event that others were working on similar projects, and in hopes that it 
might save time for anyone else looking to get started with such a project.

Anyhow, just for the sake of sharing, here’s a really hacky SQL database query 
that you can use in ArchivesSpace to get a list of agents that have any name 
forms that include “Mrs.” or “Miss”:  
https://gist.github.com/fordmadox/d78656fceb04b62000b662a3f2464488

A few caveats:

  *   I do *not* know SQL very well, so I know that this could be improved 
dramatically, but it gets data out of ArchivesSpace.
  *   The query casts a rather wide net, since it looks for Mrs. or Miss in any 
of the name forms, but it could be altered to just look for those two terms in 
the “sort_name” only if desired.
  *   The result of the query has at least one Yale-specific field in there, 
since we store our local ILS bibliographic IDs in ASpace’s “user defined string 
2” field.  You can ignore that, or add something else, etc., but the gist is 
that this query should work in any ASpace instance.  It should return one row 
per agent, with multiple name forms, and a bit more information like which 
Resources, Archival Objects, and/or Accessions the agent is linked to.
  *   And last, it just searches for variations of “Mrs.” and “Miss”, which 
works for our dataset, but you could modify the HAVING clause at the end of the 
query to search for other honorific terms, if needed.

Most importantly, though, getting a dataset to review and act on is just the 
first step.  The hard work comes next!  Jessica Tai, Alison Clemens, and Karen 
Spicher are spearheading this project at Yale. If anyone has specific questions 
about the project, I’d encourage you to reach out directly to them.

For now, though, here’s one interesting example from the project:   we’ve got 
an agent record now in ArchivesSpace for “Brady, John G., Mrs.”,  
https://archives.yale.edu/agents/people/77599.
  Originally this would just have been text in the finding aid, later a link in 
a catalog record, and now it’s full-blown, standalone record for a person in 
ArchivesSpace.  But nowhere in that agent record is her given name, Elizabeth, 
although her name is thankfully listed multiple times in the finding aid (check 
out the finding aid author! ), in the Wikipedia entry for John Green Brady, 
and elsewhere.  So, that agent record will eventually be one of a few hundred 
local records that we update in ArchivesSpace during the course of this 
project.  And, one of the things that I like about ArchivesSpace --which helps 
to make sure 

Re: [Archivesspace_Users_Group] Family names as Creators/Subjects

2020-04-06 Thread Karen Miller
Miloche,

Thanks! Although our records do not get converted to MARC, they go into Primo 
along with a bunch of other MARC records, so I want to be mindful of that. 
Thanks for the feedback,

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Kottman, 
Miloche
Sent: Monday, April 06, 2020 11:16 AM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] Family names as Creators/Subjects

Karen,

We export our records out of ArchivesSpace as MARC and add to OCLC (one more 
place for discovery won’t hurt) so we use NACO for creators and SACO for 
subjects.

This way we have less cleanup to do on the MARC record and it allows patrons 
looking for materials about a family to find all the collections we own with 
that surname and determine on their own if and/or how they are related (i.e. 
they may find connections we missed).

--Miloche

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Karen Miller
Sent: Friday, April 3, 2020 4:20 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Family names as Creators/Subjects

Hi, Kate.

NU decided several years ago that these records weren’t  going into OCLC, but 
we NACO catalogers have a hard time disobeying those rules. ☺ They are going 
into our discovery layer (but not through the library catalog, so they never 
pass through a MARC representation) and into ArchiveGrid. Since we can do 
whatever we want in AS, I thought it would be good to do something similar to 
what others are doing in it. It looks like ArchiveGrid has a lot of family 
names formulated in the SACO format (Smith family), so that might be the best 
option. It’s certainly easier than creating the NAF record, especially if we 
don’t actually go to the trouble of creating a SACO proposal!

Karen

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Bowers, Kate A.
Sent: Friday, April 03, 2020 2:46 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Family names as Creators/Subjects

RDA is only relevant to the records written in accordance with RDA. You can do 
anything you like in ArchivesSpace.  If the records are exported to a MARC 
environment, the consequences may vary depending on the system. Most MARC 
systems are shared, meaning that other people might  be able to alter the 
record to “correct” it. I’m not sure what OCLC would do with them.

Kate

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Karen Miller
Sent: Friday, April 3, 2020 3:38 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: [Archivesspace_Users_Group] Family names as Creators/Subjects

Happy Friday, everyone!

I’ve been using my WFH time to do some ArchivesSpace cleanup and have a 
question about how people are using family names. We are a NACO library and 
have been creating personal and corporate body name headings for people and 
organizations represented in our collections. When we have a collection that is 
created by a person or corporate body and also includes biographical or 
historic information about the person or corporate body, we assign the Agent 
record as both Creator and Subject.

This works fine for LC NAF records for people and corporate bodies, but for 
families, we have a dilemma. RDA says that families can be “creators” and 
specifies that they are to be established in a format like this:

Abdurahman (Family : 1872-1963 : South Africa)

But when a family is the subject, it’s supposed to be established in a format 
like this (the SACO format):

Abdurahman family

which can refer to any family with the surname Abdurahman, not just the family 
that existed in South Africa from 1872-1963.

I don’t think the SACO format is all that useful, but we used it for a long 
time, before RDA came along. Then when RDA came along, we established some 
family names in the NAF and used them in ArchivesSpace. Now we have family 
names in both formats, which looks a little weird. We only have 13 of them, so 
cleanup isn’t an insurmountable task.

I’ve been considering several options:


1.Use the NACO format for all family names, including as both Creator or 
Agent. This goes against RDA, but it looks more consistent to the end user and 
I think is provides more information for browsing patrons.

2.Use the SACO format for

Re: [Archivesspace_Users_Group] Family names as Creators/Subjects

2020-04-03 Thread Karen Miller
Hi, Kate.

NU decided several years ago that these records weren’t  going into OCLC, but 
we NACO catalogers have a hard time disobeying those rules. ☺ They are going 
into our discovery layer (but not through the library catalog, so they never 
pass through a MARC representation) and into ArchiveGrid. Since we can do 
whatever we want in AS, I thought it would be good to do something similar to 
what others are doing in it. It looks like ArchiveGrid has a lot of family 
names formulated in the SACO format (Smith family), so that might be the best 
option. It’s certainly easier than creating the NAF record, especially if we 
don’t actually go to the trouble of creating a SACO proposal!

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Bowers, 
Kate A.
Sent: Friday, April 03, 2020 2:46 PM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] Family names as Creators/Subjects

RDA is only relevant to the records written in accordance with RDA. You can do 
anything you like in ArchivesSpace.  If the records are exported to a MARC 
environment, the consequences may vary depending on the system. Most MARC 
systems are shared, meaning that other people might  be able to alter the 
record to “correct” it. I’m not sure what OCLC would do with them.

Kate

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Karen Miller
Sent: Friday, April 3, 2020 3:38 PM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: [Archivesspace_Users_Group] Family names as Creators/Subjects

Happy Friday, everyone!

I’ve been using my WFH time to do some ArchivesSpace cleanup and have a 
question about how people are using family names. We are a NACO library and 
have been creating personal and corporate body name headings for people and 
organizations represented in our collections. When we have a collection that is 
created by a person or corporate body and also includes biographical or 
historic information about the person or corporate body, we assign the Agent 
record as both Creator and Subject.

This works fine for LC NAF records for people and corporate bodies, but for 
families, we have a dilemma. RDA says that families can be “creators” and 
specifies that they are to be established in a format like this:

Abdurahman (Family : 1872-1963 : South Africa)

But when a family is the subject, it’s supposed to be established in a format 
like this (the SACO format):

Abdurahman family

which can refer to any family with the surname Abdurahman, not just the family 
that existed in South Africa from 1872-1963.

I don’t think the SACO format is all that useful, but we used it for a long 
time, before RDA came along. Then when RDA came along, we established some 
family names in the NAF and used them in ArchivesSpace. Now we have family 
names in both formats, which looks a little weird. We only have 13 of them, so 
cleanup isn’t an insurmountable task.

I’ve been considering several options:


1.Use the NACO format for all family names, including as both Creator or 
Agent. This goes against RDA, but it looks more consistent to the end user and 
I think is provides more information for browsing patrons.

2.Use the SACO format for all family names, including as both Creator or 
Agent. This also goes against RDA, but it looks more consistent to the end 
user. I think it’s not as useful, though, for people looking for families with 
common names (like Baker instead of Abdurahman)

3.Use the NACO form for Creator and the SACO form for Subject. It’s 
inconsistent, but follows RDA. Since these aren’t BIBCO records, it’s not as if 
this is a mortal sin!

I’m sure there are more options, but I think I’ve gone on enough here. What are 
other institutions doing?

Karen


Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.467.3462


___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


[Archivesspace_Users_Group] Family names as Creators/Subjects

2020-04-03 Thread Karen Miller
Happy Friday, everyone!

I’ve been using my WFH time to do some ArchivesSpace cleanup and have a 
question about how people are using family names. We are a NACO library and 
have been creating personal and corporate body name headings for people and 
organizations represented in our collections. When we have a collection that is 
created by a person or corporate body and also includes biographical or 
historic information about the person or corporate body, we assign the Agent 
record as both Creator and Subject.

This works fine for LC NAF records for people and corporate bodies, but for 
families, we have a dilemma. RDA says that families can be “creators” and 
specifies that they are to be established in a format like this:

Abdurahman (Family : 1872-1963 : South Africa)

But when a family is the subject, it’s supposed to be established in a format 
like this (the SACO format):

Abdurahman family

which can refer to any family with the surname Abdurahman, not just the family 
that existed in South Africa from 1872-1963.

I don’t think the SACO format is all that useful, but we used it for a long 
time, before RDA came along. Then when RDA came along, we established some 
family names in the NAF and used them in ArchivesSpace. Now we have family 
names in both formats, which looks a little weird. We only have 13 of them, so 
cleanup isn’t an insurmountable task.

I’ve been considering several options:


1.Use the NACO format for all family names, including as both Creator or 
Agent. This goes against RDA, but it looks more consistent to the end user and 
I think is provides more information for browsing patrons.

2.Use the SACO format for all family names, including as both Creator or 
Agent. This also goes against RDA, but it looks more consistent to the end 
user. I think it’s not as useful, though, for people looking for families with 
common names (like Baker instead of Abdurahman)

3.Use the NACO form for Creator and the SACO form for Subject. It’s 
inconsistent, but follows RDA. Since these aren’t BIBCO records, it’s not as if 
this is a mortal sin!

I’m sure there are more options, but I think I’ve gone on enough here. What are 
other institutions doing?

Karen


Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462


___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


Re: [Archivesspace_Users_Group] Publish All workflows

2018-09-13 Thread Karen Miller
We've addressed this by querying the backend for a Resource before clicking the 
"Publish All" button. The following SQL code has been embedded into an Excel 
worksheet with prompt for the Resource Identifier ( WHERE T8.root_record_id=?) 
and then displays a list of archival object unittitles with a Publish? status 
of 1 for published, 0 for unpublished. You could certainly just drop in the 
resource identifier in the SQL below.

I can provide more information about how I set this up in Excel offline if 
anyone's interested.


SELECT
CONCAT(T9.value, " ", T6.indicator) AS `Container`,
T8.component_id AS `Level`,
T8.display_string AS `Component Title`,
 T8.publish AS `Publish?`
 FROM archivesspace.archival_object T8
 LEFT OUTER JOIN archivesspace.instance T1
 ON T1.archival_object_id=T8.id
 LEFT JOIN archivesspace.sub_container T2
 ON T1.id = T2.instance_id
 LEFT JOIN archivesspace.top_container_link_rlshp T3
 ON T2.id = T3.sub_container_id
 LEFT OUTER JOIN archivesspace.top_container T6
 ON T3.top_container_id = T6.id
 LEFT JOIN archivesspace.top_container_housed_at_rlshp T4
 ON T4.top_container_id = T6.id
 LEFT JOIN archivesspace.location T5
 ON T4.location_id = T5.id
 LEFT JOIN archivesspace.enumeration_value T9
 ON T6.type_id=T9.id
 WHERE T8.root_record_id=?
 ORDER by T8.publish, T9.value, T8.component_id ASC


Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462




From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
 On Behalf Of Kennedy, 
Nancy
Sent: Thursday, September 13, 2018 8:55 AM
To: Archivesspace Users Group 
Subject: Re: [Archivesspace_Users_Group] Publish All workflows

Thanks, Noah, Brian.

Noah - re: "we keep track of the publication status of a finding aid using the 
Finding Aid Status field" .  We do the same thing, using Finding Aid Status to 
drive the EAD export.

Using FA Status has worked pretty well... except that screen labels like 
"publish?" leads to some (I'd say legitimately!) confused users.  Especially 
when there is, say, a network slow down and people try to troubleshoot by 
clicking on lots of inviting buttons... like "publish all".  We try to train 
everyone on what "Publish?" checkbox means, but it's easy to confuse.

I've considered relabeling the ''Publish?" field to something like 'External 
Audience' ... but I don't want to move us far afield form the core 
archivesspace code/documentation. If I change the display label, my users will 
understand that we mean audience and not status .  The problem is changing 
labels means our views will drift away from the main core archivesspace 
documentation, screencasts etc.  And the term 'publish" appears in many places. 
Label translation seems like a band aid (and not a very good one).   A 2nd 
element specific to audience would probably be much better than a label change.

Nancy

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Brian Thomas
Sent: Thursday, September 13, 2018 9:22 AM
To: 'Archivesspace Users Group' 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Publish All workflows

Hi all,
I cannot speak to Noah's questions re how to keep track of published vs. 
unpublished elements as I am more on the techy side here in electronic records 
v. the processing side. But I wanted to voice an agreement with Nancy that 
having an internal audience only checkbox that blocks publication would be a 
good enhancement. That way one can in a fell swoop still publish all things 
intended for the public, without having to go back and unpublish all the things 
that should not have been.
Thanks,

Brian Thomas
Electronic Records Specialist
Texas State Library and Archives Commission
1201 Brazos Street
Austin, TX 78701
PH: (512) 475-3374
e-mail: btho...@tsl.texas.gov
tsl.texas.gov
[cid:image001.jpg@01D029A2.37194C70]

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org
 
mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>>
 On Behalf Of Noah Huffman
Sent: Thursday, September 13, 2018 8:10 AM
To: Archivesspace Users Group 
mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Publish All workflows

Hi Nancy,

We ran into a similar problem to the one you describe-folks accidentally 
clicking 

Re: [Archivesspace_Users_Group] Subject Heading Plugin not working properly 1.4.2

2017-06-19 Thread Karen Miller
Interesting! In any event, a caveat is still deserved.

I would recommend removing not just the 450 or 455, but any 550 terms as well. 
In fact, I’d just keep the 150. There is no place for variant forms of the 
heading in the AS Subject record the way there is in the Agent record. It would 
be desirable to keep those terms as variants to facilitate searching, in 
exactly the same way we use variant forms of names in the Agent records. That 
would require a change to the data model for Subject records.

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
[mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org] On Behalf Of 
Majewski, Steven Dennis (sdm7g)
Sent: Saturday, June 17, 2017 5:16 PM
To: Archivesspace Users Group <archivesspace_users_group@lyralists.lyrasis.org>
Subject: Re: [Archivesspace_Users_Group] Subject Heading Plugin not working 
properly 1.4.2


I don’t believe that behavior is specific to the LCNAF plugin. It’s inherited 
from the MarcXML base mappings. So if you don’t use the plugin and manually 
import a MARC XML authority record, I believe that you’ll get the same result.

https://github.com/archivesspace/archivesspace/blob/master/backend/app/converters/lib/marcxml_base_map.rb#L970-L1043<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_archivesspace_archivesspace_blob_master_backend_app_converters_lib_marcxml-5Fbase-5Fmap.rb-23L970-2DL1043=DwMGaQ=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws=P54V6LrXJP5Ddzc8ZItBdqB1Kr3elvFIQ04P7n0UCbQ=gfjfKwGRGu39PosoWeTPP2Q-8p6o6-pYF--KBTmCuE8=Pnq4shGspI3G_3IH2FhOfo5ShyoLdu31GIEi1Vmc41A=>

So perhaps the "or @tag=‘450’” should be removed from the base mappings, along 
with ‘451’ and ‘455’   [?]

Are there any counter cases where you would want those mappings to create a 
term ?

Does it need to check if there is a previous 15x tag first to determine whether 
to skip 45x ?


— Steve.


On Jun 16, 2017, at 2:57 PM, Karen Miller 
<k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>> wrote:

Hi, Candace.

I can’t help on the plugin operational issue, but I can offer a caveat about 
using the plugin for LCSH. This plugin has (until very recently) worked well 
for us at NUL for importing Agent records from LCNAF, but we have never used it 
to import Subject records. And, as Steve pointed out, the import from OCLC is 
unreliable.

When a Subject is imported using this plug-in, individual Subject records are 
created for the preferred term (the MARC 150 field in the authority record) as 
well as for each of the non-preferred terms (the MARC 450 fields in the 
authority record, i.e., references). For example, an LCSH record with 4 
non-preferred terms will be imported as 5 Subject records, one for the 
preferred term and one for each of the non-preferred terms, with no indication 
in the records for the non-preferred terms that they are references and should 
not be assigned, as well as no indication of the preferred term with which they 
are associated. This is almost certainly not what your archivists or catalogers 
want.

While the import of Name Authority File (LCNAF) records correctly places 
non-preferred names in the Agent record for the preferred name designated as 
references, the import of LCSH records operates differently and would wreak 
havoc on the use of Subject records.

I understand that Yale is undertaking a project to update the plug-in and hopes 
to change the functionality so that only the preferred Subject term is 
imported, but until then, I can’t recommend using it.

Best,
Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu/>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.467.3462

From: 
archivesspace_users_group-boun...@lyralists.lyrasis.org<mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org>
 [mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org] On Behalf Of 
Maurice, Candace A
Sent: Friday, June 16, 2017 1:39 PM
To: Archivesspace Users Group 
<archivesspace_users_group@lyralists.lyrasis.org<mailto:archivesspace_users_group@lyralists.lyrasis.org>>
Subject: Re: [Archivesspace_Users_Group] Subject Heading Plugin not working 
properly 1.4.2

Hi Steve,

I tried to implement the patch, but still no luck. My file on line 71 is 
different than in the patch you provided  (see function below).

def search(query, page, records_per_page)
uri = URI(@base_url)
start_record = calculate_start_record(page, records_per_page)
params = default_params.merge('q' => [query.to_s, @scheme],
  'count' => records_per_page,
  'start' => start_record)

uri.query = URI.encode_www_form(params)

response = Net::HTTP.get_response(uri)

if resp

Re: [Archivesspace_Users_Group] LCNAF plugin

2017-04-12 Thread Karen Miller
Francis,

We also have the problem of preferred titles that do have an author. For now, 
we've treated them by smooshing them into an Agent record, but I could see 
smooshing them into a Subject instead.

I see your point about mapping the 046 field to the Dates of Existence record; 
sometimes these differ in granularity from what's in the $d. Sometimes there is 
a 046 but no $d, and sometimes there is a $d but no 046so we really can't 
assume a one-to-one relationship.

Karen

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
[mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org] On Behalf Of 
Lapka, Francis
Sent: Wednesday, April 12, 2017 12:52 PM
To: archivesspace_users_group@lyralists.lyrasis.org
Subject: [Archivesspace_Users_Group] LCNAF plugin

Thanks Karen. My comments are below.

Francis


--

Karen Miller k-miller3 at northwestern.edu 
<mailto:archivesspace_users_group%40lyralists.lyrasis.org?Subject=Re%3A%20%5BArchivesspace_Users_Group%5D%20LCNAF%20plugin=%3C82e30afaa16f4ea2b07386fea46a98c4%40evcspmbx05.ads.northwestern.edu%3E>
Tue Apr 11 12:57:21 EDT 2017


Francis, this is great news and I'm very excited by the prospect of getting an 
updated plug-in! We're doing a lot of editing when using it now, and the 
changes you have planned will eliminate a lot of that work for us at 
Northwestern.

-FL: Excellent! Yes, our goal is that authorities imported via the 
plugin will require no (or minimal) manipulation after import.



I only have two comments on the mappings.





1.  I'd rather see contents of the 100$d, 110$d, and 111$d go into the 
Dates of Existence sub-record instead of Name Forms\Date, since the latter is 
deprecated. I have mixed feelings about this, though - on the one hand, if 
there is a 046 present, it may include a more granular date than is in the $d, 
and it would be a shame to lose that. On the other hand, for many records there 
is no 046 and only a $d. In these cases, it might be possible to extract 
appropriate date fields from the $d; Gary Strawn (our former authorities 
librarian, but still at NUL working archival processing), has written some code 
that was used to create 046 fields from $d when Library of Congress started 
automatically converting selected records from AACR2 into RDA. He mentioned 
that he'd be happy to share it, if it's of interest.

-FL: There is an implicit suggestion in this mapping that deprecation 
of Name-Forms\Date isn't the correct approach. Here's our thinking: The 
components of an AS name form are all sub-parts of the access point. If an 
access point has dates, those dates need to appear in the name form section. 
Dates that appear in the name form (and part of the access point) aren't 
necessarily the same as those that represent dates of existence. We may 
sometimes want to record dates of existence even if dates are not included in 
the access point. So we need both data elements. This approach parallels what 
he have in LCNAF, where dates in 1xx $d exist in parallel to dates in 046 - 
because they mean different things. There is an argument for deriving dates of 
existence from the dates in the name form (upon import), but our Yale group has 
opted (so far at least) not to take that option.





2.  I'd also prefer not to strip the terminal periods from 100$, 110$c or 
111$c. Although this is listed in your mapping spreadsheet, it does not appear 
to have been done in the example for the Brown (Family : 1910-1956 : Me.), 
where the $c is mapped to the Qualifier field as "Me." with the terminal period 
retained.

-FL: Yeah, I see the arguments for not stripping those periods. Doing 
so causes problems with headings such as "$a Seuss, $c Dr." We'll review this.



Finally - and this is just a *thought*, not a suggestion! - at some point in 
time, it would be wonderful to see the ArchivesSpace Agent record model 
expanded to accommodate some of the fields that are now being added to name 
authority records under RDA, such as Fields of Activity, Occupations, 
Associated Places (including place of birth, place of death, country of 
residence, headquarters, etc.), Associated Groups, Gender, and Associated 
Languages. I know this is way, way out of scope for your project, but I thought 
it might be useful to get it out there and have people start thinking about it. 
I work in a NACO library where we add loads of information like this to 
authority record in hopes that it will be used by a discovery system at some 
point in our lifetimes!

-FL: I agree! It's my understanding that the AS person model will be 
modified (before long?) to be compliant with EAC-CPF, providing a richer set of 
fields, such as those you mention.



FL: In my mind, AS might also benefit by reconsidering its treatment of 
preferred titles. I'd like to see an AS model that recognizes WEMI entities as 
a separate category of related entity. For the moment, preferred tit

Re: [Archivesspace_Users_Group] LCNAF plugin

2017-04-11 Thread Karen Miller
Francis, this is great news and I'm very excited by the prospect of getting an 
updated plug-in! We're doing a lot of editing when using it now, and the 
changes you have planned will eliminate a lot of that work for us at 
Northwestern.

I only have two comments on the mappings.


1.  I'd rather see contents of the 100$d, 110$d, and 111$d go into the 
Dates of Existence sub-record instead of Name Forms\Date, since the latter is 
deprecated. I have mixed feelings about this, though - on the one hand, if 
there is a 046 present, it may include a more granular date than is in the $d, 
and it would be a shame to lose that. On the other hand, for many records there 
is no 046 and only a $d. In these cases, it might be possible to extract 
appropriate date fields from the $d; Gary Strawn (our former authorities 
librarian, but still at NUL working archival processing), has written some code 
that was used to create 046 fields from $d when Library of Congress started 
automatically converting selected records from AACR2 into RDA. He mentioned 
that he'd be happy to share it, if it's of interest.


2.  I'd also prefer not to strip the terminal periods from 100$, 110$c or 
111$c. Although this is listed in your mapping spreadsheet, it does not appear 
to have been done in the example for the Brown (Family : 1910-1956 : Me.), 
where the $c is mapped to the Qualifier field as "Me." with the terminal period 
retained.



Finally - and this is just a *thought*, not a suggestion! - at some point in 
time, it would be wonderful to see the ArchivesSpace Agent record model 
expanded to accommodate some of the fields that are now being added to name 
authority records under RDA, such as Fields of Activity, Occupations, 
Associated Places (including place of birth, place of death, country of 
residence, headquarters, etc.), Associated Groups, Gender, and Associated 
Languages. I know this is way, way out of scope for your project, but I thought 
it might be useful to get it out there and have people start thinking about it. 
I work in a NACO library where we add loads of information like this to 
authority record in hopes that it will be used by a discovery system at some 
point in our lifetimes!



Best regards,
Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462




From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
[mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org] On Behalf Of 
Lapka, Francis
Sent: Thursday, April 06, 2017 3:23 PM
To: archivesspace_users_group@lyralists.lyrasis.org
Subject: [Archivesspace_Users_Group] LCNAF plugin

As part of a larger project concerning agent and subject records in 
ArchivesSpace, a group at Yale has drafted changes we'd like to see in the 
LCNAF plugin (to be coded by a vendor for use at Yale). The spec is outlined 
here:

https://drive.google.com/open?id=1_Jt0_5_9uuu-YexjfIdzTQEuJo2GjQ88no8WxHBXPlI

There are three tabs. Text in red indicates changes to existing performance of 
the plugin (except for the third tab - where we propose an entirely new mapping 
for lcgft).

Some of what we propose may not be universally desired (e.g., using the LC 
authority URI as AS AuthorityID). Other changes probably ought to be 
incorporated in the LCNAF plugin for all (e.g., don't create separate AS 
subject *records* for each variant form in an LCSH record).

We welcome your corrections, suggestions, or other thoughts.

Thanks,
Francis


Francis Lapka  *  Catalog Librarian
Dept. of Rare Books and Manuscripts
Yale Center for British Art
203.432.9672  *  francis.la...@yale.edu


___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


Re: [Archivesspace_Users_Group] Archon to ArchivesSpace Migration Issues

2017-03-08 Thread Karen Miller
Hi, Suzanne.

We migrated from Archon to ArchivesSpace 1.4.2 in December at Northwestern 
University. We did not experience issues with top containers, but we did have 
about 2 dozen (out of 1200+) finding aids come over with scrambled components.

As you described, the scrambling appeared to be completely random. When I 
looked at records in the Archon MySQL database for a few of the scrambled 
components, I found some components with parent relationships that formed a 
circle - for example, the parent ID values of records indicated that component 
A had component B as parent, component B had component C as parent, and 
component C had component A as parent. We think that was due to people moving 
around the components in the Archon interface, or that it might have had to do 
with a flawed ingest into Archon from the original EAD. Some of these 
components did not appear in the Archon interface, only in the MySQL database.

For the "scrambled" finding aids, I exported these as EAD from Archon and then 
used the Background Job -> Import Data to ingest them into ArchivesSpace. This 
is not without its own drama. Ingesting from EAD this way has a few bugs:


·Agent & Subject records will come in as Unpublished (this might be 
rectified if you set the Publish? checkbox defaults to be checked in User 
Preferences, but I'm not sure about that).

·Ampersands display in ArchivesSpace as character entities () 
instead of as ampersands.

·Any  elements attached to a component (Archival Object) record 
did not ingest at all.  elements at the Resource record did ingest, so 
this is only a problem for really detailed finding aids.

To make the ingest work, you'll need to add the  type attribute into 
the value for the  element at the archival description level. That is, 
under , change the line that looks like this:


121

to this:


121 Boxes

You'll also want to change the value of the  value to something that 
differentiates it from the  value for the existing resource record in 
ArchivesSpace. I added "-TEST" to the end of mine so that I could differentiate 
them in ArchivesSpace.

Finally, you might run into errors because of components that lack a 
 and a  during the ingest. You can fix these and then 
reingest the finding aid, but this can get a little tedious because the ingest 
only identifies the first one it runs into and then fails. (So if you have 5 
components that cause it errors, you'll have to try the ingest 6 times to get 
it in there). Interpreting the errors is tedious, but it can be done. They will 
look like this:

The following errors were found:
dates : one or more required (or enter a Title)
title : must not be an empty string (or enter a Date)


For JSONModel(:archival_object):
 #"archival_object", 
"external_ids"=>[], "subjects"=>[], "linked_events"=>[], "extents"=>[], 
"dates"=>[], "external_documents"=>[], "rights_statements"=>[], 
"linked_agents"=>[], "component_id"=>"id113570", "restrictions_apply"=>false, 
"instances"=>[{"jsonmodel_type"=>"instance", "is_representative"=>false, 
"uri"=>nil, "import_context"=>" ... 
", "instance_type"=>"mixed_materials", 
"container"=>{"jsonmodel_type"=>"container", "container_locations"=>[], 
"uri"=>nil, "import_context"=>" ... 
", "container_profile_key"=>nil, "type_1"=>"Box", 
"indicator_1"=>"89", "type_2"=>"Folder", "indicator_2"=>"1", 
"type_3"=>"Sleeve", "indicator_3"=>"24"}}], "notes"=>[], 
"uri"=>"/repositories/import/archival_objects/import_544f0225-8313-4396-9c17-0ed8075640fc",
 "level"=>"file", 
"resource"=>{"ref"=>"/repositories/import/resources/import_73c30f1d-c9e2-444b-b482-84a380ee8f1a"},
 
"parent"=>{"ref"=>"/repositories/import/archival_objects/import_be1e2fd1-38d2-4550-be86-efdd88070162"},
 "publish"=>true}>


In :
 c03 audience=external class=cdata 
level=file ... /c03


!!

This one means that a component with container elements representing Box 89, 
Folder 1, and Sleeve 24 (bolding & font color above are mine and I hope they 
come through the listserv) has neither a  nor a .

I hope this is helpful. This worked really well for our smaller finding aids, 
but it wasn't ideal for a handful of large ones for us. Still, it was better 
than trying to unscramble the components in ArchivesSpace.

Karen


Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
[mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org] On Behalf Of 
Stasiulatis, Suzanne
Sent: Wednesday, March 08, 2017 7:43 AM
To: archivesspace_users_group@lyralists.lyrasis.org
Subject: [Archivesspace_Users_Group] Archon to ArchivesSpace Migration Issues

Hello,

We have two major problems with our migration 

[Archivesspace_Users_Group] Archon migration of Private Titles & other audience='internal' elements

2016-11-02 Thread Karen Miller
Good morning.

We've just done an initial migration from Archon to ArchivesSpace and found 
that the Private Title element in Archon migrates to an ArchivesSpace Note with 
type="Materials Specific Details" and label "Private Title". This is somewhat 
understandable, as there doesn't seem to be an equivalent to the "Private 
Title" element in ArchivesSpace. However, all of these Note fields in 
ArchivesSpace have the "Publish?" checkbox marked, so they show up in the 
public user interface.

This in itself isn't a disaster, as I think we can have our developer update 
the database so that any Note field with the label "Private Title" is marked as 
unpublished. However, we also have a lot of Archon components that were marked 
as *not* web enabled but are coming into ArchivesSpace with the "Publish?" 
checkbox checked.

Has anyone else run into this migration issue? I'm hoping that someone else has 
encountered it and knows how to fix it in the migration tool.

Thank you for any help you can provide!

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

___
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group@lyralists.lyrasis.org
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group


Re: [Archivesspace_Users_Group] exporting an identifier for use in a URL to the public user interface

2016-10-31 Thread Karen Miller
Thank you, Steven!

I’m going to pass this along to our developer so he can implement it. I get the 
gist of it, but my coding skills stop at XSL. I really appreciate the quick and 
detailed response!

Karen


Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu
k-mill...@northwestern.edu
874.467.3462

From: archivesspace_users_group-boun...@lyralists.lyrasis.org 
[mailto:archivesspace_users_group-boun...@lyralists.lyrasis.org] On Behalf Of 
Majewski, Steven Dennis (sdm7g)
Sent: Monday, October 31, 2016 11:59 AM
To: Archivesspace Users Group <archivesspace_users_group@lyralists.lyrasis.org>
Subject: Re: [Archivesspace_Users_Group] exporting an identifier for use in a 
URL to the public user interface



In the staff interface, there is a ‘View Published’ button (in the same row as 
the ‘Edit’ button) that takes you to the resource in the public interface.

The template code producing that button is in 
frontend/app/views/shared/_resource_toolbar.html.erb :


https://github.com/archivesspace/archivesspace/blob/master/frontend/app/views/shared/_resource_toolbar.html.erb#L37-L41<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_archivesspace_archivesspace_blob_master_frontend_app_views_shared_-5Fresource-5Ftoolbar.html.erb-23L37-2DL41=CwMGaQ=yHlS04HhBraes5BQ9ueu5zKhE7rtNXt_d012z2PA6ws=P54V6LrXJP5Ddzc8ZItBdqB1Kr3elvFIQ04P7n0UCbQ=mSeY-rdXXr63jFudhwZaHzl4qc8jfI7c3LP0OnBTsiA=SSlJBRkMsLGptD9crM4rDHMJ4RcJ9itGa1BlSVYOWOM=>


  <% if record.publish %>
  
  <%= link_to I18n.t("actions.view_published"), 
File.join(AppConfig[:public_proxy_url], record.uri).to_s, :target => "_blank", 
:class => "btn btn-sm btn-default" %>

  <% end %>


And all it’s doing is concatenating the AppConfig[:public_proxy_url] and the 
resource .uri value, which has the repo value embedded. ( If you prefix it with 
the backend base URI instead, you’ll get the JSON model from the backend API. )



[ Note: If you are proxying public interface thru apache to another virtual 
host, you probably need to have changed AppConfig[:public_proxy_url] in your 
config.rb file from it’s default. And even if you’re not proxying, check to 
make sure it’s not pointing at localhost. ]

— Steve Majewski



On Oct 31, 2016, at 10:51 AM, Karen Miller 
<k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>> wrote:

Good morning.

We are getting ready (at long last!) to migrate from Archon to ArchivesSpace at 
Northwestern University. Currently we have a customized EAD Export from Archon 
that writes an <eadid@identifier> value that can be stuck to the end of a 
static URL to create a link back to the finding aid in our customized portal. 
The portal we use now is a Blacklight interface that draws from finding aids 
stored in Fedora. When we move to ArchivesSpace, we’ll be using the 
ArchivesSpace PUI instead of the Fedora/Blacklight setup.

My question is whether there’s a way to export an  element either with a 
url attribute that contains a full URL to the finding aid in the PUI or with an 
identifier attribute that can be used to build a URL. We are currently using 
the EAD exported from Archon to create records for ingest into our Primo 
discovery layer and I’d like to continue doing this with ArchivesSpace.

I saw this question raised about a year ago in the Google Group for 
ArchivesSpace, but the only response was a suggestion to copy the URL from the 
finding aid in the PUI into the EAD Location field in the Finding Aid Data 
sub-record in the staff interface before exporting the EAD. We have over 1100 
finding aids that we’re going to have to reharvest into Primo (not to mention 
ArchiveGrid and the Chicago Collections website) with updated URLs, and I just 
don’t see that as a good option for us.

I though perhaps I could use the URL that appear in the staff interface (like 
this one):

http://archival2-d.library.northwestern.edu:8080/resources/53/edit#finding_aid

to build the URL that appears in the public user interface (like this one):

http://archival2-d.library.northwestern.edu:8081/repositories/2/resources/53

but that requires knowing the repository that holds the resource. I suppose 
that could be gotten from the filedesc\publicationstmt, but it seems a little 
inelegant, and perhaps dicey as well.

Has anybody else come up with an elegant solution to this issue? I can’t 
imagine we’re the only institution that’s repurposing our EAD. Any suggestions 
are appreciated!

Karen

Karen D. Miller
Monographic Cataloger/Metadata Specialist
Northwestern University Libraries
Northwestern University
1970 Campus Drive
Evanston, IL 60208
www.library.northwestern.edu<http://www.library.northwestern.edu/>
k-mill...@northwestern.edu<mailto:k-mill...@northwestern.edu>
874.