Introduction | Main novelties of the Intershop Studio 4.3.3 are a better pipeline and pipelet management. |
Continuous Integration | Gradle SupportIntershop Studio now supports cartridge builds and dependency management using Gradle build files. Along with the pre-installation of the Eclipse Gradle features (See http://www.gradle.org/tooling) this integration includes cartridge dependent class path handling, additional cartride types and cartridge build launches. Cartridge Project SetupIn order to use Gradle features with cartridges the source project needs to include the nature Example *.project excerpt:
See migration hints. Cartridge Gradle DependenciesCartridges that use Gradle build support have to use the new classpath container Cartridge Gradle Dependencies which automatically contains the libraries and dependent projects that are declared in the build.gradle file. See migration hints. Gradle Repository CartridgesCartridge dependencies that are resolved using Gradle can be shown in the Cartridge Explorer. The cartridges displayed in the folder Gradle Repository Cartridges are computed using all cartridge source project dependencies. Cartridge BuildNew launch configurations can be used to build a cartridge within Intershop Studio. The project Build Cartridge automatically takes care about that. Alternatively you might use the new Gradle Tasks view. Migration HintsIn order to perform necessary changes in the *.project and *.classpath files of cartridge projects the action Refresh/Reset Cartridge Classpath can be used. Select Reset and confirm with OK in the next dialog. Note Contraindication! You must not use Gradle dependency management (e.g., if you use the Import|Gradle Project wizard). You still can use Gradle|Refresh All, but not Gradle|Enable Dependency Management. |
Pipeline Management | Node CommentsNode Comments are now shown near the node. Comment ToolThe editor palette contains a tool to create a new node comment or to edit an existing one. Generic Pipeline NodesThe pipeline concept allows to use pipelets to define business steps. Since its first appearance pipelets were not really enhanced and modernized in terms of technology, development user-friendliness, usage, new Java concepts (e.g., annotations, code injection) Despite the fact that there really exist many drawbacks and problems with pipelets: E.g., the inconvenient and error prone usage of configuration values, the poor error handling, the unnecessary restriction of the possible output states, the error prone usage of the pipeline dictionary and many others. Along with these problems it is not possible to, e.g., define other node types such as Start or Decision and Interaction nodes using pipelets. Generic pipeline nodes address all these problems. They can be of any node type but also make no usage of the pipeline dictionary and do not use a separate descriptor file. For more detailed information on the idea of generic pipeline nodes see: Concept - Pipeline Nodes. Node DefinitionGeneric pipeline nodes are defined in a simple POJO-like Java class. Pipelet node specific properties are expressed using annotions. The following simple example shows how properties (configuration values), input and output connectors can be defined: Calculation Start Node package com.intershop.test.pipelinenode; import java.util.ArrayList; import java.util.Collection; import java.util.List; import com.intershop.beehive.pipeline.capi.annotation.PipelineNode; import com.intershop.beehive.pipeline.capi.annotation.PipelineNodeInput; import com.intershop.beehive.pipeline.capi.annotation.PipelineNodeOutput; import com.intershop.beehive.pipeline.capi.annotation.PipelineNodeParameter; /** * A pipeline node that creates the input value for further calculations within * a pipeline. */ @PipelineNode(type = Types.StartNode) public class CalculationStartNode { public final static String OUTPUT_NAME = "Output"; public final static String INPUT_NAME = "Input"; /** * The name of this Start Node */ @PipelineNodeParameter private String name; @PipelineNodeOutput(name = OUTPUT_NAME) private Output output; @PipelineNodeInput(name = INPUT_NAME) public Output start(Input input) { int cnt = input.getCount(); List<Long> l = new ArrayList<>(cnt); for (int i = 1; i <= cnt; ++i) { l.add(Long.valueOf(i)); } output.setNumbers(l); String calculation = input.getCalculation(); output.setCalculation(calculation == null ? CalculatorNode.Calculations.SUM.toString() : calculation); return output; } interface Input { int getCount(); String getCalculation(); } interface Output { void setNumbers(Collection<Long> numbers); void setCalculation(String calculation); } } Node the usage of the annotations: @PipelineNode: Declares this type as definition of a Pipeline Node. @PipelineNodeParameter: Declare a Pipeline Node property (Configuration value). @PipelineNodeInput: An input connector that is defined as method that takes exactly one parameter. @PipelineNodeOutput: An output data type. Note All methods, attributes etc should have a Javadoc because this is used by the Pipeline Editor as documentation. Pipeline Node Annotation ProcessorIntershop Studio as well as Intershop Commerce Suite use annotation processors to create descriptors and to extract model information that are part of such annotated pipeline nodes. In order to use generic pipeline nodes make sure that this annotation processor is available. This processor needs to be enabled using the project properties dialog: These properties are saved in a file ./settings/org.eclipse.jdt.apt.core.prefs. This annotation processor is triggered by the Intershop Studio/Eclipse Java builder and writes the output into a source folder (e.g., .apt_generated). This means that you should either use: Window|Preferences: General|Workspace: [x] Build automatically or invoke Project|Build Project. View EnhancementsThe Pipelet View as well as the Cartridge Explorer now also show pipelets/pipeline nodes that are defined as Generic Pipeline Nodes. Generic Nodes in the Pipeline EditorYou can add pipelet/pipeline nodes to a pipeline using drag&drop from the Pipelet View or Cartridge Explorer.
Secure Call ModeStart nodes which are public now provide an option Secure. If this flag is set, the server only accepts secure HTTPS connections (requires Intershop 7.4 or later). Such secure start nodes are decorated with a small key image in all Intershop views as well as in the Visual Pipeline Editor. |
Miscellaneous | Cartridge Qualified ReferencesSince Intershop 7.4. pagelet element references need to be cartridge qualified. Therefore, these references cannot be overridden. This means that such references start with the Cartridge name followed by ':'. The editor, properties views, element hyper-linking, content assist as well as other features now support this element reference style. See the following example of a non resolvable slot inclusion there quick fixes might be used in order to select an existing slot. The presented slot references use the fully qualified syntax: Pagelet Model ValidationA validation rule has been added that issues errors if a pagelet model does not use cartridge-qualified references. You can easily fix this kind of errors using the Quick Fix option: Further ChangesNote The Editing Pipeline property of the pagelet definitions is not used anymore and thus is hidden in the Properties View. Pagelet models now can use the additional property Overrides in order to explicitly override another pagelet model. Multiple Paths in IS_SOURCEIntershop Studio now supports multiple paths in IS_SOURCE. Multiple paths have to be separated using the path separator character defined for the platform ( The following features make use of the multiple paths: New Cartride WizardImport Cartridge ProjectIntershop Classpath ContainersSource attachments of libraries inside Intershop classpath containers (e.g., required cartridge) are computed using these paths. The preference Cartridge Source Code Locations can still be used for additional source code locations. |
Comming Soon! | |
Removed | RemovedWeb Service Based Pipelet CreationIn former versions it was possible to create a pipelet based on a Axis2 Web Service stub. This functionality has been removed. Pipeline WSDD EditorIn former versions it was possible to create and edit pipeline WSDD files and to open the WebService Explorer on such files. This functionality has been removed. |
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.