Gossamer Forum
Home : Products : Gossamer Links : Discussions :

Overall Site layout question

Quote Reply
Overall Site layout question
Ok I need some suggestions here and if links can do it or not.

Our overall thinking process now is to create a directory for products, manufactures, clubs, web pages, etc. Think of it like an insurance company that has a list of doctors, hospitals, suppliers, etc.. Not only will we keep a "directory" of services but also do quite a bit of correlation/reviews between the various areas and link to our external store. Now I already have censura for reviews which is a very nice reviews product with its capability to have multiple fields assigned down to individual products but it does not do a very good job of cross correlation. I cannot have one product, for example, linked to multiple categories, etc.. One advantage I do see of it over linkssql is the ability to have multiple custom ratings down to the product level (out of the box). I was considering using linkssql and for the reviews link externally to censura but really would like to keep it all together in one app if possible.

So basically understanding that I want to create a "directory" with multiple categories cross correlated and multiple review options down to the product level can I do this with linkssql and is there a nice plug-in to already make this possible? Or how long (cost) would it take for one of the gurus out there to implement the backend to make this possible.
Quote Reply
Re: [Dale_Brown] Overall Site layout question In reply to
I don't have a clue what you are asking for on the reviews issue.

I'm working on several flavors of reviews, for different sites I need. Maybe one can work for you, or can be modified, perhaps.


PUGDOG� Enterprises, Inc.

The best way to contact me is to NOT use Email.
Please leave a PM here.
Quote Reply
Re: [pugdog] Overall Site layout question In reply to
hehe.. Ok let me try that again.. :)

Basically for the reviews I want to be able to assign multiple review questions like i.e. "Ease of Install?" - "Cost?" - "Quality?" - etc.. and assign like a 1-10 ranking for each of the questions. I need to be able to assign these review questions by category or down to the product level.

What I mean by the correlation is lets say I'm on a car site and you went to the section/category for engine parts. You would also have on that page the links of manufactures, parts and sub categories of products within the engine category. Also if I have links assigned to tech articles on those parts I would be able to place those links there also and to even the shopping cart for those categories/individual parts. etc... Hope this makes sense now. True cross linking all handled internally based off of some grouping assignment given in linkssql.

http://www.autoguide.net This site is close but still really doesn't take it to the level I'm talking about they don't have like articles assigned to each part etc.. Also, I'm looking for most of the content to be driven by manufactures, etc.. I will manage it but want this to be more of a service offering for them so they pay to use this service. Hope this makes sense now..
Quote Reply
Re: [Dale_Brown] Overall Site layout question In reply to
No... it doesn't make sense <G> I tried to find an example on the site you mentioned, but couldn't see what you were looking for. Do you have a more specific URL?

One of my plugins has the ability to track individual user ratings for a link. Check out http://identitydots.com (site is out of date, but still has this plugin working). Log in, rate a link, the go back to that link, and check it out.

It would be possible, I guess, to expand this plugin to allow you to define different ratings groups. A group would be, as you say, a question, a feature, a single item about the link.

You could assign questions to each link. this would *really* need to be done on a category by category basis, or it would be quickly unmanagable.

For instance, you edit the plugin, and add:

1) ease of use
2) layout
3) information content

Then, for category 1, you assign (1,3) to that category, so every link that is displayed, will ask those two questions (and only those two questions).

A default "Overall Rating" question can be enabled,

Or, just the "average overall rating" can be enabled.

Tying this to the review system, with comments and such, would be a bit harder, but not impossible.

This is actually just a column addition to the ratings database, to track question number, and then the routines to manage/call the various questions.


PUGDOG� Enterprises, Inc.

The best way to contact me is to NOT use Email.
Please leave a PM here.
Quote Reply
Re: [pugdog] Overall Site layout question In reply to
Not a bad idea to have the rating system category based...
Or a category based poll system... ?

Best regards,
Webmaster33


Paid Support
from Webmaster33. Expert in Perl programming & Gossamer Threads applications. (click here for prices)
Webmaster33's products (upd.2004.09.26) | Private message | Contact me | Was my post helpful? Donate my help...
Quote Reply
Re: [webmaster33] Overall Site layout question In reply to
I just installed the Gforum polls plugin. I have _no_ desire to write a polls plugin for links <G>

If I can get more of this concept solidified, though, the logic used to assign multiple ratings criteria to a link, could be used to assign any other "ecapsulated" type data to a link or category tree.


PUGDOG� Enterprises, Inc.

The best way to contact me is to NOT use Email.
Please leave a PM here.
Quote Reply
Re: [pugdog] Overall Site layout question In reply to
Quote:
though, the logic used to assign multiple ratings criteria to a link, could be used to assign any other "ecapsulated" type data to a link or category tree.
Yes, I aggree. I also have plans in the future to develop a general solution to assign data to link or category.
But if you take that task, I better save my time and do something else. I would pay some money for such plugin, if it is the solution I also want to do, and it saves me development time.

Best regards,
Webmaster33


Paid Support
from Webmaster33. Expert in Perl programming & Gossamer Threads applications. (click here for prices)
Webmaster33's products (upd.2004.09.26) | Private message | Contact me | Was my post helpful? Donate my help...
Quote Reply
Re: [webmaster33] Overall Site layout question In reply to
I've actually got 2 or 3 projects goiing along that line. This one, which I had not really thought about, the arbitrary tables, and the multiple attachment (BBS system files area). They all sort of merge, and 99% is pre-thinking the logic. The great thing about GT engine code, is that once you do, and the logic makes sense, the coding almost does itself.


PUGDOG� Enterprises, Inc.

The best way to contact me is to NOT use Email.
Please leave a PM here.
Quote Reply
Re: [pugdog] Overall Site layout question In reply to
Let me know if you have something ready.

