Plug-ins and fragments
Features are described in terms of the plug-ins that comprise them.
This means that plug-ins are the fundamental unit for packaging
function.
While features are organized for the purposes of distributing and updating
products, plug-ins are organized to facilitate the development of the product
function among the product team. The development team determines when to
carve up program function into a separate plug-in.
Plug-ins are packaged in a
plug-inarchive file and described using a
plug-inmanifest file, plugin.xml.
Plug-in fragments are separately packaged files whose contents are
treated as if they were in the original plug-in archive file. They are
useful for adding plug-in functionality, such as additional national language
translations, to an existing plug-in after it has been installed.
Fragments are ideal for shipping function that may trail the initial product
release, since they can be used to add function without repackaging or
reinstalling the original plug-in. When a fragment is detected by the
platform, its contents are merged with the function in the original
plug-in. In other words, if you query the platform plug-in registry, you
would see the extensions and other function provided in the fragment as if it
was in the original plug-in.
Fragments are described using a fragment manifest file, fragment.xml.
It is similar to the plug-in manifest file. Since a fragment shares many
properties with its plug-in, some attributes in the plug-in manifest are not
valid, such as the plug-in class and plug-in imports.
Plug-inarchive files can contain plug-ins or fragments.