Skip to content

Developing in Code Layers

Layered development refers to any development carried out within the customization layer, the layer above "Base" and "Core". All Development Concepts, Modeling, Coding Mechanisms and Framework Services are the same for all layers. Any differences are in the set up of the development, the naming of the files and the possibilities of using advanced overtakes.

Read about Layered Application Architecture in IFS Foundation1 Overview.

Read about the development process in Quick Guide.

Configure

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.

Development

Any development in the customization layer does not differ significantly from development within the "Core" layer. The primary difference is that you need to consider the approach and how you might change any methods taken from the underlying layers, e.g. when can I do an override, when do I need to do an overtake, how should I do the override or overtake.

New files

For new entities, enumerations and utilities the development is exactly the same as for the "Core" layer.

Changed files

For files that exist in an underlying layer the development is almost the same as in the "Core" layer. New attributes, methods and views are added in the same way as for the "Core" layer. Changes of methods are slightly different from the "Core" layer development. The difference is that you can have an additional way of carrying out the overtake, by using Overtake using Search and Replace. For advice on how to do override and normal overtake, please read Override and Overtake.

Overtake and override are carried out on a preceding layer. If the code to overtake does not exist in the nearest preceding layer, then the overtake must be done from the layer below the preceding layer where the code exists.

Source Code Files

The source code files are named differently depending on in which layer they reside, for more information on this  then please refer to Source Code Files.

In the customization layer you always get the set of files with either -Ext or -Cust name included. Only the changes you do in your layer will be stored in your layer file. It is then the code generation that glues all the layers into one deployable file.