Code Monkey home page Code Monkey logo

camaleon-cms's Introduction

CAMALEON CMS

Build Status

Website

Documentation

Demonstration

About

Camaleon CMS is a dynamic and advanced content management system based on Ruby on Rails that adapts to your needs. This CMS is an alternative to Wordpress for Ruby on Rails developers to manage advanced content easier.

Camaleon CMS is a flexible manager where you can build your custom content structure without coding anything by custom fields and custom contents type.

To download or publish themes go to Theme store: http://camaleon.tuzitio.com/store/themes

To download or publish plugins go to Plugin store: http://camaleon.tuzitio.com/store/plugins

Updates for PapayaLabs

  • Use a background image in Login Admin Page
  • Set db_prefix to null.
  • Use cloudfront variable in Admin for AWS S3 Endopoint
  • Use UUID(String) instead AUTO(Integer) in all models

With Camaleon you can do:

  • Integrate into existing Rails projects
  • Multiples sites in the same installation
  • Multi-language sites
  • Design and create the architecture of your project without programming by dynamic contents and fields
  • Extend or customize the functionality using plugins
  • Manage your content visualization using themes
  • Easier administration. Camaleon CMS permits you to adapt the CMS to all your needs and not you adapt to the CMS. You can create your custom architecture with any custom attributes that you need for all content types.

Some features

  • Camaleon CMS is FREE and Open source
  • Shortcodes
  • Widgets
  • Drag and Drop / Sortable / Multi level menus
  • Templates/Layouts for pages
  • Advanced User roles
  • File Uploads with built in Local and Amazon S3 support
  • Easy migration from Wordpress
  • Security
    • Remote code execution
    • SQL injections
    • Advanced sessions security
    • Cross Site Scripting
    • Control of abusive requests
    • Cross-Site Request Forgery
  • Site Speed Camaleon CMS include a lot of cache strategies to optimize the site access velocity:
    • Cache contents
    • Cache queries
    • Manifests (compress and join asset files)
    • Customize your content visualization for Desktop, Mobile and Tablet
  • SEO & HTML5
    • Sitemap generations
    • Seo configuration
    • Seo for social media
    • All generated content is compatible with HTML5 and Bootstrap 3

Camaleon CMS has many useful Plugins such as:

Camaleon CMS has many useful frontend Themes such as:

Requirements

  • Rails 4.2 or 5+
  • PostgreSQL, MySQL 5+ or SQlite
  • Ruby 2.2+
  • Imagemagick

Installation

  • Install Ruby on Rails

  • Create your rails project

    rails _5.2.6_ new theturtlefoundation
  • cd theturtlefoundation

  • nano Gemfile

  • Add the gem in your Gemfile

    gem "camaleon_cms", github: 'papayalabs/camaleon-cms' # latest development version
    gem 'draper', '~> 3' # for Rails 5+
    gem 'jquery-rails' 
    gem 'jquery-ui-rails'
    gem "select2-rails"
    # gem 'draper', '~> 4.0.2' # ruby 3.x
    
    # For Ruby version < 2.5
    # gem 'sprockets', '< 4' # Sprockets 4 requires Ruby version >= 2.5
  • Install required Gem and dependencies

    bundle install
  • Camaleon CMS Installation

    rails generate camaleon_cms:install
  • (Optional) Before continue you can configure your CMS settings in (my_app/config/system.json), here you can see the full settings.

  • Create database structure

    rake camaleon_cms:generate_migrations
    # before running migrations you can customize copied migration files
    rake db:migrate
  • Start your server

    rails server
  • Go to your browser and visit http://localhost:3000/

Deploy in Heroku

  • heroku create --stack heroku-18

  • Make sure sqlite gem and pg gem are in right groups

    group :production do
      gem 'pg'
    end
    
    group :development, :test do
      gem 'sqlite3'
      # Call 'byebug' anywhere in the code to stop execution and get a debugger console
      gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
    end
  • In production.rb:

    config.assets.js_compressor = Uglifier.new(harmony: true)
    config.assets.compile = true
    config.assets.precompile << /\.(?:svg|eot|woff|woff2|ttf)\z/ (application.rb also)
  • rm Gemfile.lock

  • gem install bundler -v 2.1.4

  • bundle 2.1.4 install

  • bundle lock --add-platform x86_64-linux

  • git push heroku master

  • Camaleon CMS Installation and database structure

    heroku rails generate camaleon_cms:install
    heroku rake camaleon_cms:generate_migrations
    heroku rake db:migrate

