report builder like salesforce has for ruby on rails? - ruby-on-rails-3

Salesforce report builder is pretty awesome - see here http://www.salesforce.com/_app/video/chatter/help/report_builder.jsp.
Lots of my customers want similar functionality built into ruby on rails apps. I cant seem to find any good tool, framework or gem out there to do this sort of thing. Before I start building one myself, I wanted to see if anyone knew of something out there that was similar or could be used for the same purpose.

Related

Automatic website creation using rails

I am looking for a template generator for rails, much like the scaffolding, but complete with preset pages and css, everything already built-in generically.
I am unsure where or how to search for this.
The reason I want something like that and not create one myself, is that I need to create a website really quickly with a certain preset theme
I had the same problem that you had, and could not find a solution. Therefore I built a gem for it.
https://github.com/bighostkim/simple-layout
It only applies to your development mode and it does not use asset to make it simple.
Hope it helps.
Rails Yard may be the solution you are looking for. It is a CMS written in Rails.
Rails CMS WIKI FORUM 2nd option
Rails Admin is great for data management (Create, Retrieve, Update, Delete).

Charts in Ruby on rails 3 web app

I need to generate some charts and graphs in a Ruby on Rails 3 app.
I have searched around for a gem to help me out and I have found gchartrb, googlecharts and gruff, but the first two seem to be too old to support Rails 3 (last commit is around 2008) and gruff I read that it is not recommended because it depends on ImageMagick and RMagick. But this was also from the year 2007.
HighCharts also have nice looking charts, but I don't have much JavaScript skills
So what gem or what approach would be best to have some bar/line/pie charts in a rails app?
Google has a great library for drawing charts with HTML5 and JavaScript. It's called Google Chart Tools.
You can pick the chart type you want from their Chart Gallery and use it with JavaScript. Even if you don't have much JavaScript skills, the examples should help you to get the job done.
Even if the question was already answered, I would like to suggest Morris for those that will pass here, even with "not much JavaScript skills" you could create nice charts. I also do not have much Javascript skills, but so far it is being easy. You have basically to create a JSON on the server side and set it to a #variable on your Controller. From your view you access this variable from a Javascript code passing it to the Morris calls.
I started using Highcharts a few weeks ago and can tell you that you don't need that much Javascript knowledge (depending on your needs and the complexity of the data). Apart from that those charts look really nice, in my opinion.
There are good tutorials and examples available which can help you. There's also a railscast regarding this topic.
I've another own option - https://github.com/railsjazz/rails_charts
It's using Apache eCharts, so same powerful as Highcharts and have convinient helpers to generate charts in your RoR app.

How can I implement write through caching in Rails 3 similar to cache-money?

I recently inherited a Rails 2.3 application that I'm now trying to upgrade to Rails 3. Cache-money is an integral part of the application so I want to make sure we have the same functionality in place when we go to Rails 3. However, my research on the subject has shown that cache-money is not compatible with Rails 3 (due to the use of unsupported AR methods :find_every and :find_from_ids).
I've seen a couple of comments and blogs mention that implementing the type of write through caching with Rails 3 that cache-money provided should be a trivial task. Any ideas on how to approach implementing write through caching with Rails 3?
Last week I launched a new write-through-cache gem for Rails 3, see
https://github.com/orslumen/record-cache.
The reason I built it, is because we were using cache money in a Rails 2.3 project and recently migrated to Rails 3. So chances are, it will also serve you well.
Writing your own write-though caching in Rails 3 does not sound like a trivial task to me. If you do find a trivial way, please be sure to copy me in on that.

Rails 3, too many ways to test?

If you were just starting out in rails which path would you encourage new users to go down with regards to Testing.
Anything I read about regarding Rails 3, tells me I should be using Rspec 2. But Rspec comes with a whole whack of other things I need to learn like
gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'spork'
gem 'launchy'
And then one of my friends just told me that I should just stick to the testing framework that comes with rails, and maybe just integrate 'shoulda' into the test process because it has a nice syntax.
When it comes to testing it seems like we have way too many options and too many ways of doing something. Maybe this is a good thing, but I always thought rails was about creating common conventions and avoiding doing the same thing in different ways.
I'm fairly new to rails.
I'm unsure where to start.
I feel overwhelmed.
Is this normal?
Since you're beginning with rails, I'd recommend using something that "just works" to get in the habit of testing your code and understanding how to work with your framework. Don't waste your time comparing solutions, choose one and stick with it for this project.
That being said, I really think it depends on your experience developing software:
if you've never used unit tests for your code, learn Test::Unit and consider adopting TDD. Notice that TDD will need you to dedicate a large amount of time to it at first, but that is paid off when you get used to it.
if you have significant experience with code tests and are just confused on how to start with rails, I recommend following through http://railstutorial.org/book. This is a (free) Ruby on Rails book that uses RSpec, Spork and serves as a great introduction
After developing one project from start to end using the testing platform you choose now, you'll have a much better task of choosing the testing framework you wish to use.
I'd also recommend you learn RSpec well before diving into Cucumber.
Sounds like you have option overload. Which is common to most people in a lot of different situations even outside of programming. The absolute easiest thing for you to do, would be to go with what Rails sets up by default, which is called Test::Unit
Their official guide introduces it here: http://guides.rubyonrails.org/testing.html
Once you are comfortable with testing using plain Test::Unit style then I would suggest you explore some of the addons your friend mentioned such as shoulda (https://github.com/thoughtbot/shoulda), and factory_girl (https://github.com/thoughtbot/factory_girl)
Good luck!
But Rspec comes with a whole whack of
other things I need to learn like ...
Actually, you don't need to learn any of those other gems to get started with RSpec. Just go with gem 'rspec-rails, and run rails generate rspec:install to set up your project.
A good way to learn RSpec is to look at the code generated by rails generate scaffold. This creates spec files for controllers, views and routes that deal with the standard RESTful actions.
While learning RSpec you can add in other gems as you discover the need for them. Autotest is essential IMHO. Webrat adds useful matchers for view specs. Factory_girl adds support for factories.
Spork is great, but not really necessary until you have enough specs that performance is an issue.
I feel overwhelmed. Is this normal?
Less of this, more of this :)

Is there an equivalent to Symfony's Localized Schema in Rails 3

I've been searching for an equivalent to Symfony's built-in Localized Schema which provides a native support for managing internationalized Tables/DB. Here is a link to Symfony's documentation covering their implementation of I18n & L10n, with the relevant part on Localized Schema (appx. a third down the page, such as the paragraph "Text Information in the Database").
I've checked out Globalize2 gem, but not sure as to whether it is fully supported in Rails3.
Also found the gem puret, which seems to have more recent commits/activity.
All in all though, it's very likely I am missing out on other possible options, as still getting my bearings in RoR dev.
Open to any info/suggestions you may have! ;)
Try gem named has_translations. It have been tested in several production sites for a one year already. Supports 1.9 + Rails 3. For any issues fill out form on the github.
https://github.com/dmitry/has_translations
Actually it's more or less the same as puret, but it was built when rails 2.3.5 was a mainstream, so I just supported it for a websites I've did already. I suggest you to choose between puret and has_translations, others is too magic or not maintained anymore. You can find more alternatives in has_translations README file.