Introduce a bundle for Rap Workbench
authorbsinou <bsinou@argeo.org>
Thu, 26 Jan 2017 18:14:04 +0000 (19:14 +0100)
committerbsinou <bsinou@argeo.org>
Thu, 26 Jan 2017 20:28:49 +0000 (21:28 +0100)
53 files changed:
org.argeo.suite.web/META-INF/spring/ui.xml
org.argeo.suite.web/theme/argeo-classic/icons/favicon.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/.classpath [new file with mode: 0644]
org.argeo.suite.workbench.rap/.gitignore [new file with mode: 0644]
org.argeo.suite.workbench.rap/.project [new file with mode: 0644]
org.argeo.suite.workbench.rap/META-INF/.gitignore [new file with mode: 0644]
org.argeo.suite.workbench.rap/apps.properties [new file with mode: 0644]
org.argeo.suite.workbench.rap/bnd.bnd [new file with mode: 0644]
org.argeo.suite.workbench.rap/plugin.xml [new file with mode: 0644]
org.argeo.suite.workbench.rap/pom.xml [new file with mode: 0644]
org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsUiPlugin.java [new file with mode: 0644]
org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java [new file with mode: 0644]
org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsActionBarAdvisor.java [new file with mode: 0644]
org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsSecureEntryPoint.java [new file with mode: 0644]
org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWelcomeRedirect.java [new file with mode: 0644]
org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWindowAdvisor.java [new file with mode: 0644]
org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWorkbenchAdvisor.java [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/favicon.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/createFolder.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/delete.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/downloadFolder.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/open.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/shareFolder.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/upload.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/Icon-credit.txt [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/facebook.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/fax.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/googleplus.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/home.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/impp.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/link.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/linkedin.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mail_black.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mobile.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/myspace.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/phone_vintage.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/reddit.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/skype.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/socialmedia.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/telephone.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/twitter.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/xing.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primary.gif [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primaryNOT.gif [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/people.gif [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/company.png [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/person.gif [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/img/logo.jpg [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css [new file with mode: 0644]
org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-headerExt.css [new file with mode: 0644]
pom.xml
sdk/argeo_suite_web.properties
sdk/org.argeo.suite.sdk/pom.xml

index e11d967b0fa16d2b1e5bf9887d2004bb23451a12..8e5f08486f28ffa576fb1c71479b9ea7ec9146a4 100644 (file)
@@ -48,7 +48,8 @@
                                </entry>
                                <entry key="">
                                        <map>
                                </entry>
                                <entry key="">
                                        <map>
-                                               <entry value="Argeo Suite" key="org.eclipse.rap.rwt.webclient.pageTitle" />
+                                               <entry value="Smart Data Productivity Suite" key="org.eclipse.rap.rwt.webclient.pageTitle" />
+                                               <entry value="theme/argeo-classic/icons/favicon.png" key="org.eclipse.rap.rwt.webclient.favicon" />
                                        </map>
                                </entry>
                                <entry key="people">
                                        </map>
                                </entry>
                                <entry key="people">
diff --git a/org.argeo.suite.web/theme/argeo-classic/icons/favicon.png b/org.argeo.suite.web/theme/argeo-classic/icons/favicon.png
new file mode 100644 (file)
index 0000000..cd8207a
Binary files /dev/null and b/org.argeo.suite.web/theme/argeo-classic/icons/favicon.png differ
diff --git a/org.argeo.suite.workbench.rap/.classpath b/org.argeo.suite.workbench.rap/.classpath
new file mode 100644 (file)
index 0000000..1ef7358
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="src" output="bin" path="src"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.argeo.suite.workbench.rap/.gitignore b/org.argeo.suite.workbench.rap/.gitignore
new file mode 100644 (file)
index 0000000..09e3bc9
--- /dev/null
@@ -0,0 +1,2 @@
+/bin/
+/target/
diff --git a/org.argeo.suite.workbench.rap/.project b/org.argeo.suite.workbench.rap/.project
new file mode 100644 (file)
index 0000000..4c4c4ff
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>org.argeo.suite.workbench.rap</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.ManifestBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.SchemaBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+               <nature>org.eclipse.pde.PluginNature</nature>
+       </natures>
+</projectDescription>
diff --git a/org.argeo.suite.workbench.rap/META-INF/.gitignore b/org.argeo.suite.workbench.rap/META-INF/.gitignore
new file mode 100644 (file)
index 0000000..4854a41
--- /dev/null
@@ -0,0 +1 @@
+/MANIFEST.MF
diff --git a/org.argeo.suite.workbench.rap/apps.properties b/org.argeo.suite.workbench.rap/apps.properties
new file mode 100644 (file)
index 0000000..e0227a3
--- /dev/null
@@ -0,0 +1 @@
+argeo.security.systemKey=argeo
\ No newline at end of file
diff --git a/org.argeo.suite.workbench.rap/bnd.bnd b/org.argeo.suite.workbench.rap/bnd.bnd
new file mode 100644 (file)
index 0000000..4439ee6
--- /dev/null
@@ -0,0 +1,18 @@
+Require-Capability: cms.datamodel; filter:="(name=people)"
+
+Bundle-Activator: org.argeo.suite.workbench.AsUiPlugin
+Bundle-SymbolicName: org.argeo.suite.workbench.rap;singleton:=true
+Require-Bundle: org.eclipse.core.runtime,\
+ org.eclipse.rap.ui,\
+ org.eclipse.rap.ui.workbench
+
+Import-Package:\
+javax.jcr.nodetype,\
+javax.jcr.security,\
+org.argeo.cms,\
+org.argeo.cms.ui.workbench,\
+org.argeo.connect.people.rap.views,\
+org.argeo.eclipse.spring,\
+org.argeo.node,\
+org.argeo.util,\
+*
\ No newline at end of file
diff --git a/org.argeo.suite.workbench.rap/plugin.xml b/org.argeo.suite.workbench.rap/plugin.xml
new file mode 100644 (file)
index 0000000..efa841e
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.6"?>
+<plugin>
+       <!-- RAP workbench main entry point for the Argeo Suite core application --> 
+       <extension
+               point="org.eclipse.rap.ui.entrypoint">
+               <entrypoint
+                       id="org.argeo.suite.workbench.rap.entrypoint"
+                       class="org.argeo.suite.workbench.rap.AsSecureEntryPoint"
+                       path="/suite"
+                       brandingId="org.argeo.suite.workbench.rap.defaultBranding">
+               </entrypoint>
+       </extension>
+       
+       <!-- PERSPECTIVES -->
+       <extension
+         point="org.eclipse.ui.perspectives">
+               <perspective
+            class="org.argeo.suite.workbench.DashboardPerspective"
+            id="org.argeo.suite.workbench.dashboardPerspective"
+            icon="theme/argeo-classic/icons/favicon.png"
+            name="Dashboard">
+               </perspective> 
+       </extension>
+       
+       
+       <!-- EDITORS --> 
+       <extension
+               point="org.eclipse.ui.editors">
+       </extension>
+       
+       <!-- COMMANDS -->       
+       <extension
+         point="org.eclipse.ui.commands">
+       </extension>
+
+       <!-- MENU CONTRIBUTION --> 
+       <extension
+               id="menu:org.eclipse.ui.main.menu"
+               point="org.eclipse.ui.menus">
+       </extension>
+       
+       <!-- BRANDING AND THEMES -->
+       <extension
+               point="org.eclipse.rap.ui.branding">
+               <branding
+                       id="org.argeo.suite.workbench.rap.defaultBranding"
+                       themeId="org.eclipse.rap.rwt.theme.Default"
+                       title="Smart Data Productivity Suite"
+                       favicon="theme/argeo-classic/icons/favicon.png">
+                       <additionalHeaders>
+                        <link 
+                               href="suite/theme/classic-headerExt.css"  
+                               rel="stylesheet" />
+                       </additionalHeaders>
+               </branding>
+       </extension> 
+       
+       <extension  
+            point="org.eclipse.equinox.http.registry.resources">  
+                <!-- Enable overwriting of link styles in the meta tags -->
+         <resource  
+               alias="/ui/suite/theme/classic-headerExt.css"  
+               base-name="theme/argeo-classic/workbench-headerExt.css">  
+         </resource>  
+         <!-- images -->
+         <resource  
+               alias="/ui/suite/img/logo.jpg"  
+               base-name="theme/argeo-classic/img/logo.jpg">  
+         </resource>  
+         <!-- javascript libraries -->
+         <!--          <resource  
+               alias="/ui/suite/js/Chart.min.js"  
+               base-name="js/Chart.min.js">  
+         </resource>  
+         <resource  
+               alias="/ui/suite/js/leaflet.js"  
+               base-name="js/leaflet.js">  
+         </resource>  
+         <resource  
+               alias="/ui/suite/js/leaflet.css"  
+               base-name="js/leaflet.css">  
+         </resource>   -->
+    </extension>  
+       
+       <extension
+               point="org.eclipse.rap.ui.themes">
+               <themeContribution
+                       themeId="org.eclipse.rap.rwt.theme.Default"
+                       file="theme/argeo-classic/workbench-ext.css" />
+       </extension>
+</plugin>
\ No newline at end of file
diff --git a/org.argeo.suite.workbench.rap/pom.xml b/org.argeo.suite.workbench.rap/pom.xml
new file mode 100644 (file)
index 0000000..b252909
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+       <parent>
+               <groupId>org.argeo.suite</groupId>
+               <artifactId>argeo-suite</artifactId>
+               <version>0.1.1-SNAPSHOT</version>
+               <relativePath>..</relativePath>
+       </parent>
+       <artifactId>org.argeo.suite.workbench.rap</artifactId>
+       <name>Argeo Suite Rap Workbench</name>
+       <packaging>jar</packaging>
+       <dependencies>
+               <dependency>
+                       <groupId>org.argeo.suite</groupId>
+                       <artifactId>org.argeo.suite.web</artifactId>
+                       <version>0.1.1-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.connect</groupId>
+                       <artifactId>org.argeo.connect.people.rap</artifactId>
+                       <version>${version.argeo-connect}</version>
+               </dependency>
+<!--           <dependency> -->
+<!--                   <groupId>org.argeo.commons</groupId> -->
+<!--                   <artifactId>org.argeo.cms.ui.workbench.rap</artifactId> -->
+<!--                   <version>${version.argeo-commons}</version> -->
+<!--           </dependency> -->
+       </dependencies>
+</project>
diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsUiPlugin.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsUiPlugin.java
new file mode 100644 (file)
index 0000000..60663a6
--- /dev/null
@@ -0,0 +1,73 @@
+package org.argeo.suite.workbench;
+
+import java.net.URL;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/** The activator class controls the plug-in life cycle */
+public class AsUiPlugin extends AbstractUIPlugin {
+
+       public static final String PLUGIN_ID = "org.argeo.suite.workbench";
+
+       // The shared instance
+       private static AsUiPlugin plugin;
+
+       private BundleContext bundleContext;
+
+       /** Default constructor */
+       public AsUiPlugin() {
+       }
+
+       public void start(BundleContext context) throws Exception {
+               super.start(context);
+               this.bundleContext = context;
+               plugin = this;
+       }
+
+       public void stop(BundleContext context) throws Exception {
+               plugin = null;
+               super.stop(context);
+       }
+
+       /**
+        * Returns the shared instance
+        * 
+        * @return the shared instance
+        */
+       public static AsUiPlugin getDefault() {
+               return plugin;
+       }
+
+       /** Creates the image */
+       public static Image img(String path) {
+               return getImageDescriptor(path).createImage();
+       }
+
+       /**
+        * Returns an image descriptor for the image file at the given plug-in
+        * relative path
+        * 
+        * @param path
+        *            the path
+        * @return the image descriptor
+        */
+       public static ImageDescriptor getImageDescriptor(String path) {
+               return imageDescriptorFromPlugin(PLUGIN_ID, path);
+       }
+
+       public URL imageUrl(String path) {
+               return bundleContext.getBundle().getResource(path);
+       }
+
+       @Override
+       protected void initializeImageRegistry(ImageRegistry reg) {
+       }
+
+       public BundleContext getBundleContext() {
+               return bundleContext;
+       }
+}
diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java
new file mode 100644 (file)
index 0000000..71fb19c
--- /dev/null
@@ -0,0 +1,23 @@
+package org.argeo.suite.workbench;
+
+import org.argeo.connect.people.rap.views.MyTasksView;
+import org.argeo.connect.people.rap.views.PeopleDefaultView;
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+
+/** Default office perspective */
+public class DashboardPerspective implements IPerspectiveFactory {
+
+       public void createInitialLayout(IPageLayout layout) {
+               String editorArea = layout.getEditorArea();
+               layout.setEditorAreaVisible(true);
+               layout.setFixed(false);
+
+               IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT, 0.25f, editorArea);
+               left.addView(MyTasksView.ID);
+               // Only show contacts to coworkers
+               // if (CurrentUser.isInRole(AoRole.coworker.dn()))
+               left.addView(PeopleDefaultView.ID);
+       }
+}
diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsActionBarAdvisor.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsActionBarAdvisor.java
new file mode 100644 (file)
index 0000000..1b985bf
--- /dev/null
@@ -0,0 +1,12 @@
+package org.argeo.suite.workbench.rap;
+
+import org.argeo.cms.ui.workbench.rap.RapActionBarAdvisor;
+import org.eclipse.ui.application.IActionBarConfigurer;
+
+/** Eclipse rap specific action bar advisor */
+public class AsActionBarAdvisor extends RapActionBarAdvisor {
+
+       public AsActionBarAdvisor(IActionBarConfigurer configurer, String username) {
+               super(configurer, username);
+       }
+}
diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsSecureEntryPoint.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsSecureEntryPoint.java
new file mode 100644 (file)
index 0000000..7c1a93a
--- /dev/null
@@ -0,0 +1,79 @@
+package org.argeo.suite.workbench.rap;
+
+import static org.eclipse.swt.SWT.CENTER;
+import static org.eclipse.swt.SWT.LEFT;
+import static org.eclipse.swt.SWT.NO_FOCUS;
+import static org.eclipse.swt.SWT.TOP;
+
+import org.argeo.cms.ui.workbench.rap.RapWorkbenchAdvisor;
+import org.argeo.cms.ui.workbench.rap.RapWorkbenchLogin;
+import org.argeo.cms.util.CmsUtils;
+import org.argeo.cms.widgets.auth.CmsLogin;
+import org.argeo.eclipse.ui.EclipseUiUtils;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+/**
+ * This class controls all aspects of the application's execution and is
+ * contributed through the plugin.xml.
+ */
+public class AsSecureEntryPoint extends RapWorkbenchLogin {
+
+       /** Override to provide an application specific workbench advisor */
+       protected RapWorkbenchAdvisor createRapWorkbenchAdvisor(String username) {
+               return new AsWorkbenchAdvisor(username);
+       }
+
+       protected void createLoginPage(Composite parent, CmsLogin login) {
+               parent.setLayout(EclipseUiUtils.noSpaceGridLayout());
+
+               // Main layout
+               Composite bodyCmp = new Composite(parent, SWT.NO_FOCUS);
+               bodyCmp.setLayoutData(EclipseUiUtils.fillAll());
+               GridLayout gl = new GridLayout();
+               gl.marginHeight = 25;
+               gl.marginWidth = 40;
+               bodyCmp.setLayout(gl);
+
+               // Logo
+               Label headerLbl = new Label(bodyCmp, SWT.WRAP);
+               CmsUtils.markup(headerLbl);
+               String headerStr = "<a href=\"http://argeo.org\" "
+                               + "title=\"Smart Data Productivity Suite, by Argeo\" target=\"_blank\"> "
+                               + "<img src=\"/ui/suite/img/logo.jpg\" width=\"200\" height=\"140\"></img> "
+                               + "</a>";
+               headerLbl.setText(headerStr);
+               GridData gd = new GridData(SWT.LEFT, SWT.CENTER, true, false);
+               headerLbl.setLayoutData(gd);
+
+               // Title
+               Label titleLbl = new Label(bodyCmp, SWT.WRAP | SWT.CENTER);
+               CmsUtils.markup(titleLbl);
+               String titleStr = "<big> Please sign in to your personal dashboard</big>";
+               titleLbl.setText(titleStr);
+               gd = new GridData(SWT.CENTER, SWT.BOTTOM, false, false);
+               gd.verticalIndent = 40;
+               titleLbl.setLayoutData(gd);
+
+               // Login composite
+               Composite loginCmp = login.createCredentialsBlock(bodyCmp);
+               gd = new GridData(SWT.CENTER, SWT.TOP, true, true);
+               gd.widthHint = 200;
+               gd.verticalIndent = 15;
+               loginCmp.setLayoutData(gd);
+
+               // Footer
+               Label footerLbl = new Label(bodyCmp, SWT.WRAP | SWT.CENTER);
+               CmsUtils.markup(footerLbl);
+               String footerStr = "<small>SDPS is a private service. <br/>"
+                               + " Please <a href=\"mailto:contact@argeo.org\">contact us</a> if you have any question.</small>";
+               footerLbl.setText(footerStr);
+               footerLbl.setLayoutData(EclipseUiUtils.fillWidth());
+       }
+}
diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWelcomeRedirect.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWelcomeRedirect.java
new file mode 100644 (file)
index 0000000..d8c992e
--- /dev/null
@@ -0,0 +1,17 @@
+package org.argeo.suite.workbench.rap;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class AsWelcomeRedirect extends HttpServlet {
+       private static final long serialVersionUID = 4359084312826596812L;
+
+       protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+                       throws ServletException, IOException {
+               resp.sendRedirect(resp.encodeRedirectURL("/ui/WelcomePage"));
+       }
+}
diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWindowAdvisor.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWindowAdvisor.java
new file mode 100644 (file)
index 0000000..19a98d3
--- /dev/null
@@ -0,0 +1,36 @@
+package org.argeo.suite.workbench.rap;
+
+import org.argeo.cms.ui.workbench.rap.RapWindowAdvisor;
+import org.eclipse.ui.application.ActionBarAdvisor;
+import org.eclipse.ui.application.IActionBarConfigurer;
+import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
+
+/** Eclipse RAP specific window advisor */
+public class AsWindowAdvisor extends RapWindowAdvisor {
+
+       private String username;
+
+       public AsWindowAdvisor(IWorkbenchWindowConfigurer configurer,
+                       String username) {
+               super(configurer, username);
+               this.username = username;
+       }
+
+       @Override
+       public ActionBarAdvisor createActionBarAdvisor(
+                       IActionBarConfigurer configurer) {
+               return new AsActionBarAdvisor(configurer, username);
+       }
+
+       @Override
+       public void preWindowOpen() {
+               super.preWindowOpen();
+               IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
+               configurer.setShowStatusLine(true);
+       }
+
+       @Override
+       public void postWindowOpen() {
+               super.postWindowOpen();
+       }
+}
diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWorkbenchAdvisor.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWorkbenchAdvisor.java
new file mode 100644 (file)
index 0000000..5f67135
--- /dev/null
@@ -0,0 +1,38 @@
+package org.argeo.suite.workbench.rap;
+
+import org.argeo.cms.ui.workbench.rap.RapWorkbenchAdvisor;
+import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
+import org.eclipse.ui.application.WorkbenchWindowAdvisor;
+
+/** Eclipse RAP specific workbench advisor */
+public class AsWorkbenchAdvisor extends RapWorkbenchAdvisor {
+
+       private String username;
+
+       @Override
+       public void postStartup() {
+               super.postStartup();
+               // ExitConfirmation confirmation = RWT.getClient().getService(
+               // ExitConfirmation.class);
+               // confirmation.setMessage("Are you sure you want to leave the page? "
+               // + "All un-saved information will be lost.");
+       }
+
+       public void postShutdown() {
+               super.postShutdown();
+               // ExitConfirmation confirmation = RWT.getClient().getService(
+               // ExitConfirmation.class);
+               // if (confirmation != null)
+               // confirmation.setMessage(null);
+       }
+
+       public AsWorkbenchAdvisor(String username) {
+               super(username);
+               this.username = username;
+       }
+
+       public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
+                       IWorkbenchWindowConfigurer configurer) {
+               return new AsWindowAdvisor(configurer, username);
+       }
+}
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/favicon.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/favicon.png
new file mode 100644 (file)
index 0000000..cd8207a
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/favicon.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/createFolder.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/createFolder.png
new file mode 100644 (file)
index 0000000..3f56074
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/createFolder.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/delete.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/delete.png
new file mode 100644 (file)
index 0000000..9150e40
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/delete.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/downloadFolder.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/downloadFolder.png
new file mode 100644 (file)
index 0000000..3f56074
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/downloadFolder.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/open.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/open.png
new file mode 100644 (file)
index 0000000..3f56074
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/open.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/shareFolder.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/shareFolder.png
new file mode 100644 (file)
index 0000000..3f56074
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/shareFolder.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/upload.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/upload.png
new file mode 100644 (file)
index 0000000..3f56074
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/upload.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/Icon-credit.txt b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/Icon-credit.txt
new file mode 100644 (file)
index 0000000..4e60cf3
--- /dev/null
@@ -0,0 +1,17 @@
+Some of the icons have been downloaded from http://www.fatcow.com/free-icons.
+They are licenced under Creative Commons Attribution 3.0 License.
+
+These icons were as from October 3rd, 2013 the following:
+fax.png
+mail_black.png
+phone-vintage.png
+telephone.png
+
+Some of the icons have been downloaded from http://somerandomdude.com/work/iconic/.
+They are licenced under Creative Commons Attribution 3.0 License.
+
+These icons were as from October 15th, 2013 the following:
+socialmedia.png (former chat_alt_stroke_16x16.png)
+home.png (former home_16x16.png)
+mobile.png (former iphone_12x16.png)
+link.png (former link_16x16.png)
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/facebook.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/facebook.png
new file mode 100644 (file)
index 0000000..8e7e44c
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/facebook.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/fax.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/fax.png
new file mode 100644 (file)
index 0000000..791f511
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/fax.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/googleplus.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/googleplus.png
new file mode 100644 (file)
index 0000000..ff97843
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/googleplus.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/home.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/home.png
new file mode 100644 (file)
index 0000000..16834e3
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/home.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/impp.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/impp.png
new file mode 100644 (file)
index 0000000..b334f91
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/impp.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/link.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/link.png
new file mode 100644 (file)
index 0000000..f223cfa
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/link.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/linkedin.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/linkedin.png
new file mode 100644 (file)
index 0000000..d86dc0e
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/linkedin.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mail_black.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mail_black.png
new file mode 100644 (file)
index 0000000..790f750
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mail_black.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mobile.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mobile.png
new file mode 100644 (file)
index 0000000..08ac54b
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mobile.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/myspace.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/myspace.png
new file mode 100644 (file)
index 0000000..beb04fc
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/myspace.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/phone_vintage.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/phone_vintage.png
new file mode 100644 (file)
index 0000000..7e463ad
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/phone_vintage.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/reddit.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/reddit.png
new file mode 100644 (file)
index 0000000..0eac7b8
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/reddit.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/skype.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/skype.png
new file mode 100644 (file)
index 0000000..e31a04d
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/skype.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/socialmedia.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/socialmedia.png
new file mode 100644 (file)
index 0000000..f0d1722
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/socialmedia.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/telephone.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/telephone.png
new file mode 100644 (file)
index 0000000..e04ec63
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/telephone.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/twitter.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/twitter.png
new file mode 100644 (file)
index 0000000..1023e5b
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/twitter.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/xing.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/xing.png
new file mode 100644 (file)
index 0000000..26fd283
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/xing.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primary.gif b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primary.gif
new file mode 100644 (file)
index 0000000..1965b84
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primary.gif differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primaryNOT.gif b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primaryNOT.gif
new file mode 100644 (file)
index 0000000..acb0268
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primaryNOT.gif differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/people.gif b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/people.gif
new file mode 100644 (file)
index 0000000..d28c326
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/people.gif differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/company.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/company.png
new file mode 100644 (file)
index 0000000..06aa725
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/company.png differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/person.gif b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/person.gif
new file mode 100644 (file)
index 0000000..90a0014
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/person.gif differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/img/logo.jpg b/org.argeo.suite.workbench.rap/theme/argeo-classic/img/logo.jpg
new file mode 100644 (file)
index 0000000..0a2bb68
Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/img/logo.jpg differ
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css b/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css
new file mode 100644 (file)
index 0000000..a5d18b2
--- /dev/null
@@ -0,0 +1,284 @@
+/******************************************
+**      Argeo Suite specific theming    **
+******************************************/
+
+/* Extends the default RAP theme. TODO: create a complete homogeneous theme */
+
+
+/** Uncomment this for dev only to show all composite borders */ 
+/*
+Composite, .showBorder, Composite.showBorder{
+       border:1px solid fuchsia;
+}
+
+Label {
+       border:1px solid blue;
+}
+*/
+/** DEFAULT STYLE - Override some styling provided by RAP **/
+
+* {
+  color: #333333;
+  background-color: white;
+  background-image: none;
+  font: 12px Helvetica, Verdana, "Lucida Sans", Arial, sans-serif;
+}
+
+*:disabled {
+  color: #555555;
+}
+
+Text,
+Combo-Field, DateTime-Field {
+  padding: 2px 8px 2px 8px;
+}
+
+Text[BORDER],
+Text[MULTI][BORDER] {
+  box-shadow: inset 0 0 1px #bdbdbd;
+}
+
+
+Combo {
+  font: 14px Verdana, "Lucida Sans", Arial, Helvetica, sans-serif;
+  padding: 2px 8px 2px 8px;
+}
+
+Combo,
+Combo[BORDER] {
+  box-shadow: inset 0 0 1px #bdbdbd;
+}
+
+Combo:focused,
+Combo[BORDER]:focused,
+DropDown, 
+Combo-List {
+  box-shadow: 1px 1px 2px black; 
+  border: 1px solid #a4a4a4;
+}
+
+Widget-ToolTip {
+  animation: fadeIn 250ms ease-in, fadeOut 250ms ease-in;
+}
+
+
+/** GADGETS  **/
+.people_gadget {
+  border: 1px solid #f3f3f4;
+  border-radius: 0px;
+  padding: 0px 0px;
+  margin: 0px 0px;
+  background-image: none;
+  background-color: transparent;
+}
+
+.people_gadget_header {
+  background-color: #f3f3f4;
+  font-color: white;
+  color: white; /*dont work */
+  font: bold 14px Helvetica, Verdana, "Lucida Sans", Arial, sans-serif;
+
+}
+
+/** HEADER
+ **/
+.people_entity_header {
+  font: 14px Helvetica, Verdana, "Lucida Sans", Arial, sans-serif;
+  text-decoration: none;
+}
+
+
+/****** Flat image Buttons *********/
+Button[PUSH][FLAT].people_flat_btn,
+Button.people_flat_btn,
+Button.people_flat_btn:default, 
+Button.people_flat_btn:disabled, 
+Button.people_flat_btn:hover, 
+Button.people_flat_btn:pressed, 
+Button.people_flat_btn:selected {
+  border: 0px solid white;
+  border-radius: 0px;
+  padding: 0px 0px;
+  background-image: none;
+  background-color: transparent;
+  animation: hoverOut 500ms ease-out;
+  cursor: pointer;
+}
+
+/*
+
+Button.createFolder_btn:selected,
+Button.createFolder_btn:disabled, 
+Button.createFolder_btn:pressed, 
+
+*/
+
+/****** Context menu  *********/
+.contextMenu_box {
+       border: 0px solid #fde2d5;
+       padding: 0px;
+       box-shadow: 2px 2px 5px #fde2d5; 
+}
+
+Button[PUSH][FLAT].createFolder_btn {
+       background-image: url( theme/argeo-classic/icons/fs/createFolder.png);
+}
+
+Button[PUSH][FLAT].shareFolder_btn {
+       background-image: url( theme/argeo-classic/icons/fs/shareFolder.png);
+}
+
+Button[PUSH][FLAT].downloadFolder_btn {
+       background-image: url( theme/argeo-classic/icons/fs/downloadFolder.png);
+}
+
+Button[PUSH][FLAT].delete_btn {
+       background-image: url( theme/argeo-classic/icons/fs/delete.png);
+}
+
+Button[PUSH][FLAT].uploadFiles_btn {
+       background-image: url( theme/argeo-classic/icons/fs/upload.png);
+}
+
+Button[PUSH][FLAT].open_btn {
+       background-image: url( theme/argeo-classic/icons/fs/open.png);
+}
+
+Button[PUSH][FLAT].shareFolder_btn,
+Button[PUSH][FLAT].downloadFolder_btn,
+Button[PUSH][FLAT].delete_btn,
+Button[PUSH][FLAT].uploadFiles_btn,
+Button[PUSH][FLAT].open_btn,
+Button[PUSH][FLAT].createFolder_btn {
+  border: 0px solid white;
+  border-left: 10px solid transparent;
+  border-radius: 0px;
+  padding: 8px 5px 8px 24px;
+  background-color: transparent;
+  background-repeat: no-repeat;
+  background-position: left; 
+  animation: hoverOut 500ms ease-out;
+  cursor: pointer;
+}
+
+Button[PUSH][FLAT].shareFolder_btn:hover,
+Button[PUSH][FLAT].downloadFolder_btn:hover,
+Button[PUSH][FLAT].delete_btn:hover,
+Button[PUSH][FLAT].uploadFiles_btn:hover,
+Button[PUSH][FLAT].open_btn:hover,
+Button[PUSH][FLAT].createFolder_btn:hover {
+  background-color: #fef0ea;
+}
+
+Button[PUSH][FLAT].shareFolder_btn:pressed,
+Button[PUSH][FLAT].downloadFolder_btn:pressed,
+Button[PUSH][FLAT].delete_btn:pressed,
+Button[PUSH][FLAT].uploadFiles_btn:pressed,
+Button[PUSH][FLAT].open_btn:pressed,
+Button[PUSH][FLAT].createFolder_btn:pressed {
+  background-color: #fde2d5;
+}
+
+/*******************************/
+/*   People Generic Styling  **/
+/*******************************/
+
+/**  TEXTS **/
+
+/* Force show border on text even when disabled */
+Text.people_force_border[BORDER]:disabled,
+Text.people_force_border[MULTI][BORDER]:disabled {
+  box-shadow: none;
+  border: 1px solid #a4a4a4;
+}
+
+Text[BORDER]:disabled,
+Text[MULTI][BORDER]:disabled {
+  box-shadow: none;
+  border: 1px solid white;
+}
+
+/* Signals focus gained ********/
+Text[BORDER]:focused,
+Text[MULTI][BORDER]:focused,
+Shell.people_popup_shell {
+  box-shadow: 1px 1px 2px black; 
+  border: 1px solid #a4a4a4;
+}
+
+/** LOGO */
+.people-logoComposite {
+  background-image: gradient(linear, left top, right top,
+                               from( #007a9a ),
+                               to( #00294a )
+);
+}
+
+.people-logo {
+  background-color: transparent; 
+}
+
+.people-logoTable {
+  background-color: transparent; 
+  color: white;
+  font: 12px Helvetica, Verdana, "Lucida Sans", Arial, sans-serif;
+}
+
+/** Corresponding links */
+Link.people-logoTable,
+Link.people-logoTable:hover,
+Link.people-logoTable:selected,
+Link.people-logoTable:selected:unfocused,
+Link.people-logoTable:linesvisible:even:hover,
+Link.people-logoTable:linesvisible:even:selected,
+Link.people-logoTable:linesvisible:even:selected:unfocused
+{
+  background-color: transparent;
+  color: #ffffff;
+  background-image: none;
+
+}
+
+/******** LINKS **************/
+
+Link, Link-Hyperlink,
+Link-Hyperlink:link, 
+Link-Hyperlink:visited, 
+Link-Hyperlink:active {
+  color: #333333;
+  background-color: #ffffff;
+  background-image: none;
+  text-shadow: none;
+  text-decoration: none;
+}
+
+Link-Hyperlink:hover {
+  text-decoration: underline;
+}
+
+Link-Hyperlink:disabled {
+  color: #959595;
+}
+
+/*** Override default links **/
+a:link { 
+       color: #333333;  text-decoration:none;  
+} 
+a:hover { 
+       text-decoration:underline; 
+}
+
+
+/** TABLE ITEMS **/
+/* Fix invisible links on selected and hover table rows */
+Table-RowOverlay:selected,
+Table-RowOverlay:linesvisible:even:selected {
+  color: #333333;
+  background-color: #9aaaba;
+}
+
+Table-RowOverlay:selected:unfocused, 
+Table-RowOverlay:linesvisible:even:selected:unfocused {
+  color: #333333;
+  background-color: #a3b3c4;
+}
diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-headerExt.css b/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-headerExt.css
new file mode 100644 (file)
index 0000000..0ddeccb
--- /dev/null
@@ -0,0 +1,15 @@
+/******************************************
+**    Argeo Suite additional header     **
+******************************************/
+
+/* Force the addition of global styles to the application header */
+
+/*** Override default links **/
+a:link { 
+  color: #333333;  
+  text-decoration:none;  
+} 
+
+a:hover { 
+  text-decoration:underline; 
+}
diff --git a/pom.xml b/pom.xml
index 387030fa4df432ef4420371d0ab1f8394739b28e..77b12822ce40f07d25bea0416b4c766c9007f18e 100644 (file)
--- a/pom.xml
+++ b/pom.xml
        <version>0.1.1-SNAPSHOT</version>
        <modules>
                <module>org.argeo.suite.web</module>
        <version>0.1.1-SNAPSHOT</version>
        <modules>
                <module>org.argeo.suite.web</module>
+               <module>org.argeo.suite.workbench.rap</module>
                <module>sdk</module>
        </modules>
        <properties>
                <module>sdk</module>
        </modules>
        <properties>
+               <version.argeo-suite>0.1.1-SNAPSHOT</version.argeo-suite>
                <developmentCycle.argeo-suite>0.1</developmentCycle.argeo-suite>
                <version.argeo-connect>2.1.63</version.argeo-connect>
                <version.argeo-tp-extras>2.1.9</version.argeo-tp-extras>
                <developmentCycle.argeo-suite>0.1</developmentCycle.argeo-suite>
                <version.argeo-connect>2.1.63</version.argeo-connect>
                <version.argeo-tp-extras>2.1.9</version.argeo-tp-extras>
index 261afa32a8cd050c55463a55b56dd0f6f3cd2dec..3f2f57c29b7c4a04f65965f03c9dec8a6326fc55 100644 (file)
@@ -9,11 +9,8 @@ argeo.osgi.start.5.workbench=org.eclipse.equinox.http.registry
 argeo.osgi.start.5.apps=org.argeo.connect.people.web,\
 org.argeo.connect.people.rap
 
 argeo.osgi.start.5.apps=org.argeo.connect.people.web,\
 org.argeo.connect.people.rap
 
-argeo.osgi.start.6.apps=org.argeo.suite.web
-
-## rel path from the exec/<app_name>/ folder (user.dir) to the FIRST INIT dir
-#argeo.node.init=../../../org.argeo.suite.web/resources/init
-
+argeo.osgi.start.6.apps=org.argeo.suite.web,\
+org.argeo.suite.workbench.rap
 
 ## Rap Workbench configuration
 ## Open the user admin page by default when opening the workbench
 
 ## Rap Workbench configuration
 ## Open the user admin page by default when opening the workbench
@@ -21,9 +18,6 @@ org.argeo.security.ui.initialPerspective=org.argeo.cms.ui.workbench.adminSecurit
 # Default home page for the Specific People RAP workbench perspective 
 org.argeo.ui.openHomeCommandId=org.argeo.connect.people.rap.openDefaultEditor
 
 # Default home page for the Specific People RAP workbench perspective 
 org.argeo.ui.openHomeCommandId=org.argeo.connect.people.rap.openDefaultEditor
 
-## LDAP
-#argeo.node.useradmin.uris=dc=demo,dc=suite,dc=argeo,dc=org.ldif?userBase=ou=People&groupBase=ou=Groups
-
 ## JCR BACKEND
 argeo.node.repo.type=h2
 
 ## JCR BACKEND
 argeo.node.repo.type=h2
 
index 75ec7de135b2e700068d2556039ad120755ed46e..87b8d13bf98ec4c44ea78cad92923e497d5b67a2 100644 (file)
        <packaging>jar</packaging>
        <dependencies>
                <!-- Default Assembly for supported minimal set of Argeo Suite Features -->
        <packaging>jar</packaging>
        <dependencies>
                <!-- Default Assembly for supported minimal set of Argeo Suite Features -->
+               
+               <!--  Rap Workbench -->
+               <dependency>
+                       <groupId>org.argeo.suite</groupId>
+                       <artifactId>org.argeo.suite.workbench.rap</artifactId>
+                       <version>0.1.1-SNAPSHOT</version>
+               </dependency>
+               
+               <!-- Web UI -->
                <dependency>
                        <groupId>org.argeo.suite</groupId>
                        <artifactId>org.argeo.suite.web</artifactId>
                <dependency>
                        <groupId>org.argeo.suite</groupId>
                        <artifactId>org.argeo.suite.web</artifactId>