Version History

2.4.2 (December 21, 2016)

  • Image Editor: Fixed dimension 400x300? from minimum to maximum

2.4.1 (December 20, 2016)

  • Fixed custom fields for custom field_name
  • Added support for shortcodes with block content, sample:[light_box url="localhost:3000/media/1/learn_a_programming_language_step_24.jpg";]My Link[/light_box]
  • Fixed admin media pagination loaded and sort files by created_at
  • Fixed duplicate flash messages for json requests
  • Image editor: Fixed ratio export
  • Added support to export to custom image dimension the selected area
  • Added user role decorator
  • removed non used user_relationships table
  • added support to edit title/description private user roles

2.4.0 (December 15, 2016)

  • Custom fields - image type: readonly if they need custom dimensions or versions or thumb size
  • Cleaned dummy project
  • - Added collection each index for default theme listing posts
  • - Added: the_json_fields, the_json_field attribute for custom attribute fields
    - Removed clearfix on posts lists (default theme)
  • Fixed NotNullViolation for post drafts
  • Fixed warning to_hash for ActionController::Parameters
  • Fixed duplicated featured scope on posts
  • - Added dimensions to the cropped images name
    - Added preview to custom field images
  • Fixed plugin after install process order
  • - Moved seo tags to another plugin (more complete), seo keywords replaced with seo plugin (still configurable by post types)
    - Added hooks: post_type_settings_front, post_type_settings_admin, post_type_settings_form
  • Fixed and enabled ru language
  • Added support to customize post list item by post types (frontend), sample: my_theme/views/post_types/commerce/_post_list_item.html.erb This template is used for tag/post type/category view
  • Added post types in admin search and included slug + content attrs to search
  • Fixed hooks plugin_PLUGIN-KEY_after_install and plugin_PLUGIN-KEY_after_uninstall
  • Added support to define as required post picture by: my_posttype.set_option('is_required_picture', true), default false
  • Fixed: redirect site domain after changed site domain/slug in admin general settings
  • Fixed site.the_url called to different site from visited site
  • Added attr data-field-key on render custom fields
  • - Improved on destroy post controller to catch errors
  • - Fixed Upload image from url with ? in the url
  • - Fixed empty or null file uploader formtas | dimensions
  • - Improved CMS Console Messages
  • Multi language: admin visit url wrong locale
  • Fixed drafts hook names
  • Support to set temporal domain for sites (used to get url's with specific domain from API or tasks)
  • Added message for cors error on editing image (Image Editor)
  • Improved cache front plugin and added hooks in front cache plugin to customize writing/reading
  • Fixed contact form: translation for description
  • Fixed error on empty custom url paths
  • Fixed:
  • - Added support tag title translatable
    - Added simple tag url, sample: http://localhost:3000/tag/mytag.html (this takes the slug and not the title)
  • Updated flag chinese
  • Fixed missing rss in xml format
  • - Fixed nav menus reorder update_columns into update
    - image versions "cama_parse_image_version(version_name, check_url)" added support to verify if the version exist or not, if the version doesn't exist, then will return the same image
  • Adds ButterCMS sponsorship
  • Fixed the_url returning "" calling from console
  • - added image editor (dashboard)
    - tmp uploader support for base64 format
    - changed profile avatar editor
  • fix post position number after created to put it at the end
  • - Added support for preload cache metas + custom fields
    - Fixed missing zh-cn translations
  • Add chinese language support
  • Added support frontend for api navigation (angularjs, ...)
  • - Fixed direction sorting error:
  • - Added support to embed custom css/script for testing (panel panel) by (/spec/support/custom_admin.html.erb)
    - Fixed all rspec features (100%)
    - Rspec configuration for poltergeist (Note: webkit only works for 90% of features)
    - Added capybara-screenshot
  • Added impersonate users
  • - Added user impersonate for admin users
    - Added support of custom abilities for post types
    - Changed default password into 8 characters: admin123
  • Added session restriction for taxonomies -> the_edit_link()
  • Added support for big media by infinite scroll
  • Added a hook draw_custom_assets to customize the html printed by cama_draw_custom_assets
  • remove redundant self, change string interpolation to singel-quoted, brak too long line
  • Validate emails case insensitively also
  • Perform case insensitive username validation
  • Treat username case insensitively when logging in
  • Fix user agent check to work in test environment.
  • Handle checkboxes specially and correctly.
  • Lowercase email before saving since email addresses are case-insensitive
  • Use cama_ prefix for scoping
  • Updated readme for rails 5 support
  • Explicitly include plugin helper dependency into hooks helper
  • AWS uploader: add support for inner folder in a bucket Add attribute in uploder hook {aws_settings: {inner_folder: 'my_folder'}}
  • Added missing france tinymce translator
  • Drop executable bits on files that are not executable
  • Use an English string by default

2.3.6 (September 14, 2016)

  • Fixed: Devise authentication validation conflicts
  • Added Tinymce templates selector, Note: the template should have class = mceTmpl
  • Added support for extra actions to reload routes

2.3.4 (September 14, 2016)

  • Added email_late hook, to permit modifying e.g. smtp settings like mandril
  • Configurable PostTypes -> Feature Image: Dimension, Thumb Size, Versions
  • Added support to use custom user model and custom authentication like devise (system.json => user_model)
  • Fixed roles permission for themes and Menus
  • Fixed empty roles error
  • Cleaned user model
  • Added cama_t helper to use default value of english translation
  • French Translation for admin panel
  • Added a new hook "custom_field_custom_models" to add custom models in dropdown of "Where to show fields".Sample: def my_helper(args) args[:models] << Spree::Product end
  • Fixed: Custom fields is not visible in users form
  • Fixed: devise gem conflicts "current_user" for existent rails project
  • Added a new hook to change the default layout "front_default_layout"
  • Added support for target into external menus
  • Fixed order of menus after added from left side
  • Added on_uploader hook to customize uploader settings like AWS settings
  • Rspec fixed
  • Improved reassign posts after delete post
  • Added support to customize render menu item by hook "on_render_front_menu_item"
  • Permit to customize tinymce settings in admin panel
  • Fix: Checkbox and Checkboxes in Custom Fields not working properly
  • Fixed shortcodes for many shortcodes without attributes


  • fixed shortcodes for many shortcodes without attributes
  • Fixed:
  • Fixed:
  • fixed create custom content groups - rails 5
  • fixed:
  • Fixed:
  • Added basic helpers like wordpress: the_title, the_content, more here:
  • Changed lincese into MIT
  • Rails 5 support
  • Fix for null value js uploader
  • Changed before_filter into before_action
  • Fixed params with ActionController::Parameters option values
  • Added support to integrate into existent users table
  • Standardized flash messages
  • fixed:
  • fixed view paths
  • fixed frontend default layout:
  • removed protected_attributes dependency


  • Added post authoring plugin
  • posttag access by slug (frontend)
  • Fix typo in admin site settings view
  • Fixed (admin): recover custom fields values after any validation
  • Fix logo email
  • Fixed pt-br translations for basic units
  • Added Portugues (portugal language)
  • Admin: added button to send test emails "smtp configuration"
  • Admin: fixed add custom field groups for a single post
  • Fixed validation duplicated custom field groups slug
  • Fixed plugin key for plugin_view()
  • Admin: fixed default active can commented checkbox
  • Admin: fixed nav menu after edit in modal moved to right
  • Admin: fixed missing save custom menus
  • Frontend: post tags, added support to visit by slug instead of by id
  • Fixed theme paths after switch theme
  • Get fields grouped improved performance
  • Added the_fields_grouped(..) to get translated and shortcodes rendered grouped field values
  • Added label 'versions' for custom fields "images"
  • Fixed custom initializers problem for not found has_many
  • Fixed plugin_view for gem format with different folder name
  • Fixed tinymce editor in custom fields after reorder
  • Added groups and fields slug validations to be uniq by class name
  • Added method to recover field values grouped: get_fields_grouped(field_keys)
      # samples: my_object.get_fields_grouped(['my_slug1', 'my_slug2'])
      #   return: [
      #             { my_slug1: ["val 1", 'val 2 for fields multiple support'], my_slug2: ['val 2']},
      #             { my_slug1: ["val2 for slug1", 'val 2'], my_slug2: ['val 2 for slug2']}
      #             { my_slug1: ["val3 for slug1", 'val 3'], my_slug2: ['val 3 for slug2']}
      #   ] ==> 3 groups
      #   puts res[0][:my_slug1].first ==> "val 1"
  • Added support for duplicable custom field groups
  • Fixed role permissions (manager into manage)
  • Fixed duplicated themes and plugins render view paths
  • Fixed new nav-menus current_parent flag
  • Added private media explorer
  • Custom fields added custom private file uploader
  • Navigation menu sort problems fixed
  • Changed load helper to improve performance
  • Load custom models improved
  • Added missing admin error messages
  • Custom fields: improved add_field to set multiple values (one line)
  • Menu items drag and drop fixed
  • Fixed plugins frontend path
  • Moved users first_name, last_name from meta table into users table fo…
  • Post: added the_related_posts
  • Posts form addded versions, thumb_size for thumb image
  • Added nav menus custom structure builder, sample here:
  • Added support to create image versions on upload files
  • Mailer fixed errors
  • jquery validate (url) fixed to permit spaces
  • Improved reload routes on destroying sites
  • Created custom Fileuploaders Local/AWS and removed fog gem dependency

  • Fixed: error on edit menu after first time (not save the change)
  • Support language navigations by sessions
  • Added support to validate only the first tab of translation
  • Fixed upload file permissions
  • Permit to change post author
  • Send emails inline content
  • Fixed tinymce file browser within modal box
  • Allow change email subject from hooks
  • Fixes media folder navigation
  • Changes tinymce to use tinymce-rails
  • Fixes sidebar in media search
  • Adds media search
  • Navmenus added support custom fields and custom fields translation
  • Added hook to customize custom fields render.
  • Send_mail added support for background jobs (sidekiq or similar)
  • fixed sendmail of contact_form
  • skip cache for post/delete/put requests
  • fixed search for posts (avoid sql injection)
  • media: fixed shadow files for aws
  • fixed missing delete button inner folders
  • Added upload file from url
  • Added upload file from url
  • fixed some minnor typo's in dutch translation
  • added control for permalink settings
  • added page hierarchy support:
     # go to admin -> post types -> settings -> enable hierarchy
     # select the parent page in your contents the parent page
     # sample url structure: http://localhost:3000/item-1/item-1-1/item-1-1-1.html
  • added model class name aliases
  • fixed video selector for custom field kind videos.
  • New Media style updated
  • User registration need validate email.


  • Fix logout no effect
  • Fixed current menu for external link
  • fixed theme custom field groups
  • added plugin decorator
  • fixed fog dependency
  • fixed javascript validation error between tabs
  • fixed del file media manager
  • fixed conflict with devise gem


  • Fix logo size on admin panel
  • Fixed: Raise error when visiting unexisting urls. Example: Random troll writes
  • Allow email domains up to 10 characters in the contact form plugin
  • Added advanced shortcodes to print data in any content:Permit to generate specific data of a post. (see more details in link below)
  • Fixed vertical scroll for multiple modals- added a library to create inline field to upload fields.
  • Added control to clean cache after restart server.
  • Added hook to include custom links from plugins or themes.
  • changed custom sitemap into hash.
  • added sitemap skippers to filter private elements.
  • fixed the_breadcrumb for current_site.
  • Unify current_user removing current_resource_owner. Solved bug with login_user_with_password.
  • Added generic API response methods, render_json_error & render_json_ok.


    • Improved admin intro and added a link in footer to view intro any time
    • custom fields added disabled/readonly options like required: true/false
    • option to enable or disable captcha for register form
    • added support for layout selector in contents editor
    • fixed template selector
    • added hooks: user_edit and user_after_edited
    • changed sitemap cronjob into inline generation (xml and html format)
      url: or
      customizable by creating the template "sitemap.html.erb" or"sitemap.xml.builder" in your views 
    • added OAUTH API service
    • Fix javascript html title
    • Menus support for custom fields


  • Added admin mini intro
  • fixed sass


  • new template for admin panel
  • gem plugin generator console: rails g camaleon_cms:gem_plugin post_reorder bundle install visit frontend: http://localhost:3000/plugins/post_reorder/index visit backend: http://localhost:3000/admin/plugins/post_reorder/index Check here to publish your gem
  • gem plugin support added
  • changed post structure to improve sql query
  • added custom field orderer sort_by_field(...) sample: Site.first.posts.sort_by_field("untitled-field-attributes", "desc")
  • Added layouts selector like template selector
  • Added support custom fields for menu items Add any custom fields into menus and it will appear for each menu item (ideal to add icons or custom text for each menu)
  • I18n(..) for javascript You don't need to print your translations in html, put your translations in: Sample: ``en: admin: js: button my_text: "asasa"


  • hooks for email
  • shortcodes support for content editor
  • hook "user_update_more_actions" to add more action in user profile
  • added slug render support for categories, post_types, post_tags. Check doc.
  • fixed the default view "post.html.erb" into "single.html.erb". Check doc.
  • added the_field!(..) and get_field!(..) method in custom fields to manage empty values. Check doc.
  • added a control for logged users the_edit_link
  • added the_author method for posts
  • added the_categories method for sites
  • added cama_edit_link(...) to create common edit links anywhere, this verify if current visitor was logged in
  • added default shortcodes: load_libreries (load custom libraries), asset (render an url or image tag with the url), post_url (render an url for a post by id or slug)
  • fixed shortcode to support shortcodes with almost the same name. sample: [asset] [asset_path]
  • added method cama_strip_shortcodes(..) to strip all shortcodes
  • added get_fields(..) to get multiple values of a custom field
  • added filters for categories (.no_empty, .empty)
  • Added method for post: set_summary(..)
  • Added method for post: set_thumb(..)
  • Added method for post: increment_visits!
  • Added method for post: total_visits
  • Added method for post: total_comments
  • Added extra support values for method add_post(..) in post_type object
  • Added shortcode "post_url" Permit to generate the url of a post (add path='' to generate the path and not the full url, add id='123' to use the POST ID, add key='my_slug' to use the POST SLUG, add link='true' to generate the full link, add title='my title' text of the link (default post title), add target='_blank' to open the link in a new window this is valid only if link is present), sample: [post_url id='122' link=true target='_blank']
  • Added shortcode "asset" Permit to generate an asset url ( add file='' asset file path, add as_path='true' to generate only the path and not the full url, add class='my_class' to setup image class, add style='height: 100px; width: 200px;...' to setup image style, add image='true' to generate the image tag with this url), sample: or Signature
  • Added shortcode "custom_field" Permit you to include your custom fields in anywhere. key: slug or key of the custom_field attrs: custom html attributes render: (true) enable to render the custom field as html. (Sample text_field: my_field_value) post_slug: (Optional, default current post) slug or key of a Post. Sample1: [custom_field key='subtitle'] Sample2: [custom_field key='subtitle' post_slug='contact' render=true attrs='style=\"width: 50px;\"'] // return the custom field of page with slug = contact



  • datetimepicker
  • Plugin files separated in two files, please update with: rails g camaleon_cms:install //and replace plugin_routes.rb
  • Added the edit url for post/posttypes/categories
  • Added plugin upgrade support
  • Added confirm for disable/enable a plugin


  • Fix rufus initializer
  • Changed plugins documentation link
  • Fixed current locale for editors
  • Rails 4.1 support added


  • Added Italian language support