Compare commits

...

89 Commits

Author SHA1 Message Date
Francesco Mangiacrapa 500986d455 added exclusion to `javax.ws.rs-api` due to #27083#note-27 2024-04-24 16:35:13 +02:00
Francesco Mangiacrapa 19b0582660 removed -SNAPSHOT to be released 2024-04-23 09:47:48 +02:00
Francesco Mangiacrapa 451ef36018 required SNAPSHOT version to test in DEV 2024-04-23 09:45:12 +02:00
Francesco Mangiacrapa 133fc063ab reverted to 6.30.0 to be released 2024-04-23 09:35:24 +02:00
Francesco Mangiacrapa cca398c124 Creating snapshot to check #27083#note-17 2024-04-23 09:33:29 +02:00
Francesco Mangiacrapa 00e5cea868 replaced social dependencies, see #27083#note-16 2024-04-22 16:40:03 +02:00
Francesco Mangiacrapa cca8c84f6d removed -SNAPSHOT to be released 2024-03-19 10:49:02 +01:00
Francesco Mangiacrapa 2c59016219 Merge pull request 'edit_facility_26115' (!3) from edit_facility_26115 into master
Reviewed-on: #3
2024-03-19 10:38:23 +01:00
Francesco Mangiacrapa 1824c9a7fd Fixing Incident [#26678] 2024-03-01 12:05:43 +01:00
Francesco Mangiacrapa 257a258ff2 commented profiles 2024-02-28 11:10:21 +01:00
Francesco Mangiacrapa 7367f5d1f8 commented profiles 2024-02-28 11:06:29 +01:00
Francesco Mangiacrapa bd6705efcd Enabled maven profile 2024-02-26 11:39:48 +01:00
Francesco Mangiacrapa 01075df11f Added exclusion `org.codehaus.woodstox:stax2-api:jar` version
stax2-api🫙4.1, see #26825#note-6
2024-02-26 10:47:41 +01:00
Francesco Mangiacrapa bd21f9460c commented profiles 2024-02-23 17:29:14 +01:00
Francesco Mangiacrapa 54cc49e012 added maven profiles 2024-02-20 17:50:17 +01:00
Francesco Mangiacrapa eb12960ecc - Moved to maven parent 1.2.0
- Equipped with the new Catalogue Publishing Widget [#26825]
2024-02-20 15:26:27 +01:00
Francesco Mangiacrapa 291eb8a0db Updated README 2023-07-10 10:37:40 +02:00
Francesco Mangiacrapa 30d5d7ca62 Updated README 2023-07-10 09:52:29 +02:00
Francesco Mangiacrapa e772a6a7e1 Updated README 2023-07-10 09:31:09 +02:00
Francesco Mangiacrapa d29fe99b3a Updated Readme 2023-07-08 16:43:36 +02:00
Francesco Mangiacrapa df70bc732f Update 'README.md' 2023-07-05 23:26:36 +02:00
Francesco Mangiacrapa 1de24c97ab Update 'README.md' 2023-07-05 12:50:38 +02:00
Francesco Mangiacrapa aea8982509 Update 'README.md' 2023-07-05 12:49:03 +02:00
Francesco Mangiacrapa 1ccd0d29d1 Update 'README.md' 2023-06-21 10:23:20 +02:00
Francesco Mangiacrapa 59fb473c17 Update 'README.md' 2023-06-21 10:19:20 +02:00
Francesco Mangiacrapa 17143b7822 Removed -SNAPSHOT to be released. 2023-04-04 12:22:37 +02:00
Francesco Mangiacrapa b881b7ba79 Moved to v6.29.0-SNAPSHOT. Using maven-portal-bom v3.8.0-SNAPSHOT 2023-04-03 17:10:29 +02:00
Francesco Mangiacrapa 0c6228d632 Merge branch 'master' of https://code-repo.d4science.org/gCubeSystem/workspace.git 2023-04-03 16:49:41 +02:00
Francesco Mangiacrapa d5bcd53ed4 New version 6.28.7-SNAPSHOT. Due to #24929 2023-04-03 16:22:15 +02:00
Roberto Cirillo 838c0c4072 restored old pom 2022-09-21 14:14:34 +02:00
Roberto Cirillo 422b78ce93 add toolchain plugin to the pom 2022-09-21 12:19:06 +02:00
Francesco Mangiacrapa 0348121802 Removed -SNAPSHOT to be released. Passed to maven-portal-bom.3.6.4 2022-09-05 14:56:17 +02:00
Francesco Mangiacrapa 9c113f2c9c Including fixes #23676, #23789 implemented in the ws-tree 2022-09-05 14:10:34 +02:00
Francesco Mangiacrapa 9e29ec6c00 removed -SNAPSHOT to be released 2022-06-27 15:05:18 +02:00
Francesco Mangiacrapa c6b662fe8f #23523 Updated to maven-portal-bom 3.6.4 2022-06-27 14:55:39 +02:00
Francesco Mangiacrapa b920c891f0 removed -SNAPSHOT to be released. Moved to maven-portal-bom v3.6.3 2022-06-14 17:00:33 +02:00
Francesco Mangiacrapa 7b29a35a18 moved to maven-portal-bom 3.7.0-SNAPSHOT 2022-06-14 14:13:36 +02:00
Francesco Mangiacrapa 9ab9a57537 Just to release the Publishing Widget enhancement #23491 2022-06-14 14:01:20 +02:00
Francesco Mangiacrapa ca30bd4e65 Removed -SNAPSHOT to be released. Passed to maven-portal-bom v3.6.3 2022-05-03 16:06:02 +02:00
Francesco Mangiacrapa 8156e78575 passed to maven-portal-bom v3.7.0-SNAPSHOT 2022-04-28 11:54:55 +02:00
Francesco Mangiacrapa d90785abe6 Just including the enhancement #23225 2022-04-28 11:48:20 +02:00
Francesco Mangiacrapa a729d84156 removed -SNAPSHOT to be released. Used the maven-portal-bom 3.6.3 2022-03-24 10:53:58 +01:00
Francesco Mangiacrapa 6ae881e9ef #22923 Migrate to maven-portal-bom 3.7.0[-SNAPSHOT] 2022-03-08 11:57:08 +01:00
Francesco Mangiacrapa 51cd46d50e removed -SNAPSHOT to be released 2021-12-20 15:03:26 +01:00
Francesco Mangiacrapa 27d393a0f3 Moved to 6.28.1-SNAPSHOT to include ws-tree fix #22578 2021-12-20 14:45:53 +01:00
Francesco Mangiacrapa b614f368b0 raplaced * with - 2021-11-10 15:00:42 +01:00
Francesco Mangiacrapa b3562c6e0e removed -SNAPSHOT to be released 2021-11-10 10:27:00 +01:00
Francesco Mangiacrapa e1cda838c4 Feature #22251 implemented - Make workspace file size field smart 2021-11-05 12:06:46 +01:00
Francesco Mangiacrapa 778e0a807e Moved to maven-portal-bom 3.6.3 2021-06-24 15:08:27 +02:00
Francesco Mangiacrapa e2fa61e5b1 removed -SNAPSHOT to be released 2021-06-22 10:27:22 +02:00
Francesco Mangiacrapa 4728abe412 moved to 6.27.1-SNAPSHOT. Including ws-tree bug fix #21575 2021-06-22 10:24:37 +02:00
Francesco Mangiacrapa 2e162c4314 removed -SNAPSHOT to be released 2021-05-27 18:00:04 +02:00
Francesco Mangiacrapa 3a54c585b5 added -SNAPSHOT to rebuild the Portelt needed to check oidc dependencies
imported
2021-05-27 16:13:01 +02:00
Francesco Mangiacrapa 9f98ada991 removed -SNAPSHOT to be released 2021-05-25 11:11:33 +02:00
Francesco Mangiacrapa 5405040040 [#21444] Moved to maven-portal-bom >= 3.6.2-SNAPSHOT 2021-05-20 11:09:26 +02:00
Francesco Mangiacrapa 90ba85c5bb removed comment to AppControllerExplorer.getEventBus().fireEvent(
CheckItemLockedBySyncEvent
2021-05-18 15:59:37 +02:00
Francesco Mangiacrapa d32869c6d0 settinng synched with thredds into parent folder 2021-05-18 11:05:56 +02:00
Francesco Mangiacrapa e7cc55efe3 merged with branch fix-jackson 2021-05-11 16:00:48 +02:00
Francesco Mangiacrapa 5a4081b7e7 removed -SNAPSHOT to be released 2021-04-16 17:45:42 +02:00
Francesco Mangiacrapa e2f989e494 #21153 Upgrade the maven-portal-bom to 3.6.1 version 2021-04-12 15:53:23 +02:00
Francesco Mangiacrapa bbd50dbce1 merged with "task_20762" 2021-04-09 15:28:34 +02:00
Francesco Mangiacrapa f344366790 Declared the workspace-tree-widget to get the exactly version
[6.31.3-SNAPSHOT, 6.31.3]
2021-03-25 15:29:58 +01:00
Francesco Mangiacrapa 0d98045f30 Updated ws-tree-widget range at [6.31.3-SNAPSHOT, 7.0.0-SNAPSHOT) 2021-03-25 15:10:12 +01:00
Roberto Cirillo b46d615f44 Update 'pom.xml'
update workspace-tree-widget to version 6.31.3-SNAPSHOT
2021-03-25 13:18:43 +01:00
Francesco Mangiacrapa 940b056170 removed the twice declaration of ckan-metadata-publisher-widget 2021-03-25 11:00:21 +01:00
Francesco Mangiacrapa f3beb0f73f removed -SNAPSHOT to be released 2021-03-24 18:21:14 +01:00
Francesco Mangiacrapa 2c62b30ae5 added -SNAPHOT to check and test the ws-thredds.0.2.4-SNAPSHOT on DEV 2021-03-24 18:09:51 +01:00
Francesco Mangiacrapa 6293a1913b removed -SNAPSHOT to be released 2021-03-17 13:01:20 +01:00
Francesco Mangiacrapa e7c758551d added -SNAPSHOT to update DEV 2021-03-16 10:50:12 +01:00
Francesco Mangiacrapa a9c33aad57 Just to release the facility ws-thredds-sync [#20847] 2021-03-10 12:02:09 +01:00
Francesco Mangiacrapa ef0d950deb Removed -SNAPSHOT to be released 2021-02-02 17:28:36 +01:00
Francesco Mangiacrapa 1cc2470d1e Just to include the SHUB model released in gCube 5 2021-02-02 17:24:40 +01:00
Francesco Mangiacrapa 1fd8867630 Removed -SNAPSHOT to be released 2021-01-21 15:02:54 +01:00
Francesco Mangiacrapa 6a3f507847 Added workspace-tree-widget dependency [6.31.2-SNAPSHOT, 7.0.0-SNAPSHOT) 2021-01-20 15:07:23 +01:00
Francesco Mangiacrapa 8cf08735d8 Updated at 6.25.2-SNAPSHOT. Including patched library #20457 2021-01-18 15:13:40 +01:00
Roberto Cirillo 8813d2d835 Update 'pom.xml'
update to version 6.25.1 
fix #19952
2020-10-19 16:01:49 +02:00
Roberto Cirillo 39cd1cc597 Update 'CHANGELOG.md'
v6.25.1 #19952 bug fix
2020-10-19 16:01:08 +02:00
Francesco Mangiacrapa 0ad2ea761b removed -SNAPSHOT to be released 2020-08-25 15:49:43 +02:00
Francesco Mangiacrapa 7b92d9e8df merged with branch version
https://code-repo.d4science.org/gCubeSystem/workspace/src/branch/task/19600
2020-07-28 15:23:01 +02:00
Francesco Mangiacrapa 86365fb795 removed placeholder {BuildDate} for two dates 2020-07-01 15:03:55 +02:00
Francesco Mangiacrapa 3d76b51b95 Updated as requested at #19555 2020-07-01 14:57:10 +02:00
Francesco Mangiacrapa f1603cb840 fixed tag at [v6.24.1] [r4.24.0] 2020-06-22 17:52:08 +02:00
Francesco Mangiacrapa 3d7132dbec Just to include the ckan-util-library patched at [#19493] 2020-06-22 11:18:24 +02:00
Francesco Mangiacrapa 3708f0a6c0 removed -SNAPSHOT to be released 2020-05-20 15:05:00 +02:00
Francesco Mangiacrapa 98912ce1d4 removed old 'distro' directory 2020-05-20 14:39:58 +02:00
Francesco Mangiacrapa cf6dedbf12 merged with feature branch 19058 2020-05-20 14:38:34 +02:00
Francesco Mangiacrapa f762111333 updated pom version at 6.24.0, removed changelog.xml, added changelog.md 2020-05-18 15:38:29 +02:00
Francesco Mangiacrapa a855119924 updated changelog 2020-04-21 11:27:57 +02:00
Francesco Mangiacrapa 113cb9f12a Just to include the new shub-client released 2020-04-21 11:27:31 +02:00
23 changed files with 1789 additions and 1443 deletions

View File

@ -1,16 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/workspace-6.23.1-SNAPSHOT/WEB-INF/classes" path="src/main/java">
<classpathentry kind="src" output="target/workspace-6.30.0/WEB-INF/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/workspace-6.23.1-SNAPSHOT/WEB-INF/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="test" value="true"/>
@ -24,16 +19,21 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/workspace-6.23.1-SNAPSHOT/WEB-INF/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/workspace-6.30.0/WEB-INF/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/workspace-6.30.0/WEB-INF/classes"/>
</classpath>

View File

@ -1,4 +1,4 @@
eclipse.preferences.version=1
lastWarOutDir=/home/francesco-mangiacrapa/git/workspace/target/workspace-6.23.1-SNAPSHOT
lastWarOutDir=/home/francescomangiacrapa/git/workspace/target/workspace-6.30.0
warSrcDir=src/main/webapp
warSrcDirIsOutput=false

View File

@ -8,8 +8,10 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.7
org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled

View File

@ -1,11 +1,689 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="workspace-6.23.1-SNAPSHOT">
<wb-module deploy-name="workspace-6.30.0">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/target/generated-sources/gwt"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<property name="java-output-path" value="/${module}/target/www/WEB-INF/classes"/>
<dependent-module archiveName="ckan-metadata-publisher-widget-2.2.1.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/ckan-metadata-publisher-widget/ckan-metadata-publisher-widget">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="uri-resolver-manager-1.8.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/uri-resolver-manager/uri-resolver-manager">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="java-output-path" value="/${module}/target/www/WEB-INF/classes"/>
<property name="context-root" value="workspace"/>
</wb-module>
</wb-module>
</project-modules>

550
CHANGELOG.md Normal file
View File

@ -0,0 +1,550 @@
# Changelog for workspace
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [v6.30.0] - 2024-02-20
- Moved to maven parent 1.2.0
- Equipped with the new Catalogue Publishing Widget [#26825]
- Fixed Incident [#26678]
## [v6.29.0] - 2023-04-04
- Just to release the patch #24929 in the 'storagehub-client-wrapper'
## [v6.28.6] - 2022-09-05
- Just to release the fixes #23676, #23789 implemented in the ws-tree
## [v6.28.5] - 2022-06-27
- [#23523] Updated to maven-portal-bom 3.6.4
- [#23491] Just to release the Publishing Widget enhancement #23491
## [v6.28.3] - 2022-05-02
- [#23225] Just including the enhancement #23225
## [v6.28.2] - 2022-03-24
#### Enhancements
- [#23020] Just including the enhancement #23020
## [v6.28.1] - 2021-12-20
#### Fixes
- [#22578] Including workspace-tree-widget bug fixing
## [v6.28.0] - 2021-11-05
#### Enhancements
- [#22251] Make workspace file size field smart
## [v6.27.1] - 2021-06-22
[#21575] Including workspace-tree-widget bug fixing
Moved to maven-portal-bom 3.6.3
## [v6.27.0] - 2021-05-10
[#21387] Harmonized version of jackson libs to 2.8.11 to resolve conflict
[#21346] Applying new workflow to manage the "Sync with Tredds" facility
[#21444] Moved to maven-portal-bom >= 3.6.2-SNAPSHOT
## [v6.26.0] - 2021-04-12
#### Enhancements
[#21153] Upgrade the maven-portal-bom to 3.6.1 version
[#20762] Moved to ckan-metadata-publisher-widget 2.X
## [v6.25.4] - 2021-03-10
#### Enhancements
[#20847] Just to release the facility ws-thredds-sync
## [v6.25.3] - 2021-02-02
Just to include new SHUB model
## [v6.25.2] - 2021-01-18
#### Bug Fixes
[#20457] Just including patched library
## [v6.25.1] - 2020-10-19
#### Bug Fixes
[#19952] Fixed incident
## [v6.25.0] - 2020-08-25
#### Enhancements
[#19600] revisit the "Get Info" Dialog in a modern view
## [v6.24.1] - 2020-06-22
[#19493] Just to include the ckan-util-library patched
## [v6.24.0] - 2020-05-18
**New Features**
[#19058] Restore operation: the user has to select the destination folder
## [v6.23.2] - 2020-04-21
Just to include the new shub-client released
## [v6.23.1] - 2020-03-27
Ported to git/jenkins
## [v6.23.0] - 2019-09-25
[Task #17226] Removing HL
[Task #17524] Hiding 'Add Administrator" on VRE Folders
[Task #17552] Workspace: reconsider the actions Private Link, Folder Link and Get Link
## [v6.22.0] - 2019-04-05
Updated to StorageHub [ticket: #13226]
{Bug #13328] Bug fixes
## [v6.21.0] - 2018-11-01
Task #13106: Provide public links for versioned files
## [v6.20.0] - 2018-09-01
Task #12604: Migrate Move operation to StorageHub
Incident #12922: Bug fix
## [v6.19.1] - 2018-07-02
Revised Style sheet and updated to common set of icons
[Task #12089] Migrate to workspace-uploader 2.0
[Release #12006] Removed portlets-widgets.wsmail-widget dependency
## [v6.19.0] - 2018-06-07
[Project Activity #11690] Integrated with Task Executor Widget
## [v6.18.0] - 2018-03-01
[Task #11127] Porting to new ws-thredds engine
[Feature #11325] Workspace: add New URL feature in the context menu of right pane
## [v6.17.4] - 2018-01-09
Issue #10831, Workspace download folder tomcat temp occupation issue
[Incident #11113] Bug fixing
## [v6.17.3] - 2017-11-20
Task #9758: bug fixing
## [v6.17.2] - 2017-09-13
Incident #9676: fixed. Removed check on get sub-folder public link when operation is performed by an administrator
## [v6.17.1] - 2017-05-22
Feature #5207: integrate image previewer widget
## [v6.17.0] - 2017-04-12
Task #8070: file versioning info panel added into How-to
Improved responsivness, added collapsible tree panel when device is a phone and shifted download button next to the upload one.
## [v6.16.0] - 2017-03-03
Removed accesslogger dependency
[Task #6988] Fixed Edit administrator showing
[Feature #7006] File Versioning
Edit administrator can be performed also by other Administrator/s
Edit permissions can be performed also by Administrators
## [v6.15.1] - 2017-02-02
Minor fixes
## [v6.15.0] - 2016-11-29
[Feature #5873] Remove ASL Session from the Workspace and its components
Updated the Show event on a object of kind LINK: it is opened
## [v6.14.0] - 2016-09-14
[Feature #2335] Added "Get Folder Link" facility
[Incident #4878] Fixed: Workspace tree not displaying user's name
[Feature #5116] Implemented Show public folders in the Workspace via Smart Folder
[Feature #5110] Added Enabled/Disabled Public Access to workspace history
[Bug #5218] Fixed return to the Workspace root Folder
## [v6.13.0] - 2016-05-31
[Feature #4128] Migration to Liferay 6.2
Data Catalogue publishing supported
## [v6.12.0] - 2016-05-16
Integrated with new workspace uploader
Bug fixed: Css for Dialog Cancel multiple files
## [v6.11.0] - 2016-01-13
[Feature #1925] Added, new public link format: http://host/storageID
[Feature #1298] Update public link generation
## [v6.10.1] - 2015-12-16
Bug Fixing - #1804; #1808; #1822; #1333
## [v6.10.0] - 2015-11-19
[Feature #124] Remove a user from shared folder
[Feature #1259] Enhancement to workspace item history
[Bug #1373] Fixed: breadcrumb slowness on file upload make upload of files on parent folders
[Incident #1338] Fixed: Workspace and ownership ... something is wrong
[Bug #1459] Fixed: get link disabled
[Bug #1260] Fixed: minor glitch on Chrome, topbar shows vertical scroller
## [v6.9.0] - 2015-10-30
[Bug #718] Fixed breadcrumb path
[Bug #546] Fixed bug
[Bug #531] Fixed issue on create folder
[Feature #429] Realized. Integrated with workspace-uploader
[Bug #1270] Fixed. Workspace improvements: many rpc calls after an delete multiple
[Feature #1280] Workspace GUI: quote and available feature improvements
## [v6.8.0] - 2015-07-06
[Feature #129] Porting to HL 2.0
Feature #332] Generate workspace Public Link with SMP-ID
## [v6.7.1] - 2015-04-15
Integrated Contacts Edit Permissions
## [v6.7.0] - 2014-10-29
Added user storage usage
Added notifications for: set folder Administrator, delete shared folder
## [v6.6.7] - 2014-09-01
Fixed support #813: Broken Breadcrumb for long path
Added "Edit Administrators"
## [v6.6.6] - 2014-06-04
Added Trash: https://issue.imarine.research-infrastructures.eu/ticket/2497
Updated pom to support new portal configuration (gcube release 3.2)
Completed activity to https://support.social.isti.cnr.it/ticket/126
## [v6.6.5] - 2014-06-04
Integrated trash: https://issue.imarine.research-infrastructures.eu/ticket/2497
Updated pom to support new portal configuration (gcube release 3.2)
## [v6.6.4] - 2014-05-22
Fixed: https://support.d4science.research-infrastructures.eu/ticket/843
Added: item number in grid and trash. See: https://issue.imarine.research-infrastructures.eu/ticket/282
## [v6.6.2] - 2014-3-17
Management of My Special Folder
Added change permissions to VRE shared folder
## [v6.6.0] - 2014-06-04
Added Trash: https://issue.imarine.research-infrastructures.eu/ticket/2497
Updated pom to support new portal configuration (gcube release 3.2)
## [v6.6.0] - 2014-05-22
Fixed: https://support.d4science.research-infrastructures.eu/ticket/843
Added: item number in grid and trash. See: https://issue.imarine.research-infrastructures.eu/ticket/282
## [v6.6.0] - 2014-03-17
Management of "My Special Folder"
Added change permissions to VRE shared folder
## [v6.6.0] - 2014-02-07
[#2634] Workspace: support for setting permissions over shared folders
[#2633] Workspace: support for VRE Shared Folders
[#2290] Worskspace history operations: should support the session validation
## [v6.5.0] - 2013-12-12
[#Ticket 738] fixed. HomeLibrary initialize Exception
## [v6.5.0] - 2013-10-21
[#Ticket 2223] This project was enhancements to gwt 2.5.1
GCF dependency was removed
## [v6.4.1] - 2013-09-16
Provide support for public link, Related ticket: #1993
Link sharing and public link: generate a human-readable URL via URL shortening, Related ticket: #1921
Fixed bug on shared links, Ticket #630
## [v6.3.0] - 2013-07-08
Provide support for share link, Related ticket: #1504
Edit description on sharing, Related ticket: #1822
Bugs fixed, Related Tickets: #628, #633, #630
## [v6.2.0] - 2013-05-29
Provide support for accounting, related ticket: #1752
Enable notification for file upload in shared folder, related ticket: #1732
## [v6.1.0] - 2013-04-19
Workspace portlet was enhanced to meet the requests coming from the User Community
Related tickets: #1500, #1498, #320, #1487, #1499, #1501, #1497, #1536
## [v6.0.0] - 2013-03-05
#1259 The workspace portlet was mavenized.
Fixed bugs: see #1327, #1278, #1279
## [v5.3.0] - 2013-01-17
Ticket #873: Messaging facility to be part of the Social Portal space
Ticket #872: Workspace Portlet also "outside" of VREs
## [v5.2.0] - 2012-11-30
[#111] New workspace item (resource link) was added in workspace portlet
## [v5.1.0] - 2012-09-21
New Mail Sender Widget added, supporting multiple attachments and multiple recipients
Reply and Reply all features added to messages
Inbox messages sort by date reverse order
Bug fixed: upload file/archive
## [v5.0.0] - 2012-05-04
[#216] New version of Workspace Portlet is developed using the GXT framework
[#216] Reviews workspace GUI and adding new features
[#216] Added toolbar with navigation path of items
[#216] Added toolbar for an easy access to the operations on items ("Add", "Download", "Rename", "Delete", etc.)
## [v4.2.0] - 2011-07-01
[#1555] WorkflowTemplate and WorkflowReport required in Workspace Portlet
## [v4.1.0] - 2011-05-06
GWT 2.2.0 support
added gwt-ext patch
## [v4.0.0] - 2011-02-07
Removed Workspace and Basket type, replaced with folder option
Synch with others changes in HomeLibrary
## [v3.2.0] - 2010-10-22
[#398] Workspace Details panel improvement
used ScopeHelper for session settings
Enabled details panel for Report, ReportTemplate and AquaMapsItem workspace items
## [v3.1.0] - 2010-09-03
[#30] FCPPS / Workspace / Help does not open
## [v3.0.0] - 2010-07-16
Ported to GWT 2.0
Updated project structure to WebPortlet
Update to LifeRay portal
## [v2.6.0] - 2010-05-14
[#424] Workspace code refactoring an enanchement
code refactoring, sync with Workspace Portlet Tree changes
added new details panels for Time Series, AquaMaps Item, Report, Report Template
improved details panels update speed (new panel construction vs static panels)
## [v2.5.0] - 2010-01-29
gcube release 1.7.0
## [v2.4.0] - 2009-11-30
gcube release 1.6.0
## [v2.3.0] - 2009-11-16
gcube release 1.5.0
## [v2.2.0] - 2009-10-16
gcube release
## [v2.1.1] - 2009-07-29
gcube release 1.2.2
## [v2.1.0] - 2009-07-14
gcube release 1.2.0
## [v2.0.0] - 2009-05-19
gcube release 1.2.0 rc1
## [v1.1.2] - 2009-01-12
first release

View File

@ -1,6 +1,6 @@
# gCube Workspace Portlet
# gCube Workspace
The gCube Workspace Portlet is a web-gui to manage the gCube workspace, a collaborative area where users can exchange and organize information objects (workspace items) according to their specific needs.
The gCube Workspace is a web-system (made from many components) that built a web-gui to manage the Workspace in the D4Science infrastructure. The Workspace is a collaborative area where users can exchange and organize information objects (workspace items) according to their specific needs.
Every user of any Virtual Research Environment is provided with this area for the exchange of workspace objects (share) with other users. Such an area is further organized in workspaces as to resemble a classic folder-based file system.
## Built With
@ -8,6 +8,42 @@ Every user of any Virtual Research Environment is provided with this area for th
* [OpenJDK](https://openjdk.java.net/) - The JDK used
* [Maven](https://maven.apache.org/) - Dependency Management
**Uses**
* GWT v.2.7.0. [GWT](http://www.gwtproject.org) is licensed under [Apache License 2.0](http://www.gwtproject.org/terms.html)
* GWT-Bootstrap v.2.3.2.0. [GWT-Bootstrap](https://github.com/gwtbootstrap) is licensed under [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0)
* GXT v2.2.5 is licensed under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
**Related Components**
* [Workpsace Tree Widget](https://code-repo.d4science.org/gCubeSystem/workspace-tree-widget)
* [Workpsace Sharing Widget](https://code-repo.d4science.org/gCubeSystem/workspace-sharing-widget)
* [Task Executor Widget](https://code-repo.d4science.org/gCubeSystem/ws-task-executor-widget)
* [Catalogue Metadata Publisher Widget](https://code-repo.d4science.org/gCubeSystem/ckan-metadata-publisher-widget)
* [StorageHub Client Wrapper](https://code-repo.d4science.org/gCubeSystem/storagehub-client-wrapper)
and others. You can discovery all dependencies via dependency hierarchy (e.g. use [dependency:tree](https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html))
## Showcase
**Workspace Home**
<img src="https://gcube.wiki.gcube-system.org/images_gcube/c/cf/Showcase_Workspace.png" style="max-width:800px;" alt="Workspace Home" />
**Workspace 'Context Menu' facility**
<img src="https://gcube.wiki.gcube-system.org/images_gcube/2/2d/Workspace_Context_Menu.png" style="max-width:800px;" alt="Workspace Context Menu" />
**Workspace 'Get Info' facility**
<img src="https://gcube.wiki.gcube-system.org/images_gcube/2/27/Showcase_Workspace_Get_Info.png" style="max-width:800px;" alt="Workspace Get Info" />
<br />
<img src="https://gcube.wiki.gcube-system.org/images_gcube/8/83/Showcase_Workspace_GetInfo3.png" style="max-width:800px;" alt="Workspace Get Info 3" />
**Workspace 'Get Shareable Link' facility**
<img src="https://gcube.wiki.gcube-system.org/images_gcube/7/72/Showcase_Workspace_GetShareableLink.png" style="max-width:800px;" alt="Workspace Get Shareable Link" />
## Documentation
You can find the Workspace documentation at [Wiki gCube Workpsace](https://wiki.gcube-system.org/workspace)

View File

@ -1,481 +0,0 @@
<ReleaseNotes>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-23-0"
date="${buildDate}">
<Change>[Task #17226] Removing HL </Change>
<Change>[Task #17524] Hiding 'Add Administrator" on VRE Folders
</Change>
<Change>[Task #17552] Workspace: reconsider the actions Private Link, Folder Link and Get Link
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-22-0"
date="${buildDate}">
<Change>Updated to StorageHub [ticket: #13226]</Change>
<Change>{Bug #13328] Bug fixes</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-21-0"
date="2018-11-01">
<Change>Task #13106: Provide public links for versioned files
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-20-0"
date="2018-09-01">
<Change>Task #12604: Migrate Move operation to StorageHub
</Change>
<Change>Incident #12922: Bug fix</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-19-1"
date="2018-07-02">
<Change>Revised Style sheet and updated to common set of icons
</Change>
<Change>[Task #12089] Migrate to workspace-uploader 2.0
</Change>
<Change>[Release #12006] Removed portlets-widgets.wsmail-widget
dependency
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-19-0"
date="2018-06-07">
<Change>[Project Activity #11690] Integrated with Task Executor Widget
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-18-0"
date="2018-03-01">
<Change>[Task #11127] Porting to new ws-thredds engine</Change>
<Change>[Feature #11325] Workspace: add New URL feature in the context
menu of right pane
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-4"
date="2018-01-09">
<Change>Issue #10831, Workspace download folder tomcat temp occupation
issue
</Change>
<Change>[Incident #11113] Bug fixing</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-3"
date="2017-11-20">
<Change>Task #9758: bug fixing</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-2"
date="2017-09-13">
<Change>Incident #9676: fixed. Removed check on get sub-folder public
link when operation is performed by an administrator
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-1"
date="2017-05-22">
<Change>Feature #5207: integrate image previewer widget
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-0"
date="2017-04-12">
<Change>Task #8070: file versioning info panel added into How-to
</Change>
<Change>Improved responsivness, added collapsible tree panel when
device is a phone and shifted download button next to the upload one.
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-16-0"
date="2017-03-03">
<Change>Removed accesslogger dependency</Change>
<Change>[Task #6988] Fixed Edit administrator showing</Change>
<Change>[Feature #7006] File Versioning</Change>
<Change>Edit administrator can be performed also by other
Administrator/s
</Change>
<Change>Edit permissions can be performed also by Administrators
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-15-1"
date="2017-02-02">
<Change>Minor fixes
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-15-0"
date="2016-11-29">
<Change>[Feature #5873] Remove ASL Session from the Workspace and its
components
</Change>
<Change>Updated the Show event on a object of kind LINK: it is opened
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-14-0"
date="2016-09-14">
<Change>[Feature #2335] Added "Get Folder Link" facility</Change>
<Change>[Incident #4878] Fixed: Workspace tree not displaying user's
name
</Change>
<Change>[Feature #5116] Implemented Show public folders in the
Workspace via Smart Folder
</Change>
<Change>[Feature #5110] Added Enabled/Disabled Public Access to
workspace history
</Change>
<Change>[Bug #5218] Fixed return to the Workspace root Folder</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-13-0"
date="2016-05-31">
<Change>[Feature #4128] Migration to Liferay 6.2</Change>
<Change>Data Catalogue publishing supported</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-12-0"
date="2016-05-16">
<Change>Integrated with new workspace uploader</Change>
<Change>Bug fixed: Css for Dialog Cancel multiple files</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-11-0"
date="2016-01-13">
<Change>[Feature #1925] Added, new public link format:
http://host/storageID
</Change>
<Change>[Feature #1298] Update public link generation</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-10-1"
date="2015-12-16">
<Change>Bug Fixing - #1804; #1808; #1822; #1333</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-10-0"
date="2015-11-19">
<Change>[Feature #124] Remove a user from shared folder</Change>
<Change>[Feature #1259] Enhancement to workspace item history</Change>
<Change>[Bug #1373] Fixed: breadcrumb slowness on file upload
make
upload of files on parent folders
</Change>
<Change>[Incident #1338] Fixed: Workspace and ownership ... something
is wrong
</Change>
<Change>[Bug #1459] Fixed: get link disabled</Change>
<Change>[Bug #1260] Fixed: minor glitch on Chrome, topbar shows
vertical scroller
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-9-0"
date="2015-10-30">
<Change>[Bug #718] Fixed breadcrumb path</Change>
<Change>[Bug #546] Fixed bug</Change>
<Change>[Bug #531] Fixed issue on create folder</Change>
<Change>[Feature #429] Realized. Integrated with workspace-uploader
</Change>
<Change>[Bug #1270] Fixed. Workspace improvements: many rpc calls
after an delete multiple
</Change>
<Change>[Feature #1280] Workspace GUI: quote and available feature
improvements
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-8-0"
date="2015-07-06">
<Change>[Feature #129] Porting to HL 2.0
</Change>
<Change>Feature #332] Generate workspace Public Link with SMP-ID
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-7-1"
date="2015-04-15">
<Change>Integrated Contacts Edit Permissions
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-7-0"
date="2014-10-29">
<Change>Added user storage usage
</Change>
<Change>Added notifications for: set folder Administrator, delete
shared folder
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-7"
date="2014-09-01">
<Change>Fixed support #813: Broken Breadcrumb for long path
</Change>
<Change>Added "Edit Administrators"
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-6"
date="2014-06-04">
<Change>Added Trash:
https://issue.imarine.research-infrastructures.eu/ticket/2497
</Change>
<Change>Updated pom to support new portal configuration (gcube release
3.2)
</Change>
<Change>Completed activity to
https://support.social.isti.cnr.it/ticket/126
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-5"
date="2014-06-04">
<Change>Integrated trash:
https://issue.imarine.research-infrastructures.eu/ticket/2497
</Change>
<Change>Updated pom to support new portal configuration (gcube release
3.2)
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-4"
date="2014-05-22">
<Change>Fixed:
https://support.d4science.research-infrastructures.eu/ticket/843
</Change>
<Change>Added: item number in grid and trash. See:
https://issue.imarine.research-infrastructures.eu/ticket/282
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-2"
date="2014-3-17">
<Change>Management of My Special Folder</Change>
<Change>Added change permissions to VRE shared folder</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-0"
date="2014-06-04">
<Change>Added Trash:
https://issue.imarine.research-infrastructures.eu/ticket/2497
</Change>
<Change>Updated pom to support new portal configuration (gcube release
3.2)
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-0"
date="2014-05-22">
<Change>Fixed:
https://support.d4science.research-infrastructures.eu/ticket/843
</Change>
<Change>Added: item number in grid and trash. See:
https://issue.imarine.research-infrastructures.eu/ticket/282
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-0"
date="2014-03-17">
<Change>Management of "My Special Folder"</Change>
<Change>Added change permissions to VRE shared folder</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-0"
date="2014-02-07">
<Change>#2634 Workspace: support for setting permissions over shared
folders
</Change>
<Change>#2633 Workspace: support for VRE Shared Folders</Change>
<Change>#2290 Worskspace history operations: should support the
session validation
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-5-0"
date="2013-12-12">
<Change>#Ticket 738 fixed. HomeLibrary initialize Exception
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-5-0"
date="2013-10-21">
<Change>#Ticket 2223. This project was enhancements to gwt 2.5.1
</Change>
<Change>GCF dependency was removed</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-4-1"
date="2013-09-16">
<Change>Provide support for public link, Related ticket: #1993
</Change>
<Change>Link sharing and public link: generate a human-readable URL
via URL shortening, Related ticket: #1921
</Change>
<Change>Fixed bug on shared links, Ticket #630 </Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-3-0"
date="2013-07-08">
<Change>Provide support for share link, Related ticket: #1504</Change>
<Change>Edit description on sharing, Related ticket: #1822 </Change>
<Change>Bugs fixed, Related Tickets: #628, #633, #630</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-2-0"
date="2013-05-29">
<Change>Provide support for accounting, related ticket: #1752</Change>
<Change>Enable notification for file upload in shared folder, related
ticket: #1732
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-1-0"
date="2013-04-19">
<Change>Workspace portlet was enhanced to meet the requests coming
from the User Community
</Change>
<Change>Related tickets: #1500, #1498, #320, #1487, #1499, #1501,
#1497, #1536
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-0-0"
date="2013-03-05">
<Change>#1259 The workspace portlet was mavenized.</Change>
<Change>Fixed bugs: see #1327, #1278, #1279</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.5-3-0"
date="2013-01-17">
<Change>Ticket #873: Messaging facility to be part of the Social
Portal space
</Change>
<Change>Ticket #872: Workspace Portlet also "outside" of VREs</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.5-2-0"
date="2012-11-30">
<Change>#111 New workspace item (resource link) was added in workspace
portlet
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.5-1-0"
date="2012-09-21">
<Change>New Mail Sender Widget added, supporting multiple attachments
and multiple recipients
</Change>
<Change>Reply and Reply all features added to messages</Change>
<Change>Inbox messages sort by date reverse order</Change>
<Change>Bug fixed: upload file/archive</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.5-0-0"
date="2012-05-04">
<Change>#216 New version of Workspace Portlet is developed using the
GXT framework
</Change>
<Change>#216 Reviews workspace GUI and adding new features</Change>
<Change>#216 Added toolbar with navigation path of items</Change>
<Change>#216 Added toolbar for an easy access to the operations on
items ("Add", "Download", "Rename", "Delete", etc.)
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.4-2-0"
date="2011-07-01">
<Change>#1555: WorkflowTemplate and WorkflowReport required in
Workspace Portlet
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.4-1-0"
date="2011-05-06">
<Change>GWT 2.2.0 support</Change>
<Change>added gwt-ext patch</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.4-0-0"
date="2011-02-07">
<Change>Removed Workspace and Basket type, replaced with folder option
</Change>
<Change>Synch with others changes in HomeLibrary</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.3-2-0"
date="2010-10-22">
<Change>#398: Workspace Details panel improvement</Change>
<Change>used ScopeHelper for session settings</Change>
<Change>Enabled details panel for Report, ReportTemplate and
AquaMapsItem workspace items
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.3-1-0"
date="2010-09-03">
<Change>#30: FCPPS / Workspace / Help does not open</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.3-0-0"
date="2010-07-16">
<Change>Ported to GWT 2.0</Change>
<Change>Updated project structure to WebPortlet</Change>
<Change>Update to LifeRay portal</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-6-0"
date="2010-05-14">
<Change>#424: Workspace code refactoring an enanchement</Change>
<Change>code refactoring, sync with Workspace Portlet Tree changes
</Change>
<Change>added new details panels for Time Series, AquaMaps Item,
Report, Report Template
</Change>
<Change>improved details panels update speed (new panel construction
vs static panels)
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-5-0"
date="2010-01-29">
<Change>gcube release 1.7.0</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-4-0"
date="2009-11-30">
<Change>gcube release 1.6.0</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-3-0"
date="2009-11-16">
<Change>gcube release 1.5.0</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-2-0"
date="2009-10-16">
<Change>gcube release</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-1-1"
date="2009-07-29">
<Change>gcube release 1.2.2</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-1-0"
date="2009-07-14">
<Change>gcube release 1.2.0</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-0-0"
date="2009-05-19">
<Change>gcube release 1.2.0 rc1</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.1-1-2"
date="2009-01-12">
<Change>first release</Change>
</Changeset>
</ReleaseNotes>

View File

@ -15,7 +15,7 @@
<include>README.md</include>
<include>LICENSE.md</include>
<include>profile.xml</include>
<include>changelog.xml</include>
<include>CHANGELOG.md</include>
</includes>
<fileMode>755</fileMode>
<filtered>true</filtered>

View File

@ -1 +0,0 @@
${gcube.license}

View File

@ -1,60 +0,0 @@
The gCube System - ${name}
--------------------------------------------------
${description}
${gcube.description}
${gcube.funding}
Version
--------------------------------------------------
${version} (${buildDate})
Please see the file named "changelog.xml" in this directory for the release notes.
Authors
--------------------------------------------------
* Francesco Mangiacrapa (francesco.mangiacrapa-AT-isti.cnr.it), Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo" - CNR, Pisa (Italy).
Maintainers
-----------
* Francesco Mangiacrapa (francesco.mangiacrapa-AT-isti.cnr.it), Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo" - CNR, Pisa (Italy).
Download information
--------------------------------------------------
Source code is available from SVN:
${scm.url}
Binaries can be downloaded from the gCube website:
${gcube.website}
Installation
--------------------------------------------------
Documentation
--------------------------------------------------
Documentation is available on-line in the gCube Wiki:
${gcube.wikiRoot}/Workspace
Support
--------------------------------------------------
Bugs and support requests can be reported in the gCube issue tracking tool:
${gcube.issueTracking}
Licensing
--------------------------------------------------
This software is licensed under the terms you may find in the file named "LICENSE" in this directory.

View File

@ -1,481 +0,0 @@
<ReleaseNotes>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-23-0"
date="${buildDate}">
<Change>[Task #17226] Removing HL </Change>
<Change>[Task #17524] Hiding 'Add Administrator" on VRE Folders
</Change>
<Change>[Task #17552] Workspace: reconsider the actions Private Link, Folder Link and Get Link
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-22-0"
date="${buildDate}">
<Change>Updated to StorageHub [ticket: #13226]</Change>
<Change>{Bug #13328] Bug fixes</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-21-0"
date="2018-11-01">
<Change>Task #13106: Provide public links for versioned files
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-20-0"
date="2018-09-01">
<Change>Task #12604: Migrate Move operation to StorageHub
</Change>
<Change>Incident #12922: Bug fix</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-19-1"
date="2018-07-02">
<Change>Revised Style sheet and updated to common set of icons
</Change>
<Change>[Task #12089] Migrate to workspace-uploader 2.0
</Change>
<Change>[Release #12006] Removed portlets-widgets.wsmail-widget
dependency
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-19-0"
date="2018-06-07">
<Change>[Project Activity #11690] Integrated with Task Executor Widget
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-18-0"
date="2018-03-01">
<Change>[Task #11127] Porting to new ws-thredds engine</Change>
<Change>[Feature #11325] Workspace: add New URL feature in the context
menu of right pane
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-4"
date="2018-01-09">
<Change>Issue #10831, Workspace download folder tomcat temp occupation
issue
</Change>
<Change>[Incident #11113] Bug fixing</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-3"
date="2017-11-20">
<Change>Task #9758: bug fixing</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-2"
date="2017-09-13">
<Change>Incident #9676: fixed. Removed check on get sub-folder public
link when operation is performed by an administrator
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-1"
date="2017-05-22">
<Change>Feature #5207: integrate image previewer widget
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-17-0"
date="2017-04-12">
<Change>Task #8070: file versioning info panel added into How-to
</Change>
<Change>Improved responsivness, added collapsible tree panel when
device is a phone and shifted download button next to the upload one.
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-16-0"
date="2017-03-03">
<Change>Removed accesslogger dependency</Change>
<Change>[Task #6988] Fixed Edit administrator showing</Change>
<Change>[Feature #7006] File Versioning</Change>
<Change>Edit administrator can be performed also by other
Administrator/s
</Change>
<Change>Edit permissions can be performed also by Administrators
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-15-1"
date="2017-02-02">
<Change>Minor fixes
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-15-0"
date="2016-11-29">
<Change>[Feature #5873] Remove ASL Session from the Workspace and its
components
</Change>
<Change>Updated the Show event on a object of kind LINK: it is opened
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-14-0"
date="2016-09-14">
<Change>[Feature #2335] Added "Get Folder Link" facility</Change>
<Change>[Incident #4878] Fixed: Workspace tree not displaying user's
name
</Change>
<Change>[Feature #5116] Implemented Show public folders in the
Workspace via Smart Folder
</Change>
<Change>[Feature #5110] Added Enabled/Disabled Public Access to
workspace history
</Change>
<Change>[Bug #5218] Fixed return to the Workspace root Folder</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-13-0"
date="2016-05-31">
<Change>[Feature #4128] Migration to Liferay 6.2</Change>
<Change>Data Catalogue publishing supported</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-12-0"
date="2016-05-16">
<Change>Integrated with new workspace uploader</Change>
<Change>Bug fixed: Css for Dialog Cancel multiple files</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-11-0"
date="2016-01-13">
<Change>[Feature #1925] Added, new public link format:
http://host/storageID
</Change>
<Change>[Feature #1298] Update public link generation</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-10-1"
date="2015-12-16">
<Change>Bug Fixing - #1804; #1808; #1822; #1333</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-10-0"
date="2015-11-19">
<Change>[Feature #124] Remove a user from shared folder</Change>
<Change>[Feature #1259] Enhancement to workspace item history</Change>
<Change>[Bug #1373] Fixed: breadcrumb slowness on file upload
make
upload of files on parent folders
</Change>
<Change>[Incident #1338] Fixed: Workspace and ownership ... something
is wrong
</Change>
<Change>[Bug #1459] Fixed: get link disabled</Change>
<Change>[Bug #1260] Fixed: minor glitch on Chrome, topbar shows
vertical scroller
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-9-0"
date="2015-10-30">
<Change>[Bug #718] Fixed breadcrumb path</Change>
<Change>[Bug #546] Fixed bug</Change>
<Change>[Bug #531] Fixed issue on create folder</Change>
<Change>[Feature #429] Realized. Integrated with workspace-uploader
</Change>
<Change>[Bug #1270] Fixed. Workspace improvements: many rpc calls
after an delete multiple
</Change>
<Change>[Feature #1280] Workspace GUI: quote and available feature
improvements
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-8-0"
date="2015-07-06">
<Change>[Feature #129] Porting to HL 2.0
</Change>
<Change>Feature #332] Generate workspace Public Link with SMP-ID
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-7-1"
date="2015-04-15">
<Change>Integrated Contacts Edit Permissions
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-7-0"
date="2014-10-29">
<Change>Added user storage usage
</Change>
<Change>Added notifications for: set folder Administrator, delete
shared folder
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-7"
date="2014-09-01">
<Change>Fixed support #813: Broken Breadcrumb for long path
</Change>
<Change>Added "Edit Administrators"
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-6"
date="2014-06-04">
<Change>Added Trash:
https://issue.imarine.research-infrastructures.eu/ticket/2497
</Change>
<Change>Updated pom to support new portal configuration (gcube release
3.2)
</Change>
<Change>Completed activity to
https://support.social.isti.cnr.it/ticket/126
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-5"
date="2014-06-04">
<Change>Integrated trash:
https://issue.imarine.research-infrastructures.eu/ticket/2497
</Change>
<Change>Updated pom to support new portal configuration (gcube release
3.2)
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-4"
date="2014-05-22">
<Change>Fixed:
https://support.d4science.research-infrastructures.eu/ticket/843
</Change>
<Change>Added: item number in grid and trash. See:
https://issue.imarine.research-infrastructures.eu/ticket/282
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-2"
date="2014-3-17">
<Change>Management of My Special Folder</Change>
<Change>Added change permissions to VRE shared folder</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-0"
date="2014-06-04">
<Change>Added Trash:
https://issue.imarine.research-infrastructures.eu/ticket/2497
</Change>
<Change>Updated pom to support new portal configuration (gcube release
3.2)
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-0"
date="2014-05-22">
<Change>Fixed:
https://support.d4science.research-infrastructures.eu/ticket/843
</Change>
<Change>Added: item number in grid and trash. See:
https://issue.imarine.research-infrastructures.eu/ticket/282
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-0"
date="2014-03-17">
<Change>Management of "My Special Folder"</Change>
<Change>Added change permissions to VRE shared folder</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-6-0"
date="2014-02-07">
<Change>#2634 Workspace: support for setting permissions over shared
folders
</Change>
<Change>#2633 Workspace: support for VRE Shared Folders</Change>
<Change>#2290 Worskspace history operations: should support the
session validation
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-5-0"
date="2013-12-12">
<Change>#Ticket 738 fixed. HomeLibrary initialize Exception
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-5-0"
date="2013-10-21">
<Change>#Ticket 2223. This project was enhancements to gwt 2.5.1
</Change>
<Change>GCF dependency was removed</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-4-1"
date="2013-09-16">
<Change>Provide support for public link, Related ticket: #1993
</Change>
<Change>Link sharing and public link: generate a human-readable URL
via URL shortening, Related ticket: #1921
</Change>
<Change>Fixed bug on shared links, Ticket #630 </Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-3-0"
date="2013-07-08">
<Change>Provide support for share link, Related ticket: #1504</Change>
<Change>Edit description on sharing, Related ticket: #1822 </Change>
<Change>Bugs fixed, Related Tickets: #628, #633, #630</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-2-0"
date="2013-05-29">
<Change>Provide support for accounting, related ticket: #1752</Change>
<Change>Enable notification for file upload in shared folder, related
ticket: #1732
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-1-0"
date="2013-04-19">
<Change>Workspace portlet was enhanced to meet the requests coming
from the User Community
</Change>
<Change>Related tickets: #1500, #1498, #320, #1487, #1499, #1501,
#1497, #1536
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.6-0-0"
date="2013-03-05">
<Change>#1259 The workspace portlet was mavenized.</Change>
<Change>Fixed bugs: see #1327, #1278, #1279</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.5-3-0"
date="2013-01-17">
<Change>Ticket #873: Messaging facility to be part of the Social
Portal space
</Change>
<Change>Ticket #872: Workspace Portlet also "outside" of VREs</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.5-2-0"
date="2012-11-30">
<Change>#111 New workspace item (resource link) was added in workspace
portlet
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.5-1-0"
date="2012-09-21">
<Change>New Mail Sender Widget added, supporting multiple attachments
and multiple recipients
</Change>
<Change>Reply and Reply all features added to messages</Change>
<Change>Inbox messages sort by date reverse order</Change>
<Change>Bug fixed: upload file/archive</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.5-0-0"
date="2012-05-04">
<Change>#216 New version of Workspace Portlet is developed using the
GXT framework
</Change>
<Change>#216 Reviews workspace GUI and adding new features</Change>
<Change>#216 Added toolbar with navigation path of items</Change>
<Change>#216 Added toolbar for an easy access to the operations on
items ("Add", "Download", "Rename", "Delete", etc.)
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.4-2-0"
date="2011-07-01">
<Change>#1555: WorkflowTemplate and WorkflowReport required in
Workspace Portlet
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.4-1-0"
date="2011-05-06">
<Change>GWT 2.2.0 support</Change>
<Change>added gwt-ext patch</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.4-0-0"
date="2011-02-07">
<Change>Removed Workspace and Basket type, replaced with folder option
</Change>
<Change>Synch with others changes in HomeLibrary</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.3-2-0"
date="2010-10-22">
<Change>#398: Workspace Details panel improvement</Change>
<Change>used ScopeHelper for session settings</Change>
<Change>Enabled details panel for Report, ReportTemplate and
AquaMapsItem workspace items
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.3-1-0"
date="2010-09-03">
<Change>#30: FCPPS / Workspace / Help does not open</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.3-0-0"
date="2010-07-16">
<Change>Ported to GWT 2.0</Change>
<Change>Updated project structure to WebPortlet</Change>
<Change>Update to LifeRay portal</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-6-0"
date="2010-05-14">
<Change>#424: Workspace code refactoring an enanchement</Change>
<Change>code refactoring, sync with Workspace Portlet Tree changes
</Change>
<Change>added new details panels for Time Series, AquaMaps Item,
Report, Report Template
</Change>
<Change>improved details panels update speed (new panel construction
vs static panels)
</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-5-0"
date="2010-01-29">
<Change>gcube release 1.7.0</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-4-0"
date="2009-11-30">
<Change>gcube release 1.6.0</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-3-0"
date="2009-11-16">
<Change>gcube release 1.5.0</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-2-0"
date="2009-10-16">
<Change>gcube release</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-1-1"
date="2009-07-29">
<Change>gcube release 1.2.2</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-1-0"
date="2009-07-14">
<Change>gcube release 1.2.0</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.2-0-0"
date="2009-05-19">
<Change>gcube release 1.2.0 rc1</Change>
</Changeset>
<Changeset
component="org.gcube.portlets-user.workspace-portlet.1-1-2"
date="2009-01-12">
<Change>first release</Change>
</Changeset>
</ReleaseNotes>

View File

@ -1,32 +0,0 @@
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>servicearchive</id>
<formats>
<format>tar.gz</format>
</formats>
<baseDirectory>/</baseDirectory>
<fileSets>
<fileSet>
<directory>${distroDirectory}</directory>
<outputDirectory>/</outputDirectory>
<useDefaultExcludes>true</useDefaultExcludes>
<includes>
<include>README</include>
<include>LICENSE</include>
<include>changelog.xml</include>
<include>profile.xml</include>
</includes>
<fileMode>755</fileMode>
<filtered>true</filtered>
</fileSet>
</fileSets>
<files>
<file>
<source>target/${build.finalName}.${project.packaging}</source>
<outputDirectory>/${artifactId}</outputDirectory>
</file>
</files>
</assembly>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ID></ID>
<Type>Service</Type>
<Profile>
<Description>${description}</Description>
<Class>PortletUser</Class>
<Name>${artifactId}</Name>
<Version>${version}</Version>
<Packages>
<Software>
<Name>${artifactId}</Name>
<Version>${version}</Version>
<MavenCoordinates>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
</MavenCoordinates>
<Files>
<File>target/${build.finalName}.war</File>
</Files>
</Software>
</Packages>
</Profile>
</Resource>

157
pom.xml
View File

@ -6,21 +6,21 @@
<parent>
<artifactId>maven-parent</artifactId>
<groupId>org.gcube.tools</groupId>
<version>1.1.0</version>
<version>1.2.0</version>
<relativePath />
</parent>
<groupId>org.gcube.portlets.user</groupId>
<artifactId>workspace</artifactId>
<packaging>war</packaging>
<version>6.23.1</version>
<version>6.30.0</version>
<name>gCube Workspace Portlet</name>
<description>
gCube Workspace Portlet is a web-gui to manage the gCube workspace, a collaborative area where users can exchange and organize information objects (workspace items) according to their specific needs.
Every user of any Virtual Research Environment is provided with this area for the exchange of workspace objects (share) with other users.
Such an area is further organized in workspaces as to resemble a classic folder-based file system.
</description>
<properties>
<!-- Convenience property to set the GWT version -->
<gwtVersion>2.7.0</gwtVersion>
@ -29,42 +29,62 @@
<maven.compiler.target>1.8</maven.compiler.target>
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
<additionalparam>-Xdoclint:none</additionalparam>
<jackson.version>2.8.11</jackson.version>
<gcube-portal-bom-version>3.7.0</gcube-portal-bom-version>
<gxt2.2.5-gwt2.X-version>2.7.0</gxt2.2.5-gwt2.X-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<scm>
<connection>scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</connection>
<developerConnection>scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</developerConnection>
<url>https://code-repo.d4science.org/gCubeSystem/${project.artifactId}</url>
</scm>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.gcube.distribution</groupId>
<artifactId>maven-portal-bom</artifactId>
<version>3.6.0</version>
<version>${gcube-portal-bom-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<!-- PROD profile -->
<!-- <profile> -->
<!-- <id>workspace-release-profile</id> -->
<!-- <activation> -->
<!-- <property> -->
<!-- <name>Release</name> -->
<!-- </property> -->
<!-- </activation> -->
<!-- <properties> -->
<!-- <gcube-portal-bom-version>3.7.0</gcube-portal-bom-version> -->
<!-- </properties> -->
<!-- </profile> -->
<!-- DEV profile -->
<!-- <profile> -->
<!-- <id>workspace-snapshot-profile</id> -->
<!-- <activation> -->
<!-- <property> -->
<!-- <name>!Release</name> -->
<!-- </property> -->
<!-- </activation> -->
<!-- <properties> -->
<!-- <gcube-portal-bom-version>3.8.0-SNAPSHOT</gcube-portal-bom-version> -->
<!-- </properties> -->
<!-- </profile> -->
</profiles>
<dependencies>
<!-- UNCOMMENT THIS TO RUN IN DEVO MODE -->
<!-- <dependency> -->
<!-- <groupId>xerces</groupId> -->
<!-- <artifactId>xerces</artifactId> -->
<!-- <version>2.4.0</version> -->
<!-- </dependency> -->
<!-- This dependency is needed and is need on TOP to use GWT UI BInder
without old Xerces version of gCore complaining -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
@ -77,20 +97,21 @@
<version>${gwtVersion}</version>
<scope>provided</scope>
</dependency>
<!-- PORTAL MANAGER -->
<dependency>
<groupId>org.gcube.common.portal</groupId>
<artifactId>portal-manager</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.9.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.common</groupId>
<artifactId>authorization-client</artifactId>
@ -118,13 +139,6 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.portlets.widgets</groupId>
<artifactId>ckan-metadata-publisher-widget</artifactId>
<version>[1.0.0, 2.0.0-SNAPSHOT)</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.gwtbootstrap</groupId>
<artifactId>gwt-bootstrap</artifactId>
@ -138,19 +152,24 @@
<dependency>
<groupId>org.gcube.contentmanagement</groupId>
<artifactId>storage-manager-wrapper</artifactId>
<!-- Resolving conflict (NoSuchMethodError stax2/ri/EmptyIterator) with
version stax2-api:jar:4.1 see https://support.d4science.org/issues/26825#note-5 -->
<exclusions>
<exclusion>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>stax2-api</artifactId>
</exclusion>
</exclusions>
<scope>provided</scope>
</dependency>
<!-- Metadata publisher widget -->
<dependency>
<groupId>org.gcube.portlets.widgets</groupId>
<artifactId>ckan-metadata-publisher-widget</artifactId>
<version>[1.0.0,2.0.0-SNAPSHOT)</version>
<scope>compile</scope>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sencha.gxt</groupId>
<artifactId>gxt2.2.5-gwt2.X</artifactId>
@ -158,26 +177,13 @@
<scope>compile</scope>
</dependency>
<!-- WebSocket dep (does not work on Jetty)
<dependency>
<groupId>org.realityforge.gwt.websockets</groupId>
<artifactId>gwt-websockets</artifactId>
<version>1.1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
-->
<!-- FWS -->
<dependency>
<groupId>org.gcube.resources.discovery</groupId>
<artifactId>ic-client</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.core</groupId>
<artifactId>common-scope-maps</artifactId>
@ -185,6 +191,22 @@
</dependency>
<!-- END FWS -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.gcube.portlets.widgets</groupId>
<artifactId>session-checker</artifactId>
@ -204,9 +226,26 @@
<dependency>
<groupId>org.gcube.portal</groupId>
<artifactId>social-networking-library</artifactId>
<artifactId>social-library-stubs</artifactId>
<version>[1.0.0-SNAPSHOT, 2.0.0)</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.social-networking</groupId>
<artifactId>social-service-client</artifactId>
<version>[2.0.0-SNAPSHOT, 3.0.0)</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.gcube.portal</groupId>
<artifactId>social-networking-library</artifactId>
</exclusion>
<exclusion>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.gcube.applicationsupportlayer</groupId>
@ -217,8 +256,14 @@
<dependency>
<groupId>org.gcube.portlets.user</groupId>
<artifactId>workspace-tree-widget</artifactId>
<version>[6.0.0, 7.0.0-SNAPSHOT)</version>
<version>[6.31.3-SNAPSHOT, 7.0.0-SNAPSHOT)</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- User Management Core -->
@ -231,15 +276,9 @@
<dependency>
<groupId>org.gcube.portlets.widgets</groupId>
<artifactId>ws-task-executor-widget</artifactId>
<version>[0.0.1, 2.0.0-SNAPSHOT)</version>
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
</dependency>
<!-- Force jackson-annotation dependency to 2.7 version -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>javax.portlet</groupId>
@ -261,8 +300,14 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
@ -387,4 +432,4 @@
</plugins>
</build>
</project>
</project>

View File

@ -33,11 +33,12 @@
<inherits
name='org.gcube.portlets.widgets.openlayerbasicwidgets.olbasicwidgets' />
<inherits
name='org.gcube.portlets.widgets.mpformbuilder.MetadataProfileFormBuilder' />
<inherits
name='org.gcube.portlets.widgets.ckandatapublisherwidget.CKanMetadataPublisher' />
<!--<inherits name="org.realityforge.gwt.websockets.WebSockets" />-->
<!--<inherits name="org.realityforge.gwt.websockets.WebSockets" /> -->
<!-- Specify the app entry point class. -->
<entry-point

View File

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
@ -101,7 +102,7 @@ import org.gcube.portlets.user.workspace.client.view.toolbars.GxtBreadcrumbPathP
import org.gcube.portlets.user.workspace.client.view.trash.WindowTrash;
import org.gcube.portlets.user.workspace.client.view.versioning.WindowVersioning;
import org.gcube.portlets.user.workspace.client.view.windows.DialogConfirm;
import org.gcube.portlets.user.workspace.client.view.windows.DialogGetInfo;
import org.gcube.portlets.user.workspace.client.view.windows.DialogGetInfoBootstrap;
import org.gcube.portlets.user.workspace.client.view.windows.InfoDisplay;
import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxAlert;
import org.gcube.portlets.user.workspace.shared.GarbageItem;
@ -116,7 +117,14 @@ import org.gcube.portlets.widgets.workspacesharingwidget.client.rpc.WorkspaceSha
import org.gcube.portlets.widgets.workspacesharingwidget.shared.ExtendedWorkspaceACL;
import org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.WorskpaceUploadNotificationListener;
import org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload;
import org.gcube.portlets.widgets.wsexplorer.client.WorkspaceExplorerConstants;
import org.gcube.portlets.widgets.wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener;
import org.gcube.portlets.widgets.wsexplorer.client.select.WorkspaceExplorerSelectDialog;
import org.gcube.portlets.widgets.wsexplorer.client.view.grid.ItemsTable.DISPLAY_FIELD;
import org.gcube.portlets.widgets.wsexplorer.shared.Item;
import com.extjs.gxt.ui.client.core.XDOM;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
@ -126,12 +134,14 @@ import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.Cookies;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.ScrollPanel;
@ -187,6 +197,7 @@ public class AppController implements SubscriberInterface {
EventsTypeEnum.TRASH_EVENT,
EventsTypeEnum.UPDATE_WORKSPACE_SIZE,
EventsTypeEnum.UPDATED_VRE_PERMISSION,
EventsTypeEnum.GET_DETAILS_FOR_ITEM,
EventsTypeEnum.FILE_VERSIONING_HISTORY_EVENT
});
bind();
@ -309,17 +320,6 @@ public class AppController implements SubscriberInterface {
});
// eventBus.addHandler(GetPublicLinkEvent.TYPE, new GetPublicLinkEventHandler() {
//
// @Override
// public void onGetPublicLink(GetPublicLinkEvent getPublicLinkEvent) {
// // TODO Auto-generated method stub
// if(getPublicLinkEvent.getSourceFile()!=null){
// AppControllerExplorer.getEventBus().fireEvent(new GetPublicLinkEvent(getPublicLinkEvent.getSourceFile(), getPublicLinkEvent.getVersion()));
// }
// }
// });
eventBus.addHandler(AccountingHistoryEvent.TYPE, new AccountingHistoryEventHandler() {
@Override
@ -356,22 +356,12 @@ public class AppController implements SubscriberInterface {
if(file==null)
file = getGridSelectedItem();
if(file!=null)
new DialogGetInfo(file);
if(file!=null) {
showDetails(file,AppControllerExplorer.mapOfAllowedMimeTypesForPreview);
}
}
});
// eventBus.addHandler(GetShareLinkEvent.TYPE, new GetSharedLinkEventHandler() {
//
// @Override
// public void onGetLink(GetShareLinkEvent getLinkEvent) {
//
// FileModel getLinkFile = getLinkEvent.getSourceFile()!=null?getLinkEvent.getSourceFile():wsPortlet.getToolBarPath().getLastParent();
// GWT.log("Fired from WS GetShareLinkEvent on: "+getLinkFile);
// AppControllerExplorer.getEventBus().fireEvent(new org.gcube.portlets.user.workspace.client.event.GetShareLinkEvent(getLinkFile));
// }
// });
eventBus.addHandler(GridRefreshEvent.TYPE, new GridRefreshEventHandler() {
@Override
@ -452,12 +442,19 @@ public class AppController implements SubscriberInterface {
if(!event.isMultiSelection()){ //IS NOT MULTISELECTION
doElementGridSelected(true, event.getSourceFile());
//showing item details if east panel is visible
if(getMainPanel().getEastPanel().isVisible()) {
showDetails(event.getSourceFile(),AppControllerExplorer.mapOfAllowedMimeTypesForPreview);
}
}else{ //IS MULTISELECTION
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemFunctionalities().activeButtonForMultiSelection(true);
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().enableInfoHistoryButtons(event.getSourceFile(), false);
}
}
});
@ -590,6 +587,9 @@ public class AppController implements SubscriberInterface {
new MessageBoxAlert("Error", caught.getMessage(), null);
wsPortlet.getGridGroupContainer().unmask();
//Reload the tree and select the root. Fixing Incident [#26678]
AppControllerExplorer.getEventBus().fireEvent(new LoadTreeEvent(true));
}
@ -1418,6 +1418,7 @@ public class AppController implements SubscriberInterface {
//CREATING FOLDER PARENT FOR RPC
final FileModel parent = new FolderModel(folder.getIdentifier(), folder.getName(), folder.getParentFileModel(), true, folder.isShared(), folder.isVreFolder(), folder.isPublic());
parent.setSynchedWithWsThredds(folder.getSynchedWithWsThredds());
wsPortlet.getGridGroupContainer().mask(ConstantsExplorer.LOADING,ConstantsExplorer.LOADINGSTYLE);
appContrExplorer.getRpcWorkspaceService().getFolderChildrenForFileGrid(parent, new AsyncCallback<List<FileGridModel>>() {
@ -2072,86 +2073,143 @@ public class AppController implements SubscriberInterface {
if(operation==null)
return;
switch (operation) {
case SHOW:
WindowTrash.getInstance().show();
break;
case DELETE_PERMANENTLY:
case RESTORE:{
if(trashItemIds==null || trashItemIds.isEmpty())
return;
WindowTrash.getInstance().maskContainer("Updating Trash");
List<String> trashIds = new ArrayList<String>(trashItemIds.size());
GWT.log("Trash items are: "+trashItemIds);
List<String> trashIds = null;
if(trashItemIds!=null) {
//creating list of trash ids
trashIds = new ArrayList<String>(trashItemIds.size());
for (FileModel fileModel : trashItemIds) {
trashIds.add(fileModel.getIdentifier());
}
AppControllerExplorer.rpcWorkspaceService.executeOperationOnTrash(trashIds, operation, new AsyncCallback<TrashOperationContent>() {
@Override
public void onFailure(Throwable arg0) {
WindowTrash.getInstance().unmaskContainer();
}
@Override
public void onSuccess(TrashOperationContent operationResult) {
WindowTrash.getInstance().executeOperationOnTrashContainer(operationResult.getListTrashIds(), operationResult.getOperation());
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().updateTrashIcon(WindowTrash.getInstance().getTrashedFiles().size()>0);
//SHOW POSSIBLY ERRORS
WindowTrash.getInstance().showTrashErrors(operation, operationResult.getListErrors());
if(operation.equals(WorkspaceTrashOperation.RESTORE)){
appContrExplorer.refreshRoot(true);
}
WindowTrash.getInstance().unmaskContainer();
}
});
break;
}
switch (operation) {
default:{
WindowTrash.getInstance().maskContainer("Updating Trash");
AppControllerExplorer.rpcWorkspaceService.updateTrashContent(operation, new AsyncCallback<TrashContent>() {
@Override
public void onFailure(Throwable arg0) {
WindowTrash.getInstance().unmaskContainer();
}
@Override
public void onSuccess(TrashContent operationResult) {
WindowTrash.getInstance().updateTrashContainer(operationResult.getTrashContent());
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().updateTrashIcon(operationResult.getTrashContent().size()>0);
//SHOW POSSIBLY ERRORS
WindowTrash.getInstance().showTrashErrors(operation, operationResult.getListErrors());
if(operation.equals(WorkspaceTrashOperation.RESTORE_ALL)){
appContrExplorer.refreshRoot(true);
case SHOW:
WindowTrash.getInstance().show();
break;
case DELETE_PERMANENTLY:
if(trashIds==null || trashIds.isEmpty())
return;
WindowTrash.getInstance().maskContainer("Updating Trash");
AppControllerExplorer.rpcWorkspaceService.executeOperationOnTrash(trashIds, null, operation, new AsyncCallback<TrashOperationContent>() {
@Override
public void onFailure(Throwable arg0) {
WindowTrash.getInstance().unmaskContainer();
}
@Override
public void onSuccess(TrashOperationContent operationResult) {
WindowTrash.getInstance().executeOperationOnTrashContainer(operationResult.getListTrashIds(), operationResult.getOperation());
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().updateTrashIcon(WindowTrash.getInstance().getTrashedFiles().size()>0);
//SHOW THE ERRORS IF OCCURRED
WindowTrash.getInstance().showTrashErrors(operation, operationResult.getListErrors());
WindowTrash.getInstance().unmaskContainer();
}
});
break;
case RESTORE:
if(trashIds==null || trashIds.isEmpty())
return;
final List<String> toTrashIds = trashIds;
WindowTrash.getInstance().maskContainer("Updating Trash");
WorkspaceExplorerConstants.SELECT = "Restore";
DISPLAY_FIELD[] displayFields = new DISPLAY_FIELD[] { DISPLAY_FIELD.ICON, DISPLAY_FIELD.NAME,
DISPLAY_FIELD.OWNER };
final WorkspaceExplorerSelectDialog navigator = new WorkspaceExplorerSelectDialog("Restore to...", true, rootIdentifier, "", displayFields);
int topZIndex = XDOM.getTopZIndex();
WorskpaceExplorerSelectNotificationListener listener = new WorskpaceExplorerSelectNotificationListener() {
@Override
public void onSelectedItem(Item item) {
AppControllerExplorer.rpcWorkspaceService.executeOperationOnTrash(toTrashIds, item.getId(), operation, new AsyncCallback<TrashOperationContent>() {
@Override
public void onFailure(Throwable arg0) {
WindowTrash.getInstance().unmaskContainer();
}
@Override
public void onSuccess(TrashOperationContent operationResult) {
WindowTrash.getInstance().executeOperationOnTrashContainer(operationResult.getListTrashIds(), operationResult.getOperation());
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().updateTrashIcon(WindowTrash.getInstance().getTrashedFiles().size()>0);
//SHOW THE ERRORS IF OCCURRED
WindowTrash.getInstance().showTrashErrors(operation, operationResult.getListErrors());
appContrExplorer.refreshRoot(true);
WindowTrash.getInstance().unmaskContainer();
}
});
}
@Override
public void onAborted() {
WindowTrash.getInstance().unmaskContainer();
}
@Override
public void onFailed(Throwable throwable) {
Window.alert("Error: "+throwable.getMessage());
WindowTrash.getInstance().unmaskContainer();
}
@Override
public void onNotValidSelection() {
}
};
navigator.addWorkspaceExplorerSelectNotificationListener(listener);
navigator.setZIndex(topZIndex+10);
navigator.show();
break;
WindowTrash.getInstance().unmaskContainer();
}
});
break;
}
default:{
WindowTrash.getInstance().maskContainer("Updating Trash");
GWT.log("Performing trash operation: "+operation);
AppControllerExplorer.rpcWorkspaceService.updateTrashContent(operation, new AsyncCallback<TrashContent>() {
@Override
public void onFailure(Throwable arg0) {
WindowTrash.getInstance().unmaskContainer();
}
@Override
public void onSuccess(TrashContent operationResult) {
GWT.log("Returned from operation: "+operation + " with result: "+operationResult);
WindowTrash.getInstance().updateTrashContainer(operationResult.getTrashContent());
wsPortlet.getGxtCardLayoutResultPanel().getToolBarItemDetails().updateTrashIcon(operationResult.getTrashContent().size()>0);
//SHOW POSSIBLY ERRORS
WindowTrash.getInstance().showTrashErrors(operation, operationResult.getListErrors());
if(operation.equals(WorkspaceTrashOperation.RESTORE_ALL)){
appContrExplorer.refreshRoot(true);
}
WindowTrash.getInstance().unmaskContainer();
}
});
}
}
}
@ -2242,4 +2300,27 @@ public class AppController implements SubscriberInterface {
AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.SHOW, file, null, null, null));
}
@Override
public void showDetails(FileModel fileModel, Map<String,List<String>> mapAllowedMimeTypesForPreview) {
GWT.log("show details for: "+fileModel.getName());
final ContentPanel eastPanel = this.getMainPanel().getEastPanel();
eastPanel.removeAll();
Command onCloseCommand = new Command() {
@Override
public void execute() {
eastPanel.setVisible(false);
}
};
ScrollPanel panel = new ScrollPanel();
DialogGetInfoBootstrap dlg = new DialogGetInfoBootstrap(fileModel, onCloseCommand, mapAllowedMimeTypesForPreview);
panel.add(dlg);
eastPanel.add(panel);
eastPanel.setVisible(true);
eastPanel.layout();
}
}

View File

@ -0,0 +1,42 @@
package org.gcube.portlets.user.workspace.client.view;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.NumberFormat;
/**
* The Class SizeUtil.
*
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
*
* Nov 5, 2021
*/
public class SizeUtil {
public static final NumberFormat numberFormat = NumberFormat.getFormat("#,##0.#");
/**
* Readable file size.
*
* @param size the size
* @return the string
*/
public static String readableFileSize(long size) {
GWT.log("Converting size: "+size);
// -1 should be the size of a folder
if (size == -1)
return "";
// in some cases the size returned by SHUB is negative,
// so reporting as 1B to user
if (size < 0)
return "1 byte";
if (size == 0)
return "0 byte";
final String[] units = new String[] { "bytes", "kB", "MB", "GB", "TB" };
int digitGroups = (int) (Math.log10(size) / Math.log10(1024));
return numberFormat.format(size / Math.pow(1024, digitGroups)) +" " +units[digitGroups];
}
}

View File

@ -5,7 +5,6 @@ import java.util.Arrays;
import java.util.List;
import org.gcube.portlets.user.workspace.client.AppController;
import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent;
import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent.DownloadType;
import org.gcube.portlets.user.workspace.client.event.ImagePreviewEvent;
@ -18,6 +17,7 @@ import org.gcube.portlets.user.workspace.client.gridevent.StoreGridChangedEvent;
import org.gcube.portlets.user.workspace.client.model.FileGridModel;
import org.gcube.portlets.user.workspace.client.model.FileModel;
import org.gcube.portlets.user.workspace.client.model.GroupingStoreModel;
import org.gcube.portlets.user.workspace.client.view.SizeUtil;
import com.extjs.gxt.ui.client.Style.SelectionMode;
import com.extjs.gxt.ui.client.data.ModelData;
@ -50,28 +50,24 @@ import com.extjs.gxt.ui.client.widget.grid.filters.StringFilter;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.google.gwt.core.shared.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.user.client.Random;
/**
* The Class GxtGridFilterGroupPanel.
*
* @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it
* Nov 17, 2015
* Nov 17, 2015
*/
public class GxtGridFilterGroupPanel extends LayoutContainer {
private ContentPanel cp = new ContentPanel();
// private ListStore<FileModel> store = ListStoreModel.getInstance().getStore();
private GroupingStore<FileGridModel> store = GroupingStoreModel.getInstance().getStore();
private FileGridModel currentItemSelected = null;
private FileModel currentFolderView = null;
private GroupingView view = new GroupingView();
private boolean groupingEnabled = false;
private NumberFormat number = ConstantsExplorer.numberFormatterKB;
private final Grid<FileGridModel> grid;
private ColumnModel cm = null;
private final Grid<FileGridModel> grid;
private ColumnModel cm = null;
/**
* Instantiates a new gxt grid filter group panel.
@ -80,23 +76,21 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
*/
public GxtGridFilterGroupPanel(boolean group) {
// setLayout(new FitLayout());
setId("GxtGridFilterGroupPanel "+Random.nextInt());
ColumnConfig icon = new ColumnConfig(FileModel.ICON, "", 40);
setId("GxtGridFilterGroupPanel " + Random.nextInt());
ColumnConfig icon = new ColumnConfig(FileModel.ICON, "", 60);
icon.setSortable(false);
ColumnConfig name = new ColumnConfig(FileGridModel.NAME, FileGridModel.NAME, 280);
ColumnConfig type = new ColumnConfig(FileGridModel.TYPE, FileGridModel.TYPE, 60);
ColumnConfig lastUpdate = new ColumnConfig(FileGridModel.LASTMODIFIED, "Last Update", 90);
lastUpdate.setDateTimeFormat(DateTimeFormat.getFormat("dd MMM hh:mm aaa yyyy"));
ColumnConfig category = new ColumnConfig(FileModel.HUMAN_REDABLE_CATEGORY, FileModel.HUMAN_REDABLE_CATEGORY, 100);
ColumnConfig category = new ColumnConfig(FileModel.HUMAN_REDABLE_CATEGORY, FileModel.HUMAN_REDABLE_CATEGORY,
100);
ColumnConfig size = new ColumnConfig(FileGridModel.SIZE, FileGridModel.SIZE, 45);
ColumnConfig ownerFullName = new ColumnConfig(FileGridModel.OWNERFULLNAME, FileGridModel.OWNER, 90);
size.setEditor(new CellEditor(new NumberField()));
if(group)
if (group)
cm = new ColumnModel(Arrays.asList(icon, name, ownerFullName, type, lastUpdate, size, category));
else
cm = new ColumnModel(Arrays.asList(icon, name, ownerFullName, type, lastUpdate, size));
@ -110,50 +104,46 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
grid = new Grid<FileGridModel>(store, columnModel);
grid.getView().setAutoFill(true);
view.setShowGroupedColumn(false);
view.setForceFit(true);
grid.setView(view);
view.setEmptyText(FileGridModel.EMPTY);
view.setShowGroupedColumn(false);
view.setForceFit(true);
grid.setView(view);
view.setEmptyText(FileGridModel.EMPTY);
if(group){
store.groupBy(FileGridModel.HUMAN_REDABLE_CATEGORY);
groupingEnabled = true;
}
if (group) {
store.groupBy(FileGridModel.HUMAN_REDABLE_CATEGORY);
groupingEnabled = true;
}
GridCellRenderer<FileGridModel> folderRender = new GridCellRenderer<FileGridModel>() {
GridCellRenderer<FileGridModel> folderRender = new GridCellRenderer<FileGridModel>() {
@Override
public String render(FileGridModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<FileGridModel> store, Grid<FileGridModel> grid) {
String val = model.get(property);
if(val==null || val.isEmpty())
return "";
public String render(FileGridModel model, String property, ColumnData config, int rowIndex, int colIndex,
ListStore<FileGridModel> store, Grid<FileGridModel> grid) {
String val = model.get(property);
if (val == null || val.isEmpty())
return "";
return "<span qtitle='" + columnModel.getColumnById(property).getHeader() + "' qtip='" + val + "' >" + val + "</span>";
return "<span qtitle='" + columnModel.getColumnById(property).getHeader() + "' qtip='" + val + "' >"
+ val + "</span>";
}
};
};
GridCellRenderer<FileGridModel> kbRender = new GridCellRenderer<FileGridModel>() {
@Override
public String render(FileGridModel model, String property, ColumnData config,
int rowIndex, int colIndex, ListStore<FileGridModel> store, Grid<FileGridModel> grid) {
GridCellRenderer<FileGridModel> kbRender = new GridCellRenderer<FileGridModel>() {
@Override
public String render(FileGridModel model, String property, ColumnData config, int rowIndex, int colIndex,
ListStore<FileGridModel> store, Grid<FileGridModel> grid) {
long value = (Long) model.get(property);
long value = (Long) model.get(property);
//
if (value != -1) {
String theSize = SizeUtil.readableFileSize(value);
return "<span>" + theSize + "</span>";
}
return "";
}
};
if(value!=-1){
double kb = value/1024;
if(kb<1)
kb=1;
return "<span>" + number.format(kb) + "</span>";
}
return "";
}
};
size.setRenderer(kbRender);
type.setRenderer(folderRender);
//setAlphanumericStoreSorter(grid);
size.setRenderer(kbRender);
type.setRenderer(folderRender);
GridFilters filters = new GridFilters();
filters.setLocal(true);
@ -186,17 +176,16 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
ModelData target = se.getSelectedItem();
if(target!=null){
if (target != null) {
currentItemSelected = (FileGridModel) target;
boolean isMultiselection = false;
if(se.getSelection()!=null && se.getSelection().size()>1)
if (se.getSelection() != null && se.getSelection().size() > 1)
isMultiselection = true;
AppController.getEventBus().fireEvent(new GridElementSelectedEvent(target, isMultiselection));
}
else{
} else {
currentItemSelected = null;
AppController.getEventBus().fireEvent(new GridElementUnSelectedEvent());
}
@ -204,7 +193,6 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
}
});
grid.addListener(Events.RowDoubleClick, new Listener<BaseEvent>() {
@Override
@ -212,39 +200,40 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
FileGridModel fileModel = grid.getSelectionModel().getSelectedItem();
if(fileModel!=null)
if (fileModel != null)
fireEventByFileModelType(fileModel);
// if(fileModel.isDirectory())
// AppController.getEventBus().fireEvent(new DoubleClickElementSelectedEvent(fileModel));
// if(fileModel.isDirectory())
// AppController.getEventBus().fireEvent(new
// DoubleClickElementSelectedEvent(fileModel));
}
});
});
grid.setContextMenu(null); // add context menu null - ignore browse event right click
grid.setContextMenu(null); //add context menu null - ignore browse event right click
grid.addListener(Events.OnContextMenu, new Listener<GridEvent<FileGridModel>>(){
grid.addListener(Events.OnContextMenu, new Listener<GridEvent<FileGridModel>>() {
@Override
public void handleEvent(GridEvent<FileGridModel> be)
{
public void handleEvent(GridEvent<FileGridModel> be) {
if(be.isRightClick()){
if (be.isRightClick()) {
List<FileGridModel> selection = grid.getSelectionModel().getSelection();
if(selection!=null && selection.size()>0){
List<FileGridModel> selection = grid.getSelectionModel().getSelection();
if (selection != null && selection.size() > 0) {
// if(grid.getSelectionModel().getSelection().size()>1){
// new InfoDisplay("Info", "The context menu is not available if multi-select is active");
// return;
// }
List<FileModel> selected = new ArrayList<FileModel>(selection.size());
for (FileGridModel fileGridModel : selection) {
selected.add(fileGridModel);
List<FileModel> selected = new ArrayList<FileModel>(selection.size());
for (FileGridModel fileGridModel : selection) {
selected.add(fileGridModel);
}
//List<FileGridModel> selectedItems = grid.getSelectionModel().getSelectedItems();
AppController.getEventBus().fireEvent(new OpenContextMenuTreeEvent(selected, be.getClientX(), be.getClientY()));
}
}
// List<FileGridModel> selectedItems =
// grid.getSelectionModel().getSelectedItems();
AppController.getEventBus()
.fireEvent(new OpenContextMenuTreeEvent(selected, be.getClientX(), be.getClientY()));
}
}
}
});
@ -281,7 +270,7 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
if (groupingStore != null) {
groupingStore.groupBy(FileGridModel.HUMAN_REDABLE_CATEGORY);
}
this.groupingEnabled = true;
this.groupingEnabled = true;
}
}
@ -290,19 +279,18 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
*
* @param target the target
*/
private void fireEventByFileModelType(FileModel target){
private void fireEventByFileModelType(FileModel target) {
if(target.isDirectory()){
if (target.isDirectory()) {
AppController.getEventBus().fireEvent(new DoubleClickElementSelectedEvent(target));
return;
}
switch(target.getGXTFolderItemType()){
switch (target.getGXTFolderItemType()) {
case EXTERNAL_IMAGE:
case IMAGE_DOCUMENT:
AppController.getEventBus().fireEvent(new ImagePreviewEvent(target,0, 0));
AppController.getEventBus().fireEvent(new ImagePreviewEvent(target, 0, 0));
break;
case EXTERNAL_FILE:
case EXTERNAL_PDF_FILE:
@ -311,7 +299,8 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
case URL_DOCUMENT:
case EXTERNAL_RESOURCE_LINK:
AppController.getEventBus().fireEvent(new FileDownloadEvent(target.getIdentifier(), target.getName(), DownloadType.SHOW, target.isDirectory() || target.isVreFolder(), null));
AppController.getEventBus().fireEvent(new FileDownloadEvent(target.getIdentifier(), target.getName(),
DownloadType.SHOW, target.isDirectory() || target.isVreFolder(), null));
break;
case EXTERNAL_URL:
AppController.getEventBus().fireEvent(new ShowUrlEvent(target));
@ -327,27 +316,26 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
}
/**
* Reset store.
*/
private void resetStore(){
private void resetStore() {
store.removeAll();
}
/**
* Update store.
*
* @param result the result
* @return true, if successful
*/
public boolean updateStore(List<FileGridModel> result){
public boolean updateStore(List<FileGridModel> result) {
resetStore();
if(result!= null && result.size()>0){
for(FileGridModel file: result){
//GWT.log("File: "+file.getName() + " has sync: "+file.getSynchedThreddsStatus());
if (result != null && result.size() > 0) {
for (FileGridModel file : result) {
// GWT.log("File: "+file.getName() + " has sync:
// "+file.getSynchedThreddsStatus());
file.setIcon();
}
store.add(result);
@ -356,16 +344,15 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
return false;
}
/**
* Adds the to store.
*
* @param result the result
* @return true, if successful
*/
public boolean addToStore(FileGridModel result){
public boolean addToStore(FileGridModel result) {
if(result!= null){
if (result != null) {
result.setIcon();
store.add(result);
return true;
@ -378,7 +365,7 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
*
* @return the selected item
*/
public FileGridModel getSelectedItem(){
public FileGridModel getSelectedItem() {
return currentItemSelected;
}
@ -388,7 +375,7 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
*
* @return the selected items
*/
public List<FileGridModel> getSelectedItems(){
public List<FileGridModel> getSelectedItems() {
return grid.getSelectionModel().getSelection();
}
@ -398,9 +385,9 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
*
* @return the ids selected items
*/
public List<String> getIdsSelectedItems(){
public List<String> getIdsSelectedItems() {
if(grid.getSelectionModel().getSelection()!=null){
if (grid.getSelectionModel().getSelection() != null) {
List<String> ids = new ArrayList<String>();
for (FileModel file : grid.getSelectionModel().getSelection()) {
@ -421,22 +408,18 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
*/
public boolean deleteItem(String identifier) {
FileGridModel fileTarget = getFileGridModelByIdentifier(identifier);
FileGridModel fileTarget = getFileGridModelByIdentifier(identifier);
if(fileTarget!=null){
if (fileTarget != null) {
Record record = store.getRecord(fileTarget);
store.remove((FileGridModel) record.getModel());
return true;
}
else
System.out.println("Delete Error: file target with " + identifier + " identifier not exist in store" );
} else
System.out.println("Delete Error: file target with " + identifier + " identifier not exist in store");
return false;
}
/**
* Gets the current folder view.
*
@ -446,7 +429,6 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
return currentFolderView;
}
/**
* Sets the current folder view.
*
@ -456,35 +438,32 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
this.currentFolderView = currentFolderView;
}
/**
* Rename item.//
*
* @param itemIdentifier the item identifier
* @param newName the new name
* @param extension the extension
* @param newName the new name
* @param extension the extension
* @return true, if successful
*/
public boolean renameItem(String itemIdentifier, String newName, String extension) {
if(itemIdentifier!=null){
FileGridModel fileTarget = getFileGridModelByIdentifier(itemIdentifier);
if(fileTarget!=null){
if (itemIdentifier != null) {
FileGridModel fileTarget = getFileGridModelByIdentifier(itemIdentifier);
if (fileTarget != null) {
Record record = store.getRecord(fileTarget);
if(record!=null){
if(extension!= null)
record.set(FileGridModel.NAME, newName+extension);
if (record != null) {
if (extension != null)
record.set(FileGridModel.NAME, newName + extension);
else
record.set(FileGridModel.NAME, newName);
return true;
}
}
else
System.out.println("Record Error: file target not exist in store" );
}
else
System.out.println("Rename Error: file target is null" );
} else
System.out.println("Record Error: file target not exist in store");
} else
System.out.println("Rename Error: file target is null");
return false;
@ -496,7 +475,7 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
* @param id the id
* @return the file grid model by identifier
*/
public FileGridModel getFileGridModelByIdentifier(String id){
public FileGridModel getFileGridModelByIdentifier(String id) {
return store.findModel(FileGridModel.IDENTIFIER, id);
}
@ -506,13 +485,13 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
* @param id the id
* @return true, if successful
*/
public boolean selectItemByFileModelId(String id){
public boolean selectItemByFileModelId(String id) {
if(id!=null && !id.isEmpty()){
if (id != null && !id.isEmpty()) {
FileGridModel fileModel = getFileGridModelByIdentifier(id);
if(fileModel!=null){
if (fileModel != null) {
grid.getSelectionModel().select(fileModel, true);
return true;
}
@ -521,29 +500,27 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
return false;
}
/**
* Gets the store.
*
* @return the store
*/
public GroupingStore<FileGridModel> getStore(){
public GroupingStore<FileGridModel> getStore() {
return store;
}
/**
* Sets the border as on search.
*percentulae in java
* Sets the border as on search. percentulae in java
*
* @param bool the new border as on search
*/
public void setBorderAsOnSearch(boolean bool){
public void setBorderAsOnSearch(boolean bool) {
if(this.cp.getElement("body")!=null){
if (this.cp.getElement("body") != null) {
if(bool){
if (bool) {
this.cp.getElement("body").getStyle().setBorderColor("#32CD32");
}
else
} else
this.cp.getElement("body").getStyle().setBorderColor("#99BBE8");
}
@ -552,9 +529,9 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
/**
* Adds the data changed store listener.
*/
private void addDataChangedStoreListener(){
private void addDataChangedStoreListener() {
store.addListener(Store.Add, new Listener<StoreEvent<ModelData>>(){
store.addListener(Store.Add, new Listener<StoreEvent<ModelData>>() {
@Override
public void handleEvent(StoreEvent<ModelData> be) {
@ -563,7 +540,7 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
}
});
store.addListener(Store.Remove, new Listener<StoreEvent<ModelData>>(){
store.addListener(Store.Remove, new Listener<StoreEvent<ModelData>>() {
@Override
public void handleEvent(StoreEvent<ModelData> be) {
@ -572,7 +549,7 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
}
});
store.addListener(Store.Clear, new Listener<StoreEvent<ModelData>>(){
store.addListener(Store.Clear, new Listener<StoreEvent<ModelData>>() {
@Override
public void handleEvent(StoreEvent<ModelData> be) {
@ -588,9 +565,9 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
*
* @return -1 if store is null. The size otherwise
*/
private int storeSize(){
private int storeSize() {
if(store!=null && store.getModels()!=null){
if (store != null && store.getModels() != null) {
return store.getModels().size();
}
@ -600,40 +577,34 @@ public class GxtGridFilterGroupPanel extends LayoutContainer {
/**
* Refresh size.
*
* @param width the width
* @param width the width
* @param height the height
*/
public void refreshSize(String width, String height) {
// if(this.isRendered()){
// GWT.log("refresh size grid "+height);
// this.setHeight(height);
// }
GWT.log("refresh size grid "+width +"; heigth: "+height);
GWT.log("refresh size grid " + width + "; heigth: " + height);
this.setSize(width, height);
cp.setSize(width, height);
grid.setWidth(width);
int theWidth = Integer.parseInt(width.replace("px", ""));
GWT.log("theWidth is "+theWidth);
for (int i=1; i<cm.getColumnCount(); i++) {
GWT.log("theWidth is " + theWidth);
for (int i = 1; i < cm.getColumnCount(); i++) {
ColumnConfig col = cm.getColumn(i);
int percent;
if(i==1) {
percent = theWidth*30/100;
//GWT.log("i is: "+i+" percent is "+percent);
if (i == 1) {
percent = theWidth * 30 / 100;
// GWT.log("i is: "+i+" percent is "+percent);
col.setWidth(percent);
}else if (i==cm.getColumnCount()-1){
percent = theWidth*10/100;
//GWT.log("i is last column: "+i+" percent is "+percent);
} else if (i == cm.getColumnCount() - 1) {
percent = theWidth * 10 / 100;
// GWT.log("i is last column: "+i+" percent is "+percent);
col.setWidth(percent);
}else {
percent = theWidth*20/100;
//GWT.log("i is: "+i+" percent is "+percent);
} else {
percent = theWidth * 20 / 100;
// GWT.log("i is: "+i+" percent is "+percent);
col.setWidth(percent);
}
}
//cp.layout(true);
//this.layout(true);
}
}

View File

@ -90,11 +90,14 @@ public class GxtBorderLayoutPanel extends ContentPanel {
north.setHeaderVisible(false);
west.setHeaderVisible(false);
south.setHeading(ConstantsPortlet.DETAILS);
/* south.setHeading(ConstantsPortlet.DETAILS);
south.setHeaderVisible(false);
south.setLayout(new FitLayout());
south.setLayout(new FitLayout());*/
east.setHeading(ConstantsPortlet.DETAILS);
east.setHeaderVisible(false);
east.setVisible(false);
east.setLayout(new FitLayout());
// south.setVisible(false);
}
@ -128,13 +131,12 @@ public class GxtBorderLayoutPanel extends ContentPanel {
BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER);
centerData.setMargins(new Margins(0));
BorderLayoutData eastData = new BorderLayoutData(LayoutRegion.EAST, 150,50,150);
BorderLayoutData eastData = new BorderLayoutData(LayoutRegion.EAST, 430,430,430);
eastData.setSplit(true);
eastData.setCollapsible(true);
eastData.setMargins(new Margins(0,0,0,1));
eastData.setMargins(new Margins(0,0,0,5));
BorderLayoutData southData = new BorderLayoutData(LayoutRegion.SOUTH, 30,30,30);
southData.setSplit(true);
southData.setCollapsible(false);
@ -142,9 +144,9 @@ public class GxtBorderLayoutPanel extends ContentPanel {
north.add(this.searchAndFilterContainer);
north.setScrollMode(Scroll.AUTOY);
west.add(this.expPanel);
west.add(this.expPanel);
north.addListener(Events.Resize, new Listener<BoxComponentEvent>(){
@Override
@ -191,11 +193,10 @@ public class GxtBorderLayoutPanel extends ContentPanel {
public void handleEvent(BoxComponentEvent be) {
expPanel.getAsycTreePanel().setSizeTreePanel(expPanel.getWidth()-13, expPanel.getHeight()-10);
// if(expPanel.getSmartFolderPanel()!=null)
// expPanel.getSmartFolderPanel().setSizeSmartPanel(expPanel.getWidth()-2, expPanel.getHeight()-29);
// expPaneleast.getSmartFolderPanel().setSizeSmartPanel(expPanel.getWidth()-2, expPanel.getHeight()-29);
}
});
add(north, northData);
add(west, westData);
add(center, centerData);
@ -228,4 +229,8 @@ public class GxtBorderLayoutPanel extends ContentPanel {
public void collapseTreePanel() {
west.collapse();
}
public ContentPanel getEastPanel() {
return east;
}
}

View File

@ -1,6 +1,5 @@
package org.gcube.portlets.user.workspace.client.view.trash;
import java.util.ArrayList;
import java.util.List;
import org.gcube.portlets.user.workspace.client.AppController;
@ -8,6 +7,7 @@ import org.gcube.portlets.user.workspace.client.ConstantsExplorer;
import org.gcube.portlets.user.workspace.client.event.UpdateWorkspaceSizeEvent;
import org.gcube.portlets.user.workspace.client.model.FileTrashedModel;
import org.gcube.portlets.user.workspace.client.resources.Resources;
import org.gcube.portlets.user.workspace.shared.TrashOperationError;
import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation;
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
@ -209,29 +209,25 @@ public class WindowTrash extends Window {
setIcon(Resources.getTrashEmpty());
}
public void showTrashErrors(WorkspaceTrashOperation operation, List<FileTrashedModel> errors){
public void showTrashErrors(WorkspaceTrashOperation operation, List<TrashOperationError> errors){
if(errors!=null && errors.size()>0){
List<String> fileNames = new ArrayList<String>(errors.size());
//BUILDING NAMES
for (FileTrashedModel fileTrashedModel : errors) {
FileTrashedModel trashFile = trashContainers.getFileModelByIdentifier(fileTrashedModel.getIdentifier());
fileNames.add(trashFile.getName());
}
String htmlError = "<div style=\"padding:10px 10px 10px 10px\"><b style=\"font-size:12px\">Sorry an error occured on removing the ";
htmlError+=fileNames.size()>1?"items":"item";
String htmlError = "<div style=\"padding:10px 10px 10px 10px\"><b style=\"font-size:12px\">"+operation.getLabel() +" error";
htmlError+=": </b><br/>";
for (String fileName : fileNames) {
htmlError+="<br/> - "+fileName;
//BUILDING the ERROR MSG TO SHOW
for (TrashOperationError trashOperationError : errors) {
if(trashOperationError.getErroMsg()!=null)
htmlError+="<br/> - "+trashOperationError.getErroMsg();
else {
FileTrashedModel trashFile = trashContainers.getFileModelByIdentifier(trashOperationError.getTrashedFile().getIdentifier());
htmlError+="<br/> - "+trashFile.getName();
}
}
htmlError+="<br/><br/><b>"+"Try again later</b></div>";
Dialog dialog = new Dialog();
dialog.setStyleAttribute("background-color", "#FAFAFA");
dialog.setSize(380, 180);

View File

@ -4857,7 +4857,7 @@ button.btn.btn-mini, input[type="submit"].btn.btn-mini { *
.modal-body {
position: relative;
max-height: 500px !important;
max-height: 500px;
padding: 15px;
overflow-y: auto
}

1
src/test/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/resources/

18
src/test/resources/.gitignore vendored Normal file
View File

@ -0,0 +1,18 @@
/devNext.gcubekey
/devsec.gcubekey
/gcube.gcubekey
/log4j.properties
/pred4s.gcubekey
/preprod.gcubekey
/devVRE.gcubekey
/CNR.it.gcubekey
/D4OS.gcubekey
/D4Research.gcubekey
/FARM.gcubekey
/ISTI.gcubekey
/OpenAIRE.gcubekey
/ParthenosVO.gcubekey
/SmartArea.gcubekey
/SoBigData.gcubekey
/d4science.research-infrastructures.eu.gcubekey
/gCubeApps.gcubekey