Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Alias(es)Full NameContainerLocationableStatuscountLast ModifiedValid ParentsDeprecated Entity Fields

dataset, study

org.sagebionetworks.repo.model.StudytruetrueDeprecated114792015-01-13 04:05:16folder, projectnumSamples, species, disease, tissueType, platform
layer, dataorg.sagebionetworks.repo.model.DatafalsetrueDeprecated8355322015-01-28 23:10:06folder, project, studynumSamples, species, disease, tissueType, platform, type
projectorg.sagebionetworks.repo.model.ProjecttruefalseSupported89642015-01-28 23:25:29root only 
previeworg.sagebionetworks.repo.model.PreviewfalsefalseDeprecated932012-01-19 05:52:23folder, data 
folderorg.sagebionetworks.repo.model.FoldertruefalseSupported421012015-01-28 23:10:11project, folder, study, analysis 
analysisorg.sagebionetworks.repo.model.AnalysistruefalseDeprecated292013-05-09 12:44:15project, folderproperties
steporg.sagebionetworks.repo.model.StepfalsefalseDeprecated342012-09-16 15:31:39folder, analysiscode, input, output, environmentDescriptors, startDate, endDate, commandLine
codeorg.sagebionetworks.repo.model.CodefalsetrueDeprecated7692015-01-28 23:09:42project, folderstartDate, endDate
linkorg.sagebionetworks.repo.model.LinkfalsefalseSupported2532015-01-14 15:44:07project, folder, study, data, step, analysis 
phenotypedataorg.sagebionetworks.repo.model.PhenotypeDatafalsetrueDeprecated5692013-08-09 21:12:03project, folder, studynumSamples, species, disease
genotypedataorg.sagebionetworks.repo.model.GenotypeDatafalsetrueDeprecated16422014-05-08 06:21:11project, folder, studynumSamples, species, disease, platform
expressiondataorg.sagebionetworks.repo.model.ExpressionDatafalsetrueDeprecated187242013-10-10 16:32:21project, folder, studynumSamples, species, disease, tissueType, platform
robjectorg.sagebionetworks.repo.model.RObjectfalsetrueDeprecated522013-03-02 22:28:36project, folder, studyproperties
summaryorg.sagebionetworks.repo.model.SummaryfalsefalseSupported1022014-11-06 21:56:38project, folder, study 
genomicdataorg.sagebionetworks.repo.model.GenomicDatafalsetrueDeprecated22013-01-25 22:50:59project, folder, studynumSamples, species, technology, dataType,molecularFeatureType, status, tissue, platform
pageorg.sagebionetworks.repo.model.PagetruefalseDeprecated0 folder, page 
fileorg.sagebionetworks.repo.model.FileEntityfalsefalseSupported1988202015-01-28 23:10:26project, folder, study 
tableorg.sagebionetworks.repo.model.table.TableEntityfalsefalseSupported22602015-01-28 23:17:52project, folder, study 
communityorg.sagebionetworks.bridge.model.CommunitytruefalseDeprecated12014-02-06 20:47:44root onlyteamId, welcomePageWikiId, indexPageWikiId

Table 1.

Locationable

Locationable entities can have one or more LocationData objects in their list of locations.  LocationData is the precursor to our currently supported FileHandle.  Each LocationData object points to either object in S3 (like a S3FileHandle) or an external URL (ExternalFileHandle).  Most of the client support burden is around supporting Locationable Entites. Table 1 shows which entity types are Locationable.  Even though a Locationable can have one or more LocationData it is assumed that each LocationData represents the same file just store in alternate locations and that all "copies" have the same md5 (see Figure 1).

...

In order to fully depreciated the unsupported types, we need to convert each old type objects into one an object of the supported types (without changing the entity ID).  The plan is to add a new services that will convert an old entity to a new type.  Many conversions will be simple.  For example, it will be simple to convert a a data object with a single file.  Conversion will not be simple for all cases where there is not a one-to-one relationship between the old and new.

Response BodyMethodURLRequest BodyAuthorization
EntityPUT/entity/{entityId}/convertTypeEntityCaller Must have the UPDATE permission on the Entity.

Response codes:

Return codeNameCondition
201CreatedThe entity type convertion was successful
412Precondition FailedReturned if the passed entity.etag does not match the etag of the entity (ConflictingUpdateException)
400Bad RequestThe entity cannot be converted for any reason.  The message should explain why the type change failed.

The following table lists how each old type will be converted into a new type. 

Note: Any deprecated entity fields with values (see Table 1 'Deprecated Entity Fields')  will be preserved as annotations on the new entity.   Any non-primitive deprecated field will be saved as a string annotation.

Original EntityConverted ToDetails
Non-container Locationable with a single LocationData of type awss3FileEntityAn S3FileHandle will be created for the location.  The type will be changed to a FileEntity pointing to the new FileHandle
Non-container Locationable with a single LocationData of type externalFileEntityAn ExternalFileHandle will be created for the location.  The type will be change to a FileEntity pointing to the new FilewHandle.
Non-container Locationable with a single LocationData of type awsebs, sage, githubUnsupported (400)There is no way to represent these types with  FileHandles.  The caller will need to convert the type to either awss3 or external and then try again.
Non-container Locationable with more than one LocationData of any typeUnsupported (400)There is now way to represent multiple location with a single file.  the caller will need to pick a single location to keep and remove the rest and then try again.
Non-container Locationable that has one or more Link childrenUnsupported (400)File cannot have children.  The caller must move or delete the Links and try again.
Container non-locationableFolderThe container will simply be converted to folder.
Container locationable with n number of LocationData of type awss3 or externalFolder + n child FileEntityThe original entity will be converted to a folder, and a child FileEntity will be added for each valid LocationData.
Container locationable with n number of LocationData of type awsebs, sage, githubUnsupported (400)There is no way to represent these types with  FileHandles.  The caller will need to convert the type to either awss3 or external and then try again.