ucsdlib / dams5-cc-pilot

A repository for doing shared R&D on CurationConcerns for the Development team.
MIT License
0 stars 0 forks source link

Ask UCSB about their local authority control system #11

Closed mcritchlow closed 8 years ago

mcritchlow commented 8 years ago

Identify how UCSB has implemented their local authority control system, as it's a need we have as well.

I'm tagging @dunn and @chrissyrissmeyer so we could perhaps have the discussion here.

dunn commented 8 years ago

At some point we could walk through the relevant sections of our code, although I'm not super familiar with all of it (we could bat our eyes at @val99erie and see if she'll help us).

lsitu commented 8 years ago

That could be helpful. Thanks @dunn. I've reviewed some of the older codes at github, which haven't been updated since this May. Where can I find the codes for the latest version?

dunn commented 8 years ago

It's on a private GitHub Enterprise instance. Matt has access, and we could probably give you access as well.

lsitu commented 8 years ago

It will be great if I can take a look at the codes. Thanks @dunn.

chrissyrissmeyer commented 8 years ago

@mcritchlow: Our current model is fairly simple. Each local authority record includes a type (e.g., Person, Topic, Organization), a name/label, and a URI. Local authorities are created as needed upon ingest (metadata includes type). The ingest process checks if a local authority with that string/type already exists before creating a new one.

The administrative interface for managing local authorities currently allows you to edit, merge, or delete a record.

Screen shot of admin interface screen shot 2016-09-20 at 10 50 55 am Object record referencing local heading: http://alexandria.ucsb.edu/catalog/f3xw4jdn.ttl (see marcrel:cre)

Note that we are also creating local authorities for the MARC harvest collections (ETDs and cylinders) because URIs are not yet included in our catalog records.

val99erie commented 8 years ago

Hi, I just got back from a trip, so my head isn't really in the code right now, but I'll point you at some parts of the code you might want to look at.

You probably don't need access to UCSB's private repo, there is an older repo on github that you can view: https://github.com/curationexperts/alexandria

As Chrissy mentioned, the models for the local authority objects are: Person, Group, Organization, and Topic: https://github.com/curationexperts/alexandria/blob/master/app/models/person.rb https://github.com/curationexperts/alexandria/blob/master/app/models/topic.rb

And the configuration is here: https://github.com/curationexperts/alexandria/blob/master/config/initializers/controlled_vocabularies.rb#L10

That Vocabularies::LOCAL class from the initializer is defined here: https://github.com/curationexperts/alexandria/blob/master/lib/vocabularies/local.rb

Keep in mind that ADRL is currently on an old version of curation_concerns gem (we are in the middle of upgrading right now), so if you are building a new app based on curation_concerns, there might be significant changes from what the ADRL code does.

Some of the vocabularies' behaviors are defined in the oargun gem: https://github.com/curationexperts/oargun

Depending on how you want your vocabularies defined, the oargun gem might not work for you, but you can probably copy some of the code out of it.

val99erie commented 8 years ago

I forgot to mention, the classes that are defined in the oargun gem are used in our work models like this: https://github.com/curationexperts/alexandria/blob/master/app/models/concerns/metadata.rb#L25

mcritchlow commented 8 years ago

Thanks @chrissyrissmeyer and @val99erie ! And @dunn and I didn't even have to formally bat our eyes (which should be an emoji)

lsitu commented 8 years ago

Thanks you very much, @chrissyrissmeyer & @val99erie. I've visited those codes recently and I am also writing a simple module to create authority records for our demo purpose. I think we can do it in a similar way. But are there any changes in your latest implementation regarding the local authorities system or not?

dunn commented 8 years ago

@lsitu nothing really significant, beyond a bit of refactoring and adding locations to the local authorities we create: https://gist.github.com/dunn/99d7c1ea4caaac04904281864267e3a2 (that patch won't apply to the curationexperts/alexandria code, though).

lsitu commented 8 years ago

Got it. Thanks @dunn for digging this out.