Backup and restore data from Heroku Postgresql

  • Make a backup

      heroku pg:backups:capture --app app_name
  • Download the backup

      heroku pg:backups:download
  • restore to local database

      pg_restore --verbose --clean --no-acl --no-owner -p port -h localhost -U username -d database latest.dump
  • enter in postgresql locally

      psql -U username -p port
  • inside postgresql console fix schema_migrations ( replace with the values of the migration of your local installation )

        \c database
        delete from schema_migrations;
        insert into schema_migrations (version) values ('20211205134400'),('20211205134401'),('20211205134402'),('20211205134403'),('20211205134404'),('20211205134405'),('20211205134406'),('20211205134407'),('20211205134408'),('20211205134409'),('20211205134410'),('20211205134411'),('20211205134412');

Sample App / Demonstration

Support

If you have problems, please enter an issue here. If you need support, need some extra functionality or need plugins, please contact us on:

Author

Owen Peredo Diaz

License

http://camaleon.tuzitio.com/license.html

Testing

  • Init DB
RAILS_ENV=test bundle exec rake app:db:migrate
RAILS_ENV=test bundle exec rake app:db:test:prepare
  • Run tests
bundle exec rspec

Contributing

  • Fork it.
  • Create a branch (git checkout -b my_feature_branch)
  • Commit your changes (git commit -am "Added a sweet feature")
  • Push to the branch (git push origin my_feature_branch)
  • Create a pull request from your branch into master (Please be sure to provide enough detail for us to understand what this change is doing)

Version History

http://camaleon.tuzitio.com/version-history.html

Previous stable version (v1.x): https://github.com/owen2345/camaleon-cms/tree/version_1x

Camaleon CMS was originally released in July 2015 and tested previously with more than 20 projects by 6 months and on August 22, 2015 was published as a gem.

camaleon-cms's People

Contributors

owen2345 avatar raulanatol avatar brian-kephart avatar papayalabs avatar cmckni3 avatar p avatar rafaeltcostella avatar texpert avatar haffla avatar superchell avatar mazharoddin avatar gcrofils avatar gryzinsky avatar westonganger avatar pulkit21 avatar ramensoup avatar froilanq avatar cestivan avatar abdelrahman-hsn avatar sanata- avatar migtorres avatar wuboy0307 avatar tostasqb avatar max2320 avatar gameroster-us avatar yfractal avatar cheenwe avatar yortz avatar phlcastro avatar paes8403 avatar

Watchers

James Cloos avatar

camaleon-cms's Issues

When edit a Post the category is not shown

Description

The Papayalabs's Camaleon CMS fork replace the auto-integers key for a uuid key. Because of this change the category when we edit a Post is not shown so the user most always check the category/categories again

How to Reproduce

1._ Install a Camaleon application --> https://github.com/papayalabs/camaleon-cms#installation.
2._ From admin create a Post with a Category
3._ Form admin edit that Post

editpost

You will see that the category is not selected. Should be selected again to save the Post.

notselected

Expected Behaviour

That the Category is shown correctly.

Story Points: 3

When category name is more than a word the links broke

Description

The Papayalabs's Camaleon CMS fork replace the auto-integers key for a uuid key. Before a url for a category was /categoria/8-educacion and now is /categoria/cd63b60d-a963-4777-9b44-a8931c1b7498-educacion. The problem is that before we are sure that the symbol (-) separates the pk key from the name. But now because the uuid also has inside the uuid number the symbol (-) introduce an error when the category has more than a word i.e. categoria/ee5e24fc-b54e-4cb4-9e25-4a3ef2805ad3-jornadas-de-saneamiento.

How to Reproduce

1._ Install a Camaleon application --> https://github.com/papayalabs/camaleon-cms#installation.
2._ From admin create a Category with more than 2 works ( i.e. science research ).

createcategory

3._ From admin create a Post and assign this Category.

choosecategory

4._ From the application try to filter by this Category.

pagenotexist

Expected Behaviour

When try to filter by a Category with a name with more that 2 words the filter works correctly.

Story Points: 4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.