Static Content Upload Plugin

Document created by Matt Jarvie on Oct 9, 2012Last modified by Matt Jarvie on Sep 26, 2013
Version 4Show Document
  • View in full screen mode


In Jive 5.0, images cannot be directly uploaded to HTML widgets. Crafty community administrators have resorted to creating a Jive document in their community to host images, but for each request for an image embedded in an HTML widget, Jive has to check permissions on the containing document, and this performance impact adds up fast. Additionally, images hosted in documents cannot be cached as aggressively, as there is the assumption that they may be changed.

The Static Content Upload plugin gives your community administrators the ability to upload 'static' content - images, flash files, etc. - which are intended for use in HTML widgets, the site theme, or anywhere else that they find useful. Content served up in this way will enjoy improved caching, resulting in better site performance.


How to Use

After installing this plugin, your community and system administrators will see a new link in the Actions widget for communities:


Clicking this link will take you to a new Admin Console page where you can manage static content. This page is also accessible via Admin Console -> Spaces -> Settings -> Static Content.


From this page, you can upload new content and delete existing content. Multiple files can be uploaded at one time by shift or control clicking on files in the upload dialog. Uploading a file with the same name as an existing file will replace the existing file. To download a file, click it's file icon or image.

Files are separated by community - if you upload files in community A, they won't show up in the static content list for community B, though you could still reference them in HTML widgets in community B. This means that a community admin for community A cannot upload or delete files for community B. Finally, If a space is deleted, all it's associated static content is deleted as well.

If I copy the image URL for the Jive logo from the above page, I can then use that URL to create an HTML widget:




How this plugin works

This plugin is basically a file browser for the Apache web root directory. Files are saved to /usr/local/jive/var/www/resources/<installation name>_static/<communityID>/<filename>. The plugin has no database component, so if you'd like to back up static files or move files from one community to another, just copy this file structure. As each site saves files under a unique directory, it's possible for multiple installations running on one server to use this plugin. The files uploaded through this plugin have no permission checks and are available to all users of your site (including guests).


Optional Configuration

  • File size limit: Set the system property static.content.maximum.file.size to a value (in bytes) to set a limit on maximum file size.
  • Pagination: Set the system property to how many files you'd like to see per page. Default is 25.
  • Not using RPM Apache: If you aren't using the RPM install, or if you have an alternate web server installation that you'd rather use, you can configure this plugin to use a different set of directories. set the system property static.content.file.system.path to whatever is the equivalent of /usr/local/jive/var/www/resources/, and set staticcontent.url.path to the equivalent of "http://(siteURL)/resources/(install name)_static/".


This plugin is not supported by Jive, and use of this plugin should be done at the user's discretion, or as advised by their Jive Support representative. If you have any questions or issues with this plugin, please comment on this document and let me know.



Copyright 2012 Matthew Jarvie 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 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.

Version Compatibility


Jive versionPlugin Version
5.0.0 -