added guided Tour

git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@93256 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Massimiliano Assante 2014-03-18 10:51:41 +00:00
parent 4af2fbdde3
commit b8a16bd34c
15 changed files with 360 additions and 14 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/workspace-6.6.2-SNAPSHOT/WEB-INF/classes" path="src/main/java">
<classpathentry kind="src" output="target/workspace-6.6.3-SNAPSHOT/WEB-INF/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
@ -25,5 +25,5 @@
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/workspace-6.6.2-SNAPSHOT/WEB-INF/classes"/>
<classpathentry kind="output" path="target/workspace-6.6.3-SNAPSHOT/WEB-INF/classes"/>
</classpath>

View File

@ -1,5 +1,8 @@
=\=\=\=\=\=\=
<<<<<<<=.mine
>>>>>>>=.r93212
eclipse.preferences.version=1
jarsExcludedFromWebInfLib=
lastWarOutDir=/home/francesco-mangiacrapa/wseclipse/workspace-TRUNK/target/workspace-6.6.2-SNAPSHOT
lastWarOutDir=/Users/massi/Documents/workspace/workspace/target/workspace-6.6.3-SNAPSHOT
warSrcDir=src/main/webapp
warSrcDirIsOutput=false

View File

@ -5,9 +5,15 @@
<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"/>
<dependent-module archiveName="workspace-light-tree-2.13.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/workspace-light-tree/workspace-light-tree">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="workspace-tree-widget-6.6.2-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/workspace-tree-widget-6.6.2-SNAPSHOT/workspace-tree-widget-6.6.2-SNAPSHOT">
<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>

16
pom.xml
View File

