]> source.dussan.org Git - gitblit.git/commitdiff
Improve plugin documentation 06/6/21
authorJames Moger <james.moger@gitblit.com>
Fri, 11 Apr 2014 17:41:53 +0000 (13:41 -0400)
committerJames Moger <james.moger@gitblit.com>
Fri, 11 Apr 2014 17:48:15 +0000 (13:48 -0400)
build.xml
src/main/distrib/data/gitblit.properties
src/site/features.mkd
src/site/setup_plugins.mkd

index 0baf090edadb58cab39df19b9dc938898a9f4d6f..f9b171dc0fd134b369dca281c0e3bd4c97dbf4a7 100644 (file)
--- a/build.xml
+++ b/build.xml
                                                <page name="mirrors" src="setup_mirrors.mkd" />\r
                                                <page name="scaling" src="setup_scaling.mkd" />\r
                                                <divider />\r
-                                               <page name="plugins" src="setup_plugins.mkd" />\r
-                                               <divider />\r
                                                <page name="Gitblit as a viewer" src="setup_viewer.mkd" />\r
                                        </menu>\r
                                        <divider />\r
                                          <page name="replication &amp; advanced administration" src="tickets_replication.mkd" />\r
                                        </menu>\r
                                        <divider />\r
+                                       <menu name="Plugins" pager="true" pagerPlacement="bottom" pagerLayout="justified">\r
+                                         <page name="plugins" src="setup_plugins.mkd" />\r
+                                       </menu>\r
+                                       <divider />\r
                                        <page name="federation" src="federation.mkd" />\r
                                        <divider />\r
                                        <page name="settings" src="properties.mkd" />\r
                                        <divider />\r
                                        <link name="Gitblit (Self-Hosted)" src="https://dev.gitblit.com" />\r
                                        <divider />\r
+                                       <link name="Plugin Registry" src="http://plugins.gitblit.com" />\r
+                                       <divider />\r
                                        <link name="Github" src="${project.scmUrl}" />\r
                                        <link name="Issues" src="${project.issuesUrl}" />\r
                                        <link name="Discussion" src="${project.forumUrl}" />\r
                                                        <page name="mirrors" src="setup_mirrors.mkd" />\r
                                                        <page name="scaling" src="setup_scaling.mkd" />\r
                                                        <divider />\r
-                                                       <page name="plugins" src="setup_plugins.mkd" />\r
-                                                       <divider />\r
                                                        <page name="Gitblit as a viewer" src="setup_viewer.mkd" />\r
                                                </menu>\r
                                                <divider />\r
                                                        <page name="replication &amp; advanced administration" src="tickets_replication.mkd" />\r
                                                </menu>\r
                                                <divider />\r
+                                               <menu name="Plugins" pager="true" pagerPlacement="bottom" pagerLayout="justified">\r
+                                                 <page name="plugins" src="setup_plugins.mkd" />\r
+                                               </menu>\r
+                                               <divider />\r
                                                <page name="federation" src="federation.mkd" />\r
                                                <divider />\r
                                                <page name="settings" src="properties.mkd" />\r
                                                <link name="Gitblit Demo (RELEASE)" src="https://demo-gitblit.rhcloud.com" />\r
                                                <link name="Gitbilt Next (SNAPSHOT)" src="https://next-gitblit.rhcloud.com" />\r
                                                <divider />\r
+                                               <link name="Plugin Registry" src="http://plugins.gitblit.com" />\r
+                                               <divider />\r
                                                <link name="Github" src="${project.scmUrl}" />\r
                                                <link name="Issues" src="${project.issuesUrl}" />\r
                                                <link name="Discussion" src="${project.forumUrl}" />\r
index 3a5312327610d527c82d14b604baaaa4fbf29611..beeb965b56f3b8e3a1e1faf3ee69206aa3e7e93b 100644 (file)
@@ -570,7 +570,7 @@ plugins.folder = ${baseFolder}/plugins
 # The registry of available plugins.\r
 #\r
 # SINCE 1.5.0\r
-plugins.registry = http://gitblit.github.io/gitblit-registry/plugins.json\r
+plugins.registry = http://plugins.gitblit.com/plugins.json\r
 \r
 #\r
 # Groovy Integration\r
@@ -1748,12 +1748,6 @@ realm.redmine.url = http://example.com/redmine
 # BASEFOLDER\r
 server.tempFolder = ${baseFolder}/temp\r
 \r
-# Use Jetty NIO connectors.  If false, Jetty Socket connectors will be used.\r
-#\r
-# SINCE 0.5.0\r
-# RESTART REQUIRED\r
-server.useNio = true\r
-\r
 # Specify the maximum number of concurrent http/https worker threads to allow. \r
 #\r
 # SINCE 1.3.0\r
@@ -1783,14 +1777,6 @@ server.httpPort = 0
 # RESTART REQUIRED\r
 server.httpsPort = 8443\r
 \r
-# Port for serving an Apache JServ Protocol (AJP) 1.3 connector for integrating\r
-# Gitblit GO into an Apache HTTP server setup.  <= 0 disables this connector.\r
-# Recommended value: 8009\r
-#\r
-# SINCE 0.9.0\r
-# RESTART REQUIRED\r
-server.ajpPort = 0\r
-\r
 # Automatically redirect http requests to the secure https connector.\r
 #\r
 # This setting requires that you have configured server.httpPort and server.httpsPort.\r
@@ -1819,15 +1805,6 @@ server.httpBindInterface =
 # RESTART REQUIRED\r
 server.httpsBindInterface =\r
 \r
