Forum OpenACS Q&A: Is this use or abuse of the Content Repository?

As part of migrating our current mesh of apps onto a common platform (oacs that is), I need sort of a CMDB application (configuration management database). This will store information about various IT related configuration items suchs as servers, routers etc.

Now I was looking at how to implement such a thing in oacs and it seems that the CR is the recommended way to do it. Just create the necessary content-types and built a little ui around it to create, edit, view and delete them. A bit like file-storage, but then with specific objects.

To me it seems like the CR is basically a filesystem (with neat features like versioning) for acs-objects (well, some particular descendant of acs-objects of course, but you know what I mean).

Is that the right way of looking at the CR?

In that case, is there some kind of a generic 'cr browser' UI? If not would it be sensible to create one? E.g. a 'windows explorer'-like thing, like the file-storage but then for just any content-type. The content-type of course being responsible for delivering templates & logic for 'new' and 'index', the latter of which can provide any additional functionality required such as 'edit', 'delete', ... (the 'index' template is already provided for I believe by most (?) content-types). I guess this would be a little bit of a crossing between ETP and file-storage.

This would make building directory-like applications (cmdb, contacts, some crm basics, ...) fairly trivial IMHO, as you could borrow almost everything from the system except the specific ui-pages for your particular content-type(s).

Is that a strange thought, does it already exist or ???

Collapse
Posted by Jeroen van Dongen on
BTW - I know there is CMS - but that seems to be meant for webmasters creating sites, not for use directly by the end-user. Although it is sort-of the kind of interface I'm after.
Collapse
Posted by Jun Yamog on
Hi Jeroen,

I think you got a good grasp of the high level of CR.  I normally recommend using the CR.  Although in this case you may want to investigate at the latest bug tracker.  When I was a sys admin I used to use a CMDB using Lotus notes.  I think the bugtracker should be a good fit.  The latest one I think enable you to customize almost every aspect of it.  You may want to ping Collaboraid for more details about it.

Collapse
Posted by Don Baccus on
Right - "sorta-kinda" is already provided embedded within the hard-to-use CMS user interface which is intended to be used by content providers, editors, etc.

It would be nice to have some way to access the CR browser portion of the CMS without having to work through the rest of the CMS proper because people find the CMS's UI hard to use.

I don't think there's really any code here to right, it's more a case of intelligent theft of what already exists and figuring out some way to make use of it without having to physically make two copies of it.

And perhaps enhancing it ...

Note that none of the CR client packages other than the CMS system currently use the CR's ability to map templates to CR types and individual items to do their display.  Everything's done manually (outside of ETP which has its own way of doing this rather than use the CR's way, sigh)

The entire suite of packages using the CR are ripe for massive cleaning-up and regularization.

Collapse
Posted by Jeroen van Dongen on
I was indeed thinking along the lines of 'intelligent theft' :)

Question remains what packages to steal from. CR is the obvious one for the others I'll wade through the packages to see what's usefull - unless you have specific suggestions?

I'll be back end of the week with a little proposal and perhaps an alpha version.

Collapse
Posted by Jeroen van Dongen on
Jun - I've toyed with the idea to use the *-tracker like packages, but I want something more generic. Unless I see it totally wrong I guess the *-tracker package should ideally be build on top of the kind of service/application I've in mind - not the other way around (not proposing to rebuild anything - just to state the location in the 'stack' where I see the indicated functionality).

Don - in case there's nothing there yet in this area I'll go off and do some 'intelligent stealing'. Besides of course the CR package, any particular ideas for potential 'donors'?

I'll see if I can post a proposal and perhaps some code end of the week.

Collapse
Posted by Don Baccus on
I've been speaking of the "CR/CMS" as a unit, because there's still a bunch of stuff in the CMS that really belongs in the CR.  So look there as well as the CR.

Being able to browse the CR is really something that should be in the CR itself IMO.  Remember it needs to honor permissions!

And the dotLRN file storage portlets and the package itself has nice folder icons and the like - I think the ones in the CMS are too large in general.

Take a look at folder-chunk in file-storage/www.  Not at the horrible kludgey query that works around the horribly kludgey addition of an entirely different type of file object for URLs that doesn't use the CR.  Rather check out how this one folder-chunk template is included in the file storage portlets and main page - it is written as an includable utility.  ISTM that a CR folder browser written as an includable template would be nice, one could include it as a widget then as part of a custom portlet or page.

On my backburner has been the desire to rip apart file storage so it uses the content repository more generically but that's another issue for another day.

You may want to contact Dan Wickstrom, who knows more about the CMS/CR than most of us (and did the PG port from Oracle), and Jeff Davis, who's been in the guts of the CMS package very recently fixing bugs.