Curation Concerns: What Lies Beneath - mlibrary/hydra-prototype GitHub Wiki
- lib/engine.rb
- isolate_namespace CurationConcerns
- config.autoload_paths += config.root/lib
- requires curation_concerns/routes
- controller_resource.rb
- performs voodoo on CanCan::ControllerResource
- rails generate curation_concerns:work ScholarlyPaper
- app/models/scholarly_paper.rb
- app/actors/curation_concerns/scholarly_paper_actor.rb
- app/controllers/curation_concerns/scholarly_papers_controller.rb
- app/views/curation_concerns/scholarly_papers/.keep
- spec/factories/scholarly_paper_factory.rb
- spec/models/scholarly_paper_spec.rb
- spec/actors/curation_concerns/scholarly_paper_actor_spec.rb
- spec/controllers/curation_concerns/scholarly_papers_controller_spec.rb
- injects: config.register_curation_concern :#{file_name}
- app โ- controllers, forms, helpers, presenters, jobs
- curation_concerns-models โ- kind its own sub-engine? (yes)
- what are registered curation concern types??
- app/models/curation_concerns/classify_concern
- app
- models
- concerns
- curation_concerns
- collection_behavior.rb
- include Hydra::AccessControls::WithAccessRight
- include Hydra::Collection - include https://github.com/projecthydra/hydra-collections
- include includes
- include Hydra::Works::CollectionBeahvior
- include Hydra::WithDepositor
- include Hydra::AccessControl::Permissions
- include Hydra::Collection::Metadata
- include Hydra::Works::CollectionBehavior (again?)
- include add_members
- include includes
- include CurationConcerns::Noid
- include CurationConcerns::HumanReadableType
- include CurationConcerns::HasRepresentative
- include CurationConcerns::Permissions
- bytes
- add_member
- can_be_member_of_collection?(collection)
- can_add_to_members?(collectible)
- (clever code to check whether youโre adding a collection to itself?)
- generic_work_behavior.rb
- include Hydra::Works::GenericWorkBehavior
- include ::CurationConcerns::HumanReadableType
- include CurationConcerns::Noid
- include CurationConcerns::Permissions
- include CurationConcerns::Serializers
- defines to_s based on title/label/โNo Title'
- include Hydra::WithDepositor
- https://github.com/projecthydra/hydra-head/blob/master/hydra-access-controls/app/models/concerns/hydra/with_depositor.rb
- connects object with depositor; assumes depository can be in edit_users list
- include Solrizer::Common
- include ::CurationConcerns::HasRepresentative
- include ::CurationConcerns::WithGenericFiles
- cascades delete to attached generic_files
- include Hydra::AccessControls::Embargoable
- to_partial_path โ ActionPack views
- can_be_member_of_collection? (true)
- generic_file_behavior.rb
- include Hydra::Works::GenericFileBehavior
- include Hydra::Works::GenericFile::VirusCheck
- include Hydra::WithDepositor
- include CurationConcerns::Serializers
- include CurationConcerns::Noid
- include CurationConcerns::GenericFile::Derivatives
- include CurationConcerns::Permissions
- include CurationConcerns::GenericFile::Characterization
- include CurationConcerns::BasicMetadata
- include CurationConcerns::GenericFile::Content
- include CurationConcerns::GenericFile::FullTextIndexing
- include CurationConcerns::GenericFile::Indexing
- include CurationConcerns::GenericFile::BelongsToWorks
- inherit access control from parent object, which is the first parent
- related_files - siblings of ALL the parent objects
- remove_representative_relationship โ ah: there you go โ thumbnails are representative of an object, vs. members
- include CurationConcerns::GenericFile::BelongsToUploadSets
- sets up belongs_to :upload_set, ActiveFedora::RDF::Fcrepo::RelsExt.isPartOf
- include CurationConcerns::HumanReadableType
- include Hydra::AccessControls::Embargoable
- generic_file
- derivatives.rb < :GenericFile:Derivatives
- Hydra::Derivatives.source_file_service = CurationConcerns::LocalFileService
- Hydra::Derivatives.output_file_service = CurationConcerns::PersistDerivatives
- create_derivatives(filename) - creates thumbnails to local files?
- https://github.com/projecthydra/hydra-derivatives
- derivatives.rb < :GenericFile:Derivatives
- collection_behavior.rb
- human_readable_type.rb < :HumanReadableType
- sets up the human readable version of the class name via name.demodulize.titleize
- permissions.rb < :Permissions
- includes
- CurationConcerns::Permissions::Writable
- CurationConcerns::Permissions::Readable
- includes
- has_representative.rb < :HasRepresentative
- defines :representative as http://opaquenamespace.org/ns/hydra/representative
- curation_concerns
- concerns
- services
- concerns
- curation_concerns
- noid.rb
- require active_fedora/noid
- assign_id < ActiveFedora::Noid::Service.mint
- default is a nine-character string consisting of two alphanumeric digits, two numeric digits, two alphanumeric digits, two numeric digits, and a check digit
- https://wiki.ucop.edu/display/Curation/NOID
- derivative_path.rb
- derivative_path_for_reference
- noid.rb
- curation_concerns
- concerns
- models
- what are registered curation concern types??
hydra-collections: https://github.com/projecthydra/hydra-collections - "The collection does not confer access rights onto any of the members of the collections.โ Includes mb/portfolio functionality/integration โ collections can be made from anything thatโs collectible, e.g. Hydra::Works::GenericWorkBehavior.