Show TOC

Managing Public PartsLocate this document in the navigation structure

Use

The public parts contain the functions the development component (DC) releases for use by other DCs. Every public part has its own metadata file located in the def subfolder of the DC and has the file extension pp .

Public parts define the public interfaces of a DC. A public part consists of a list of development objects offered to other DCs. All other parts of the DC remain invisible. A DC uses another DC exclusively using its public parts. There are different types of usage which are determined when you create the public part:

  • Compilation

    Provides an API for developing/compiling other DCs. The objects (symbols, classes, and so on) in the public part of a DC are needed to compile the other DC. In this case, when defining the public part, you assign the purpose compilation to it.

    To a public part of type compilation, add only those objects that you want to be visible on the outside, such as interfaces, but never their implementations.

  • Assembly

    Can be packaged into other build results (for example Software Development Archives). The objects (symbols, classes, and so on) in the public part of a DC are assembled to a larger unit by the other DC, such as an archive or an application. In this case, when you define the public part, you assign the purpose assembly to it. Public parts of type assembly can also contain some private objects of their DC, for example, the interfaces and their implementation.

    You cannot use a public part of this type for the compilation of a DC, and vice versa. However, you can assign two public parts of different types to a DC, which both contain the same development objects.

Procedure

Creating Public Parts

  1. Select the DC.

  2. On the PublicParts tab, choose Add...

  3. Enter the name of the public part, the purpose ( COMPILATION or ASSEMBLY ) and the description of the public part.

  4. Choose Finish .

Editing Public Parts

Select the public part in the Public Parts tab. You can:

If you want to

Then

Add permissions to the public part

  1. From the Public Part Details , choose Add...

  2. Select the software components or the DCs that can have access to this public part.

  3. Choose Finish .

Grant unrestricted access

  1. Choose the Unrestrict Access button.

  2. If you want to allow the using DC to have entity references to the affected public part, select Entity Forward Allowed option. The Entity Forward Allowed shows distinct between to ways of granting access to using components:

    • Marked Entity Forward Allowed - the using component may use the DC and forward the public part content as part of its public part. This includes the option to publish this content with a less restrictive ACL. Granting access to a DC with forwarding allowed means you highly trust the owner of that DC.

    • Unmarked Entity Forward Allowed - the using component may use the DC or its public part for example to compile against it or to pack it into deployable result. But it is not allowed to expose the content of the used public parts in its own public parts. In this case, the using DC has no chance to offer the used API with a less restrictive access control list.

      If you want to prevent someone from forwarding your API (maybe with a less restrictive ACL) then disable the option Entity Forward Allowed .

      Preventing forwarding may be a good idea for anonymous grants ( dcname="*" or scname="*" ) because in that case you do not know the users and whether you should trust them.

Deny access to all other DCs

Choose Block Access .

Remove a permission

Select the DC from the Authorized Component list and choose Remove .

Managing Entities

In the context menu of the public part, choose Manage Entities .

In the dialog that appears, add or remove public part entities by using the checkboxes.

Managing Entity References

In the context menu of the public part, choose Reference Entities .

In the dialog that appears, add or remove public part entities references by using the checkboxes.

Deprecating a Public Part

  1. Choose the Is Deprecated checkbox from the Public Parts Details .

  2. Choose the link Manage Details .

  3. In the dialog that appears, specify a description for the reasons to deprecate this public part.

  4. Manage the alternatives for the deprecated public part.

Deleting Public Parts

Caution

Other components may need this public part and cannot be built without it.

To delete a public part, in the context menu of the public part, choose Delete .