Implementing a Custom Content Provider 
The content provider is responsible for:
Supplying information regarding how the content provider will appear in the page content panel:
The name to display on the tile
The description of the content provider
The default display mode of the tile – expanded or collapsed
Returning an array of the available content items.
Each content item is represented by a ContentDescriptor object.
Set a unique ID for the content provider. This ID is used to register and unregister the content provider object in IWPCContentRegistration.
We recommend to use the fully qualified class name as the ID.
Implement the getContentDescriptors method, which is responsible for sending all the content items to the WPC client when editing pages:
public ContentDescriptor[] getContentDescriptors(IUser user, Locale locale, String pageID)
Implement the getContentDescriptor method, to obtain a content descriptor object for the specified ID:
public ContentDescriptor getContentDescriptor(String descriptorID)
Note
The ID of a content descriptor object must remain consistent within a page editing session.