Data Publication Engine

e!DAL-API support a public citation of stored data. This is realized by the assignment of an URL or a Digital Object Identifier (DOI) . A URL is provided by an embedded HTTP server. A DOI is assigned using the DataCite infrastructure and can be used in manuscript to cite supplement data. In summary, e!DAL-API support meta data less publication as URL and meta data aware DataCite DOI. The recommendation is to use DOI's. The prerequisites to assign DOI are:
  1. membership as data center in the DataCite consortium:

    The assignment of DOI's to URL is dependents on a registration as data center. Doing so, you will get login credentials and your own DOI prefix . In order to support DOI's, those parameter must be configured for each hosted e!DAL-API instance. Membership is open to all not for profit organizations who wish to allocate DOI names and use the Registration Agency of DataCite in their capacity as allocating agents. More details you will find at DataCite membership FAQ .

  2. user authorized to publish dataset:

    Each assignment of a URL or a DOI must be approved by authorities of the e!DAL hosting organization. This is ensured by the multilevel approval process (see next section below).

Data Publication Workflow

Bellow at the left there are some code snipeds that show the principle workflow of the data publication process. Right hand, a schematic view of the workflow is illustrated.

Data Publication Code Snipeds

  1. set-up e!DAL instance with suitable configuration and get a e!DAL root directory:

    // create a e!DAL config object					
    EdalConfiguration configuration = new EdalConfiguration(
    	"dataCiteUserName", "dataCitePassword", "dataCitePrefix", 
    	new InternetAddress("scientificReviever@mail.de"), 
    	new InternetAddress("substituteReviever@mail.de"),
    	new InternetAddress("managingReviever@mail.de"), 
    	new InternetAddress("root@mail.de"));
    
    // startup the instance 
    PrimaryDataDirectory rootDirectory = DataManager
    	.getRootDirectory(EdalHelpers.getFileSystemImplementationProvider(true, config),
    	EdalHelpers.authenticateWinOrUnixOrMacUser());
    	
    // get the root directory of e!DAL instance
    PrimaryDataDirectory directory = rootDirectory.createPrimaryDataDirectory("directory");
    PrimaryDataFile myfile = rootDirectory.createPrimaryDataFile("file");
    			
  2. set metadata for the PrimaryDataEntities you like to publish

    MetaData meta = directory.getMetaData();
    
    // creator
    meta.setElementValue(EnumDublinCoreElements.CREATOR, new NaturalPerson(
    "Witzel", "Katja", "Gatersleben", "06566", "Germany"));
    
    // publisher
    meta.setElementValue(EnumDublinCoreElements.PUBLISHER, new LegalPerson(
    "Leibniz Institute of Plant Genetics and Crop Plant Research", "Gatersleben", "06466", "Germany"));
    meta.setElementValue(EnumDublinCoreElements.SUBJECT, new UntypedData(
    "roots, hordeum vulgare, protein analysis, salinity stress"));
    		...
    // set the new (changed) meta data
    directory.setMetaData(meta);
    		
  3. request publication of an PrimaryDataEntity (file or directory):

    The request generate an URL and initiate the approval process. If the reviewer confirmed the publication, a DOI or URL is generated. Otherwise the user will informed by email about the reject.

    // add a new URL or DOI reference
    // note: an entity may have several different public resolvable references
    directory.addPublicReference(PersistentIdentifier.DOI);
    
    // alternatively generate URL only
    myfile.addPublicReference(PersistentIdentifier.URL);
    
    // apply to publish all references
    directory.getCurrentVersion().setAllReferencesPublic(new InternetAddress("applicant@mail.de"));
    		
  4. wait until application is proven or rejected:

    The request generate an URL and initiate the approval process. If the reviewer confirmed the publication, a DOI or URL is generated. Otherwise the user will informed by email about the reject.

    The application is confirmed, if
    1. the managing reviewer accepts, and
    2. the scientific reviewer or the substitute reviewer accepts, and
    3. the decision was done within 5 days
    This is implemented by sending each reviewer an email including an accept and reject link.

    // sleep maximum 5 days, if you like to wait for application result
    JOptionPane.showMessageDialog(null, "Continue");
    // or basicly continue with your code, because the applicant will get informed by email
    
    // print the DOI and the URL
    System.out.println(directory.getCurrentVersion().getPublicReference(PersistentIdentifier.DOI));
    System.out.println(myfile.getCurrentVersion().getURL());
    		

Data Publication Workflow