diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/ExternalDataGridColumnIDs.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/ExternalDataGridColumnIDs.java index 4f86d57390467277d7cc9047009c8fe835f53971..75185f927873ca43b789f0a96c39458cb8453f46 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/ExternalDataGridColumnIDs.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/ExternalDataGridColumnIDs.java @@ -29,6 +29,12 @@ public class ExternalDataGridColumnIDs public static final String EXTERNAL_DMS_LABEL = "EXTERNAL_DMS_LABEL"; + public static final String EXTERNAL_DMS_ADDRESS = "EXTERNAL_DMS_ADDRESS"; + + public static final String LINK_PATH = "LINK_PATH"; + + public static final String LINK_HASH = "LINK_HASH"; + public static final String DATA_SET_TYPE = "DATA_SET_TYPE"; public static final String CONTAINER_DATASETS = "CONTAINER_DATASETS"; @@ -51,7 +57,7 @@ public class ExternalDataGridColumnIDs public static final String EXPERIMENT_TYPE = "EXPERIMENT_TYPE"; public static final String PROJECT = "PROJECT"; - + public static final String PROJECT_IDENTIFIER = "PROJECT_IDENTIFIER"; public static final String REGISTRATOR = "REGISTRATOR"; @@ -67,7 +73,7 @@ public class ExternalDataGridColumnIDs public static final String IS_COMPLETE = "IS_COMPLETE"; public static final String LOCATION = "LOCATION"; - + public static final String SIZE = "SIZE"; public static final String ARCHIVING_STATUS = "ARCHIVING_STATUS"; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/AbstractExternalDataProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/AbstractExternalDataProvider.java index 96452a9d8ef2c85f474fc648c6be86afa3422b4c..bb73111ac646105b75793427cc0b0fec8e1d6c32 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/AbstractExternalDataProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/AbstractExternalDataProvider.java @@ -29,11 +29,14 @@ import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDat import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.EXTERNAL_CODE; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.EXTERNAL_DATA_EXPERIMENT_IDENTIFIER; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.EXTERNAL_DATA_SAMPLE_IDENTIFIER; +import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.EXTERNAL_DMS_ADDRESS; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.EXTERNAL_DMS_CODE; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.EXTERNAL_DMS_LABEL; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.FILE_FORMAT_TYPE; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.IS_COMPLETE; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.IS_DELETED; +import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.LINK_HASH; +import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.LINK_PATH; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.LOCATION; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.METAPROJECTS; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalDataGridColumnIDs.ORDER_IN_CONTAINERS; @@ -65,11 +68,9 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AbstractExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ContainerDataSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalDataManagementSystem; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.FileFormatType; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IContentCopy; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.LinkDataSet; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.LinkDataSetUrl; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.LinkTableCell; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PhysicalDataSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; @@ -125,6 +126,10 @@ public abstract class AbstractExternalDataProvider extends builder.addColumn(DATA_STORE_CODE).hideByDefault(); builder.addColumn(EXTERNAL_DMS_CODE).withDefaultWidth(150).hideByDefault(); builder.addColumn(EXTERNAL_DMS_LABEL).withDefaultWidth(150).hideByDefault(); + builder.addColumn(EXTERNAL_DMS_ADDRESS).withDefaultWidth(150).hideByDefault(); + builder.addColumn(LINK_PATH).withDefaultWidth(150).hideByDefault(); + builder.addColumn(LINK_HASH).withDefaultWidth(150).hideByDefault(); + builder.addColumn(PERM_ID).hideByDefault(); builder.addColumn(SHOW_DETAILS_LINK).hideByDefault(); builder.addColumn(METAPROJECTS); @@ -141,20 +146,35 @@ public abstract class AbstractExternalDataProvider extends builder.column(CODE).addEntityLink(dataSet, dataSet.getCode()); LinkDataSet linkDataSet = dataSet.tryGetAsLinkDataSet(); - if (linkDataSet != null) + if (linkDataSet != null && linkDataSet.getCopies() != null) { - LinkTableCell externalCodeCell = new LinkTableCell(); - externalCodeCell.setText(linkDataSet.getExternalCode()); - externalCodeCell.setUrl(new LinkDataSetUrl(linkDataSet).toString()); - externalCodeCell.setOpenInNewWindow(true); - builder.column(EXTERNAL_CODE).addValue(externalCodeCell); - - ExternalDataManagementSystem externalDms = - linkDataSet.getExternalDataManagementSystem(); - if (externalDms != null) + if (linkDataSet.getCopies().size() > 0) { - builder.column(EXTERNAL_DMS_CODE).addString(externalDms.getCode()); - builder.column(EXTERNAL_DMS_LABEL).addString(externalDms.getLabel()); + String dmsCodes = ""; + String dmsLabels = ""; + String dmsAddresses = ""; + String externalCodes = ""; + String paths = ""; + String hashes = ""; + + for (IContentCopy copy : linkDataSet.getCopies()) + { + dmsCodes += copy.getExternalDMSCode() + ", "; + dmsLabels += copy.getExternalDMSLabel() + ", "; + dmsAddresses += copy.getExternalDMSAddress() + ", "; + + externalCodes += emptyOnNull(copy.getExternalCode()); + paths += emptyOnNull(copy.getPath()); + hashes += emptyOnNull(copy.getCommitHash()); + } + + builder.column(EXTERNAL_DMS_CODE).addString(strip(dmsCodes)); + builder.column(EXTERNAL_DMS_LABEL).addString(strip(dmsLabels)); + builder.column(EXTERNAL_DMS_ADDRESS).addString(strip(dmsAddresses)); + + builder.column(EXTERNAL_CODE).addString(strip(externalCodes)); + builder.column(LINK_PATH).addString(strip(paths)); + builder.column(LINK_HASH).addString(strip(hashes)); } } @@ -239,6 +259,28 @@ public abstract class AbstractExternalDataProvider extends return builder.getModel(); } + private String emptyOnNull(String value) + { + if (value == null) + { + return ""; + } else + { + return value + ", "; + } + } + + private String strip(String value) + { + if (value.length() > 2) + { + return value.substring(0, value.length() - 2); + } else + { + return value; + } + } + private void addProject(TypedTableModelBuilder<AbstractExternalData> builder, Project project) { if (project != null) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/ContentCopyRecord.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/ContentCopyRecord.java new file mode 100644 index 0000000000000000000000000000000000000000..563ce2b237d7a3f0b682f0e494580d595ce8b0ca --- /dev/null +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/ContentCopyRecord.java @@ -0,0 +1,23 @@ +package ch.systemsx.cisd.openbis.generic.server.business.bo.datasetlister; + +import ch.rinn.restrictions.Private; +import ch.systemsx.cisd.openbis.generic.server.business.bo.common.CodeRecord; + +/** + * A record object representing one row of the content_copies table. + */ +@Private +public class ContentCopyRecord extends CodeRecord +{ + public String edms_code; + + public String edms_label; + + public String edms_address; + + public String external_code; + + public String path; + + public String hash; +} diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetLister.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetLister.java index dfec3ec8d35385152c2ad88ea31d956f3978f7a3..90fec95f37bb0d6a4bac87d7f26a9ea862753f11 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetLister.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetLister.java @@ -74,6 +74,8 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalDataManagementSystem; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalDataManagementSystemType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.FileFormatType; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.FileSystemContentCopy; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IContentCopy; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocationNode; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.LinkDataSet; @@ -82,9 +84,9 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Metaproject; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PhysicalDataSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TrackingDataSetCriteria; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.UrlContentCopy; import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetShareId; import ch.systemsx.cisd.openbis.generic.shared.translator.DataStoreTranslator; - import it.unimi.dsi.fastutil.longs.Long2ObjectMap; import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; import it.unimi.dsi.fastutil.longs.LongOpenHashSet; @@ -356,7 +358,7 @@ public class DatasetLister extends AbstractLister implements IDatasetLister result.put(sample, new ArrayList<AbstractExternalData>()); sampleIDs.add(sample.getId()); } - List<AbstractExternalData> rootDataSets = listBySampleIds(sampleIDs, + List<AbstractExternalData> rootDataSets = listBySampleIds(sampleIDs, EnumSet.of(DataSetFetchOption.BASIC, DataSetFetchOption.PROPERTIES)); addChildren(rootDataSets); for (AbstractExternalData dataSet : rootDataSets) @@ -397,7 +399,7 @@ public class DatasetLister extends AbstractLister implements IDatasetLister } if (childIDs.isEmpty() == false) { - List<AbstractExternalData> children = listByDatasetIds(childIDs, + List<AbstractExternalData> children = listByDatasetIds(childIDs, EnumSet.of(DataSetFetchOption.BASIC, DataSetFetchOption.PROPERTIES)); for (AbstractExternalData child : children) { @@ -1009,7 +1011,7 @@ public class DatasetLister extends AbstractLister implements IDatasetLister } } } - + private void enrichWithContainers(Long2ObjectMap<AbstractExternalData> datasetMap) { Set<Long> containersNotLoaded = new HashSet<Long>(); @@ -1182,14 +1184,22 @@ public class DatasetLister extends AbstractLister implements IDatasetLister convertStandardAttributes(linkDataSet, record); - if (record.edms_id != null) + List<ContentCopyRecord> copyRecords = query.getContentCopiesOf(record.id); + List<IContentCopy> copies = new ArrayList<>(); + for (ContentCopyRecord copyRecord : copyRecords) { - - linkDataSet.setExternalDataManagementSystem(externalDataManagementSystems - .get(record.edms_id)); - linkDataSet.setExternalCode(record.external_code); + if (copyRecord.external_code != null) + { + copies.add(new UrlContentCopy(copyRecord.edms_code, copyRecord.edms_label, copyRecord.edms_address, copyRecord.external_code)); + } else + { + copies.add(new FileSystemContentCopy(copyRecord.edms_code, copyRecord.edms_label, copyRecord.edms_address, copyRecord.edms_address, + copyRecord.hash, copyRecord.path)); + } } + linkDataSet.setCopies(copies); + return linkDataSet; } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetRecord.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetRecord.java index 3a0415314aa435eb9cdc0125236d8ce76df199aa..9b0810933e8ef51d97a18874818b3f35ff3216f8 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetRecord.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/DatasetRecord.java @@ -66,11 +66,5 @@ public class DatasetRecord extends CodeRecord public Boolean storage_confirmation; - // link data set - - public Long edms_id; - - public String external_code; - public Boolean is_post_registered; } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/IDatasetListingQuery.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/IDatasetListingQuery.java index 95831ed008dae4f9ea1b7bcf7e36758f17949c74..528846f0a1f68dfbf6c141c4b968eb8e5fd4d07e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/IDatasetListingQuery.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/datasetlister/IDatasetListingQuery.java @@ -355,4 +355,10 @@ public interface IDatasetListingQuery extends BaseQuery, IPropertyListingQuery LongSetMapper.class }, fetchSize = FETCH_SIZE) public List<MetaProjectWithEntityId> getMetaprojects(LongSet entityIds, Long userId); + @Select(sql = "SELECT edms.code AS edms_code, edms.label AS edms_label, edms.address AS edms_address, " + + " cc.external_code AS external_code, cc.path as path, cc.git_commit_hash AS hash " + + " FROM content_copies cc, external_data_management_systems edms " + + " WHERE cc.edms_id = edms.id AND cc.data_id = ?{1}") + public List<ContentCopyRecord> getContentCopiesOf(long id); + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/search/detailed/IndexFieldNameHelper.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/search/detailed/IndexFieldNameHelper.java index ecc51545adad928daacc007806430e3f4ec3c61f..8f9fcd7e9fd525b3daab0b1acdc94aef5bdd12ba 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/search/detailed/IndexFieldNameHelper.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/search/detailed/IndexFieldNameHelper.java @@ -175,7 +175,7 @@ class IndexFieldNameHelper case EXTERNAL_DMS_LABEL: return SearchFieldConstants.PREFIX_CONTENT_COPY + SearchFieldConstants.PREFIX_EXTERNAL_DMS + SearchFieldConstants.LABEL; - case ADDRESS: + case EXTERNAL_DMS_ADDRESS: return SearchFieldConstants.PREFIX_CONTENT_COPY + SearchFieldConstants.PREFIX_EXTERNAL_DMS + SearchFieldConstants.ADDRESS; case EXTERNAL_CODE: diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetAttributeSearchFieldKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetAttributeSearchFieldKind.java index 8b52936fdbfb6a0e8d6eb8c0fa2e8ef188f806fd..0a976ead398333a57ac4fe97e563677a92317063 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetAttributeSearchFieldKind.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetAttributeSearchFieldKind.java @@ -85,13 +85,13 @@ public enum DataSetAttributeSearchFieldKind implements Serializable, IAttributeS EXTERNAL_DMS_LABEL("External DMS label"), - ADDRESS("Link address"), + EXTERNAL_DMS_ADDRESS("External DMS address"), EXTERNAL_CODE("Link external code"), PATH("Link path"), - COMMIT_HASH("Link git commit hash"); + COMMIT_HASH("Link commit hash"); private final String description; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/FileSystemContentCopy.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/FileSystemContentCopy.java index a12824bb63fd778bfb2f60c29f424256ee0f49a8..349f679ab713618bc63eaac56e6112aa19a4ce9b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/FileSystemContentCopy.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/FileSystemContentCopy.java @@ -50,4 +50,40 @@ public class FileSystemContentCopy implements IContentCopy return "External DMS: " + labelString + "</br>Host: " + host + "<br/>Directory: " + directory + path + "<br>Commit hash:" + hash; } } + + @Override + public String getExternalDMSCode() + { + return this.code; + } + + @Override + public String getExternalDMSLabel() + { + return this.label; + } + + @Override + public String getExternalDMSAddress() + { + return this.host; + } + + @Override + public String getPath() + { + return this.path; + } + + @Override + public String getCommitHash() + { + return this.hash; + } + + @Override + public String getExternalCode() + { + return null; + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IContentCopy.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IContentCopy.java index e76bdd68129bcfdda4b1e33b832e576fbe4eaf9d..87c1bad8b306bdd7cfa6653a67bd448fd52c1d1e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IContentCopy.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IContentCopy.java @@ -4,5 +4,18 @@ import java.io.Serializable; public interface IContentCopy extends Serializable { + + String getExternalDMSCode(); + + String getExternalDMSLabel(); + + String getExternalDMSAddress(); + + String getPath(); + + String getCommitHash(); + + String getExternalCode(); + String getLocation(); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UrlContentCopy.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UrlContentCopy.java index 32b28dc20000901e9a1ecd29486df5058445109c..3cd2e15f0d84a6b39c78fb2b75730fbb8b628fad 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UrlContentCopy.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/UrlContentCopy.java @@ -10,11 +10,14 @@ public class UrlContentCopy implements IContentCopy private String url; - public UrlContentCopy(String code, String label, String url) + private String externalCode; + + public UrlContentCopy(String code, String label, String url, String externalCode) { this.code = code; this.label = label; this.url = url; + this.externalCode = externalCode; } public UrlContentCopy() @@ -35,4 +38,40 @@ public class UrlContentCopy implements IContentCopy return "External DMS: " + labelString + "</br>Link: <a class=\"gwt-Anchor\" href=\"" + url + "\" target=\"_blank\" \">" + url + "</a><br>"; } + + @Override + public String getExternalDMSCode() + { + return this.code; + } + + @Override + public String getExternalDMSLabel() + { + return this.label; + } + + @Override + public String getExternalDMSAddress() + { + return this.url; + } + + @Override + public String getPath() + { + return null; + } + + @Override + public String getCommitHash() + { + return null; + } + + @Override + public String getExternalCode() + { + return this.externalCode; + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java index 8069f75bc67f3edf4f191649263e8b985ab8b570..6a86562b006620c94b8dc2713f197d4ee97f4663 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java @@ -361,7 +361,7 @@ public class DataSetTranslator } else { translatedCopy = new UrlContentCopy(edms.getCode(), edms.getLabel(), - address.replaceAll(Pattern.quote("${") + ".*" + Pattern.quote("}"), copy.getExternalCode())); + address.replaceAll(Pattern.quote("${") + ".*" + Pattern.quote("}"), copy.getExternalCode()), copy.getExternalCode()); } translatedCopies.add(translatedCopy); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js index df7fba8de11c7e8b6b6b5687ca5d569bbb941ce7..85c9cf91b8e485151fa811f31fe641382cc50948 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js @@ -843,9 +843,12 @@ var common = { confirm_dataset_upload_comment_field: "Comment", confirm_dataset_upload_user_field: "CIFEX user", confirm_dataset_upload_password_field: "CIFEX password", - external_code: "External Code", + external_code: "Link External Code", external_dms_code: "External DMS Code", external_dms_label: "External DMS Label", + external_dms_address: "External DMS Address", + link_path: "Link Path", + link_hash: "Link Commit Hash", // // Data Set Viewer