I am new with EM and am working on creating an EM plugin to monitor our web application by using JMX. I already have a very simple mbean server running and have generated very simple metadata and default_collection files. The next step should be to convert those files to an Oracle Plug-in Archive (OPAR), but before creating the OPAR, I seem need to create the plug-in stage directory which have various sub-directories and files. I searched the whole Oracle Enterprise Manager Cloud Control Extensibility Programer's Reference 12c Release 2 (184.108.40.206) and Programer's Guide as well as online, I couldn't find how the plugin_stage is created. I hope there must be a way to create that directory, or manually creating it will be tedious. Any pointer will be highly appreciated!
Thanks in advance!
In your case if you have only target and collection metadata you only need to do the following:
mkdir -p stage/oms/metadata/targetType
mkdir -p stage/oms/metadata/default_collection
mkdir -p stage/agent/metadata
mkdir -p stage/agent/default_collection
! create plugin.xml in stage/, and plugin_registry in stage/agent
! place target metadata in stage/oms/metadata/targetType and stage/agent/metadata
! place collection metadata in stage/oms/metadata/default_collection and stage/agent/default_collection
Thanks jreil! That's very helpful for me to move on!
But instead of creating the staging directory manually, is there a command line or other ways doing so? It seems tedious and error prone if doing manually! Plus right now I am doing try-and-see with very simple implementation, every time if I change the meta data files, I believe I need to change the files in the plugin staging directory also. In the future if we have more complicate implementation, it will become more tedious and error prone.
There are two issues here. One is the structure of the staging area, and the other is how to do incremental development of a plug-in efficiently. Regarding the first, the directory structure is pretty straightforward and once established for a particular plug-in doesn't need to be changed unless you are adding support for some new subsystem (e.g. adding jobs). There is no tool to create the directory structure.
The question of doing incremental development is mitigated by allowing you to use the "emctl register metadata" command once the initial version of the plug-in is deployed. This allows you to modify metadata and reload that particular file without having to build and deploy a new version of the plug-in.
Bottom line is that there is no plug-in developer IDE so you'll have to work with the pieces that are there. We appreciate your feedback so please keep it coming as we look at improving the plug-in developer experience in future releases.