Opal is the swiss army knife of web apps. It's a powerful Item & Content Management System powered by Ruby on Rails. You can use Opal for blogging, listing items, storing files/images/videos, or for powering any awesome website.
Opal has a a lot of features. Maybe too many. Feast your eyes on these:
- Powered by Ruby on Rails 3.2
- Store uploaded files locally or in the cloud using Amazon S3, Rackspace Cloud Files, etc. - (Guide)
- I18n support for multiple languages & locales. Currently supported languages:
- Easy-to-use TinyMCE content editor with security filtering and image uploader
- State-of-the-Art Interface powered by HTML5, CSS3, jQuery, Uploadify, and jQuery TOOLS
- Mass file & image uploader
- Apply special effects to Images: Rotate, Resize, Watermark, Stamp, Monochrome, Sepia, etc.
- Customizable Themes & Plugins with easy uploader & installer
- Pages & Content
- CMS-style Page editing with Easy file uploading
- Integrate Blog
- Advanced Page features: Group-only access, Redirection, Subpages, etc.
- List Any Type of Item: Products, Video Games, Locations, Events, Classifieds, etc.
- Add extra stuff to your Items like Images, Videos, Reviews, Comments, Files, Discussions, Custom Fields, and more!
- Infinite-depth category organization & customizable advanced item searching
- Multiple-user login system with secure administration area
- Login from other websites(facebook, twitter, google, etc.) with OpenID/OAuth Support - (Guide)
- User Activity Logging
- Gravatar Support
- Much More
Since Opal is highly customizable, you can use it for many different things:
- Content Management System(CMS)
- Directory Website
- Image/Video Gallery
- File Download System
- Forum/Discussion Board
- Review/Classifieds Website
- E-Commerce Website/Web Store (TBD)
Step 1 - Get Opal
Opal is available at the following places:
If you have git installed on your server, you can install it directly from Github. This is highly recommended and makes updating Opal a breeze.
git clone git://github.com/hulihanapplications/Opal.git
Step 2 - Install Gems
Install all of Opal's required gems using bundler:
cd Opal bundle install --without test
- You may get an error here regarding rmagick if you don't have it already installed. Check out this Wiki Guide for help.
Step 3 - Database configurations
config/database.yml to use your preferred database system. If you don't create this file, one will automatically be generated for you that uses sqlite.
Step 4 - It's time to rake
Next, Run these commands (while in the Opal directory) to install Opal's required stuff (database structure, assets, etc.) in production mode:
bundle exec rake db:migrate RAILS_ENV=production LOCALE=en bundle exec rake db:seed RAILS_ENV=production LOCALE=en bundle exec rake assets:precompile:nondigest # Install Sample Items, Categories, etc. bundle exec rake db:sample RAILS_ENV=production LOCALE=en
These commands will create the database structure of Opal in production mode. If you leave out RAILS_ENV=PRODUCTION, everything will be installed into your development database instead. This will also set up the default admin account, some sample items, and other stuff to help you get started with Opal. You can also specify the LOCALE variable to install Opal in a language other than english.
Step 5 - Fire 'er up
You can now start Opal using the 'thin' webserver...
bundle exec rails s -e production
...or any of your other favorite webservers: nginx, apache, mongrel, etc.
- To log in to Opal for the first time, the default Admin username and password is: admin.
You've now successfully installed Opal. Go grab yourself a sandwich to celebrate.
Bonus Step: Updating Opal
If you installed Opal with git, updating is a piece of cake. Go to your Opal directory and run these commands:
git pull origin master # pull the latest stable version of Opal rake db:migrate RAILS_ENV=production rake assests:precompile RAILS_ENV=production
Guides & Tutorials
Here's just a few of the many things you can do with Opal:
- Set up OAuth Authentication to log in through other websites
- Use Amazon S3, Rackspace Cloud Files, etc. to store files
- Create Custom Fields for Items
- Configure Email & Notifications
- Add an ad banner To Opal
- How to Watermark Uploaded Images
Check out the Opal Wiki
Plugins & Themes
You can easily extend and customize Opal with new plugins and themes. Plugins extend Opal's core functionality and Themes change the appearance of your Opal application.
Opal has a small but dedicated community of designers and coders that create plugins and themes for public use. You can find them on the official Opal website. Check out the guides below to make your own.
Community & Additional Help
If you need any more help, check out these resources:
Development & Contribution
If you're interested in developing Opal or contributing a theme, plugin, or translation, check out the following:
- Submit a bug or feature request
- Source Code On Github
- Developer's Guide
Opal is Licensed under the Creative Commons Attribution 3.0 United States License.
Special Thanks goes to following: