Hello,
Im creating a Frankenstein CMS with ActiveScaffold & Radiant.
The two softwares complement each other very nicely.
ActiveScaffold handling multiples of items like press releases, products
etc.
Radiant handling one-off pages and simple items like blog posts.
My first goal is just to have both running in the same application, so I
can
create a simple uberadmin page that will allow users to use one or the
other
tool. This appears to be working.
Finally having some success I thought Iwould post it here for anyone
else
who might be interested in the same thing. However I am new to
Rails/Radiant/ActiveScaffold and have not yet considered the security or
other more advanced implications of this merger.
In the near future I am hoping to add RecordTags extension so that the
Radiant pages can actually display the information being added to the DB
by
ActiveScaffold.
I also hope to add ActsAsTaggable_OnSteroids to the ActiveScaffold
admin.
My implementation follows. I welcome any comments and criticisms!!!
In a nutshell: Used Radiant_On_Rails extension so that ActiveScaffold
controllers could be accessed at all, since be default, Radiant will
only
accept urls that map to pages in its own system.
Install radiant via GEM.
o OK
Create Radiant project via Radiant command.
o OK
Create separate ActiveScaffold project and get it working. Have it use
the
same DB as the Radiant project.
o OK
Add “app” directory from ActiveScaffold project to Radiant project
Copy plugin directory from ActiveScaffold to Radiant project.
Copy files from “public” directory from ActiveScaffold to Radiant
project.
(like images/javascript/stylesheet files…)
Visit website.
o Received 505
o Dev LOG Shows: uninitialized constant
ApplicationController::ActiveScaffold
Renamed app/application.rb to app/application_DISABLED.rb .
o Works. Problem was that Radiant has its own application.rb in the
GEM.
(Is there a better way to handle this, so that both app/application.rb
files
get run?)
Visit admin section in web browser:
o NoMethodError in Admin/page#index
o Showing admin/page/_node.rhtml where line #10 raised:
o undefined method `image’ for #<#Class:0x4a16860:0x4a16838>
o (In cannot find the image method which is defined in:
RADIANT_ROOT/app/helpers/application_helper.rb)
Renamed app/helpers/application_helper.rb to
application_helper_DISABLED.rb
.
o Works (Again, problem was that Radiant has its own
application_helper.rb in the GEM. (Is there a better way to handle this,
so
that both app/application.rb files get run?)
Install Radiant_on_rails Radiant extension. Make changes to routes.rb /
extensions.rb & copy extension to extension directory.
o Radiant still works.
o I am successfully able to configure a “custom” controller in the
app
directory and reach it with the web browser. Yes!
Now try to get ActiveScaffold to work.
Copy code that was at the top of
ActiveScaffold_ROOT/app/controllers/application.rb to the top of my
controller for my model (which is called “category”.)
Try browsing to localhost/3000/category
o Radiant returns: “item not found” message.
Make change to routes.rb (specially formatted for Radiant_On_Rails.)
class RailsRoutes
def self.define_routes(map)
map.connect ‘:controller/:action/:id’
end
end
o Everything seems to work! Radiant generated website, Radiant Admin,
ActiveScaffold pages, my Custom pages.
(Is there something wrong with having such a liberal routing??)
-topher
ps.
Its been difficult for me. This post helped alot - basically suggesting
to
use Radiant_On_Rails:
http://groups.google.com/group/radiantcms-dev/browse_thread/thread/c605fe74cd23f175/122957d72f975e91#122957d72f975e91
–
Christopher Z.
[email protected]
604-484-9279