Showing posts with label rss. Show all posts
Showing posts with label rss. Show all posts

Tuesday, January 29, 2013

Integrate Bcms Blog along with BrowserCMS

Hello Guys,

        Want to integrate bcms_blog along with browser CMS via ruby? then simply follow the below steps.

http://modules.browsercms.org/modules/3-bcms-blog

Install gem called
gem install bcms_blog 

Specify configuration in environment.rb as
config.gem 'bcms_blog', :version=>'1.1.1'

Modify routes.rb
map.routes_for_bcms_blog
map.routes_for_browser_cms

No go to the your directory from command prompt and execute below commands.
script/generate browser_cms 
rake db:migrate

Now login to cms web page & go to Content Library Menu and on left side panel you'll see the Blog section and under that 3 sub sections.
 a. Blog
 b. Blog Comment
 c. Blog Post

Now creating and publishing blog follow procedure listed below:

1. Go to Blog section & create it.
2. Create category for blog section from Categorization -> Category Type..
3. Add blog post from Blog Post section.
4. Now publish all and on front end you'll see successfully created blog.
5. If you get any error like 
     ERROR: undefined method `_blog_post_path' for #<#:..> 
    Then
      include Cms::BlogHelper in ApplicationHelper
    And
     add  below method under Cms::BlogHelper
     def self.included(controller_class)
        Rails.logger.info "~~ BlogHelper included in #{ controller_class.inspect.to_s }"
     end 
6. Now on posted blog you have option for Comment.. and user's added comment only visible if they moderate it and publish.

Hope you guys, enjoy my blog.. and it's helpful .. For more information see https://github.com/browsermedia/bcms_blog/blob/master/doc/release_notes.txt

Monday, July 23, 2012

Generate Rss feed with rails application

  Hey guys,
      Lets today we create the rss feed with our existing rails application. Consider we have controller called post and have index method to show all the available posts. Now meanwhile we need to create feed for available posts as well.

controller:

def index
  @posts = Post.find(:all, :order => "created_at desc")
  respond_to do |format|
     format.html { render :template => 'posts/index.rhtml' }
     format.xml { render :template => 'posts/index.rxml', :layout => false
        headers["Content-Type"] = "application/rss+xml"
     }
  end
end

view:

index.rxml

xml.instruct!
xml.rss "version" => "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/" do
  xml.channel do
    xml.title 'Available Posts'
    xml.description h("Here is the posts ... blah blah")
   
    @posts.each do |post|
      xml.item do
        xml.title post.title
        xml.link url_for(:only_path => false,
          :controller => 'posts',
          :action => 'show',
          :fishery => post.id)
        xml.description post.description
        xml.pubDate CGI.rfc1123_date(post.created_at)
      end
    end
  end
end

index.rhtml

# Add auto discovery tag to access rss feed

<%= auto_discovery_link_tag :rss, {:controller => "posts", :action => "index"}%>

See your rss feed for posts is ready!! Whenever auto discovery tag found it enables the rss icon on browser. Keep in mind Either you have to use predefined xml node or need to create XSL template. You can also emend the stylesheet into XSL template.