diff --git a/api/http/handler/extensions/extension_inspect.go b/api/http/handler/extensions/extension_inspect.go
index ea5fa0e90..712e4403e 100644
--- a/api/http/handler/extensions/extension_inspect.go
+++ b/api/http/handler/extensions/extension_inspect.go
@@ -35,6 +35,10 @@ func (handler *Handler) extensionInspect(w http.ResponseWriter, r *http.Request)
for _, p := range extensions {
if p.ID == extensionID {
extension = p
+ if extension.DescriptionURL != "" {
+ description, _ := client.Get(extension.DescriptionURL, 10)
+ extension.Description = string(description)
+ }
break
}
}
diff --git a/api/http/handler/extensions/extension_list.go b/api/http/handler/extensions/extension_list.go
index 8f6cacb77..392822528 100644
--- a/api/http/handler/extensions/extension_list.go
+++ b/api/http/handler/extensions/extension_list.go
@@ -22,7 +22,7 @@ func (handler *Handler) extensionList(w http.ResponseWriter, r *http.Request) *h
if storeDetails {
definitions, err := handler.ExtensionManager.FetchExtensionDefinitions()
if err != nil {
- return &httperror.HandlerError{http.StatusInternalServerError, "Unable to retrieve extension definitions", err}
+ return &httperror.HandlerError{http.StatusInternalServerError, "Unable to retrieve extensions", err}
}
for idx := range definitions {
diff --git a/api/portainer.go b/api/portainer.go
index 2eb2a99c5..2e9ef97d2 100644
--- a/api/portainer.go
+++ b/api/portainer.go
@@ -485,6 +485,7 @@ type (
Name string `json:"Name,omitempty"`
ShortDescription string `json:"ShortDescription,omitempty"`
Description string `json:"Description,omitempty"`
+ DescriptionURL string `json:"DescriptionURL,omitempty"`
Price string `json:"Price,omitempty"`
PriceDescription string `json:"PriceDescription,omitempty"`
Deal bool `json:"Deal,omitempty"`
@@ -492,7 +493,7 @@ type (
License LicenseInformation `json:"License,omitempty"`
Version string `json:"Version"`
UpdateAvailable bool `json:"UpdateAvailable"`
- ProductID int `json:"ProductId,omitempty"`
+ ShopURL string `json:"ShopURL,omitempty"`
Images []string `json:"Images,omitempty"`
Logo string `json:"Logo,omitempty"`
}
diff --git a/app/extensions/registry-management/views/configure/configureregistry.html b/app/extensions/registry-management/views/configure/configureregistry.html
index 48574dc41..3325230b3 100644
--- a/app/extensions/registry-management/views/configure/configureregistry.html
+++ b/app/extensions/registry-management/views/configure/configureregistry.html
@@ -149,8 +149,8 @@
Test in progress...
diff --git a/app/portainer/components/datatables/registries-datatable/registriesDatatable.html b/app/portainer/components/datatables/registries-datatable/registriesDatatable.html
index 900e3432a..9bc262c40 100644
--- a/app/portainer/components/datatables/registries-datatable/registriesDatatable.html
+++ b/app/portainer/components/datatables/registries-datatable/registriesDatatable.html
@@ -64,8 +64,8 @@
Browse
-
- Browse (
- Content to be defined + Portainer CE is a great way of managing clusters, provisioning containers and services and + managing container environment lifecycles. To extend the benefit of Portainer CE even + more, and to address the needs of larger, complex or critical environments, the Portainer + team provides a growing range of low-cost Extensions. +
+ ++ As the diagram shows, running a successful production container environment requires a + range of capability across a number of complex technical areas. +
+ +
+
+
+ Available through a simple subscription process from the menu, Portainer Extensions + answers this need and provides a simple way to enhance the functionality that Portainer + makes available through incremental capability in important areas. +
+ ++ The vision for Portainer is to be the standard management layer for container platforms. In + order to achieve this vision, Portainer CE will be extended across a range of new functional + areas. In order to ensure that Portainer remains the best choice for managing production + container platforms, the Portainer team have chosen a modular extensible design approach, + where additional capability can be added to the Portainer CE core as needed, and at very + low cost. +
+ ++ The advantage of an extensible design is clear: While a range of capability is available, only + necessary functionality is added as and when needed. +
+ ++ Our first extension is Registry Manager, available now. Others (such as + Single Sign On and Operations Management) are scheduled for the early part of 2019. +
+ ++ Portainer CE is the core of the Portainer management environments. Portainer CE will + continue to be developed and made freely available as part of our deep commitment to our + Open Source heritage and our user community. Portainer CE will always deliver great + functionality and remain the industry standard toolset for managing container-based + platforms.
+ + Portainer must be connected to the Internet to fetch the list of available extensions. +
+ ++ + Description for this extension unavailable at the moment. +
+