@ -11,7 +11,7 @@
<groupId>org.gcube.portlets.user</groupId>
<artifactId>workspace</artifactId>
<packaging>war</packaging>
<version>6.6.2-SNAPSHOT</version>
<version>6.6.3-SNAPSHOT</version>
<name>gCube Workspace Portlet</name>
<description>
gcube Workspace Portlet is a portlet for users workspace management
@ -72,7 +72,17 @@
<version>2.2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.portlets.widgets</groupId>
<artifactId>guided-tour-widget</artifactId>
<version>[1.2.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.gcube.applicationsupportlayer</groupId>
<artifactId>accesslogger</artifactId>
<scope>provided</scope>
</dependency>
<!-- FWS -->
<dependency>
<groupId>org.gcube.resources.discovery</groupId>
@ -173,7 +183,7 @@
<artifactId>workspace-light-tree</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.gcube.portlets.widgets</groupId>
<artifactId>fileupload-progress-bar</artifactId>

View File

@ -1,6 +1,13 @@
package org.gcube.portlets.user.workspace.client;
import org.gcube.portlets.user.workspace.client.resources.TourResources;
import org.gcube.portlets.widgets.guidedtour.client.GCUBEGuidedTour;
import org.gcube.portlets.widgets.guidedtour.client.GuidedTourResourceProvider;
import org.gcube.portlets.widgets.guidedtour.resources.client.GuidedTourResource;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.RunAsyncCallback;
import com.google.gwt.event.logical.shared.ResizeEvent;
import com.google.gwt.event.logical.shared.ResizeHandler;
import com.google.gwt.user.client.Window;
@ -33,7 +40,8 @@ public class WorkspacePortlet implements EntryPoint {
});
updateSize();
showGuidedTour();
}
/**
@ -66,5 +74,22 @@ public class WorkspacePortlet implements EntryPoint {
appController.getMainPanel().setHeight(rootHeight);
appController.getMainPanel().setWidth(rootWidth);
}
private void showGuidedTour() {
GWT.log("oh");
GWT.runAsync(GCUBEGuidedTour.class, new RunAsyncCallback() {
public void onSuccess() {
GCUBEGuidedTour.showTour(WorkspacePortlet.class.getName(), new GuidedTourResourceProvider() {
@Override
public GuidedTourResource getResource() {
TourResources resources = GWT.create(TourResources.class);
return resources.quickTour();
}
});
}
public void onFailure(Throwable caught) {
Window.alert("Could not check show tour");
}
});
}
}

View File

@ -0,0 +1,141 @@
<!-- this is your main configuration XML (example name GuidedTour.xml), the
source tag have to link this file: -->
<guidedtour width="780" height="450" usemask="false">
<title>Workspace</title>
<guide>http://gcube.wiki.gcube-system.org/gcube/index.php/Workspace
</guide>
<themecolor>BLUE</themecolor>
<steps>
<step showTitle="true" v-alignment="ALIGN_TOP">
<title>Workspace</title>
<bodies>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 40px;">
<b>Workspace</b>
is a free Storage (and Sharing) area provided as-a-Service.
</div>
<div style="padding-bottom: 40px;">You can use it to store your own files and to share them with others.</div>
<div style="padding-bottom: 40px;">
As you can see it resembles your Operating System
<b>files manager</b>, however there are few things you should know to better exploit the Workspace.
</div>
<div style="padding-bottom: 10px;">
<b>Discover</b>
the Workspace features through this quick tour, click next.
</div>
</div>
]]>
</body>
</bodies>
<images>
<image url="images/tour/1.png" />
</images>
</step>
<step showTitle="false" v-alignment="ALIGN_MIDDLE">
<title>Sharing</title>
<bodies>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 40px;">
You can <b>Share</b>
your folders with any other user of the system.
</div>
<div style="padding-bottom: 40px;">
<b>Right click on a Folder</b>
select share and choose the users you want to share the folder with.
</div>
</div>
]]>
</body>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 10px;">
<b>Share Permissions</b>
are very important! There are 3 types of sharing permissions you can set:
</div>
<div style="padding-top: 5px;">
<ul>
<li><b>Read Only:</b> users can only read files;</li>
<li><b>Write Owner:</b> users can write/update their own files;</li>
<li><b>Write Any:</b> users can write/update any file.</li>
</ul>
</div>
<div style="padding-top: 10px;">
<b>Please note:</b> the sharing permission is applied on cascade to any file or sub-folder of your shared folder. The owner of the folder is set as Administrator and can do anything she likes.
</div>
</div>
]]>
</body>
</bodies>
<images>
<image url="images/tour/2.png" />
<image url="images/tour/3.png" />
</images>
</step>
<step showTitle="false" v-alignment="ALIGN_MIDDLE">
<title>Your Channel Folders</title>
<bodies>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 40px;">
<div style="padding-bottom: 10px;">
<b>Your Channel Folders</b>
is a special folder created automatically from the System.
</div>
<div style="padding-bottom: 40px;">
It contains one folder for each channel you are subscribed to and please read:
</div>
<div style="padding-top: 5px;">
<ul>
<li>The users of a channel folder are the ones subscribed to the related Channel (i.e. Staff is shared with the whole institute).</li>
<li>Any action on these special folders (upload/delete/read) is notified to the other users of the folder.</li>
<li>Any action on these special folders is tracked.</li>
</ul>
</div>
<div style="padding-top: 30px; padding-bottom: 40px;">
<b>Please note:</b> the sharing permission is applied by an administrator of the Channel.
</div>
</div>
</div>
]]>
</body>
</bodies>
<images>
<image url="images/tour/4.png" />
</images>
</step>
<step showTitle="false" v-alignment="ALIGN_MIDDLE">
<title>Public Link Vs. Get Link</title>
<bodies>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 40px;">
Whenever you need to <b>attach</b>
a file or folder of your workspace you can use this useful feature:
</div>
<div style="padding-bottom: 40px;">
<ul>
<li><b>Get Link:</b> create a short URL (e.g. http://goo.gl/TK8toC) you can attach to your emails to make users (belonging to your shared folder)
point directly that specific folder;</li>
</ul>
</div>
<div style="padding-bottom: 40px;">
<ul>
<li><b>Public Link:</b> geneate a short URL to make <b>any user</b> (having the URL) download that file. Does not work with folders of course.</li>
</ul>
</div>
<div style="padding-bottom: 40px;">
The tour is finished, remember to click on the "Don't show this again" checkbox located at the bottom of this window to not make this popup appear in the future. Enjoy using Workspace.
</div>
</div>
]]>
</body>
</bodies>
<images>
<image url="images/tour/6.png" />
</images>
</step>
</steps>
</guidedtour>

View File

@ -0,0 +1,142 @@
<!-- this is your main configuration XML (example name GuidedTour.xml), the
source tag have to link this file: -->
<guidedtour width="780" height="450" usemask="false">
<title>Workspace</title>
<guide>http://gcube.wiki.gcube-system.org/gcube/index.php/Workspace
</guide>
<themecolor>BLUE</themecolor>
<steps>
<step showTitle="true" v-alignment="ALIGN_TOP">
<title>Workspace</title>
<bodies>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 40px;">
<b>Workspace</b>
è una area di memorizzazione e condivisione fornita gratuitamente come servizio.
</div>
<div style="padding-bottom: 40px;">La puoi usare per memorizzare i tuoi file e cartelle e per condividerle con altri utenti.</div>
<div style="padding-bottom: 40px;">
Come puoi vedere, assomiglia molto al tuo <b>file manager</b> del sistema operativo, ci sono però delle cose che dovresti conoscere
per utilizzare a pieno il Workspace.
</div>
<div style="padding-bottom: 10px;">
<b>Scopri</b>
le caratteristiche del Workspace, clicca next.
</div>
</div>
]]>
</body>
</bodies>
<images>
<image url="images/tour/1.png" />
</images>
</step>
<step showTitle="false" v-alignment="ALIGN_MIDDLE">
<title>File Sharing</title>
<bodies>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 40px;">
Puoi <b>Condividere</b>
le tue cartelle e file con qualsiasi utente del sistema.
</div>
<div style="padding-bottom: 40px;">
<b>Tasto destro su una cartella</b>
seleziona share e scegli gli utenti con cui vuoi condividere la cartella.
</div>
</div>
]]>
</body>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 10px;">
<b>I Permessi sulle cartelle condivise</b>
sono molto importanti! Ci sono 3 tipi di permessi:
</div>
<div style="padding-top: 5px;">
<ul>
<li><b>Read Only:</b> gli utenti possono solo leggere i files;</li>
<li><b>Write Owner:</b> gli tuenti possono modificare solo i loro files;</li>
<li><b>Write Any:</b> gli utenti possono modificare qualsiasi file.</li>
</ul>
</div>
<div style="padding-top: 10px;">
<b>Nota bene:</b> i permessi sono applicati a cascata su ogni file e sotto cartella della cartella condivisa.
Il proprietario della cartella può operare come meglio crede.
</div>
</div>
]]>
</body>
</bodies>
<images>
<image url="images/tour/2.png" />
<image url="images/tour/3.png" />
</images>
</step>
<step showTitle="false" v-alignment="ALIGN_MIDDLE">
<title>Your Channel Folders</title>
<bodies>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 40px;">
<div style="padding-bottom: 10px;">
<b>Your Channel Folders</b>
è una cartella speciale creata automaticamente dal Sistema.
</div>
<div style="padding-bottom: 40px;">
Contiene una cartella per ogni canale a cui appartieni. Per favore leggi bene:
</div>
<div style="padding-top: 5px;">
<ul>
<li>Gli utenti di una cartella di canale sono coloro appartenenti al canale. (i.e. Staff è condivisa con tutti gli utenti dell'istituto).</li>
<li>Ogni azione su queste folder speciali (upload/delete/read) è notificata agli altri utenti.</li>
<li>Ogni azione su queste folder speciali è tracciata.</li>
</ul>
</div>
<div style="padding-top: 30px; padding-bottom: 40px;">
<b>Nota bene:</b> i permessi su queste folder di canale sono applicati dagli amministratori del canale in questione.
</div>
</div>
</div>
]]>
</body>
</bodies>
<images>
<image url="images/tour/4.png" />
</images>
</step>
<step showTitle="false" v-alignment="ALIGN_MIDDLE">
<title>Public Link Vs. Get Link</title>
<bodies>
<body><![CDATA[
<div style="line-height: 19px; padding: 10px; font-size: 14px; ">
<div style="padding-bottom: 40px;">
Ogni volta che hai bisogno di <b>allegare</b>
un file od una cartella del tuo workspace puoi usare questa caratteristica molto utile:
</div>
<div style="padding-bottom: 40px;">
<ul>
<li><b>Get Link:</b> crea uno short URL (e.g. http://goo.gl/TK8toC) che puoi incollare nelle tue email per far puntare gli utenti (appartenenti alla cartella condivisa)
direttamente a quella folder/file specifico;</li>
</ul>
</div>
<div style="padding-bottom: 40px;">
<ul>
<li><b>Public Link:</b> crea uno short URL per far scaricare ad <b>ogni utente</b> (avente lo URL) il file. Non funziona con le cartelle chiaramente.</li>
</ul>
</div>
<div style="padding-bottom: 40px;">
Il Tour è finito, ricorda di cliccare "Don't show this again" per farsì che questa guida non appaia nel futuro.
</div>
</div>
]]>
</body>
</bodies>
<images>
<image url="images/tour/6.png" />
</images>
</step>
</steps>
</guidedtour>

View File

@ -0,0 +1,12 @@
package org.gcube.portlets.user.workspace.client.resources;
import org.gcube.portlets.widgets.guidedtour.resources.client.GuidedTourResource;
import com.google.gwt.resources.client.ClientBundle;
public interface TourResources extends ClientBundle {
@Source("GuidedTour.xml")
GuidedTourResource quickTour();
}

View File

@ -3,11 +3,9 @@
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<!-- We need the JUnit module in the main module, -->
<!-- otherwise eclipse complains (Google plugin bug?) -->
<!-- <inherits name='com.google.gwt.junit.JUnit' /> -->
<!-- inherits GCUBE Quick tour -->
<inherits name='org.gcube.portlets.widgets.guidedtour.GuidedTour' />
<!-- Moduel GXT -->
<inherits name='com.extjs.gxt.ui.GXT' />
@ -20,7 +18,7 @@
<inherits name='org.gcube.portlets.widgets.wsmail.WsMail_Widget' />
<inherits name='org.gcube.portlets.widgets.fileupload.FileUpload' />
<inherits name='org.gcube.portlets.widgets.fileupload.FileUpload' />
<!-- Specify the app entry point class. -->
<entry-point

View File

@ -148,5 +148,14 @@
<servlet-name>UploadService</servlet-name>
<url-pattern>/org.gcube.portlets.user.workspace.WorkspacePortletJUnit/UploadService</url-pattern>
</servlet-mapping>
<!-- Quick Tour -->
<servlet>
<servlet-name>quicktourServlet</servlet-name>
<servlet-class>org.gcube.portlets.widgets.guidedtour.server.TourServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>quicktourServlet</servlet-name>
<url-pattern>/workspace/quicktourServlet</url-pattern>
</servlet-mapping>
</web-app>

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB