Ruby CMS

L

Luke Galea

Hi Rubyists:

I've seen some discussion around Ruby CMS solutions but not actually any
answers/implementations..

Is there anything out there? Any projects in process?

In the absence of a ruby cms are there any good ways of writing ruby modules
for an existing cms??

Thanks in advance!
 
T

Trevor

Luke said:
I've seen some discussion around Ruby CMS solutions but not actually any
answers/implementations..

Is there anything out there? Any projects in process?

I'm interested in this as well. Would it be possible to use Rails as a
framework for creating a CMS?
 
D

David Heinemeier Hansson

I'm interested in this as well. Would it be possible to use Rails as
a framework for creating a CMS?

I know of a handful of CMS projects already happening in Rails. Most of
them are commercial projects, though. I haven't heard of any open
source CMS intentions yet.

So yes, (of course) it's possible to use Rails for such a thing.
--
David Heinemeier Hansson,
http://www.basecamphq.com/ -- Web-based Project Management
http://www.rubyonrails.org/ -- Web-application framework for Ruby
http://macromates.com/ -- TextMate: Code and markup editor (OS X)
http://www.loudthinking.com/ -- Broadcasting Brain
 
S

Sascha Ebach

David Heinemeier Hansson:
I know of a handful of CMS projects already happening in Rails. Most of
them are commercial projects, though. I haven't heard of any open source
CMS intentions yet.

David, mine will be. But it is gonna take me a while, cause there is
always some project work which is keeping me from working on mcms.


MCMS which stands for Magical Content Management Solution will have this
and more:

(Quoted from my introduction mail on the rails list)

ROADMAP
=======
* Unique concentration on usability, web standards and accessibility
* Contentrepository as a tree, so you will be able easily extend the
functionality of a corporate website to a blog with comments, a forum, a
shop, a whatever. Something along the lines of ezpublish and drupal.
(This is rather ambitious, I know, and it is not the simplest thing that
could possibly work, anyway, I am gonna try it)
* Versioning
* WYSIWYG editing (with FCKEditor, which I find amazing)
* different views and the administration, so new users and powerusers
can feel at home
* Maybe even edit-in-place, like you can see in Bitflux CMS, or LIMB.
But I am uncertain about that as I think edit in place is not always the
most generally applicable solution, esp. if you wanna have a cms which
handles
* multiple diffrent websites under one adminstration
* media repository
* make it possible to turn it in a hostable solution (this one will
probably by closed source)
* lots of other things

Now, don't even dare to ask me when it will be ready or usable. It could
be 2 months or 2 years. For example, I couldn't work on it for almost 3
weeks cause of project work. I wouldn't wonder if somebody would release
something ahead of me...

Sascha Ebach
 
T

Trevor

Sascha said:
MCMS which stands for Magical Content Management Solution will have
this and more:
MCMS? You may want to take into account the confusion that this may
cause with "Microsoft CMS".
* WYSIWYG editing (with FCKEditor, which I find amazing)


They have a PHP and JavaScript version in there - In your opinion, do
you think it would be worthwhile to port to Ruby?
 
S

Sascha Ebach

Trevor said:
MCMS? You may want to take into account the confusion that this may
cause with "Microsoft CMS".

If it were from MS it would be called MSCMS. I don't think that they
have a patent on the M, yet. But if they like they can buy it when it's
ready ;)
They have a PHP and JavaScript version in there - In your opinion, do
you think it would be worthwhile to port to Ruby?

I don't know what you mean by porting. The editor is written in JS. PHP
is only for the server side communction. Any server side language can be
used for that purpose. In a cms written in Ruby certainly Ruby will be
used for the server side communictation.

Sascha
 
P

Patrick May

Hi Rubyists:

I've seen some discussion around Ruby CMS solutions but not actually
any
answers/implementations..

Is there anything out there? Any projects in process?

In the absence of a ruby cms are there any good ways of writing ruby
modules
for an existing cms??

I think the definition of CMS software is pretty blurry. To me, CMS is
a fancy way of saying, a development environment for building websites.
I think Rails, Seaside, IOWA, are the ruby equivalent of CMS's. I
think of these as a "standard libs" for doing web development.

~ Patrick

p.s. My project, Narf, is targeted at a different level. Narf, nora,
cgi.rb, and others, are more like the kernel for web development.
 
J

James Britt

Patrick said:
I think the definition of CMS software is pretty blurry. To me, CMS is
a fancy way of saying, a development environment for building websites.
I think Rails, Seaside, IOWA, are the ruby equivalent of CMS's. I
think of these as a "standard libs" for doing web development.

Interesting. CMS makes me think of an application that allows folks
with little knowledge of (and no desire to learn) Web stuff to add,
edit, and otherwise manage content. CMS systems typically, I think,
allow for assorted type of editing access, change notifications, and
comments from readers/reviewers.

Often a CMS is used to produce a Web site, but I think they tend to be
corporate intranets.

So, I would see Rails, Seaside, etc as possibilities to use as
groundwork for building a CMS.


James
 
F

Francis Hwang

