It's difficult to know how to put this, without appearing to advertise. I'm not even sure if I'm posting in the correct part of the site. I am not after a review.

I have built a site which could be considered a political forum. It seemed obvious at the outset, that, although I could have built it just for my local county, as the same site would be appropriate for any county/country, I might as well design it for the world. Essentially then, I have a forum with about 25,000 categories/sub-categories with corresponding voting system. This was the reason I built it myself, rather than use a pre-built system(the number of categories). The way my site works is obviously different from the way most forums work. It does the same job but in a different way.

Having got this far, an obvious extension to the site is a 'county page', consisting of relevant info and capable of generating revenue streams.

I have researched other site building programs: forums; blogs; cms; and with all their plugins, pingbacks, trackbacks etc, I can see benefits in using them. What I cannot do is see a way to marry my site with one of these.

Can anybody possibly give me some direction.
Should I attempt to use a ready made system and try to incorporate my site, or should I carry on with what I have and learn the necessary code to do my own 'plugins'.
I have pondered on this for a month and can't get a grip on it. If you can see a way ahead, what should my first step be.
For those wishing to respond to this post, you can find my site here. I hope that doesn't constitute advertising.
Regards

Recommended Answers

All 10 Replies

In a sudden rush of blood to the brain, I realised that I have in part answered my own question. I have indeed built a forum from scratch. It's just that I use different terms from the norm. It's also obvious that I must add relevant bits of code to the existing site rather than try to merge it with another program.

However, if anybody can see anything missing, suggest what they would like to see added or give any sort of advice, it would be much appreciated.

Right, with that out of the way...
It all depends on how you built your "forums".
is it threaded? (probably)
Is it Flat/Linear, Tiered/Leveled?

How fast is it (if you have several threads of varying depths... whats the query structure like?


Regarding CMS... I use Xaraya... it has a Forum Module... it also has Coments.

But to be honoest, depending on how you wanted it... you could convert it with Dynamic Data... as this lets you create your own objects or use External tables.
It also enables you to use the inbuilt basic query stuff and a slection of APIS...


Which raises another point for you... if you are ok with code... no reason you can't look at CMS's and learn from the API and Class calls :)

Autocrat,
Thanks for the first link. Excellent advice in that thread. A lot of the site validates, some doesn't. As the 'forum' part of the site is virtually complete barring the odd tweak, this was the optimal time to re-design, using css properly, as opposed to table based layout, which I was unaware was being used incorrectly when I started. I've been studying css tutorials and believe I can use it appropriately. Also this was the point where I needed some general direction.

As to your second post, I'm afraid I don't understand the terminology you've used but I'll try and answer some of it in the next post in about an hour.

FAir enough.

Basically, Flat means all repsonses are to the Original item... where as threded/tiered etc. means you can respond to the original item or no response to the origianl item.

if you look at some sites, you can have replies to replies to replies...

Original Item
Response
Response
Response
-- Response
-- -- Response
-- Response
-- -- Response
-- -- Response
-- -- -- Response
Response
-- Response

Make sense? All far left "Response" are flat... thoe with the -- are leveled :)
Most Forusm are flat by default... but I have seen some tiered ones in use.

Okay, here's how I did what I did.
At the outset I had no idea how to go about doing anything. I had an idea in my head that I was unable to put down on paper. I did, however, have a very basic grasp of dreamweaver. (I am still, for instance, unable to set up MS Outlook)
Basically I wanted people to be able to post questions that could be put to a vote, post arguments for or against any question, vote, change vote. I wanted this not only for political issues but for anything that people may have an opinion on.
Now I can see that there are many pre-written programs that would do this, Drupal, Wordpress, various forums. I didn't know it then.
It was obvious to me, that the idea was scaleable. What would work for one county, would work equally well for a state or a country, so I might as well design the whole thing from the top down.
I knew very little about databases but knew I would need to learn, as the site needed to be dynamic. I played about with access for a few days, setting up test DBs to get a basic grasp of how they work. Foreign keys, relationships etc. Access apparently only allows about 250 users at a time, so would be no good if I wanted lots of users.
I was lucky that my hosting package came with pre-installed mysql and php admin. I'm not sure I'd have been able to install it myself. Anyway I spent some time reading the documentation, understanding very little, then set up one database. No tables yet.
I used a peachpit tutorial to learn about DB design & normalization and then planned the DB on paper.
I needed tables for users, countries, first, second and third level admin divisions, questions, arguments for and against, votes etc. I split the questions into international, national and lower admin levels.
Browsers of the site would need to be able to view questions, arguments and results from any country or its lower admin levels and registered users needed to be taken straight to 'mypage' which would give them access to 'ask a question', 'results', and 'question' pages where they could see questions on which they had and had not voted and where they could vote/change vote. These would be at all levels from international to local.
I've noted that on all other forums I've seen, the topics or threads appear to be a link, which then loads the appropriate page from a database. I have no idea how that works.
From the questions link on my homepage, for instance, users are taken to an 'international question page. For this I queried my table of international questions and voting table and presented the questions and results in a repeating region, which is also a form with a 'view arguments' button. When this is clicked the page queries the relevant tables and shows the returned arguments.

