4.0.0.rc18 Removed deprecations * allowing :fedora level in fedora.yml * automatic includes of Relationships and FileMethods is removed Added sharding TODO add documentation Added find_document which determines the correct model and then casts the object to that. Improved loading from solr RDF datastreams Replaced solr-ruby with rsolr. Note: remove any calls to .hits load_instance is now deprecated, replaced with find Find and load_instance_from_solr always instantiate the model defined in the object. Run a stub :environment task in the fixture loading rake tasks (which is overridden by rails) Find raises ObjectNotFoundError when the object isn't found Removed dependency on solrizer-fedora Avoid unnecessary reload of RELS-EXT when typecasting HYDRA-754 Delegate discovery of config parameters to a separate module to allow for non-file-based configuration HYDRA-753 has_metadata should accept :versionable as part of the spec. HYDRA-755 Instantiate un-spec'ed datastreams in SolrDigitalObject HYDRA-758 Added ActiveFedora::Base.exists? Fixes for Ruby 1.9 compatibility HYDRA-741 Use fixture loader in repo:* rake tasks. Parameters changed to foxml and dir. rubydora to 0.5.7 Lazily load solr config HYDRA-766 Model#classname_from_uri singularizes terms, but it shouldn't change them. HYDRA-767 Remove Model::DEFAULT_NS Upgrade Om to 1.6.0 QualifiedDublinCore now extends immediately from NokogiriDatastream 3.3.2 HYDRA-745 No need to require :url be present on external datastreams Initialize relationships graph to empty array HYDRA-668 ActiveFedora models do not need to be immediate descendants of ActiveFedora::Base Fix for camel cased classes in classname from uri HYDRA-746 Speed up find() by not hitting solr first Added description for active_fedora:load_fixtures task HYDRA-748 Allow setting versionable via has_metadata 3.3.1 Allow explicit setting of predicate config. Check for appropriate content before saving a datastream rubydora to 0.5.2 Support for changing base fixture directory path Removed unnecessary dependencies 3.3.0 A label set on an unsaved datastream should be saved in the repository Should be able to add checksumType parameter when creating a datastream Upgrade rubydora to 0.5.1 so we can do checksum verification Pass checksumVerification parameter to rubydora Allow you to override the class of file datastream that gets created by using ActiveFedora::Base.has_file_datastream Allow `predicate_mappings.yml` to specify explicit namespace prefixes to use instead of ns0, ns1, ..., nsN when serializing a `RelsExtDatastream`. HYDRA-737 fixes for tests failing under ree 1.8.7-2011.12 3.2.2 Rubydora 0.4.1 Fixed bugs where updating datastream properties would overwrite content. HYDRA-661: Changed namespaces and names or rake tasks according to HYDRA-661 with the exception that harvest was renamed export 3.2.1 Load rake tasks. Rubydora 0.4.0 Added fixture exporter 3.2.0 Deprecate ContentModel.pid_from_ruby_class, use Model.to_class_uri instead Added a count method HYDRA-731 running count on a has_many relationship returns zero unless the relationship has been loaded Added ActiveModel validations. Added callbacks on initialize, save, update, create, delete and find Added Base.create HYDRA-730 ActiveFedora isn't being initialized unless it is specified in the project Gemfile Don't create pids until save so that we don't cycle through pids we don't intend to save inspect method gives less information (more readable) Added an equality method Deprecate the automatic inclusion of datastream_collections (you should include this optional module in your models if you intend to use it) Deprecate the automatic inclusion of relationships (you should include this optional module in your models if you intend to use it) Deprecate the automatic inclusion of file_management (you should include this optional module in your models if you intend to use it) Disseminators have been added HYDRA-729 don't update xml datastreams unless they've changed Added adapt_to method to reduce number of round trips to fedora. ActiveFedora::Relationship is deprecated (was not being used) Rails 3.1 compatibility Ruby 1.9 compatibility 3.1.6 HYDRA-733 When serializing, MetadataDatastream does not load the existing content, so it can overwrite with blank 3.1.5 HYDRA-722 updating AF::Base#label= and then saving doesn't persist the change JettyWrapper to 1.2.0 Upgrade to rspec2 add_file_datastream should take a prefix option. Added assert_content_model method Updates for ruby 1.9 compatibility 3.1.4 Update rubydora to 0.2.6 Created a consistent implementation of Model.classname_from_uri 3.1.3 Set mimeType for all datastreams, default to text/xml Update rubydora to 0.2.4 3.1.2 correctly handling non-default pid_namespace (Benjamin Armintor) info uri support; rdf:type predicate compatibility with Fedora(Benjamin Armintor) more flexibility for initializing Rubydora (Michael B. Klein) NokogiriDatastream and RELS-EXT datastream set mimeType (Justin Coyne) 3.1.1 adds support for better handling of literal values in the RELS-EXT datastream. adds support for setting the controlGroup via a parameter to has_metadata. ability to pass a predicate as a parameter to AF::Base#relationships to get a list of the matching targets. This reads a bit better than ids_for_outbound(). refactoring to support overriding certain sections (ContentModel) by consumers of active-fedora. 3.1.0 Based on rubydora for fedora interface RDF-xml for the relationships 3.0.4 HYDRA-663 -- Passing an empty string to a id setter should clear the belongs to association 3.0.3 Added HasAndBelongsToManyAssociation 3.0.2 YANKED 3.0.1 HYDRA-654 -- Fixed reification using has_model as the class instead of active_fedora_model 3.0.0 added belongs_to and has_many model relationships added nested_attributes_for Added dependency on rails > 3.0.0 2.3.7 HYDRA-650 -- Fixed relationship inheritance (Rick Johnson) 2.3.6 YANKED Removed Bundler.require, which was causing odd dependency order resolving. 2.3.5 YANKED branched so that trunk now require rails 3. Named finders HYDRA-541 (Rick Johnson) 2.3.4 moved dirty assignment to NokogiriDatastream#update_values; added test (Benjamin Armintor) Fixed HYDRA-590 2.1.0 HYDRUS-151: Base.update_datastream_attributes now relies on update_indexed_attributes instead of update_attributes. This makes it easier to support non-javascript forms (and makes update_datastream_attributes worth using). 2.0.4 collection_members_append now returns self. 2.0.3 HYHULL-25: tweaking ContentModel to ignore namespace 2.0.2 Fixed activeresource requirement in specfile Switched Bundler to rely on specfile for runtime dependencies. 2.0.1 Made Gemfile agnostic about Rails version (dependency on activeresource) 2.0.0 Upgraded to use solrizer 1.0.0, which uses RSolr instead of the outdated ruby-solr: All solrize and extract methods now accept and return a _Hash_ rather than a Solr::Document As part of this switch, *all field names are stored as Strings, not Symbols*. If you previously accessed something as solr_doc[:title_t], now you need to access it as solr_doc["title_t"] 1.2.9 Minor: Fixed Gemfile to require activeresource <3.0.0 NOT >3.0.0 1.2.6 Requires Solrizer 0.3.0 or higher HYDRA-274 Configurable Facets HYDRA-275 Update ActiveFedora to use Solrizer::XML::TermBasedSolrizer when indexing NokogiriDatastreams 1.2.5 -- botched version release 1.2.4 Bug: Base.file_objects_append wasn't saving the child object after modifying its RELS-EXT 1.2.3 Major: Switched flow of relationship assertions for file objects. Now children assert isPartOf rather than parents asserting hasCollectionMember (see HYDRA-70 and HYDRA-71) New class method: ActiveFedora::Base#has_bidirectional_relationship creates relationship finder methods that search across bidirectional relationships (ie. finds all of the object's hasPart assertions as well as any objects pointing at it with isPartOf) Feature: Fedora::Connection now returns the Fedora error in any ServerError messages Documentation: Added RDoc code comments for experimental features from version 1.2 Bug: MetadataDatastream.update_indexed_attributes doesn't get tripped up by attribute names wrapped in arrays (previously wrapping the symbol in an array would cause an error Bug: Applied some fixes to usage of URIs in SemanticNode 1.2.2 Misc bug fixes 1.2.1 TERMPORARY: removed solrizer from gem dependency list (cyclic reference breaks bundler) 1.2 Now support using OM::XML::Terminologies in NokogiriDatastreams resolved #504 -- Allow SSL certificate client authentication for connections to Fedora Added Experimental methods for has_datastream, named_datastream, and remove_relationship (contributed by Rick Johnson at Notre Dame) 1.1.13 MetadataDatastream.update_indexed_attributes was no longer marking the object dirty when triggered. Resulted in changed datastreams not saving. Fixed now. 1.1.12 * Minor fix to Base.get_values_from_datstream (wasn't returning default values when necessary) 1.1.11 * fix to update_index preventing double-metadata * now nokogiri datastreams initialize with default template. 1.1.8 solrizer fix to ensure that Nokogiri Datastreams are included in Base.to_solr 1.1.7 Nokogiri Datastream support using Nokogiri and OM::XML. Includes indexing of xml contents into solr based on accessors declared using OM::XML:Accessor module. You now have the option of calling has_metadata without passing in a block 1.1.6 Bug #959: Base.delete fails to delete objects from Solr even when ENABLE_SOLR_UPDATES == true 1.1.5 Feature: Base.save triggers Solrizer if you've required the gem in your app 1.1.2 Bug: Model.find_by_solr fails when you pass it an argument of :all Testing: Updated RSpec tests to run against localhost:8983 with Fedora 3.3 (instead of localhost:8080 with Fedora 3.2). This means you can use a copy of hydra-jetty from http://github.com/hydraproject/hydra-jetty Testing: Reduced the amount of noise output to the shell during tests 1.1.1 2010-03-22 Bug: .load_objects wipes out datastream attributes from model-defined datastreams (ie. label and mimeType) 1.1.0 2010-03-20 Feature #822: Export & Ingest Fedora Objects 1.0.9 2010-03-10 !! Requires a new Solr schema by default. We recommend updating solr with the schema.xml located at http://bitbucket.org/mediashelf/active_fedora/src/tip/solr/config/schema.xml. If you want to keep using the old schema.xml, you must save the solr mappings file from http://bitbucket.org/mediashelf/active_fedora/src/tip/config/solr_mappings_af_0.1.yml as config/solr_mappings.yml in your application(s). Bundled ruby-fedora into active-fedora, removing external gem dependency Field names now map to solr field names using solr_mappings.yml. You can put your own into RAILS_ROOT/config/solr_mappings.yml or rely on the default within the gem. * Bug #552: Model relationship should be asserted using hasModel instead of conformsTo * Bug #614: Datastream should have mime_type accessors * Bug #692: Datastream.new should allow you to use :mime_type as an argument instead of :mimeType * Feature #430: YAML-based config files for Fedora Repository and SolrService * Feature #475: Ability to perform XUpdate-style partial updates of XML metadata * Feature #753: Configurable Solr Field Names * Feature #807: update_indexed_attributes should return the new index for any added values 1.0.7 2009-09-18 Performance improvements. Requires RubyFedora 1.0.7 (but will probably work with 1.0.5) Feature #489: Optimize datastreams method so that you only hit fedora and parse xml when you have to Bug #415: Base.save returns meaningful responses and yields exceptions when appropriate Bug #465: ActiveFedora::Base#fields method performance issues (tied to #489) 1.0.6 2009-08-27 Minor update. * ToDo #78: Relationship finders should return an array of ActiveFedora Objects * Bug #40: Fedora::Datastream should track control_group attribute correctly * Bug #425: SOLR_DOCUMENT_ID still hardcoded as "id" in a few spots * Bug #449: using has_metadata breaks support for custom pids 1.0.5 2009-07-17 Minor update. * Bug #387: Base.deserialize should mark all datastreams as not new * ToDo #389: Base.update_attributes and Base.update_indexed_attributes should accept :datastream limiter * Feature #388: Base.update_attributes and Base.update_indexed_attributes should support deleting fields 1.0.4 2009-07-10 !! Not Backwards Compatible with Fedora < 3.2.* !! * 1 major enhancement: * ruby-fedora is now compatible with Fedora 3.2.1 Changelog: * ToDo #272: Datastream.new should accept a :prefix option for auto-incrementing DSIDs * ToDo #275: Update RubyFedora to work with Fedora 3.2 REST API * ToDo #308: ActiveFedora::FedoraObject.datatsreams should load label as well as pid and dsId * ToDo #318: Intelligent FileDatastream and FileAsset Management * Bug #312: Base.delete should delete the solr record as well as the Fedora Object * Feature #46: Improve OSX Fedora/Solr Disk Image * Feature #284: solr document id should by a config option instead of hard coded as "id" * Feature #307: ActiveFedora::Base should provide a label setter. * Feature #314: Relationship finder should provide a "response_format" option, default to format of "objects" * Feature #327: Option to turn off solr updates (assume that something else will update Solr for you)