I agree with Patrick, it's a vague term. Think about it this way: CMS
stands for "Content Management System": the first term is quite general
and the 2nd and 3rd are even more so. "Content" encompasses a vast
range of things. Imagine a similar acronym for other sorts of vague
things that need to be Managed by a System. What would a Data
Management System do? Or a Customer Management System? Or a Profit
Management System?

This is one of those buzzwords that, when I hear it, makes me think
"the customer hasn't thought very much about the requirements." In
fact, often these buzzwords mean "the customer is saying he wants to
acquire software to help with a well-defined process, but instead he
hasn't done a lot of work to figure out the process and is
subconsciously hoping that the software will come with the process
already fixed."

When it comes to "content", there are a million considerations that
could come into consideration:

- Who's responsible for writing and editing content, and determining
the ideal volume of that content? Does a copy editor need to vet the
content before it goes into the world? Business manager? Lawyer?
- Who gets to see the content? Paid subscribers? Company employees?
Everybody?
- We probably care about getting to view this on MSIE Windows, but what
about other ways of viewing it? How important is it for Firefox viewers
to be able to read it? How about blind readers using specialized
browsers for the blind? How about Google?
- What forms will the content take, ultimately? Sure, there's HTML, but
what about Flash, RSS, CSV files, Excel spreadsheets, PDF, movies,
images, and sound clips?
- What sort of resources are we willing to devote to producing content?
Is this going to be a weekly text-only blog, or a full-blown online
magazine with paid writers, photo shoots, and video interviews?
- What purpose does this content serve, anyway? Is it supposed to raise
our profile in the world of bloggers and hackers? To give the
mainstream news media a way to keep track of what we're doing? To
foster a sense of community among our customers? To help us strengthen
support for our products? To speed up internal project-based
communications? To boost company morale? All of the above?
- How important is it that this "content" be preserved into the future?
Is it archival stuff that you might want to put in a library? Is it
mission-critical content that needs to be up at all times?
- How are we organizing it, anyway? Do we want to throw together simple
categories? Is it worthwhile for us to look into
Technorati/del.icio.us-style folksonomies? Are there any
industry-standard ontologies that apply in our domain, whether we're in
the field of fine arts or aeronautics?

I'm dumping all of this out because in fact I've spent much of the past
few months asking these sorts of questions about the company where I
work. It's interesting, but also fairly tiring, and it requires you to
have an extremely precise sense of your organizational strategy ... and
guess what? We barely mention implementation technology, though we're
at the stage where I'm going to have to start costing it out, so
obviously it's going to come into play soon.

So, to get back to the original post, I'd ask first: What is it that
the web site's supposed to do, anyway?




Interesting. CMS makes me think of an application that allows folks
with little knowledge of (and no desire to learn) Web stuff to add,
edit, and otherwise manage content. CMS systems typically, I think,
allow for assorted type of editing access, change notifications, and
comments from readers/reviewers.

Often a CMS is used to produce a Web site, but I think they tend to
be corporate intranets.

So, I would see Rails, Seaside, etc as possibilities to use as
groundwork for building a CMS.


James

Francis Hwang
http://fhwang.net/
 
S

Sascha Ebach

Hi Francis,

I agree with all the points you mention. (I am only saying this so I
don't have to quote any specific point ... just kidding)

You are right when thinking that some kind of specialization is always
necessary. CMSs can do (and be) a lot of things. I view a CMS as a
method to access and transform content living in a repository.
Manifestions of these repositories can be news sites, forums, blogs,
shops, corporate sites and what not. IMO the access to this repository
is the hardest part from the programming standpoint. If it is fairly
specific (like only tables for blog entries and comments) it will be
hard to make a corporate website out of it. If the repo is generalized
too much the implementation can get really difficult. One would have to
find the sweet spot. The biggest challenge though is an easy to use and
simple interface to the repository. Usability is the key here.

In a more generalized system, like the one I am trying to achieve, I
think it is crucial to work with a heavily categorized system and store
all the data in a big tree. Although this brings not only benefits. But,
as you suggest it is nearly impossible to address all possible use
cases up front. Customization is always necessary. A good system that
tries be flexible must allow for easy customization and extension.
So, to get back to the original post, I'd ask first: What is it that the
web site's supposed to do, anyway?

A good question. But not for building a flexible CMS. This is the golden
question to ask a customer who needs any kind of web site in the
planning stage of a project. The most important question of all.

For a CMS like I plan the most pressing question is: How do I program a
blog that can later be a forum and a shop with customer relationship
management including email marketing capabilities? It might not even be
possible.

It is fairly complicated to describe what exactly I plan to do. But if
you look closely at the functionality of ezPublish and Drupal you might
get a feeling. MCMS will be some kind of mixture between these two (an
others).

Sascha
 
F

Francis Hwang

A good question. But not for building a flexible CMS. This is the
golden question to ask a customer who needs any kind of web site in
the planning stage of a project. The most important question of all.

Right, but do you think that such a general CMS can satisfy the needs
of everybody? I'd say no, because people have vastly different needs
for a System that Manages their Content. ( This relates to that other
thread about too many Ruby web app frameworks: Part of the reason that
there are more than one is that the problem is too big and too varied
to be sensibly solved by any one framework anyway. )
For a CMS like I plan the most pressing question is: How do I program
a blog that can later be a forum and a shop with customer relationship
management including email marketing capabilities? It might not even
be possible.

Most anything's possible in the world of code, it's all about the
economics and the engineering. Some questions to try to tease out the
cost/benefit dynamics:

When you say "blog that can later be a forum", whose blog is it? Just
one person? Or does each participant in the forum get their own blog?
How strong is the notion of identity--for example, do you have to
create an account to participate in the forum or is it as simple and
transitory as entering your email address in a blog comment form? How
far do you want your CRM to go? How tightly is the forum going to be
integrated with the blog, or with the online store?

etc., etc. Software's important, but it's no substitute for strategy.

Francis Hwang
http://fhwang.net/
 
S

Sascha Ebach

Francis said:
Right, but do you think that such a general CMS can satisfy the needs of
everybody? I'd say no, because people have vastly different needs for a
System that Manages their Content. ( This relates to that other thread
about too many Ruby web app frameworks: Part of the reason that there
are more than one is that the problem is too big and too varied to be
sensibly solved by any one framework anyway. )

No. No software can satisfy the needs of everybody. Not even Ruby ;)
Take Rails for example. Rails does and behaves like David needs it to.
My CMS will do and behave like I need it to. I hope that my needs will
be similiar to those of others so they can use it, too. After all, it is
going to be open source. And it should be easy to add your own
functionality.
When you say "blog that can later be a forum", whose blog is it? Just
one person? Or does each participant in the forum get their own blog?
How strong is the notion of identity--for example, do you have to create
an account to participate in the forum or is it as simple and transitory
as entering your email address in a blog comment form? How far do you
want your CRM to go? How tightly is the forum going to be integrated
with the blog, or with the online store?

