a general database 'framework'
Posted: Sat Feb 04, 2006 12:10 pm
This is a module idea. Perhaps it has merit enough to be considered for the core, considering how flexible it could become. I think it would be well received by the folks that use CMSMS now.
I have seen something similar for a couple other CMS packages, but exactly what or where, I can't recall right now.
I picture a module that allows you to create a database (well, multiple databases actually) of information, whether it be a business directory, links listing, FAQ, etc, might even work as the foundation of a simple ecommerce catalog (that could then in turn be interfaced with something like Paypal). I don't think it needs to be internally relational itself, as that would cause some UI headaches from the added complexity. A flat table-like structure would likely be good enough.
The idea is that each 'database' is set up and configured separately, so you could have multiple ones, each with different structure and data, on the same site. Output to the user, of course, would be via templates and CSS.
The module would allow creation of more than one of these 'databases', with specified number of fields in each record, and maybe the general format of fields (text, number, URL, image). I don't know if you'd want to go so far as to have strict field formatting rules like in ms access and other db apps though (again, added complexity to the UI, and logic).
It'd allow to browse and display lists of records based on criteria; field1="some term or expression" or a query of all the unique items in field1 (which would be like a 'category' list), and then drill down to see matching records and optionally to an individual record's detail on a single page. A 'search engine' internal to the module would be of benefit, allowing searches on a specified 'database' (or specified list of databases) from a search box.
I'll try to explain how it'd work from the site visitor's end using the simple concept of a links directory:
So, you have a menu item "Links" that takes you to a page generated by the module that was a list of "categories". Categories in this case would be a list of each unique entry in the field "category". Perhaps this category list also displayed the number of records in each one. From there, clicking on a category name would bring up a list of all records that matched that category. That list might be complete enough by itself (with site name and URL at minimum), but click on the site name and you get a details page with perhaps a small screenshot and a longer site description or review.
The same module concept could be used for a business directory, FAQ, real estate guide, documentation, articles, classifieds, downloads repository, jobs listings... the possibilities are pretty endless. And as I mentioned above, from there, it wouldn't be hard to interface with a third party API like Papal to make additional use out of this organization of data.
additional functionality that could be included at some point down the road could include: a "news-like" tag to insert "what's new" or "what's hot" into site content or templates; front-end user commenting, rating and submission; RSS feeds of new entries (by defined criteria, database, or site wide); and import/export routines.
I'm not talking about a database that you could import the Chicago yellow pages into. Just something that can accept, display and organize a reasonable amount of data.
attachment is this post in plain text.
[attachment deleted by admin]
I have seen something similar for a couple other CMS packages, but exactly what or where, I can't recall right now.
I picture a module that allows you to create a database (well, multiple databases actually) of information, whether it be a business directory, links listing, FAQ, etc, might even work as the foundation of a simple ecommerce catalog (that could then in turn be interfaced with something like Paypal). I don't think it needs to be internally relational itself, as that would cause some UI headaches from the added complexity. A flat table-like structure would likely be good enough.
The idea is that each 'database' is set up and configured separately, so you could have multiple ones, each with different structure and data, on the same site. Output to the user, of course, would be via templates and CSS.
The module would allow creation of more than one of these 'databases', with specified number of fields in each record, and maybe the general format of fields (text, number, URL, image). I don't know if you'd want to go so far as to have strict field formatting rules like in ms access and other db apps though (again, added complexity to the UI, and logic).
It'd allow to browse and display lists of records based on criteria; field1="some term or expression" or a query of all the unique items in field1 (which would be like a 'category' list), and then drill down to see matching records and optionally to an individual record's detail on a single page. A 'search engine' internal to the module would be of benefit, allowing searches on a specified 'database' (or specified list of databases) from a search box.
I'll try to explain how it'd work from the site visitor's end using the simple concept of a links directory:
So, you have a menu item "Links" that takes you to a page generated by the module that was a list of "categories". Categories in this case would be a list of each unique entry in the field "category". Perhaps this category list also displayed the number of records in each one. From there, clicking on a category name would bring up a list of all records that matched that category. That list might be complete enough by itself (with site name and URL at minimum), but click on the site name and you get a details page with perhaps a small screenshot and a longer site description or review.
The same module concept could be used for a business directory, FAQ, real estate guide, documentation, articles, classifieds, downloads repository, jobs listings... the possibilities are pretty endless. And as I mentioned above, from there, it wouldn't be hard to interface with a third party API like Papal to make additional use out of this organization of data.
additional functionality that could be included at some point down the road could include: a "news-like" tag to insert "what's new" or "what's hot" into site content or templates; front-end user commenting, rating and submission; RSS feeds of new entries (by defined criteria, database, or site wide); and import/export routines.
I'm not talking about a database that you could import the Chicago yellow pages into. Just something that can accept, display and organize a reasonable amount of data.
attachment is this post in plain text.
[attachment deleted by admin]