I've developed systems for more than 30 years. The largest served more than 2000 people and integrated the functions of a dozen user departments. The smallest kept a couple of folks happy in a consulting business.
I've been trying to understand just what "Content Management System" really means. It's almost like asking, "who/what is God?" You get a million different answers.
I've been like an unfaithful wife. I've been over peeking at Drupal, at e107, at phpWebsite. After my flirtations, I've come back to Tiki. Why? They don't know who they are really developing for, and they don't have a solid end game in mind. And, tikiwiki has a lot more features and a way friendly development team.
What Is the End Game?
No doubt there are as many answers as askers. But I perceive that development continues even as the developers are unsure just how the system shall be used. No doubt there are some who will take advantage of image galleries, blogs, and other arcane internet actualizations of reality. There will be non profits with limited needs that can live with less than ideal circumstances.
I suspect such usage will be small. So, where can tikiwiki really make a difference? It can replace horrendously expensive custom development of specialized applications. I'm not saying that tikiwiki is about to replace a PeopleSoft payroll system, but many, many informational systems don't require complex calculations, they require organization and indexing.
A Case Study
I shall relate what to me is the ultimate in a content management system. Amongst the systems I was responsible for creating is the Juvenile Probation system for one of the largest counties in the United States. This is the ultimate in content management... original police arrest records, juvenile court arraignment records, scanned documents (affadavits, letters, etc.), caseworker interviews, court trial and disposition records, treatment programs and results, parent interviews... I could go on, but suffice it to say that 1000's of individual document types and data items had to be collated together to create a juvenile profile. Then, multiply it by 10 for the juvenile in and out of trouble.
I've thought about what it would take to make tikiwiki work for such an application... maybe as an implementation in smaller counties, where the needs are the same, and the volume is less. In some respects, tiki works great. In others it lacks. Here is my $0.02.
Forms: While there are many places where a free form wiki page works wonders, there are also many places where a data entry form is required. I'd steal some concepts from e107 here... the ability to create a field and data entry box and the ability to name it. For critical applications, hooks are provided into each data entry field to allow the customizer to add edits.
Minor side note: Even without forms as another page style, this option should be implemented into the user data entry and preferences part of tikiwiki... I really need the ability to add further qualifying information about users.
Indexing and Collation
Let's say I want to use tiki as the vehicle to maintain a parts inventory system. My tricotometric indicator support (part # 442), will have several pages that make up its total content. There will be its schematic drawing, the parts description page, number cross reference page. Or, if I were working with juveniles, I'd have an offense report (a form), caseworker notes (a wiki), court dates and dispositions (an ordered list), and pictures of the crime scene (an image).
I propose that each tpe of wiki object have a check box which says "Index?", and if checked, the data entry user adds the index which ties the various pages/objects together. Then if I do a search on juvenile delinquent Art Farkle, his home page gets return along with the index. When I click the index I get a list of all other objects available for Art Farkel.
_Secondary and Cross Indexing__
I'd take the inclusion of an index a step further. For example, the delinquent has a probation officer. I might want to see all active probationers being worked by the officer. If I had the ability to create a secondary index (especially through a form), then I could find all pages on that secondary index.
This sort of gets satisfied with a simple search. For example, I could just search on the probation officer's name, like Sarah Bellum, and return all pages. The problem is that Sarah Bellum may be listed in the system in other capacities than probation officer. Thus, I need the specifityof a second index.
More to come, thanks for reading and commenting.
More later... lost a lot of input here due to timing out on being logged in.