Forum OpenACS Q&A: Good CR usage examples

Collapse
Posted by Svet Ivantchev on
It was commented few times already that no all of the packages that use CR are doing it in the best way.

So, my question for the CR experts is: which package's source is the best in this sense and it is good idea to study it's source and use it as example?

Collapse
2: Re: Good CR usage examples (response to 1)
Posted by Nis Jørgensen on
Question seconded.
Collapse
3: Re: Good CR usage examples (response to 1)
Posted by Jade Rubick on
I'd like to know this too. So that's thirded :)
Collapse
4: Re: Good CR usage examples (response to 3)
Posted by Randy O'Meara on
fourthed (or is that forthed? fourth'd? ah heck, count me as number 4)
Collapse
5: Re: Good CR usage examples (response to 1)
Posted by Jun Yamog on
I think only the original CMS is the best package that makes use of CR.  This is because the author of CMS and CR are primarily Karl G.

I am trying to make the best of my efforts in putting the most common operations in bcms.  But then its not really a package, just tcl api for me to use for my packages.

ETP is a good package to understand how the tables relate to one another, and its small and simple enough.  But it does not make use of CR properly.  File Storage and its UI is close to what is happening logically on the CR.

Granted that it has reached the 4th request, it goes to show that there is no real reference package as of now.  Also we do not have Karl G's opinion in them.  So we left to our best of efforts to understand the code and docs.  I think as more people will try to understand and use CR we should come up with something in the future.  Just share your notes and info so others can see.

Collapse
6: Re: Good CR usage examples (response to 1)
Posted by Rocael Hernández Rizzardini on
Jun is right, KarlG did it ....
have a look at the docs of it http://cvs.openacs.org/cvs/*checkout*/openacs-4/packages/acs-content-repository/www/doc/index.html

Or review some systems that use it to get an idea, file-storage is an example. If you are storing things that you probably want to have multiple versions, *easy* integration with search, and more important, avoid repeating the same code everytime you need it for uploading and storing images, files, or text data in a consisten way, use it pls.

Collapse
7: Re: Good CR usage examples (response to 1)
Posted by Rocael Hernández Rizzardini on
Any good application framework / toolkit should have its own CR, I just read about the recent new java API ... do we have it since 2000 / 2001 ???  ;o)
Collapse
8: Re: Good CR usage examples (response to 7)
Posted by Malte Sussdorff on
Do we understand ours since 2004 / 2005 ?? 😉.

I feel like Matrix Reloaded, where they watch the machines do their work in Zion and noone really knows how they work, but are happy that they work and make use of them.

Maybe someone could try to contact the architect (aka Karl G.) and ask for some insights ?

Collapse
9: Re: Good CR usage examples (response to 1)
Posted by Jun Yamog on
Hi Malte,

I think that idea would be a good one.  Anyone here knows Karl?

Collapse
Posted by Rocael Hernández Rizzardini on
Good "point" Malte ...
Maybe Caroline or some of the ex arsdigitans on openacs community could contact him ...
Collapse
Posted by Walter McGinnis on

Just to give credit where credit is due, the Content Repository and the CMS were definitely Karl G's babies (along with the templating system), but Stanislav Freidin did a huge amount of work on them.

Actually, the toolkit team and the WGBH project team should also be mentioned as instrumental to the creation of the CMS.

Last that I had heard Karl was still working in the field. He presented at a OSCOM conference last year.

I'll drop him a line and point him at this thread.

Collapse
Posted by Karl Goldstein on
Hi everybody,

Walter pointed me to this thread and asked me to comment.

First the bad news; I haven't looked at the ACS 4.x CR/CMS in a few years, really since aD started work on ACS Java.  As Walter points out, it is true that Stas and the WGBH team did quite a bit of additional work on the system even after that, and are probably in a better position to comment on implementation and usage details than me.

I have indeed continued to work in web content management; Bruce Keilin and I have been doing consulting for a big pharma company and in the process have developed our own Java-based CMS.  Unfortunately we're not in a position to release the system open-source right now, but here is my advice to you:

1) If you're going to build a CMS, don't get caught in the trap of developing an object-relational mapping tool instead.  Having a way to define custom content types is great, but my experience at aD left me wary of starting there.

2) Always keep in mind the core function of a web CMS from the user's perspective: the ability to easily create, edit, organize and manage and publish chunks of HTML text, where in most cases each chunk equals a page.

3) That said, authoring content is really the heart of the user experience for a CMS.  And the coolest CMS editing experience is not the one that gives authors complete ability to go wild with formatting; it gives them the flexibility they need to present their content while constraining them enough to ensure consistency and re-usability across a site.

The coolest editing experience also gives the authors to ability to insert and configure reusable dynamic components into their pages, such as:

a) a simple blurb with some static text that appears on multiple pages (e.g. a box to donate to a charity).
b) a list of new and updated items in the same part of the site, or in the same category.
c) a list of related upcoming events.
d) a shared list of related links (both internal and external)

4) Part of ensuring a great editing experience and minimizing the need for "management" are some behind-the-scenes features:

a) a tool for configuring navigation without forcing authors or admins to maintain it manually
b) link-checking to ensure that external links are always valid and internal links are updated with items are moved or deleted
c) asset management so that authors can upload and insert images seamlessly into their pages, share images for inclusion in other pages, and perform basic editing operations without having to go to another program
d) style/"theme" management so that admins can customize templates to some extent without having to edit the templates themselves.

I could go on, but if you're going to put any effort into developing the CMS functionality of OpenACS, I'd encourage you to think carefully about your priorities.

Cheers.

Collapse
Posted by Mark Aufflick on
Karl, we do have a project designing a new CMS for OpenACS  which is currently in (a slightly extended) user experience design phase.

These are the sort of issues close to my heart on CMS, and match some of our discussions.

I have posted a link to your post for all the CMS project people to read in our CMS forum, and on the CMS project page (https://openacs.org/projects/openacs/packages/cms-future/).

Thanks for your insight!

Collapse
Posted by Jun Yamog on
Thanks Karl.  We appreciate your insights it very helpful.