Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Original work by

For access to Castle Cloud (our hosted CastleCMS service) or to request customizations or demos, please contact us at or

+1 (715) 869-3440

Welcome to the main CastleCMS package!

Feature List

In addition to Plone standard features, CastleCMS includes:

  • Login/lockout support
  • Content archival to Amazon S3 storage
  • Large files automatically moved to S3 storage
  • Redis cache support
  • Advanced content layout editor
  • Improved management toolbar
  • Intuitive content creation and organization
  • Elasticsearch integration
  • Search results tuned by social media impact
  • Search results pinning
  • Celery task queue integration (asynchronous actions)
    • PDF generation
    • Video conversion
    • Amazon S3 interaction
    • copying and pasting of large batches of items
    • deletion and renaming of large batches of items
  • Advanced content tiles:
    • maps
    • videos
    • audio
    • sliders
    • galleries
    • table of contents
  • Audio and video content
  • Automatic conversion of videos to web compatible format
  • Search weighting based on popularity using Google Analytics API
  • Content alias management
  • Disqus commenting integration
  • reCAPTCHA integration
  • fullcalendar integration
  • Google Business metadata
  • Emergency notification system with optional SMS support
  • Preview content on a variety of device sizes
  • Map content
  • KML feeds
  • Social media integration with Twitter, Facebook, Pinterest
  • Etherpad collaborative spaces support
  • Stripping metadata from files
  • Ability to view the site as another user
  • Audit log, user activity reports
  • Session management, inspection and termination
  • Analytics dashboard
  • De-duplication of uploaded images and files
  • Trash can / recycle bin
  • Two factor authentication


There are various methods of setting up CastleCMS for production, contact Wildcard Corp for optional support. Our preffered local setup is laid out here.


  • Redis
  • avconv (needs to be updated for ffmpeg again)
  • ElasticSearch 2.3

Development setup on macOS

  1. brew install redis elasticsearch libav python
  2. git clone
  3. cd castle.cms
  4. virtualenv -p python2.7 .
  5. bin/pip install --upgrade pip
  6. bin/pip install -r requirements.txt
  7. bin/buildout
  8. Run (in separate terminal windows) elasticsearch, redis-server, bin/instance fg
  9. Browse to http://localhost:8080/

Once you have created a site in the development instance:

  1. Run compile-resources script to allow Makefile targets to work, bin/plone-compile-resources --site-id <Castle, or whatever you named your site>
  2. Run init-dev script to populate templates, bin/instance run castle/cms/_scripts/
  3. See the /docs/ folder for further development information

Optional Dependencies

Running tests

Default plone testing:

./bin/test -s castle.cms

To run only robot tests:

./bin/test -s castle.cms -t robot

Without robot:

./bin/test -s castle.cms -t \!robot

If you have errors complaining about warning, make sure the version of selenium you're using works with the version of Firefox you have installed (see above)

Running local dependencies with docker

$ docker-compose up

or, just the essentials: $ docker run -p 6379:6379 redis $ docker run -p 9200:9200 elasticsearch:2.4-alpine

Forks/Custom releases

Castle maintains forks and custom releases of packages occasionally. Here is the status and reasoning for our forks:

  • (Hard fork): Castle heavily customizes how Plone renders things including how "blocks" are rendered
  • plone-app-mosaic: (Hard fork, castlecms branch): Originally for fixes but at this point, we will maintain the fork until we have reason not to or we have better alternative layout engines.
  • plonetheme.barceloneta: (Hard fork): Castle rendering of barceloneta. No Diazo.
  • (Dev release): Release to get Plone 5.1 features into Castle based off Plone 5.0. Can be removed once we go to 5.2
  • (Dev release): Unknown status on if we still need this release.
  • Products.ZCatalog (Dev release): unknown status
  • z3c.relationfield (Dev release): PR: zopefoundation/z3c.relationfield#7
  • mockup: (Dev release): TinyMCE backport fixes from 5.1
  • Products-CMFPlone (Dev release): TinyMCE backport fixes from 5.1 and bundle ordering bug: plone/Products.CMFPlone#2632