To reply to my own query:

I did some digging in the Fedora source code, and found that my problem had its 
roots in the FOXML I was ingesting.  If Fedora does not encounter a 
<foxml:contentDigest /> tag in the datastream to be ingested, it sets checksums 
to DISABLED and the checksum type to null.  So, to get around the problem we 
simply include a <foxml:contentDigest TYPE="MD5"/> tag in all the datastream 
blocks in our FOXML files to be ingested.

I had assumed that silence in the FOXML (i.e., no <contentDigest> tag in the 
datastream) implied default behavior, not DISABLED, similar to what occurs when 
you add a new datastream in the admin GUI.  Would it make sense to apply this 
logic in future versions of Fedora:  if no <contentDigest> tag is found when 
ingesting new datastreams in FOXML files, the default (as set in the 
fedora.fcfg) is applied?  Perhaps this behavior could be defined with another 
flag in the fedora.fcfg file, something along the lines 
"ingestChecksumDefault=<DISABLED,DEFAULT>", so as not to break installations 
that rely on the current behavior?

If this makes sense to others and to the Fedora developers, I can open up a 
feature request.

-- Scott

> I'm having some problems getting automatic checksums working in Fedora 
> 3.0.  I enabled autoChecksum in the fedora.fcfg file, and set the 
> algorithm to "MD5", then stopped and restarted the server, as detailed 
> in the wiki page 
> (http://www.fedora-commons.org/confluence/display/FCR30/Checksums).
> 
> However, when I purge an object, then ingest it again, no datastream 
> checksums are generated, and the object shows up with checksums 
> "DISABLED" in the admin interface.
> 
> I turned on debug log level, and here's what I found (extraneous 
> material cleaned out):
> 
> DEBUG 2009-03-17 15:31:06.084 [main] (Server) Parameter autoChecksum="true"
> DEBUG 2009-03-17 15:31:06.084 [main] (Server) Parameter 
> checksumAlgorithm="MD5"
> DEBUG 2009-03-17 15:31:06.513 [main] (ManagementModule) Got Parameter: 
> autoChecksum = true
> DEBUG 2009-03-17 15:31:06.516 [main] (ManagementModule) autoChecksum 
> is true
> DEBUG 2009-03-17 15:31:06.516 [main] (ManagementModule) 
> defaultChecksumType is MD5
> DEBUG 2009-03-17 15:49:23.542 [btpool0-7] (FOXMLDODeserializer) 
> instantiate datastream: dsid = RELS-EXTchecks
> umType = DISABLEDchecksum = none
> DEBUG 2009-03-17 15:49:23.543 [btpool0-7] (FOXMLDODeserializer) 
> instantiate datastream: dsid = DCchecksumType
>  = DISABLEDchecksum = none
> DEBUG 2009-03-17 15:49:24.455 [btpool0-7] (FOXMLDODeserializer) 
> instantiate datastream: dsid = RELS-EXTchecks
> umType = DISABLEDchecksum = none
> DEBUG 2009-03-17 15:49:24.456 [btpool0-7] (FOXMLDODeserializer) 
> instantiate datastream: dsid = DCchecksumType
>  = DISABLEDchecksum = none
> 
> It looks as if no checksum is being generated automatically for the 
> ingested object datastreams?
> 
> If we add the foxml tag 
>    <foxml:contentDigest TYPE="MD5"/>
> to the foxml import file for each datastream then the checksums are 
> generated, and show up in the admin client.
> 
> Am I missing something?
> 
> thanks,
> 
> -- Scott
> 
> --
> Scott Prater
> Library, Instructional, and Research Applications (LIRA)
> Division of Information Technology (DoIT)
> University of Wisconsin - Madison
> [email protected] 

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to