Create a new IFS Cloud Web Customization¶
Starting a new customization project is just a matter of starting a new project in IFS Developer Studio. This guide will go through the step by step instructions on how to create a new customization project and how to add typical customization items to the new project.
Creating a Customization Project¶
For Layered Development you need to configure the correct project to be used in the Developer Studio; this is dependent on what type of project it is, see Project Setup and Configuration. The used layers will be reflected in the Layers.ini
file, see Coding Layers.
When setting up your Customization Project, the Build Home
is the most important property. It will be used to determine the Target Version for the code generator and it will be the source of most customized code. If you do not have a build home, take a step back and create this first. You need a base for your customizations.
Customer information is only required when you plan to be using Developer Studio to interact with the internal IFS Life Cycle System. You can check out and commit your changes in the Customization Project directly. See more on this under Customization Projects.
The only technology required for IFS Cloud Web development is the Database and after you set the connection to your development database you are ready to start your customizations.
Creating customization items¶
This section describes how to start customizing a window available in the parent project.
Customizing the IFS Cloud Projection¶
Locate the parent item inside your build home, right-click on the projection model item and select Customize this
as in following image:
Figure 1 - "Customize this" option
An empty Cust
version of the client or project file will be created where you can put your customizations. With a projection, a plsvc file is attached. This file contains PL/SQL code that maps to the Actions/Functions in the projection. It can be customized with Overrides and Overtakes as described here.
The projection file itself can be customized directly in Marble. Note the Layer
property at the top of the file.
Figure 2 - Layer property in projection file
The layer
property should be set to Cust
when you customize the projection.
In the customized version of the projection, you only need to add the changed sections along with the annotation @Override
or @Overtake
.
When overriding, you only need to add the new fields or amended properties to the Marble. It will be merged with the underlying layers during code-generation.
Figure 3 - Overriding and Overtaking - Projection file
It is also possible to add new items that only exist in the Cust-layer. Simply add it without any annotation.
Once the projection has been amended you can generate the code and deploy it in the development database you have connected to your Customization Project. The changes will be available for test directly in the application server.
Customizing the IFS Cloud Web Client¶
Start by finding a client model in the build home that you want to customize and use the right mouse button option Customize This
. This will generate the Cust
version of the client file and bring it in to the project. It is also possible to create a new client file as a customization. Note the layer property at the top of the file.
Figure 4 - Layer property in client file
The layer property should be Cust
when you customize the client.
In the customized version of the client, you only need to add the changed sections along with the annotation @Override
or @Overtake
.
Navigator entries can simply be added, without the need to override. But pages and lists are typically overridden.
However, commands are atomic and can not be overridden. Instead, overtake and rewrite the whole command in the customization. There is no “Search & Replace” functionality for command scripts in Marble.
Once the client is ready for testing, simply generate and deploy it in the development database connected to the project. If your new client is dependent on changes in a projection, make sure to generate and deploy the projection first.
The IFS Cloud Web page must be reloaded for your changes to take effect.
Deliver Customizations¶
IFS Cloud customizations are delivered in the same way as any customization. The “-Cust” files will be merged, and code is generated during the pre-installation process (Build). Note that at this time the code-generator available in the build home will be used. It is important the you have used the same Target version when developing the Customization as you have in the build home.
Remember to analyze the customizations (using Update Analyzer) whenever you are applying a new update from IFS. Both overrides and overtakes can be affected by the changes in the core layer.