-# Specify the interface for Jetty to bind the AJP connector.\r
-# You may specify an ip or an empty value to bind to all interfaces.\r
-# Specifying localhost will result in Gitblit ONLY listening to requests to\r
-# localhost.\r
-#\r
-# SINCE 0.9.0\r
-# RESTART REQUIRED\r
-server.ajpBindInterface = localhost\r
-\r
 # Alias of certificate to use for https/SSL serving.  If blank the first\r
 # certificate found in the keystore will be used. \r
 #\r
index 6d933cc1ec50095e9cb129680bcd2e7973fe2e05..dc0488047827fcdefc51c654704c2a26d2d7dd4c 100644 (file)
     - **RWD** (clone and push with ref creation, deletion)\r
     - **RW+** (clone and push with ref creation, deletion, rewind)\r
 - Menu driven native platform clone links for all popular Git clients\r
-- *Experimental* built-in Garbage Collection\r
+- Garbage Collection service\r
 - Ability to federate with one or more other Gitblit instances\r
 - RSS/JSON RPC interface\r
+- An evolving plugin infrastructure\r
 - Java/Swing Gitblit Manager tool\r
 - Responsive web UI that subtracts elements to be usable on phones, tablets, and desktop browsers\r
 - Groovy pre- and post- push hook scripts, per-repository or globally for all repositories\r
@@ -46,7 +47,7 @@
 - User-tracked reflog for pushes, tags, etc.\r
 - Fanout PubSub notifications service for self-hosted [Sparkleshare](http://sparkleshare.org) use\r
 - gh-pages display support (Jekyll is not supported)\r
-- Branch metrics (uses Google Charts)\r
+- Branch metrics\r
 - HEAD and Branch RSS feeds\r
 - Blame annotations view\r
 - Dates can optionally be displayed using the browser's reported timezone\r
index 6ab4f1efd70081fda1a85ed2d0b06e0cf4e0d9e2..b609a6839a1e20f205e03ddbab82073a64e6d5f1 100644 (file)
@@ -3,7 +3,7 @@
 \r
 *SINCE 1.5.0*\r
 \r
-Gitblit supports extending and enhacing the core functionality through plugins.  This mechanism is very young and incomplete with few extension points, but you can expect it to evolve rapidly in upcoming releases.\r
+Gitblit supports extending and enhancing the core functionality through plugins.  This mechanism is very young and incomplete with few extension points, but you can expect it to evolve rapidly in upcoming releases.\r
 \r
 ### Architecture\r
 \r
@@ -13,20 +13,45 @@ The zip plugins are stored in `${baseFolder}/plugins` and are unpacked on startu
 \r
 A plugin defines it's metadata in the META-INF/MANIFEST.MF file:\r
 \r
-    Plugin-Class: com.gitblit.plugins.cookbook.CookbookPlugin\r
-    Plugin-Dependencies: foo, bar\r
-    Plugin-Id: gitblit-plugin\r
-    Plugin-Provider: John Doe\r
-    Plugin-Version: 1.0\r
+    Plugin-Class: com.gitblit.plugin.powertools.Powertools\r
+    Plugin-Dependencies: \r
+    Plugin-Id: com.gitblit.plugin:powertools\r
+    Plugin-Provider: James Moger\r
+    Plugin-Version: 1.1.0\r
 \r
 In addition to extending Gitblit core, plugins can also define extension points that may be implemented by other plugins.  Therefore a plugin may depend on other plugins.\r
 \r
     Plugin-Dependencies: foo, bar\r
 \r
-Plugins are controlled by the `plugin` SSH dispatch command.  Only *administrators* have permission to use this dispatch command.\r
-\r
+**NOTE:**\r
 The pf4j plugin framework relies on a javac apt processor to generate compile-time extension information, so be sure to enable apt processing in your build process.\r
 \r
+### Managing Plugins\r
+\r
+Administrators may manage plugins through the `plugin` SSH dispatch command:\r
+\r
+    ssh host plugin\r
+\r
+Through this command interface plugins can be started, stopped, disabled, enabled, installed, uninstalled, listed, etc.\r
+\r
+### Default Plugin Registry\r
+\r
+Gitblit provides a simple default registry of plugins. The registry is a JSON file and it lists plugin metadata and download locations.\r
+\r
+    plugins.registry = http://plugins.gitblit.com/plugins.json\r
+\r
+The [registry](http://plugins.gitblit.com/plugins.json) is currently hosted in a [Git repository on Github](https://github.com/gitblit/gitblit-registry).  This git repository is also a [Maven-compatible repository](http://plugins.gitblit.com), which hosts some plugin binaries.\r
+\r
+### Contributing Plugins to the Default Registry\r
+\r
+If you develop your own plugins that you want hosted by or linked in the default registry, open pull request for the registry repository.  Any contributed binaries hosted in this repository must have Maven metadata and the SHA-1 & MD5 checksums.  By default, Gitblit enforces checksum validation on all downloads.\r
+\r
+### Hosting your Own Registry / Allowing Multiple Registries\r
+\r
+The `plugins.json` file is parameterized with the `${self}` placeholder.  This parameter is substituted on download with with the source URL of the registry file.  This allows you to clone and serve your own copy of this git repository or just server your own `plugins.json` on your own network.\r
+\r
+Gitblit also supports loading multiple plugin registries.  Just place another **properly formatted** `.json` file in `${baseFolder}/plugins` and Gitblit will load that as an additional registry.\r
+\r
 ### Extension Point: SSH DispatchCommand\r
 \r
 You can provide your own custom SSH commands by extending the DispatchCommand.\r