Add features to phpBB.

Cancelled Posted Jul 20, 2008 Paid on delivery
Cancelled Paid on delivery

Bid on this project only if you can communicate on a daily basis. This project will require HTML and PHP knowledge. Most of the work may be in figuring out how phpBB is putting together the pages, because it is split up into many parts. I'll be able to help with that to some extent.

1. Allow users to add "article" threads, for which the first page will display in a completely different format from ordinary threads.

2. Add a form linked to each article which has information fields that apply to that article.

3. Add a rating system for all posts, where users get a certain number of "blue ribbons" and can assign their blue ribbons to certain posts. Show the rating at the top of the post.

4. Add a similar rating system to articles, but users will also get a certain number of "rotten tomatoes" they can assign to articles. Show the rating at the bottom of the article.

5. For all "article" type threads, posts will be ranked in a ladder system based on how many blue ribbons they get. The higher on the ladder, the more likely they are to be on the first page.

## Deliverables

Throughout the process I have very specific requirements and changes to be made to phpBB. Therefore, be sure to communicate with me exactly what work you are doing at all times. This will prevent you from doing unnecessary work, as I will also be working on the project at the same time.

Here are the modifications to make to phpBB:

phpBB has a group system where users may be members of groups, as defined by the control panel. If a user is a member of the "contributor" group, an "article" icon should appear by the list of icons that shows up when the "new topic" button is clicked". I will provide the image for the article icon. There is already a list of icons to choose from when you go to create a new post(topic), so this should be easy.

Articles are to be different from posts because first and foremost, they have a special format for the initial post. This may be done by creating a [url removed, login to view] and [url removed, login to view] files. I will be responsible for creating such files, while you will be responsible for ensuring they are properly assembled when the "article" topic is posted. Also, in the topics listing pages (where the list of current topics is displayed), you will see that each thread/topic may have many consist of many pages of replies, and so a page numbering system is present to access those pages (1, 2, 3, 4 ... 12 hyperlinks for example). If you go to the "community" section of [url removed, login to view] you can see examples of this. Article topics should also have a "page 0" added, which will be the original article itself, plus *featured* replies. For featured article replies, only the first 800 characters will display. They can then click an arrow that shows the rest of the post. I suppose Javascript can be used to accomplish this.

Each article has a series of variables which will apply to it. So, use SQL to create a new table of fields linked to a specific thread ID (topicID or postID). If the logged in user belongs to the "news analyst" group, then place a button with the caption "article info" at the top of the article somewhere. By clicking this button, a form should come up with fields I'll specify later. Most likely they will all be integers from 1 to 10. They may default to NULL.

Users will get two blue ribbons upon logging in which they may assign to posts or articles. After getting their ribbons, they may not receive more for another 20 hours. So, update the login PHP file to add to their ribbon count, while first checking the SQL database to see when the last ribbon assignment was. Add a blue ribbon assignment table to each user to track which posts each user has assigned blue ribbons to. Add the "ribbon assignment time" to the SQL database to know when the last time was they were given ribbons. Add a Javascript button (I'll provide the image) to the bottom of each post. When clicked, it assigns their blue ribbon to that post. At the top of each post, put an row of blue ribbon images, one for each the post has been given. If there is not enough room at the end of the row, add a "+x more" text at the end of the row (where x is the number of ribbons that cannot fit).

In addition to the ribbons, they may also rate each article/topic one to five stars to each topic/article. I'll supply the star image (and empty star image). The rating should appear at the bottom-center of each post. It should keep track of which users have rated the post so it does not allow them to re-rate it. Adjust the SQL tables as necessary to accomodate this star rating system. I suppose that in addition to remembering what each person rated each article, also add the number of stars (1 to 5) to the total stars and divide by the number of users who have rated the article to calculate what the rating should be displayed as. This rating may be displayed at the top of the article/topic/thread.

The first page of each article will include 18 featured replies which are selected somewhat randomly each time the page is loaded. So, modify the [url removed, login to view] file and the SQL post table so that when the article is directly replied to by pressing the "reply" button, it is possible that reply will be featured. To do this you may add "is_featurable" to the SQL table for example to the post field. Replies to other replies are not legible to be featured, only direct replies to the orginial article.

Article replies are in a ladder ranking system to determine their chance of being featured on the page with the article. I'll supply the simple charts and equations used to calculate the ladder rank of each post, which is based on the number of ribbons it gets. For this ranking system, create a "ladderRungs" SQL table, with articleID,ladderRungNum,CurrentPostID. CurrentPostID is the current PostID in a linked list of posts that make up that specific ladder rung. So, each ladder rung will be a linked list of article replies. Each article reply will start at ladder rung zero, then work its way up the ladder as it gets more ribbons. So, in the [url removed, login to view] file, modify it so that as each reply is posted directly in response to the original article, the "currentPostID" in the ladder rung table (for that specific article/thread) is set to the new Post ID. I'll supply you with the simple equations that determine which ladder rungs will be selected for each of the 18 featured posts. For example, you may grab three posts from ladder rung 3 to be featured, 2 posts from ladder rung 1 to be featured, and 1 post from ladder rung 0 to be featured. But again, I'll supply the equations and additional explanation so you know exactly which 18 posts are to be featured.

Lastly, I am applying a new custom theme to phpBB and may require guidance in what pages and where I must to edit in order to apply the desired page changes.

Thanks for bidding!

Engineering JavaScript MySQL PHP Project Management Software Architecture Software Testing User Interface / IA

Project ID: #3069966

About the project

Remote project Active Jul 26, 2008