Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Sapphire/Adopters"

(Added adopter section for Liferay IDE)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Get inspired by seeing how others are using [http://www.eclipse.org/sapphire Sapphire] in real products and projects. If you are an adopter, tell the world about your usage. Include screen captures, if you'd like. Link to commercial sites and products, as appropriate, but please keep this page free of overly commercial messages.
+
Get inspired by seeing how others are using [http://www.eclipse.org/sapphire Sapphire] in real products and projects.  
 +
 
 +
If you are an adopter, tell the world about your usage. Include screen captures, if you'd like. Link to commercial sites and products, as appropriate, but please keep this page free of overly commercial messages. Other ways to show your support for Sapphire is to favorite it on [http://www.ohloh.net/p/sapphire Ohloh] or [http://marketplace.eclipse.org/content/sapphire Eclipse Marketplace], write a review, blog, tweet or shout from the nearest mountain top.
  
 
== Oracle ==
 
== Oracle ==
Line 21: Line 23:
  
 
An interesting aspect of these editors is the need to handle multiple versions of the Java EE specification and the need to merge content from the XML file and Java annotations.
 
An interesting aspect of these editors is the need to handle multiple versions of the Java EE specification and the need to merge content from the XML file and Java annotations.
 +
 +
{| cellpadding="10"
 +
|- valign="top" ! scope="row"
 +
| [[Image:Sapphire-Adopters-JavaEE-Config-Editors-1.png|250px|none]] || Editor for web.xml configuration file. This screen capture was taken while holding down CTRL key and hovering over a class name. Clicking on the link opens the class in question. This is one example where Sapphire goes beyond the user experience achievable with stock SWT controls.
 +
|}
 +
 +
== Knowing - Datamining platform ==
 +
 +
[https://github.com/knowing/Knowing Knowing] a data mining platform based on akka uses Sapphire to provide an [https://github.com/knowing/knowing-ide eclipse plugin and IDE] to create DataProcessingUnits (DPU). DPUs are a simply nodes, which represent task that are connected via edges. The DPU model is build with sapphire and the entire editor is build with sapphire.
 +
 +
 +
{| cellpadding="10"
 +
|- valign="top" ! scope="row"
 +
| [[Image:DPU_Wizard.png|250px|none]] || Wizard for creating a DPU
 +
|- valign="top" ! scope="row"
 +
| [[Image:DPU_Overview.png|250px|none]] || The multipage editor on the overview tab. It shows all the nodes and edges in a list. All parameters can be edited here. The properties view is empty here.
 +
|- valign="top" ! scope="row"
 +
| [[Image:DPU_Diagram.png|250px|none]] || The DPU diagram page in the multipage editor. You can easily create and connect your nodes. All properties can be set inside the properties view.
 +
|}
 +
 +
== Liferay IDE ==
 +
 +
[http://www.liferay.com/community/liferay-projects/liferay-ide/overview] Liferay IDE is the official set of Eclipse plug-ins supporting development for the Liferay Portal application platform.  Developers that work with Liferay Portal to deploy new functionality have to routinely deal with several configuration and definition files that are XML based.  Liferay IDE uses Sapphire to provide advanced editors with a rich UI to work with these various XML files instead of just using the default Eclipse XML source editor.
 +
 +
{| cellpadding="10"
 +
|- valign="top" ! scope="row"
 +
| [[Image:Sapphire_adopters_liferay_ide_portlet_config_editor.png|250px|none]] || A sapphire-based configuration editor for portlet.xml deployment descriptor files used by Liferay.  The use of Sapphire's content outline concept is very useful to display the underlying XML data.
 +
|- valign="top" ! scope="row"
 +
| [[Image:Sapphire_adopters_liferay_ide_hook_configuration_editor.png|250px|none]] || One of the ways Liferay developers extend Liferay Portal functionality is through a "Hook".  These hooks require special configuration through a liferay-hook.xml file.  So in Liferay IDE there is a sapphire-based Hook configuration editor.  The JDT based type-validation engine in Sapphire is used to great effect here.
 +
|- valign="top" ! scope="row"
 +
| [[Image:Sapphire_adopters_liferay_ide_kaleo_workflow_definition_editor.png|250px|none]] || Liferay has a built in workflow engine for business processes called Kaleo.  So Sapphire was used to build a graphical editor for the workflow definition files.  The neat feature here is the integration with the Node factories to allow productivity wizards to be shown to the user when they drop a new node from the palette onto the diagram view, inserting a custom operation in the default Sapphire node drop process.  Sapphire is extremely flexible in this regard.
 +
|- valign="top" ! scope="row"
 +
| [[Image:Sapphire_adopters_liferay_ide_kaleo_workflow_wizard.png|250px|none]] || When editing Kaleo workflow definition files, the user will drop many different complex node types onto the diagram.  Instead of forcing the user to then manually wire up and configure that node, a popup wizard is shown right after drop.  This prompts the user for more information about the new node and once they select Finish, then the node will be placed in the diagram and modified accordingly.  This user flow can be modified to disable the popup wizards and just use normal default palette node drop operation if the user prefers.
 +
|}

Latest revision as of 00:24, 18 December 2012

Get inspired by seeing how others are using Sapphire in real products and projects.

If you are an adopter, tell the world about your usage. Include screen captures, if you'd like. Link to commercial sites and products, as appropriate, but please keep this page free of overly commercial messages. Other ways to show your support for Sapphire is to favorite it on Ohloh or Eclipse Marketplace, write a review, blog, tweet or shout from the nearest mountain top.

Oracle

Oracle uses Sapphire in Oracle Enterprise Pack for Eclipse (OEPE) to build editors for a variety of XML configuration files for products such as WebLogic Server, Coherence and ADF. Increasingly, Sapphire is also used to build wizards, dialogs, property pages and other forms.

Sapphire-Adopters-Oracle-1.png
Editor for weblogic.xml configuration file. The editor has a form page and a source page linked together by a Sapphire model.
Sapphire-Adopters-Oracle-4.png
Editor for ADF taskflows. The editor has a diagram page, a form page, and a source page linked together by a Sapphire model. When a node is selected in the diagram, further detail can be seen in the properties view. The content of the properties view is also rendered by Sapphire.
Sapphire-Adopters-Oracle-2.png
Launch configuration for Coherence. In this case, a tabbed panel rendered by Sapphire is embedded inside an existing dialog.
Sapphire-Adopters-Oracle-3.png
Wizard for creating database tables built entirely with Sapphire. It has multiple pages to walk the user through the process of defining columns, keys, indexes, etc.

Java EE Configuration Editors Project

Java EE Configuration Editors Project is an effort to provide editors for common Java EE configuration files (such as web.xml and application.xml) as part of Eclipse Web Tools Platform. The initial focus is on the web.xml editor.

An interesting aspect of these editors is the need to handle multiple versions of the Java EE specification and the need to merge content from the XML file and Java annotations.

Sapphire-Adopters-JavaEE-Config-Editors-1.png
Editor for web.xml configuration file. This screen capture was taken while holding down CTRL key and hovering over a class name. Clicking on the link opens the class in question. This is one example where Sapphire goes beyond the user experience achievable with stock SWT controls.

Knowing - Datamining platform

Knowing a data mining platform based on akka uses Sapphire to provide an eclipse plugin and IDE to create DataProcessingUnits (DPU). DPUs are a simply nodes, which represent task that are connected via edges. The DPU model is build with sapphire and the entire editor is build with sapphire.


DPU Wizard.png
Wizard for creating a DPU
DPU Overview.png
The multipage editor on the overview tab. It shows all the nodes and edges in a list. All parameters can be edited here. The properties view is empty here.
DPU Diagram.png
The DPU diagram page in the multipage editor. You can easily create and connect your nodes. All properties can be set inside the properties view.

Liferay IDE

[1] Liferay IDE is the official set of Eclipse plug-ins supporting development for the Liferay Portal application platform. Developers that work with Liferay Portal to deploy new functionality have to routinely deal with several configuration and definition files that are XML based. Liferay IDE uses Sapphire to provide advanced editors with a rich UI to work with these various XML files instead of just using the default Eclipse XML source editor.

Sapphire adopters liferay ide portlet config editor.png
A sapphire-based configuration editor for portlet.xml deployment descriptor files used by Liferay. The use of Sapphire's content outline concept is very useful to display the underlying XML data.
Sapphire adopters liferay ide hook configuration editor.png
One of the ways Liferay developers extend Liferay Portal functionality is through a "Hook". These hooks require special configuration through a liferay-hook.xml file. So in Liferay IDE there is a sapphire-based Hook configuration editor. The JDT based type-validation engine in Sapphire is used to great effect here.
Sapphire adopters liferay ide kaleo workflow definition editor.png
Liferay has a built in workflow engine for business processes called Kaleo. So Sapphire was used to build a graphical editor for the workflow definition files. The neat feature here is the integration with the Node factories to allow productivity wizards to be shown to the user when they drop a new node from the palette onto the diagram view, inserting a custom operation in the default Sapphire node drop process. Sapphire is extremely flexible in this regard.
Sapphire adopters liferay ide kaleo workflow wizard.png
When editing Kaleo workflow definition files, the user will drop many different complex node types onto the diagram. Instead of forcing the user to then manually wire up and configure that node, a popup wizard is shown right after drop. This prompts the user for more information about the new node and once they select Finish, then the node will be placed in the diagram and modified accordingly. This user flow can be modified to disable the popup wizards and just use normal default palette node drop operation if the user prefers.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.