Document Properties
Kbid255S96
Last Modified11-Oct-2018
Added to KB12-Mar-2014
Public AccessEveryone
StatusOnline
Doc TypeGuidelines, Concepts & Cookbooks
Product
  • ICM 7.6
  • ICM 7.7
  • ICM 7.8
  • ICM 7.9
  • ICM 7.10

Guide - Cartridges

1 Introduction - Overview of the Cartridge Development Cycle

This document provides important clues about Cartridge Development. It is addressed to developers and can be used as a guideline for the cartridge development.

Cartridges may vary considerably with respect to their actual content and their complexity. All cartridge development, however, follows a general and unified development process, no matter whether the cartridge functionality is simple or complex, generic or site-specific in nature.

The cartridge development cycle, which will be discussed in detail in this guide, can be divided into four stages:

  1. Planning the Cartridge
  2. Creating the Cartridge Project
  3. Programming the Cartridge Functionality
  4. Building and Deploying the Cartridge

1.1 Glossary

TermDescription
CartridgeA code container for implementation artifacts like templates, pipelines, Java code etc. that provide business logic or technical functionality to Intershop 7 (Enfinity Suite 6)

1.2 References

Also see Intershop Studio User Guide for detailed specific operating procedures and instructions. (The Intershop Studio User Guide is available as Intershop Studio's Online Help.)

2 Planning the Cartridge

Before embarking on a development project, the cartridge should be carefully planned. At the beginning, you should focus on some general questions. For example, you need to exactly delineate the functionality of the entire application and decide whether to package the entire application within a single cartridge or to distribute the functionality across a set of cartridges. You should also carefully examine which existing Intershop 7 functionality your project can be based on. See  Planning a Cartridge Project for some hints.

3 Creating the Cartridge Project

The actual development process starts out with several steps to create the cartridge project. These steps include:

  • Creating the cartridge development directory structure
  • Checking (and perhaps modifying) environment variables
  • Declaring cartridge properties
  • Writing the cartridge controller class

4 Programming Cartridge Functionality

Programming new business functionality is at the heart of cartridge development.

Programming typically cuts across several programming layers:

  • Programming new business objects and manager classes
  • Programming new pipelets
  • Designing/Modifying templates
  • Configuring pipelines

5 Building and Deploying the Cartridge

For new business functionality to become available on a server, it needs to be built, packaged, and deployed. The cartridge build and deployment process comprises the following steps:

  • Assembling additional resources required by the cartridge
  • Building the cartridge
  • Deployment and installation

6 Planning a Cartridge Project

When starting the development of a new application on the Intershop 7 platform it is recommended to identify required cartridges at the beginning of the development process.

Before embarking on a development project, you should carefully plan and design the cartridge. Planning and designing carefully will save development time and resources, and significantly contribute to the ultimate success of the project.

The following tasks are part of the design stage of a cartridge project.

6.1 Define Cartridge Functionality

Complex applications typically consist of more than one cartridge. It is essential to clearly define the overall functionality of the application and how the functionality is to be distributed across individual cartridges. Hence, cartridge development always starts out with a detailed and accurate definition of the functionality that the new cartridge is going to deliver. See Concept - Cartridges | Architectural Layers and Cartridge Types, for a model that can provide orientation.

6.2 Examine Existing Functionality

Once the cartridge functionality has been defined, you should carefully examine connections to existing Intershop 7 functionality. The goal of this exercise is to identify where exactly the cartridge plugs in, and whether components of the functionality you want already exist. Is it really necessary to develop a new cartridge or would it perhaps be sufficient to reorganize an existing pipeline? Do you need to extend functionality or does the core functionality already exist, with only a few modifications necessary?

6.3 Determine Dependencies

All cartridge projects are going to depend on functionality provided by other cartridges. For example, every cartridge depends on basic functionality implemented in the core cartridge, such as the cartridge controller class or the base classes for pipelets and business objects. If complex business functionality is implemented, typically many more dependencies exist. Check these dependencies carefully and make sure that all required cartridges are available on the development system.

6.4 Define Localization Requirements

It is important to be clear about the localization requirements of a cartridge. The cartridge should seamlessly integrate with Intershop 7's mechanisms for localization and internationalization.

Disclaimer

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.

Customer Support
Knowledge Base
Product Resources
Support Tickets