// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= FaqPluginManagerCustomization
:jbake-type: wiki
:jbake-tags: wiki, devfaq, needsreview
:jbake-status: published
:keywords: Apache NetBeans wiki FaqPluginManagerCustomization
:description: Apache NetBeans wiki FaqPluginManagerCustomization
:toc: left
:toc-title:
:syntax: true

=== How to customize Plugin Manager?

There are several possibilities to customize behavior of Plugin Manager (*Tools|Plugins*) to show more items or to change its behavior.

*Note:* for NetBeans expert only. Use of these options at your own risk.

==== Show all modules

In default view, Plugin Manager shows all plugins unless specify its visibility flag to `false` (`AutoUpdate-Show-In-Client=false`) - in other words, Plugin Manager filters out most of like service modules as hidden in plugin infrastructure. To make Plugin Manager to be showing all modules being run in your IDE with switch `plugin.manager.modules.only` set to `true` (i.e.`-J-Dplugin.manager.modules.only=true`).

* system property `plugin.manager.modules.only`
* the default value: `false`

==== Show plugin's code name base

Each NetBeans plugin has own *code name* what should be unique in NetBeans distribution, this code name will not show in plugin's details. To show this code name just run your IDE with switch `plugin.manager.extended.description` set to `true` (i.e.`-J-Dplugin.manager.extended.description=true`)

* system property `plugin.manager.extended.description`
* the default value: `false`

==== Install all plugins into NetBeans installation directory

How to Plugin Manager chooses a directory where NBM will install?

1. If NetBeans install dir is not writable, install to `userdir`.
2. If an update, overwrite the existing location, wherever that is.
3. Otherwise (new module), if a cluster name is specified in NBM (`targetcluster`), put it there (creating the cluster if necessary).
4. Otherwise (no cluster name specified), if marked `global`, maybe put it into an `extra` cluster
5. Otherwise (`global` set `false` or unspecified), put it in `userdir`.

If `plugin.manager.install.global` is set to `true` then NBM will go into installation directory for all cases unless the install directory is `read-only`.

* system property `plugin.manager.install.global`
* the default value: `false`

==== Check for new plugins just after IDE startup

Plugin Manager checks for *updates* of *already installed* plugins right after IDE startup, not for *new plugins*. To force Plugin Manager to check for new plugins as well, just run IDE with a option `-J-Dplugin.manager.check.new.plugins=true`. New plugins will be notified in IDE status line.

* system property `plugin.manager.check.new.plugins`
* the default value: `false`

==== Check for updates just after IDE startup

As was written above, Plugin Manager is checking for *updates* of *already installed* plugins right after IDE startup. If you would like to suppress it, just run IDE with a option `-J-Dplugin.manager.check.updates=false`.

* system property `plugin.manager.check.updates`
* the default value: `true`

==== To customize Interval of Automatically Check for Updates (*_since NB6.1_*)

Use a launcher option `plugin.manager.check.interval` with possible values: `EVERY_STARTUP`, `EVERY_DAY`,
`EVERY_WEEK`, `EVERY_2WEEKS`, `EVERY_MONTH` or `NEVER` or also it's possible set the interval in minutes, like this `-J-Dplugin.manager.check.interval=60` - to check it every hour.
This option can force default value for Plugin Manager, i.e. if your
application is launched with `-J-Dplugin.manager.check.interval=EVERY_STARTUP` (or with modified in `etc/netbeans.conf`),
content of all subscribed Update Centers will be checked on every startup. If an user changes the check interval in _Plugin Manager | Settings tab_ then future Autoupdate invocations will read user's values regardless the `plugin.manager.check.interval`, as usual.

* system property `plugin.manager.check.interval`
* the default value: `EVERY_WEEK`

==== To give precedence to dedicated module while updating (*_since NB6.1_*)

If Plugin Manager does install all available updates, it's possible to determinate set of modules which must be handled in exclusive mode before others. For example, update of Plugin Manager plugin should be installed as the first, in preference of common plugins because its update might be important for handling update of rest of plugins. In that case, Plugin Manager will notify users about availability of update Plugin Manager only (swallows down updates of rest) and when Plugin Manager is up-to-date, it will handle update of other plugins.

* system property `plugin.manager.first.class.modules`
* the default value: `org.netbeans.modules.autoupdate.services, org.netbeans.modules.autoupdate.ui`

==== To make Autoupdate/Plugin Manager high verbose in console

Just use a common logging capability for force Autoupdate/Plugin Manager to be running in high verbose mode, like this `-J-Dorg.netbeans.modules.autoupdate.level=FINEST`, you also can specify the scope for logging in more detail (`-J-Dorg.netbeans.modules.autoupdate.ui.actions.AutoupdateSettings.level=FINE`). Do not forget to switch on logging into console `-J-Dnetbeans.logger.console=true`.

-

Applies to: NetBeans 6.0 or newer

Platforms: All

-
Do not hesitate to contact me on link:mailto:jrechtacek@netbeans.org[jrechtacek@netbeans.org] if you have any question.

=== Apache Migration Information

The content in this page was kindly donated by Oracle Corp. to the
Apache Software Foundation.

This page was exported from link:http://wiki.netbeans.org/FaqPluginManagerCustomization[http://wiki.netbeans.org/FaqPluginManagerCustomization] , 
that was last modified by NetBeans user Matteodg 
on 2010-08-06T16:17:14Z.


*NOTE:* This document was automatically converted to the AsciiDoc format on 2018-02-07, and needs to be reviewed.
