[Archivesspace_Users_Group] Overriding/Extending the new public interface in 2.2.0

Fox, Bobbi bobbi_fox at harvard.edu
Thu Dec 21 15:47:18 EST 2017

Hi, Patrick,

I'm having to do a lot of extending/overriding of controllers & methods in our new public interface.

You are correct; you can't just override by placing your modified controller in the path location; instead, what *I'm* doing (and I know there's a more elegant way of doing it); is put the changes in the plugin/plugin_init.rb ,using the [class|module]_eval method on something.

For instance, I'm changing what gets faceted in the Searchable concern this way in plugin_init.rb:
Searchable.module_eval do

def set_up_and_run_search(default_types = [],default_facets=[],default_search_opts={}, params={})
  ~ my stuff here ~~

I'm adding methods to controllers in a somewhat similar way, for instance, in plugin_init.rb, I've got:

# add a digital only action to the resources controller

class ResourcesController

def digital_only

uri = "/repositories/#{params[:rid]}/resources/#{params[:id]}"

~ etc. ~

Hope this helps,

From: archivesspace_users_group-bounces at lyralists.lyrasis.org [mailto:archivesspace_users_group-bounces at lyralists.lyrasis.org] On Behalf Of Flanagan, Patrick
Sent: Thursday, December 21, 2017 3:27 PM
To: Archivesspace Users Group <archivesspace_users_group at lyralists.lyrasis.org>
Subject: [Archivesspace_Users_Group] Overriding/Extending the new public interface in 2.2.0


I'm attempting to write a plugin that will modify the way the breadcrumb trail (shown in the new public UI) is generated to include more detail. I decided to try and override one of the files in the controller part of the architecture: resources_controller.rb, since I can see the :crumb being defined there. However, either my path is wrong, or the new UI isn't utilizing it. Following the instructions here: http://archivesspace.github.io/archivesspace/user/archivesspace-plug-ins-readme/<https://urldefense.proofpoint.com/v2/url?u=http-3A__archivesspace.github.io_archivesspace_user_archivesspace-2Dplug-2Dins-2Dreadme_&d=DwMFAw&c=WO-RGvefibhHBZq3fL85hQ&r=5xWUzLrZrVLeTqs3CDoeRpPtLv1fRM04CCu4TDULrSY&m=3DmZ4KyjSuOHTC-7rfq8Dv2MTeEFEBci91sKzca-4YQ&s=is5OAKKChee55MtdTuQYDj2OwuvI8f0Y6lBLS8-ast8&e=> I've placed the file in the following directory:


( source location: /public/app/controllers/resources_controller.rb )
Plugin Config: AppConfig[:plugins] = ['local',  'lcnaf', 'aspace-public-formats']

If I'm not mistaken that document indicates that this is something that can be overridden, but I'm suspecting I can't actually override something in the controller from a plugin.

The version is 2.2.0, running on Linux x64, openjdk version "1.8.0_151". Any advice would be appreciated!

Thank you,

~Patrick Flanagan

KLN Applications Administrator

Keystone Library Network Hub
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lyralists.lyrasis.org/pipermail/archivesspace_users_group/attachments/20171221/b34bd032/attachment.html>

More information about the Archivesspace_Users_Group mailing list