</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">
--- /dev/null
+<?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>
--- /dev/null
+/bin/
+/target/
--- /dev/null
+<?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>
--- /dev/null
+/MANIFEST.MF
--- /dev/null
+argeo.security.systemKey=argeo
\ No newline at end of file
--- /dev/null
+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
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+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;
+ }
+}
--- /dev/null
+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);
+ }
+}
--- /dev/null
+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);
+ }
+}
--- /dev/null
+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());
+ }
+}
--- /dev/null
+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"));
+ }
+}
--- /dev/null
+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();
+ }
+}
--- /dev/null
+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);
+ }
+}
--- /dev/null
+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)
--- /dev/null
+/******************************************
+** 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;
+}
--- /dev/null
+/******************************************
+** 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;
+}
<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>
+ <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>
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
# 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
<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>