As tight as you want it to be. But you will likely have to work a little
bit on it.
etc., etc. Software's important, but it's no substitute for strategy.

You have your own strategy. Maybe my CMS will allow you to implement it.

If you look at what people do with ezPublish and Drupal you will see
that almost everybody customizes these packages to their needs. Almost
nobody uses such software out of the box. Now imagine you could do that
in Ruby...

Sascha
 
L

Luke Galea

I'm going out on a limb here so please forgive any semantic failures on my
part:
When most developers or users look for a CMS that mean "A system that
contains the base functionality that ANYONE with "content" to publish is
going to need (ie: no business-specific functionality).. so:
Calendar, Messaging, User/Security/ACLs, News Posting, User "Self-Editing"
Content, etc...."

I guess thats "groupware".. but most CMSes out there seem to be pretty much
groupware plus API.. and most groupware suites are CMS plus API as well.. so
it's pretty blurry..

When it comes down to it though: there's a wack of functionality that pretty
much any application needs.. to some degree even a web-based finance package
would benefit from having news posting, private messaging, etc..
 
L

Luis G. Gómez

Hi all,

In my opinion, and having worked mainly on web projects that require
some sort of "CMS" there are certain "basic" features all CMSs should
have and some that should be plugged in on demmand. For example the
ability to manage online documents seems popular enough to be included
by default (even if it is handled like any other plugin or module). We
could have a "blog" module, a "subscription" module, etc... The main
purpose of the modules is to allow for more complex functionality to be
easily applied by the administrator and allow for custom modules that
simply need to respect certain compatibility guidelines.

The CMSs I've done normally give my clients the ability to manage
documents or what I'm thinking of changing to "Content Objects". Each
object can be a module or simple content and can be part of another
object. That way the CMS gives the user a lot of flexibility.
 
P

Patrick May

Interesting. CMS makes me think of an application that allows folks
with little knowledge of (and no desire to learn) Web stuff to add,
edit, and otherwise manage content. CMS systems typically, I think,
allow for assorted type of editing access, change notifications, and
comments from readers/reviewers.

Often a CMS is used to produce a Web site, but I think they tend to
be corporate intranets.

So, I would see Rails, Seaside, etc as possibilities to use as
groundwork for building a CMS.

"content" and "data" are synonyms, as far as I can tell. Tools for
working with databases (aka Rails) are tools for working with
"content". I think CMS is a bit of Fire and Motion [1]

Cheers,

Patrick

1. http://www.joelonsoftware.com/articles/fog0000000339.html
 
L

Luis G. Gómez

Content Management Systems arise from the need to provide a simple or
more familiar interface for editing content to content editors/managers.
CMS are not just for editing data in a database, they provide editing or
management tools that facilitate editing of content by someone that
probably does not have the technical knowledge to edit data directly in
a database in ways that depend heavily on the type of content that is
being managed and the needs of the content manager.

Context, interface, usability, content, etc... all affect content
management systems heavily and are directly dependant on the target user.

I think a tool that provide the basis of most CMSs and allows for simple
customization and aggregations would be a good approach.

just my opinion.... :)

LG
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,777
Messages
2,569,604
Members
45,216
Latest member
topweb3twitterchannels

Latest Threads

Top