When you uninstall an app, what exactly should it remove?
When an app is uninstalled, it should remove or cleanup items that a normal Drupal module would do via hook_uninstall. This includes variables that the module has set and modifications to existing tables. If there is content that the app has created that makes sense to remove, it should be deleted. If contexts, views, etc. were created by code, then disabling or uninstalling the app will remove them automatically. Features won't remove content types, but will make them eligible to delete.
See also: hook_uninstall
If an app provides default content provided by the defaultcontent module, does it have to be listed as a dependency for the app?
Yes. Phase2 Technology distributions install and enable the defaultcontent module by default, but any app's demo content module that uses the defaultcontent module for its content should include it as a dependency.
The dependency will be listed automatically in the .info file when creating the feature to be used as the app's demo content module with the following:
dependencies[] = "defaultcontent"
The dependency should be added to the app manifest by specifying both the dependency and download location. The following lines added to the app manifest specifies a dependency on version 7.x-1.0-alpha6:
dependencies[defaultcontent] = defaultcontent 1.0-alpha6
downloadables[defaultcontent 1.0-alpha4] = http://ftp.drupal.org/files/projects/defaultcontent-7.x-1.0-alpha6.tar.gz
See also: Default Content Module and Package Your App
Comments
Comment #1
febbraro commentedthanks.
Comment #2.0
(not verified) commentedmade questions bold