# Platform Development Studio - Developer’s Guide

# Checklist

This section contains a short summary checklist to use when creating extensions to Oracle Communications Services Gatekeeper:

- When creating the management interface, consider if the management operations and attributes should be cluster-wide or local.
- Make sure to follow the plug-in naming convention: `Plugin_<web service interface part>_<network protocol>`.
- Make sure to implement `customMatch` of the `PluginInstance` (or `ManagedPluginInstance`) to be sure that requests end up in the correct plug-in. This is important when there are multiple plug-ins for the same communication service.
- Create exception types that are very specific to various error scenarios. This will allow fine grain control of the alarms that are generated.
- Have a clean separation between the north and the south side of the plug-in.
- Make sure to return all north interfaces (callback included) and souths interfaces when implementing the `getNorthInterfaces()` and `getSouthInterfaces()` of `PluginInstance`.
- Make sure to implement the `resolveAppInstanceGroupdId()` method for each `PluginSouth` instance (if applicable).
- Annotate each parameter in the south object methods that you need to have when aspect calls back the `resolveAppInstanceGroupId()` or the `prepareRequestContext()` methods.
- Consider what additional EDR fields you need to add. Annotate all the methods you want to be woven using the `@Edr` annotation.
- Annotate the specific arguments you want to see in the EDR for each annotated methods. Use either `@ContextKey` or `@ContextTranslate` depending on the kind of argument.
- Add all the EDRs you are triggering to the EDR descriptor.