[Archivesspace_Users_Group] Plugins add Multiple SubRecord types?

Joshua D. Shaw Joshua.D.Shaw at dartmouth.edu
Tue Feb 28 11:04:05 EST 2023

Hey Andrew (and anyone else who might be interested)

I took a deeper dive into this and I think its doable with a few simple mods to core. Here's a sample proof of concept plugin that contains the overrides (one of which needs to go int the config since its an initializer override) and a sample setup: https://github.com/dartmouth-dltg/multiple_subrecords

Be great to hear your thoughts and to have at least another set of eyes before I even think about pushing this into core. I have not even looked at tests for this (not sure if its even possible at the moment)

From: archivesspace_users_group-bounces at lyralists.lyrasis.org <archivesspace_users_group-bounces at lyralists.lyrasis.org> on behalf of Andrew Morrison <andrew.morrison at bodleian.ox.ac.uk>
Sent: Friday, February 17, 2023 5:43 AM
To: archivesspace_users_group at lyralists.lyrasis.org <archivesspace_users_group at lyralists.lyrasis.org>
Subject: Re: [Archivesspace_Users_Group] Plugins add Multiple SubRecord types?

That has been my experience. If there is another way, it'd be really useful if someone could write a reference implementation, because picking apart other people's plug-ins (or multiple interdependent plugins) for generic techniques like this isn't easy.


On 01/02/2023 22:56, Joshua D. Shaw wrote:
Can someone double check me? Just reading the code and it looks like a plugin cannot​ add multiple subrecord types. Specifically, the initializer (https://github.com/archivesspace/archivesspace/blob/master/frontend/config/initializers/plugin.rb<https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Farchivesspace%2Farchivesspace%2Fblob%2Fmaster%2Ffrontend%2Fconfig%2Finitializers%2Fplugin.rb&data=05%7C01%7Cjoshua.d.shaw%40dartmouth.edu%7Ca995594672e34f7ad11a08db10d3c560%7C995b093648d640e5a31ebf689ec9446f%7C0%7C0%7C638122273973428527%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=G7%2BfRKNcXQUyG5U4HifkfrHSuuZAo2Xl76brKWb%2BfQc%3D&reserved=0>) reads one config.yml file which (since its yaml) precludes duplicate key names and hence multiple subrecord types. While I could patch this, there are other places where the config.yml keys are used that would also need to be patched and I'm not sure how far that patching would extend.

If I'm right about no multiple subrecords in one plugin, guess it'll be a separate plugin with a depends_on_plugins entry in the config.yml since I'll be referencing a controlled value list created by another plugin and I don't want to maintain two cv lists that are duplicates.

Its a bummer since the subrecords are intellectually (though not structurally) related.


Joshua Shaw (he, him)
Library Web & Application Developer
Digital Library Technologies Group
Dartmouth College

Archivesspace_Users_Group mailing list
Archivesspace_Users_Group at lyralists.lyrasis.org<mailto:Archivesspace_Users_Group at lyralists.lyrasis.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lyralists.lyrasis.org/pipermail/archivesspace_users_group/attachments/20230228/e10322aa/attachment.html>

More information about the Archivesspace_Users_Group mailing list