Make sure you have the forge Maven2 repository reference and dependency definition in the root pom.xml of your project.
<repositories>
<!-- SNIP -->
<repository>
<id>hippo-maven2-forge</id>
<name>Hippo Maven 2 Forge Repository</name>
<url>https://maven.onehippo.com/maven2-forge/</url>
</repository>
<!-- SNIP -->
</repositories>
<!-- SNIP -->
<dependencyManagement>
<!-- SNIP -->
<dependencies>
<!-- SNIP -->
<!-- NOTE: You should set a property named 'forge.exdocpickerbase.version' to a version of this plugin! -->
<dependency>
<groupId>org.onehippo.forge.exdocpickerbase</groupId>
<artifactId>exdocpickerbase-richtext-ckeditor</artifactId>
<version>${forge.exdocpickerbase.version}</version>
</dependency>
<!-- SNIP -->
</dependencies>
<!-- SNIP -->
</dependencyManagement>
Add the following dependency in either cms-dependencies/pom.xml in Hippo CMS v13 or
cms/pom.xml in the earlier versions.
<dependencies>
<!-- SNIP -->
<dependency>
<groupId>org.onehippo.forge.exdocpickerbase</groupId>
<artifactId>exdocpickerbase-richtext-ckeditor</artifactId>
</dependency>
<!-- SNIP -->
</dependencies>
In order to enable the exdocpickerbase CKEditor plugin, you should customize CKEditor configuration for a RichText editor.
In a nutshell, you should add 'exdocpickerbase' as extra CKEditor plugin in the ckeditor.config.overlayed.json property like the following example: (See CKEditor configuration properties for details on those properties.)
{
"extraPlugins": "exdocpickerbase"
}And, you should add configurations for 'exdocpickerbase' CKEditor plugin additionally in the ckeditor.config.appended.json like the following example:
{
"exdocpickerbase" : {
"buttonLabel" : "Link to Hippo Blog Articles",
"buttonIcon" : "/cms/images/hippoblogpicker.png",
"dialogTitle" : "Hippo Blog Article Browser",
"dialogMinWidth" : 640,
"dialogMinHeight" : 480,
"defaultDocumentIcon" : "/cms/images/onehippo-default.png",
"getSearchURL" : "return '/cms/examples/hippoblogarticles.jsp?q=' + encodeURI(data.query);",
"getLinkAttributes" : "var attrs = {}; attrs['href'] = item.href; attrs['data-custom1'] = item['data-custom1']; return attrs;"
}
}For example, the configuration change shown above can be made for /hippo:namespaces/hippostd/html node in order to apply the exdocpickerbase CKEditor plugin globally to all RichText fields.
Now, you're ready to use the plugin!