Hi guys,
Was wondering if you could help me with a little bit of Drupal architecture for my particular application.
Basically I have set up various content types, say for example:
- person
- business
- network
A 'business' would be part of a 'network' (of businesses), and a 'person' (could be a worker, manager, admin assistant...whatever) would work in and be part of a 'business'. Incidentally, all of which have been node referenced and track back to each other through links etc.
Basically, all of these content types would have a bunch of CCK fields allowing each piece of content (person, business and network) to have statistics attached to them, for example productivity statistics, financial statistics, as well as everyday information (address, phone number etc.) that could and most likely, will change from time to time. In my application, the statistics need to be documented on a yearly basis.
I need to keep the same pieces of content but change the details of that content every year. Not only from now on, but I also need to show historical data (in years gone by), in the same way.
So I thought of creating a taxonomy term of "year", then a vocabulary '1901', '1902', '1903'...'1980'...'2001'... etc, and so on. Simply, I'll assign each piece of content a year. Problem is, I need to fully document a contents 'state' in previous years, so say, a 'person' was a 'worker' in '1999', they could then be a 'manager' in '2002', and so on. A 'business' would have different profits in '1980' than they would in '2009' for example.
All this needs to be documented somewhere in my application and it would be silly to have to write a new piece of content every time this information needed to be changed annually, as the fundamental details remain the same, only the statistics will change.
Any ideas how I could manipulate content and taxonomy to suit my needs? Or is taxonomy the wrong way to go, maybe I won't have the control I need? Perhaps there's a way I can display how content appeared in year 'xxxx' through manipulating the revision system within Drupal? Anything really, I'm open to suggestions! As far as I have investigated, or indeed, know how to search for such a feature, nothing currently exists.
I just need a little advice if possible guys.
Much appreciated, in advance!
Comments
Curious why...
you're doing it with CCK rather than installing CiviCRM (which already has these entity types and the ability to add custom content fields to store stats/other demographics)?
If you haven't looked at, or considered installing CiviCRM (and related modules) for this, you should.
Also, it's not clear what you want to result from this, or the purpose it would have. A little more info might be useful.
Basically it's a statistics website...
Hi and thank you for your quick reply.
The example I used was for a business but I'd like to use it to look after football related data. For example a person could could be a football player playing for one or two teams in the 90's, then in the 00's he became a manager of another team. Similarly a team would be in a different division in one season, and that would change the next. So basically, the basic content, like name, picture etc, wouldn't change, but their status or statistics might over time, all this would need to be documented somehow. But nicely integrate into other content types. For example, Mark Hughes would be a player in Manchester United's history for some years in the 80's/90's however, he'd be a manager at Blackburn in their history in the 00's. Does that make sense?
All this would need to be included in the content somewhere, somehow! But importantly, I'd base my views of the information depending on what that information was, so for example, I'd show a league table for 1981 season depending on who was in that league at that time and what results they had against each other. When, let's say, I created a new match (which is a content type), I'd select a home team and an away team based on who was in that league in that year. CCK fields in that match content would be Date, Home, Away, Competition, Home Score, Away Score, and any other statistics specific to the game.
But to make it easier for user input, as I won't be the only one updating the site, I'd need them to select a season and a competition, then the node reference fields would only pick teams from that time in that particular competition. Similarly, when let's say, a scorer is picked from a node reference for the home team, only players who play for that team will be visible in that text field. I'm just guessing from what I've picked up, but node reference allows views to limit things like that within the field.
Sorry if I was vague, I wanted to ask in the simplest way possible, perhaps just coming out with exactly what I want to achieve is the best way forward for understanding.
Am I right in assuming that CiviCRM is generally used for businesses? In which case, it's probably not best used for this application, I'll take a further look though, thank you.