Another Rails project reaches beta :)
Well finally after 2 weeks of caffeine-powered crazy coding, I have a nice new project running locally on my computer, waiting to be released into the wilderness :)
The project is a full-fledged CMS/blogging system, based on my previous, already released Rails-based skinnable blog system. I have used the same basis (and the basis was multi-user blog system), and have added pages-based CMS system into the mix - so now it is a site with multiple-users blog.
There are several types of pages a user can add to the site, including normal page with editing based on TinyMCE with some custom plugins I have wrote (notably the plugin for easier images uploads). There are also special pages for products categories and products page, as well as special page with handling links to Google maps, implemented in the same way my WordPress Inline Google Maps plugin works. You can also upload different banners for site's front page, as well as all custom pages of the site. There's a ping going to Google when a blog is updated, and Google sitemap, which is generated automatically. Overall, I have a built a system I can be proud of (to a degree :)
Rails definitely rules and I can't imagine even in my happiest dreams to create such feature set in just 2 small weeks (that includes layout coding!).
Now, what is even more exciting (at least for me) is that the system is actually designed to support multiple sites running on different domains, but using the exact same Rails codebase. What I mean is that same servers, same Mongrel clusters will be serving different sites depending on the URL by which a user accesses the system (meaning different content, different design, different everything, without duplicating scripts and clusters!!). Now, that being set, I didn't try to setup the whole multiple-sites system yet - the testing is performed against single site.
If things go well, the site will go online next month. Let's keep fingers crossed though :)
Some pics..
First of all, the site (keep in mind that the design overall is copyrighted, but some images used as placeholders were taken from devianart.com).
And here are some pics of admin interface.
Phew..
April 3rd, 2007 at 2:10 am
Hi - are you going to release some of this as open source? I am really interested in how you worked on the TinyMCE image upload challenge.
April 3rd, 2007 at 6:15 pm
Hey Ivan,
since all these projects are commercial onces, I am not going to (and not allowed to) make them open source. But here's a simple hint on how you can implement the uploading mechanism in your app:
1. make a simple TinyMCE plugin which will open a new window for a user
2, in that new window, there should be a form with at least a file upload field, and action would point to your app's image upload controller
3. when user hits the upload button, the image is uploaded, and content of the upload window is replaced with a Javascript which would insert HTML code for the newly uploaded image into your active TinyMCE editor of the parent window and close the upload window
that's basically all. you can enchance the uploaded by allowing user specify image size, backlink to original image, alignment, but the basics are explained above. Shouldn't actually take much of the time. Let me know if you're stuck and I'll see if I will be able to help your beyond that point.
cheers,
mike.