Start organising Argeo Apps
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 13 Jan 2020 10:26:15 +0000 (11:26 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 13 Jan 2020 10:26:15 +0000 (11:26 +0100)
27 files changed:
library/org.argeo.suite.docs/.gitignore [new file with mode: 0644]
library/org.argeo.suite.docs/.project [new file with mode: 0644]
library/org.argeo.suite.docs/META-INF/.gitignore [new file with mode: 0644]
library/org.argeo.suite.docs/bnd.bnd [new file with mode: 0644]
library/org.argeo.suite.docs/build.properties [new file with mode: 0644]
library/org.argeo.suite.docs/e4xmi/browse.e4xmi [new file with mode: 0644]
library/org.argeo.suite.docs/pom.xml [new file with mode: 0644]
library/pom.xml [new file with mode: 0644]
org.argeo.suite.e4.rap/OSGI-INF/appDeployer.xml [new file with mode: 0644]
org.argeo.suite.e4.rap/bnd.bnd
org.argeo.suite.e4.rap/e4xmi/argeo-settings.e4xmi [new file with mode: 0644]
org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/AppDeployer.java [new file with mode: 0644]
org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/AppsPart.java [new file with mode: 0644]
org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/ArgeoRapApp.java [new file with mode: 0644]
org.argeo.suite.e4/build.properties
pom.xml
sdk/argeo-office-e4-rap.properties
sdk/init/node/dc=example,dc=com.ldif [new file with mode: 0644]
sdk/init/node/ou=roles,ou=node.ldif [new file with mode: 0644]
systems/org.argeo.suite.studio/.gitignore [new file with mode: 0644]
systems/org.argeo.suite.studio/.project [new file with mode: 0644]
systems/org.argeo.suite.studio/META-INF/.gitignore [new file with mode: 0644]
systems/org.argeo.suite.studio/bnd.bnd [new file with mode: 0644]
systems/org.argeo.suite.studio/build.properties [new file with mode: 0644]
systems/org.argeo.suite.studio/e4xmi/mvc.e4xmi [new file with mode: 0644]
systems/org.argeo.suite.studio/pom.xml [new file with mode: 0644]
systems/pom.xml [new file with mode: 0644]

diff --git a/library/org.argeo.suite.docs/.gitignore b/library/org.argeo.suite.docs/.gitignore
new file mode 100644 (file)
index 0000000..09e3bc9
--- /dev/null
@@ -0,0 +1,2 @@
+/bin/
+/target/
diff --git a/library/org.argeo.suite.docs/.project b/library/org.argeo.suite.docs/.project
new file mode 100644 (file)
index 0000000..b73240a
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>org.argeo.suite.docs</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.pde.ManifestBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.SchemaBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.ds.core.builder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.pde.PluginNature</nature>
+       </natures>
+</projectDescription>
diff --git a/library/org.argeo.suite.docs/META-INF/.gitignore b/library/org.argeo.suite.docs/META-INF/.gitignore
new file mode 100644 (file)
index 0000000..4854a41
--- /dev/null
@@ -0,0 +1 @@
+/MANIFEST.MF
diff --git a/library/org.argeo.suite.docs/bnd.bnd b/library/org.argeo.suite.docs/bnd.bnd
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/library/org.argeo.suite.docs/build.properties b/library/org.argeo.suite.docs/build.properties
new file mode 100644 (file)
index 0000000..34d2e4d
--- /dev/null
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
diff --git a/library/org.argeo.suite.docs/e4xmi/browse.e4xmi b/library/org.argeo.suite.docs/e4xmi/browse.e4xmi
new file mode 100644 (file)
index 0000000..2faa633
--- /dev/null
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ASCII"?>
+<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_bQjNYDAVEei3AbO1ldMI0w" elementId="org.argeo.suite.e4.application">
+  <children xsi:type="basic:TrimmedWindow" xmi:id="_dKIlMDAVEei3AbO1ldMI0w" elementId="org.argeo.suite.e4.trimmedwindow.main">
+    <persistedState key="styleOverride" value="8"/>
+    <tags>shellMaximized</tags>
+    <tags>auth.cn=org.argeo.office.coworker,ou=roles,ou=node</tags>
+    <children xsi:type="basic:PartSashContainer" xmi:id="__LhVQMlHEeic2PiQZ6_KRg" elementId="org.argeo.suite.e4.partsashcontainer.1" selectedElement="_8xaqAP3vEeia6ei0NV0Yrw" horizontal="true">
+      <children xsi:type="basic:Part" xmi:id="_xi1k0DDzEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.part.documents" containerData="2000" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.MyFilesView" label="%documents" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/types/documents.png"/>
+      <children xsi:type="basic:PartStack" xmi:id="_8xaqAP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.partstack.entityEditorArea" containerData="8000">
+        <tags>entityEditorArea</tags>
+        <children xsi:type="basic:Part" xmi:id="_EQBUIP3xEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.part.defaultDashboard" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.DocumentsDashboard" label="" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/types/dashboard.png" tooltip="%dashboard">
+          <toolbar xmi:id="_EQB7MP3xEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.toolbar.0">
+            <children xsi:type="menu:HandledToolItem" xmi:id="_MEMbEP3xEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.handledtoolitem.changepassword" label="%changePassword" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/person-logged-in.png" command="_UJVGgOdFEeijEOqYKRSeoQ"/>
+            <children xsi:type="menu:HandledToolItem" xmi:id="_Qbo8cP3xEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.handledtoolitem.exit" label="%exit" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/logout.png" command="_lhxJUD4dEeiR-OuUuIB1Aw"/>
+          </toolbar>
+        </children>
+      </children>
+    </children>
+  </children>
+  <handlers xmi:id="_HCDl8D4aEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.handler.openPerspective" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.OpenPerspective" command="__usGAD4ZEeiR-OuUuIB1Aw"/>
+  <handlers xmi:id="_ipB00DArEei3AbO1ldMI0w" elementId="org.argeo.suite.e4.handler.createEntity" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.connect.e4.handlers.CreateEntity" command="_2Xkt8DApEei3AbO1ldMI0w"/>
+  <handlers xmi:id="_9gu00DDgEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.handler.1" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.SavePart" command="_1lO94DDgEeiUfOa4rxEKwQ"/>
+  <handlers xmi:id="_ADDAkDDhEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.handler.2" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.SaveAllParts" command="_5EpEADDgEeiUfOa4rxEKwQ"/>
+  <handlers xmi:id="_ZBWe8DDmEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.handler.3" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.CloseAllParts" command="_VdldQDDmEeiUfOa4rxEKwQ"/>
+  <handlers xmi:id="_ClgawD4dEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.handler.0" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.DoNothing" command="__L724D4cEeiR-OuUuIB1Aw"/>
+  <handlers xmi:id="_oOUPID4dEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.handler.4" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.CloseWorkbench" command="_lhxJUD4dEeiR-OuUuIB1Aw"/>
+  <handlers xmi:id="_FXgZoEJBEeij3Nr_iRrJtw" elementId="org.argeo.suite.e4.handler.5" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.connect.e4.handlers.OpenEntity" command="_CSkpAEJBEeij3Nr_iRrJtw"/>
+  <handlers xmi:id="_rpYtUFKhEeiMg9Tl6PNQtg" elementId="org.argeo.suite.e4.handler.7" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.people.e4.handlers.EditJob" command="_SZBRwFKgEeiMg9Tl6PNQtg"/>
+  <handlers xmi:id="_NG13YFKpEeiMg9Tl6PNQtg" elementId="org.argeo.suite.e4.handler.8" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.people.e4.handlers.RemoveEntityReference" command="_ABz60FKpEeiMg9Tl6PNQtg"/>
+  <handlers xmi:id="_fXnekELbEeim_a9htzedPA" elementId="org.argeo.suite.e4.handler.6" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.connect.e4.handlers.DeleteSelectedEntity" command="_EvkB4ELbEeim_a9htzedPA"/>
+  <handlers xmi:id="_WbOlwOdHEeijEOqYKRSeoQ" elementId="org.argeo.suite.e4.handler.9" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.ChangePassword" command="_UJVGgOdFEeijEOqYKRSeoQ"/>
+  <bindingTables xmi:id="_gxEm4DDqEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.bindingtable.0" bindingContext="_Byl7gDD1EeiUfOa4rxEKwQ">
+    <bindings xmi:id="_hj9cYDDqEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.keybinding.0" keySequence="CTRL+S" command="_1lO94DDgEeiUfOa4rxEKwQ"/>
+    <bindings xmi:id="_pEAGYDDqEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.keybinding.1" keySequence="SHIFT+CTRL+S" command="_5EpEADDgEeiUfOa4rxEKwQ"/>
+  </bindingTables>
+  <rootContext xmi:id="_Byl7gDD1EeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.bindingcontext.main" name="Main"/>
+  <descriptors xmi:id="_GkmucDD0EeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.partdescriptor.file" label="File" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/types/file.png" allowMultiple="true" category="entityEditorArea" closeable="true" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.FileEditor">
+    <toolbar xmi:id="_UaykgP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.toolbar.3">
+      <children xsi:type="menu:HandledToolItem" xmi:id="_Up3iUP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.handledtoolitem.closeall" label="%closeAll" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/actions/close-all.png" tooltip="%closeAll" command="_VdldQDDmEeiUfOa4rxEKwQ"/>
+    </toolbar>
+  </descriptors>
+  <descriptors xmi:id="_NjQioDD0EeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.partdescriptor.folder" label="Folder" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/types/folder.png" allowMultiple="true" category="entityEditorArea" closeable="true" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.FolderEditor">
+    <menus xsi:type="menu:PopupMenu" xmi:id="_bXH1kGQBEei4MaDg_iG6fg" elementId="org.argeo.suite.e4.popupmenu.folder">
+      <children xsi:type="menu:HandledMenuItem" xmi:id="_U4pEUGQDEei4MaDg_iG6fg" elementId="org.argeo.suite.e4.handledmenuitem.test" label="Test" command="_VdldQDDmEeiUfOa4rxEKwQ"/>
+      <children xsi:type="menu:DynamicMenuContribution" xmi:id="_fVnEYGQBEei4MaDg_iG6fg" elementId="org.argeo.suite.e4.dynamicmenucontribution.0" label="Dynamic" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.FolderMenu"/>
+      <children xsi:type="menu:DirectMenuItem" xmi:id="_5-x-kGQFEei4MaDg_iG6fg" elementId="org.argeo.suite.e4.directmenuitem.testdirectmenuitem" label="Test Direct Menu Item" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.TestDirectMenuItem"/>
+    </menus>
+    <toolbar xmi:id="_TIkHoP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.toolbar.2">
+      <children xsi:type="menu:HandledToolItem" xmi:id="_Ttc9YP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.handledtoolitem.closeall" label="%closeAll" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/actions/close-all.png" tooltip="%closeAll" command="_VdldQDDmEeiUfOa4rxEKwQ"/>
+    </toolbar>
+  </descriptors>
+  <commands xmi:id="_2Xkt8DApEei3AbO1ldMI0w" elementId="org.argeo.suite.e4.command.createEntity" commandName="New Entity">
+    <parameters xmi:id="_GnXrcDAsEei3AbO1ldMI0w" elementId="targetNodeType" name="targetNodeType" optional="false"/>
+  </commands>
+  <commands xmi:id="_1lO94DDgEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.command.savePart" commandName="Save"/>
+  <commands xmi:id="_5EpEADDgEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.command.saveAll" commandName="Save All"/>
+  <commands xmi:id="_VdldQDDmEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.command.closeAll" commandName="Close All"/>
+  <commands xmi:id="__usGAD4ZEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.command.openPerspective" commandName="Open Perspective">
+    <parameters xmi:id="_TgkVED4aEeiR-OuUuIB1Aw" elementId="perspectiveId" name="Perspective Id" optional="false"/>
+  </commands>
+  <commands xmi:id="__L724D4cEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.command.doNothing" commandName="Do Nothing"/>
+  <commands xmi:id="_lhxJUD4dEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.command.logout" commandName="Log out"/>
+  <commands xmi:id="_CSkpAEJBEeij3Nr_iRrJtw" elementId="org.argeo.suite.e4.command.openEntity" commandName="Open Entity">
+    <parameters xmi:id="_yfo0YEJDEeij3Nr_iRrJtw" elementId="param.jcrId" name="JCR ID" optional="false"/>
+    <parameters xmi:id="_2M2F8EJDEeij3Nr_iRrJtw" elementId="param.openForEdit" name="Open for edit"/>
+  </commands>
+  <commands xmi:id="_EvkB4ELbEeim_a9htzedPA" elementId="org.argeo.suite.e4.command.deleteEntity" commandName="Delete Entity" description="%delete"/>
+  <commands xmi:id="_SZBRwFKgEeiMg9Tl6PNQtg" elementId="org.argeo.suite.e4.command.editJob" commandName="Edit Job">
+    <parameters xmi:id="_UcMDYFKgEeiMg9Tl6PNQtg" elementId="relevantNodeJcrId" name="Relevant Node JCR ID" optional="false"/>
+    <parameters xmi:id="_tsxAsFKpEeiMg9Tl6PNQtg" elementId="isBackward" name="Is Backward"/>
+  </commands>
+  <commands xmi:id="_ABz60FKpEeiMg9Tl6PNQtg" elementId="org.argeo.suite.e4.command.removeEntityReference" commandName="Remove Entity Reference">
+    <parameters xmi:id="_D__AkFKpEeiMg9Tl6PNQtg" elementId="toRemoveJcrId" name="To Remove JCR ID" optional="false"/>
+  </commands>
+  <commands xmi:id="_UJVGgOdFEeijEOqYKRSeoQ" elementId="org.argeo.suite.e4.command.changePassword" commandName="Change Password"/>
+  <addons xmi:id="_bQjNYTAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
+  <addons xmi:id="_bQjNYjAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
+  <addons xmi:id="_bQjNYzAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
+  <addons xmi:id="_bQjNZDAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
+  <addons xmi:id="_bQjNZTAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
+  <addons xmi:id="_bQjNZjAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
+  <addons xmi:id="_bQjNZzAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.workbench.handler.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
+  <addons xmi:id="_srLWsEIoEeij3Nr_iRrJtw" elementId="org.argeo.suite.e4.addon.locale" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.addons.LocaleAddon"/>
+  <addons xmi:id="_vN5UgP1IEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.addon.auth" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.addons.AuthAddon"/>
+</application:Application>
diff --git a/library/org.argeo.suite.docs/pom.xml b/library/org.argeo.suite.docs/pom.xml
new file mode 100644 (file)
index 0000000..2c98ea2
--- /dev/null
@@ -0,0 +1,31 @@
+<?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.library</groupId>
+               <artifactId>suite-library</artifactId>
+               <version>2.1.16-SNAPSHOT</version>
+               <relativePath>..</relativePath>
+       </parent>
+       <artifactId>org.argeo.suite.docs</artifactId>
+       <name>Docs App</name>
+       <packaging>jar</packaging>
+       <dependencies>
+               <dependency>
+                       <groupId>org.argeo.connect</groupId>
+                       <artifactId>org.argeo.connect.e4</artifactId>
+                       <version>${version.argeo-connect}</version>
+               </dependency>
+
+               <!-- Eclipse E4 -->
+               <dependency>
+                       <groupId>org.argeo.tp</groupId>
+                       <artifactId>argeo-tp-rap-e4</artifactId>
+                       <version>${version.argeo-tp}</version>
+                       <type>pom</type>
+                       <scope>provided</scope>
+               </dependency>
+       </dependencies>
+</project>
diff --git a/library/pom.xml b/library/pom.xml
new file mode 100644 (file)
index 0000000..8d2983d
--- /dev/null
@@ -0,0 +1,19 @@
+<?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>2.1.16-SNAPSHOT</version>
+               <relativePath>..</relativePath>
+       </parent>
+       <groupId>org.argeo.suite.library</groupId>
+       <artifactId>suite-library</artifactId>
+       <name>Library Suite</name>
+       <packaging>pom</packaging>
+       <modules>
+               <module>org.argeo.suite.docs</module>
+       </modules>
+</project>
diff --git a/org.argeo.suite.e4.rap/OSGI-INF/appDeployer.xml b/org.argeo.suite.e4.rap/OSGI-INF/appDeployer.xml
new file mode 100644 (file)
index 0000000..55057ef
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="init" configuration-policy="optional" deactivate="destroy">
+   <implementation class="org.argeo.suite.e4.rap.settings.AppDeployer"/>
+</scr:component>
index d33d61d98a5bdc5357647f8916e067a4a21066b2..e65157a97d1f7ab2059fe4572a9bd6638f8c51bf 100644 (file)
@@ -1,7 +1,8 @@
 Bundle-SymbolicName: org.argeo.suite.e4.rap;singleton:=true
 Bundle-ActivationPolicy: lazy
 
-Service-Component: OSGI-INF/argeo-office-rap.xml
+Service-Component: OSGI-INF/argeo-office-rap.xml,\
+OSGI-INF/appDeployer.xml
 
 Import-Package: org.argeo.node,\
 org.eclipse.swt,\
diff --git a/org.argeo.suite.e4.rap/e4xmi/argeo-settings.e4xmi b/org.argeo.suite.e4.rap/e4xmi/argeo-settings.e4xmi
new file mode 100644 (file)
index 0000000..7c667ce
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ASCII"?>
+<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:advanced="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmi:id="_sLyMYDXeEeqJorAtA3e9xg" elementId="org.argeo.suite.e4.application">
+  <children xsi:type="basic:TrimmedWindow" xmi:id="_KPcNQDXfEeqJorAtA3e9xg" elementId="org.argeo.suite.e4.trimmedwindow.0">
+    <children xsi:type="advanced:PerspectiveStack" xmi:id="_MAQqoDXfEeqJorAtA3e9xg" elementId="org.argeo.suite.e4.perspectivestack.0">
+      <children xsi:type="advanced:Perspective" xmi:id="_MfQTwDXfEeqJorAtA3e9xg" elementId="org.argeo.suite.e4.perspective.apps">
+        <children xsi:type="basic:Part" xmi:id="_QjgzYDXfEeqJorAtA3e9xg" elementId="org.argeo.suite.e4.part.0"/>
+      </children>
+    </children>
+  </children>
+  <addons xmi:id="_sLyMYTXeEeqJorAtA3e9xg" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
+  <addons xmi:id="_sLyMYjXeEeqJorAtA3e9xg" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
+  <addons xmi:id="_sLyMYzXeEeqJorAtA3e9xg" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
+  <addons xmi:id="_sLyMZDXeEeqJorAtA3e9xg" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
+  <addons xmi:id="_sLyMZTXeEeqJorAtA3e9xg" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
+  <addons xmi:id="_sLyMZjXeEeqJorAtA3e9xg" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
+  <addons xmi:id="_sLyMZzXeEeqJorAtA3e9xg" elementId="org.eclipse.e4.ui.workbench.handler.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
+  <addons xmi:id="_3xRBwDXeEeqJorAtA3e9xg" elementId="org.argeo.suite.e4.addon.locale" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.addons.LocaleAddon"/>
+  <addons xmi:id="_6uMs8DXeEeqJorAtA3e9xg" elementId="org.argeo.suite.e4.addon.auth" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.addons.AuthAddon"/>
+</application:Application>
diff --git a/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/AppDeployer.java b/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/AppDeployer.java
new file mode 100644 (file)
index 0000000..874f180
--- /dev/null
@@ -0,0 +1,72 @@
+package org.argeo.suite.e4.rap.settings;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.argeo.cms.e4.rap.AbstractRapE4App;
+import org.argeo.cms.util.CmsTheme;
+import org.eclipse.rap.rwt.application.ApplicationConfiguration;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.cm.ConfigurationException;
+import org.osgi.service.cm.ManagedServiceFactory;
+
+public class AppDeployer implements ManagedServiceFactory {
+       private final static Log log = LogFactory.getLog(AppDeployer.class);
+       private BundleContext bundleContext;
+
+       public void init(BundleContext bundleContext, Map<String, String> properties) {
+               this.bundleContext = bundleContext;
+
+               deploy(findBundle("org.argeo.suite.studio", null));
+               deploy(findBundle("org.argeo.suite.docs", null));
+       }
+
+       public void destroy() {
+
+       }
+
+       @Override
+       public String getName() {
+               return "Argeo App Deployer";
+       }
+
+       @Override
+       public void updated(String pid, Dictionary<String, ?> properties) throws ConfigurationException {
+               Bundle bundle = findBundle(pid, properties);
+               deploy(bundle);
+       }
+
+       protected void deploy(Bundle bundle) {
+               CmsTheme cmsTheme = new CmsTheme(bundleContext, "org.argeo.theme.argeo2");
+
+               ArgeoRapApp app = new ArgeoRapApp(bundle, cmsTheme);
+
+               Hashtable<String, String> props = new Hashtable<String, String>();
+               props.put(AbstractRapE4App.CONTEXT_NAME_PROPERTY, app.getContextName());
+               bundleContext.registerService(ApplicationConfiguration.class, app, props);
+
+               if (log.isDebugEnabled())
+                       log.debug("Deployed Argeo App " + bundle.getSymbolicName() + " to " + app.getContextName());
+       }
+
+       @Override
+       public void deleted(String pid) {
+       }
+
+       protected Bundle findBundle(String pid, Dictionary<String, ?> properties) {
+               Bundle bundle = null;
+               for (Bundle b : bundleContext.getBundles()) {
+                       if (b.getSymbolicName().equals(pid)) {
+                               bundle = b;
+                               break;
+                       }
+               }
+               if (bundle == null)
+                       throw new IllegalStateException("Bundle " + pid + " not found");
+               return bundle;
+       }
+}
diff --git a/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/AppsPart.java b/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/AppsPart.java
new file mode 100644 (file)
index 0000000..2f80ec8
--- /dev/null
@@ -0,0 +1,13 @@
+package org.argeo.suite.e4.rap.settings;
+
+import javax.annotation.PostConstruct;
+
+import org.eclipse.swt.widgets.Composite;
+
+/** Overview of the active and activable Apps. */
+public class AppsPart {
+       @PostConstruct
+       public void createUi(Composite parent) {
+
+       }
+}
diff --git a/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/ArgeoRapApp.java b/org.argeo.suite.e4.rap/src/org/argeo/suite/e4/rap/settings/ArgeoRapApp.java
new file mode 100644 (file)
index 0000000..83a5bd0
--- /dev/null
@@ -0,0 +1,50 @@
+package org.argeo.suite.e4.rap.settings;
+
+import java.util.Enumeration;
+
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.argeo.cms.e4.rap.AbstractRapE4App;
+import org.argeo.cms.util.CmsTheme;
+import org.eclipse.rap.rwt.application.Application;
+import org.eclipse.rap.rwt.client.WebClient;
+import org.osgi.framework.Bundle;
+
+/** Argeo RAP app. */
+public class ArgeoRapApp extends AbstractRapE4App {
+       private final static Log log = LogFactory.getLog(ArgeoRapApp.class);
+
+       private Bundle bundle;
+       private CmsTheme cmsTheme;
+       private String baseE4xmi = "/e4xmi";
+
+       public ArgeoRapApp(Bundle bundle, CmsTheme cmsTheme) {
+               this.bundle = bundle;
+               this.cmsTheme = cmsTheme;
+               setLifeCycleUri("bundleclass://org.argeo.suite.e4.rap/org.argeo.suite.e4.rap.ArgeoSuiteLoginLifecycle");
+               String contextName = "argeo/" + FilenameUtils.getExtension(bundle.getSymbolicName());
+               setContextName(contextName);
+       }
+
+       @Override
+       protected void addEntryPoints(Application application) {
+               if (cmsTheme != null)
+                       cmsTheme.apply(application);
+
+               String font = "<link rel='stylesheet' href='http://fonts.googleapis.com/css?family=Source+Sans+Pro'/>";
+               getBaseProperties().put(WebClient.HEAD_HTML, font);
+
+               Enumeration<String> paths = bundle.getEntryPaths(baseE4xmi);
+               while (paths.hasMoreElements()) {
+                       String p = paths.nextElement();
+                       if (p.endsWith(".e4xmi")) {
+                               String e4xmiPath = bundle.getSymbolicName() + '/' + p;
+                               String name = '/' + FilenameUtils.removeExtension(FilenameUtils.getName(p));
+                               addE4EntryPoint(application, name, e4xmiPath, getBaseProperties());
+                               if (log.isDebugEnabled())
+                                       log.debug("Registered " + e4xmiPath + " as " + getContextName() + name);
+                       }
+               }
+       }
+}
index afd687337c8db70ec98015c80f58f43a12160c8b..9f62ca8350db1d58e8f10dabec8a8895f2c117cf 100644 (file)
@@ -5,5 +5,6 @@ bin.includes = META-INF/,\
                e4xmi/,\
                plugin.xml,\
                e4xmi/argeo-suite-toolbars.e4xmi,\
-               OSGI-INF/resourcesE4Service.xml
+               OSGI-INF/resourcesE4Service.xml,\
+               e4xmi/argeo-settings.e4xmi
 source.. = src/
diff --git a/pom.xml b/pom.xml
index 745e8ca6b3b3b2089a6a88f68080ee7a4d015bbb..fc113f7725ccd23daa9250c64dcc47d66dce8a17 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -28,6 +28,8 @@
                <module>org.argeo.suite.standard</module>
 
                <!-- Apps -->
+               <module>library</module>
+               <module>systems</module>
                <module>org.argeo.suite.tracker</module>
 
                <module>dep</module>
index bf5adc603b70ac59882098abfe2400aeb34c7ec5..4bb5aec284a05c17d8a18dd4d94018747cfa82b3 100644 (file)
@@ -21,6 +21,8 @@ org.osgi.service.http.port=7070
 
 #argeo.node.useradmin.uris=ldap://cn=Directory%20Manager:argeoargeo@localhost:10389/dc=example,dc=com
 
+rgeo.node.init=../../init
+
 argeo.i18n.locales=en,fr,de,ar
 argeo.i18n.defaultLocale=en
 
diff --git a/sdk/init/node/dc=example,dc=com.ldif b/sdk/init/node/dc=example,dc=com.ldif
new file mode 100644 (file)
index 0000000..5371306
--- /dev/null
@@ -0,0 +1,39 @@
+dn: uid=coworker,ou=People,dc=example,dc=com
+objectClass: inetOrgPerson
+objectClass: organizationalPerson
+objectClass: person
+objectClass: top
+givenName: John
+sn: Coworker
+userPassword:: e1NIQX1pZVNWNTVRYytlUU9hWURSU2hhL0Fqek5USkU9
+mail: coworker@localhost
+uid: coworker
+cn: John Coworker
+description: A regular coworker
+
+dn: uid=manager,ou=People,dc=example,dc=com
+objectClass: inetOrgPerson
+objectClass: organizationalPerson
+objectClass: person
+objectClass: top
+givenName: Mary
+sn: Manager
+userPassword:: e1NIQX1pZVNWNTVRYytlUU9hWURSU2hhL0Fqek5USkU9
+mail: manager@localhost
+uid: manager
+cn: Mary Manager
+description: A manager
+
+dn: uid=root,ou=People,dc=example,dc=com
+objectClass: inetOrgPerson
+objectClass: person
+objectClass: organizationalPerson
+objectClass: top
+givenName: Super
+sn: User
+userPassword:: e1NIQX1pZVNWNTVRYytlUU9hWURSU2hhL0Fqek5USkU9
+mail: root@localhost
+uid: root
+cn: Super User
+description: Superuser
+
diff --git a/sdk/init/node/ou=roles,ou=node.ldif b/sdk/init/node/ou=roles,ou=node.ldif
new file mode 100644 (file)
index 0000000..d608c2b
--- /dev/null
@@ -0,0 +1,74 @@
+dn: cn=admin,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: admin
+member: uid=root,ou=People,dc=example,dc=com
+
+dn: cn=org.argeo.activities.editor,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.activities.editor
+member: cn=org.argeo.office.manager,ou=roles,ou=node
+
+dn: cn=org.argeo.activities.reader,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.activities.reader
+member: cn=org.argeo.office.coworker,ou=roles,ou=node
+
+dn: cn=org.argeo.connect.resources.editor,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.connect.resources.editor
+member: cn=org.argeo.office.manager,ou=roles,ou=node
+
+dn: cn=org.argeo.connect.resources.reader,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.connect.resources.reader
+member: cn=org.argeo.office.coworker,ou=roles,ou=node
+
+dn: cn=org.argeo.office.coworker,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.office.coworker
+member: cn=org.argeo.office.manager,ou=roles,ou=node
+member: uid=coworker,ou=People,dc=example,dc=com
+
+dn: cn=org.argeo.office.manager,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.office.manager
+member: uid=manager,ou=People,dc=example,dc=com
+member: uid=root,ou=People,dc=example,dc=com
+
+dn: cn=org.argeo.people.editor,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.people.editor
+member: cn=org.argeo.office.manager,ou=roles,ou=node
+
+dn: cn=org.argeo.people.reader,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.people.reader
+member: cn=org.argeo.office.coworker,ou=roles,ou=node
+
+dn: cn=org.argeo.tracker.editor,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.tracker.editor
+member: cn=org.argeo.office.manager,ou=roles,ou=node
+
+dn: cn=org.argeo.tracker.reader,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: org.argeo.tracker.reader
+member: cn=org.argeo.office.coworker,ou=roles,ou=node
+
+dn: cn=userAdmin,ou=roles,ou=node
+objectClass: groupOfNames
+objectClass: top
+cn: userAdmin
+member: cn=admin,ou=roles,ou=node
+
diff --git a/systems/org.argeo.suite.studio/.gitignore b/systems/org.argeo.suite.studio/.gitignore
new file mode 100644 (file)
index 0000000..09e3bc9
--- /dev/null
@@ -0,0 +1,2 @@
+/bin/
+/target/
diff --git a/systems/org.argeo.suite.studio/.project b/systems/org.argeo.suite.studio/.project
new file mode 100644 (file)
index 0000000..ea4f91d
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>org.argeo.suite.studio</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.pde.ManifestBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.SchemaBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.ds.core.builder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.pde.PluginNature</nature>
+       </natures>
+</projectDescription>
diff --git a/systems/org.argeo.suite.studio/META-INF/.gitignore b/systems/org.argeo.suite.studio/META-INF/.gitignore
new file mode 100644 (file)
index 0000000..4854a41
--- /dev/null
@@ -0,0 +1 @@
+/MANIFEST.MF
diff --git a/systems/org.argeo.suite.studio/bnd.bnd b/systems/org.argeo.suite.studio/bnd.bnd
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/systems/org.argeo.suite.studio/build.properties b/systems/org.argeo.suite.studio/build.properties
new file mode 100644 (file)
index 0000000..34d2e4d
--- /dev/null
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
diff --git a/systems/org.argeo.suite.studio/e4xmi/mvc.e4xmi b/systems/org.argeo.suite.studio/e4xmi/mvc.e4xmi
new file mode 100644 (file)
index 0000000..2faa633
--- /dev/null
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ASCII"?>
+<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_bQjNYDAVEei3AbO1ldMI0w" elementId="org.argeo.suite.e4.application">
+  <children xsi:type="basic:TrimmedWindow" xmi:id="_dKIlMDAVEei3AbO1ldMI0w" elementId="org.argeo.suite.e4.trimmedwindow.main">
+    <persistedState key="styleOverride" value="8"/>
+    <tags>shellMaximized</tags>
+    <tags>auth.cn=org.argeo.office.coworker,ou=roles,ou=node</tags>
+    <children xsi:type="basic:PartSashContainer" xmi:id="__LhVQMlHEeic2PiQZ6_KRg" elementId="org.argeo.suite.e4.partsashcontainer.1" selectedElement="_8xaqAP3vEeia6ei0NV0Yrw" horizontal="true">
+      <children xsi:type="basic:Part" xmi:id="_xi1k0DDzEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.part.documents" containerData="2000" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.MyFilesView" label="%documents" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/types/documents.png"/>
+      <children xsi:type="basic:PartStack" xmi:id="_8xaqAP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.partstack.entityEditorArea" containerData="8000">
+        <tags>entityEditorArea</tags>
+        <children xsi:type="basic:Part" xmi:id="_EQBUIP3xEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.part.defaultDashboard" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.DocumentsDashboard" label="" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/types/dashboard.png" tooltip="%dashboard">
+          <toolbar xmi:id="_EQB7MP3xEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.toolbar.0">
+            <children xsi:type="menu:HandledToolItem" xmi:id="_MEMbEP3xEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.handledtoolitem.changepassword" label="%changePassword" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/person-logged-in.png" command="_UJVGgOdFEeijEOqYKRSeoQ"/>
+            <children xsi:type="menu:HandledToolItem" xmi:id="_Qbo8cP3xEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.handledtoolitem.exit" label="%exit" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/logout.png" command="_lhxJUD4dEeiR-OuUuIB1Aw"/>
+          </toolbar>
+        </children>
+      </children>
+    </children>
+  </children>
+  <handlers xmi:id="_HCDl8D4aEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.handler.openPerspective" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.OpenPerspective" command="__usGAD4ZEeiR-OuUuIB1Aw"/>
+  <handlers xmi:id="_ipB00DArEei3AbO1ldMI0w" elementId="org.argeo.suite.e4.handler.createEntity" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.connect.e4.handlers.CreateEntity" command="_2Xkt8DApEei3AbO1ldMI0w"/>
+  <handlers xmi:id="_9gu00DDgEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.handler.1" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.SavePart" command="_1lO94DDgEeiUfOa4rxEKwQ"/>
+  <handlers xmi:id="_ADDAkDDhEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.handler.2" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.SaveAllParts" command="_5EpEADDgEeiUfOa4rxEKwQ"/>
+  <handlers xmi:id="_ZBWe8DDmEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.handler.3" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.CloseAllParts" command="_VdldQDDmEeiUfOa4rxEKwQ"/>
+  <handlers xmi:id="_ClgawD4dEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.handler.0" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.DoNothing" command="__L724D4cEeiR-OuUuIB1Aw"/>
+  <handlers xmi:id="_oOUPID4dEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.handler.4" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.CloseWorkbench" command="_lhxJUD4dEeiR-OuUuIB1Aw"/>
+  <handlers xmi:id="_FXgZoEJBEeij3Nr_iRrJtw" elementId="org.argeo.suite.e4.handler.5" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.connect.e4.handlers.OpenEntity" command="_CSkpAEJBEeij3Nr_iRrJtw"/>
+  <handlers xmi:id="_rpYtUFKhEeiMg9Tl6PNQtg" elementId="org.argeo.suite.e4.handler.7" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.people.e4.handlers.EditJob" command="_SZBRwFKgEeiMg9Tl6PNQtg"/>
+  <handlers xmi:id="_NG13YFKpEeiMg9Tl6PNQtg" elementId="org.argeo.suite.e4.handler.8" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.people.e4.handlers.RemoveEntityReference" command="_ABz60FKpEeiMg9Tl6PNQtg"/>
+  <handlers xmi:id="_fXnekELbEeim_a9htzedPA" elementId="org.argeo.suite.e4.handler.6" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.connect.e4.handlers.DeleteSelectedEntity" command="_EvkB4ELbEeim_a9htzedPA"/>
+  <handlers xmi:id="_WbOlwOdHEeijEOqYKRSeoQ" elementId="org.argeo.suite.e4.handler.9" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.ChangePassword" command="_UJVGgOdFEeijEOqYKRSeoQ"/>
+  <bindingTables xmi:id="_gxEm4DDqEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.bindingtable.0" bindingContext="_Byl7gDD1EeiUfOa4rxEKwQ">
+    <bindings xmi:id="_hj9cYDDqEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.keybinding.0" keySequence="CTRL+S" command="_1lO94DDgEeiUfOa4rxEKwQ"/>
+    <bindings xmi:id="_pEAGYDDqEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.keybinding.1" keySequence="SHIFT+CTRL+S" command="_5EpEADDgEeiUfOa4rxEKwQ"/>
+  </bindingTables>
+  <rootContext xmi:id="_Byl7gDD1EeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.bindingcontext.main" name="Main"/>
+  <descriptors xmi:id="_GkmucDD0EeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.partdescriptor.file" label="File" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/types/file.png" allowMultiple="true" category="entityEditorArea" closeable="true" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.FileEditor">
+    <toolbar xmi:id="_UaykgP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.toolbar.3">
+      <children xsi:type="menu:HandledToolItem" xmi:id="_Up3iUP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.handledtoolitem.closeall" label="%closeAll" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/actions/close-all.png" tooltip="%closeAll" command="_VdldQDDmEeiUfOa4rxEKwQ"/>
+    </toolbar>
+  </descriptors>
+  <descriptors xmi:id="_NjQioDD0EeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.partdescriptor.folder" label="Folder" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/types/folder.png" allowMultiple="true" category="entityEditorArea" closeable="true" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.FolderEditor">
+    <menus xsi:type="menu:PopupMenu" xmi:id="_bXH1kGQBEei4MaDg_iG6fg" elementId="org.argeo.suite.e4.popupmenu.folder">
+      <children xsi:type="menu:HandledMenuItem" xmi:id="_U4pEUGQDEei4MaDg_iG6fg" elementId="org.argeo.suite.e4.handledmenuitem.test" label="Test" command="_VdldQDDmEeiUfOa4rxEKwQ"/>
+      <children xsi:type="menu:DynamicMenuContribution" xmi:id="_fVnEYGQBEei4MaDg_iG6fg" elementId="org.argeo.suite.e4.dynamicmenucontribution.0" label="Dynamic" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.FolderMenu"/>
+      <children xsi:type="menu:DirectMenuItem" xmi:id="_5-x-kGQFEei4MaDg_iG6fg" elementId="org.argeo.suite.e4.directmenuitem.testdirectmenuitem" label="Test Direct Menu Item" contributionURI="bundleclass://org.argeo.connect.e4/org.argeo.documents.e4.parts.TestDirectMenuItem"/>
+    </menus>
+    <toolbar xmi:id="_TIkHoP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.toolbar.2">
+      <children xsi:type="menu:HandledToolItem" xmi:id="_Ttc9YP3vEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.handledtoolitem.closeall" label="%closeAll" iconURI="platform:/plugin/org.argeo.theme.argeo2/icons/actions/close-all.png" tooltip="%closeAll" command="_VdldQDDmEeiUfOa4rxEKwQ"/>
+    </toolbar>
+  </descriptors>
+  <commands xmi:id="_2Xkt8DApEei3AbO1ldMI0w" elementId="org.argeo.suite.e4.command.createEntity" commandName="New Entity">
+    <parameters xmi:id="_GnXrcDAsEei3AbO1ldMI0w" elementId="targetNodeType" name="targetNodeType" optional="false"/>
+  </commands>
+  <commands xmi:id="_1lO94DDgEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.command.savePart" commandName="Save"/>
+  <commands xmi:id="_5EpEADDgEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.command.saveAll" commandName="Save All"/>
+  <commands xmi:id="_VdldQDDmEeiUfOa4rxEKwQ" elementId="org.argeo.suite.e4.command.closeAll" commandName="Close All"/>
+  <commands xmi:id="__usGAD4ZEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.command.openPerspective" commandName="Open Perspective">
+    <parameters xmi:id="_TgkVED4aEeiR-OuUuIB1Aw" elementId="perspectiveId" name="Perspective Id" optional="false"/>
+  </commands>
+  <commands xmi:id="__L724D4cEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.command.doNothing" commandName="Do Nothing"/>
+  <commands xmi:id="_lhxJUD4dEeiR-OuUuIB1Aw" elementId="org.argeo.suite.e4.command.logout" commandName="Log out"/>
+  <commands xmi:id="_CSkpAEJBEeij3Nr_iRrJtw" elementId="org.argeo.suite.e4.command.openEntity" commandName="Open Entity">
+    <parameters xmi:id="_yfo0YEJDEeij3Nr_iRrJtw" elementId="param.jcrId" name="JCR ID" optional="false"/>
+    <parameters xmi:id="_2M2F8EJDEeij3Nr_iRrJtw" elementId="param.openForEdit" name="Open for edit"/>
+  </commands>
+  <commands xmi:id="_EvkB4ELbEeim_a9htzedPA" elementId="org.argeo.suite.e4.command.deleteEntity" commandName="Delete Entity" description="%delete"/>
+  <commands xmi:id="_SZBRwFKgEeiMg9Tl6PNQtg" elementId="org.argeo.suite.e4.command.editJob" commandName="Edit Job">
+    <parameters xmi:id="_UcMDYFKgEeiMg9Tl6PNQtg" elementId="relevantNodeJcrId" name="Relevant Node JCR ID" optional="false"/>
+    <parameters xmi:id="_tsxAsFKpEeiMg9Tl6PNQtg" elementId="isBackward" name="Is Backward"/>
+  </commands>
+  <commands xmi:id="_ABz60FKpEeiMg9Tl6PNQtg" elementId="org.argeo.suite.e4.command.removeEntityReference" commandName="Remove Entity Reference">
+    <parameters xmi:id="_D__AkFKpEeiMg9Tl6PNQtg" elementId="toRemoveJcrId" name="To Remove JCR ID" optional="false"/>
+  </commands>
+  <commands xmi:id="_UJVGgOdFEeijEOqYKRSeoQ" elementId="org.argeo.suite.e4.command.changePassword" commandName="Change Password"/>
+  <addons xmi:id="_bQjNYTAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
+  <addons xmi:id="_bQjNYjAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
+  <addons xmi:id="_bQjNYzAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
+  <addons xmi:id="_bQjNZDAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
+  <addons xmi:id="_bQjNZTAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
+  <addons xmi:id="_bQjNZjAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
+  <addons xmi:id="_bQjNZzAVEei3AbO1ldMI0w" elementId="org.eclipse.e4.ui.workbench.handler.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
+  <addons xmi:id="_srLWsEIoEeij3Nr_iRrJtw" elementId="org.argeo.suite.e4.addon.locale" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.addons.LocaleAddon"/>
+  <addons xmi:id="_vN5UgP1IEeia6ei0NV0Yrw" elementId="org.argeo.suite.e4.addon.auth" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.addons.AuthAddon"/>
+</application:Application>
diff --git a/systems/org.argeo.suite.studio/pom.xml b/systems/org.argeo.suite.studio/pom.xml
new file mode 100644 (file)
index 0000000..fc25c8c
--- /dev/null
@@ -0,0 +1,31 @@
+<?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.systems</groupId>
+               <artifactId>suite-systems</artifactId>
+               <version>2.1.16-SNAPSHOT</version>
+               <relativePath>..</relativePath>
+       </parent>
+       <artifactId>org.argeo.suite.studio</artifactId>
+       <name>Studio App</name>
+       <packaging>jar</packaging>
+       <dependencies>
+               <dependency>
+                       <groupId>org.argeo.connect</groupId>
+                       <artifactId>org.argeo.connect.e4</artifactId>
+                       <version>${version.argeo-connect}</version>
+               </dependency>
+
+               <!-- Eclipse E4 -->
+               <dependency>
+                       <groupId>org.argeo.tp</groupId>
+                       <artifactId>argeo-tp-rap-e4</artifactId>
+                       <version>${version.argeo-tp}</version>
+                       <type>pom</type>
+                       <scope>provided</scope>
+               </dependency>
+       </dependencies>
+</project>
diff --git a/systems/pom.xml b/systems/pom.xml
new file mode 100644 (file)
index 0000000..e967e86
--- /dev/null
@@ -0,0 +1,19 @@
+<?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>2.1.16-SNAPSHOT</version>
+               <relativePath>..</relativePath>
+       </parent>
+       <groupId>org.argeo.suite.systems</groupId>
+       <artifactId>suite-systems</artifactId>
+       <name>Systems Suite</name>
+       <packaging>pom</packaging>
+       <modules>
+               <module>org.argeo.suite.studio</module>
+       </modules>
+</project>