Best regards,
Webmaster33


Paid Support
from Webmaster33. Expert in Perl programming & Gossamer Threads applications. (click here for prices)
Webmaster33's products (upd.2004.09.26) | Private message | Contact me | Was my post helpful? Donate my help...
Quote Reply
Re: [webmaster33] Overall Site layout question In reply to
Well, the arbitrary tables thing will probably happen due to GoCart. For my needs, burrying the product in the link record is not working out well. My "Links" need to be something besides a product, the products need to be "attached" to a link(s) and once they are sold, the products disappear, but the link(s) remain.

This requires an Items/Products table, and I have to try to resurrect that code.

GoCart looks like it can attach to a table, and then map it's required fields onto that table. This is a _good_ thing, and very close to what I am working on (but not exactly). It does have the idea of making each program responsible for "knowing" what fields it needs, but that is a more complicated set up than I was hoping for.

What I want, is a way for setting up a table, that using "associations" to the Links table (or even each other). I've talked about it in other messages, but the key concept is that the associated tables contain data items that are tightly (contain the LinkID) or loosely (do not contain the LinkID) related to the Links table. When a link is called (via select or display), these associations are checked, and the relevant ones are loaded. It makes no sense to load _all_ associations.

This requires some sort of "dispatcher" to work properly, and allow new tables and associations to be created and managed.

For instance, you have a links directory, but some links are classifieds, some are products and some are member profiles or reviews. When you load a link from the classifieds area, you want to attach the classifieds data and perhaps products, but there is no reason to fetch reviews or member profiles.

More clearly, a Link has several attributes. In a photo gallery situation, it may be a description of a photo group with a reference to a photographer, location or style. Attached to this link may be images or other image groups, a photographer bio, purchase information, etc.

In the category display, you may want to "Know" that these items exist (check out the sidebar on http://imdb.com when you look at a movie), but you do not want to load them until called. So, some dispatcher has to know that link 42 has associations with various tables. This can be done via a Links_Tables table, were you have non-unique fields of LinkID:Table_Name associations. Table_Names are mapped to "features" so you can illuminate features.

In the category display, if you are in the Images sub-topic, you might want to "fetch" the image data, not that it just exists. ie: that 99 images are associated with this link, and provide links to them. You are not "deeply" interested in the photographer, or locations, or other associated information.

Or, when you pick an image to purchase, you want to load the information from the Items/Products table, but you do not need to bother with calling for any overhead from other tables.

If there is none of this "intelligent" decision making on which tables to reference and when, some sort of decision tree, then the overhead goes way, way up. You start passing around all sorts of unnnecessary data, and I don't like that :) Never liked it, not since my first real programmatic break through on multiplying arrays of arrays for disease spread analysis on a TRS-80, when I got processing time down from over 22 minutes to under 30 seconds by applying this "relevant data only" model. That sort of example (when there are only 2 computers in a class and classes lasted only about 40 minutes) sticks with you :)

This project needs the following modules (that can be worked on by others who want to contribute something in the way of code:

1) table editor: create/add/modify/update tables. The ability to define a new table, have it created, and have entry forms for data created (either once, or dynamically) so people can create new tables and have a simple interface to them. Preferably, this hooks in as both an admin module, and accessible from the user-interface so editors and logged in users can get to it, but the code itself is most important now, as a free-standing "simple" widget module. Caveat: Foreign Keys may play here, if some records need to be removed automatically if a Link is deleted (such as item/LinkID relations). This sub-module may be a separate project in itself, since determining these relationships is a decision tree unto itself. Then, not only "house keeping" references need to be cleaned up or deleted, but if a hard reference is made between an item in a table and LinkID those items should be cleaned up (deleted, moved to "dead" table, etc) if a Link is deleted. NOTE: this table creation module has application in many other plugins, programs, etc so is a useful 'widget'.

2) Decisions (dispatch) Module: this module hooks into the call for a link, and finds out all the information about it. It finds out what tables it is associated with, then decides what table data to load. Most likely it needs to be passed a flag that "0", only load tables, "1", load table summary ie: tables and number of related elements in that table, and then specific flags for each table, such as the table(s) names so it goes and loads the relevant data for each of the related tables and returns that. In it's simplest form, it does just this. In it's more complex form, it maintains a config file, relations file, and summary file to speed up this sort of access. It takes the returned data, formats it, and returns the "string" to the calling routine.

If anyone's interested, the "test" data is an Items table, that has basic (detailed) information on an "item" and based on several flag fields may have tables with related data for that item. Items are linked to the Links table via an Item_Links table.

The first module would allow creation of this table within a users system, and allow them to add/enter data into that table through a simple form.

The second module would respond to a request to display a link, by returning the associated Items attached to that link.

As noted, there might be second-level associated tables, such that an Item that has several variations or styles will have a separate record for each, with the basic information wrapping it. Manufacturer, features, etc may all be the same, but sizes or options may vary. These are best kept in second-level associated tables. This is a complexity that doesn't need to be addressed at first, but needs to be considered when designing the system.

Some fields are best left as associated tables/fields. Such as clothing with 19 colors and 9 sizes. Simple drop-down boxes with the color/size and associated weight/price etc that check a back-end inventory is possible. But for others, where there are fewer variations, but more changes entering a new item record based on an exisitng record is better.

Others, might be addressed by making each variation a separate record. Data is carried over, and what needs to be changed can be. Caveat: changing one set of fields should be able to change all fields in all records (check boxes??). If there are 4 entries for a tractor, each with 10 fields the same but 6 fields change, if one of the 10 fields is changed, it should be able to be changed in all 4 records, not just 1.

Anyway, it starts to get complex, as you can see :)


PUGDOG� Enterprises, Inc.

The best way to contact me is to NOT use Email.
Please leave a PM here.