More in a bit, I hope someone's interested in this.

According to autocrats' questions and my previous post, I think my forum would be considered flat.
I would think my equivalents to seperate forum boards would be my question categories.
Internatinal, National or Country, State or equivalent, County and in the UK Local Authority District. This gives around 25,000 boards. Threads would equate to questions asked in any of these residential areas.
Users, when registering have an ID representing their area of residence. After registration or login, I used session IDs to set up 'mypage' with the appropriate navigation and enable me to query the relevant tables in the DB.
A users from the USA for instance would have navigation such as international, national, state, county, wheras a user in the UK would have international, national, home country, county, local authority.
A lot of the queries were straightforward, some took me a few days to write.
From 'mypage', a questions link would bring up a page with 'questions on which you have not voted' table, with a button 'vote' with each question, aswell as a 'questions on which you have voted' table, with a 'change vote' button. Again, I used repeating regions and forms. I had to use nested select queries, filtered with runtime variables.

The site, if it becomes popular enough, has the potential to actually inform policy makers of the majority opinion, on every issue, at all levels, for every community. Maybe they could then be persuaded to support that opinion.
It is important that usres remain anonymous, particularly for countries which may not look kindly upon democracy. Therefore the site takes no identifying details from users, not even email addresses. There are pluses and minuses to this. The user does not get inundated with mail or newsletters and remains anon. On the other hand I can't inform users when there's a response to any of their posts or set up an automatic password forgetting system.
It is my intention to set up a 'county page', where there will be relevant info and where users can write their own local news and talk about things where a vote is not a consideration. This county page is where I am going to need maybe bits of blog type code.
There will be a link from 'mypage' taking registered users to their own appropriate county page but there will also be 'county pages' available to the general browser, where they can view any county page from anywhere in the world.

I hope all this has not been too boring. I would appreciate it if anybody could take a look at what I've built. There may be some other way I could have presented things which would have been better/more usable. I'd rather find out now, before I start the re-design.

If you think this thread has any merit, I would consider posting any code that might be of interest.

Okay... thread links.
You refered to such items here, and have said you are not sure how they aare made.

You currently fetch data and build little forms.
Those forms hae a detination addres (in the action part of the Form, or in the Redirect part as input).
Thread links are not very much different.
Data can be passed to the url, and the php can hae a script/function/api that reads the extra data in the URL and takes relavant actions...

(In xaraya, you can have index.php?module=articles&type=user&func=dispaly&aid=11 - this means Articles Module using a User Template of type Display showing Article 11)....
This forum I assume does much the same... not the URL here is Forum / threadIDGOESHERE ... thus it knows what topic to pickup and display.

(In other cases, it can all be done "behind the scenes" - such as Short URLS / Caching etc.)

So, it depends on how you have built your code.
By the sounds of it, you have not built any code to handle such things, which is why you use forms.
Now when you go look at all you "go to here" forms... notice the similarities in the code etc.
You could probably cobble together a php function that handles those parts as variables.
Then you call that function and pass in the values everytime.
You can use the php redirect function to change the page when a link is clicked, rather than forms :)

Thanks autocrat.
The other day I bookmarked a tutorial on building a simple forum in dreamweaver and afterr posting here yesterday I took a look at it. It explained precisely how to accomplish what we're talking about. It turns out to be a simple matter of linking the questions query results to the relevant question ID.
I've had some feedback however, saying that the way I've done it so far was preferable to the standard forum look, so I think I'll leave it as is.
I can do an expansion to the site to encompass other subjects of interest and use the standard forum approach. It will only require a minor extension of the DB rather than a re-design.
In addition I can now add on my own blog to each 'county page' as the calling of articles works in the same way.
My next bit of research is to find out about pingbacks and trackbacks. They seem to have an important role.

If you look at your hosting account, you sould beable to find the php stuff... there are pre-built functions/classes for things such as stats etc.
You can use those for most tings such as referer tracking etc.

The other thing to consider is creating a sessionid and a table for tracking users...
You can then save the referer (where they come from), their browser, OS, the page they arrive on and the subsequent pages etc.).

This will give you what you need to know for individual Users, Page Impressions, Who goes where, the most popular sections etc.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.