473,385 Members | 1,396 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Efficient way of setting up read/unread system

TheSmileyCoder
2,322 Expert Mod 2GB
Does anyone know a good resource explaining the most efficient way to setup a read/unread system?

I have a system with about 50 users, and I would like to setup a system where they can view what items are new or unread.

I imagine there a quite a few ways of doing this, and I think I could spend quite a bit of time on this, so I want to make sure I set it up the most efficiently from the start.

Such questions come to mind such as:
Is it best to keep track of the read posts or the unread posts?
I can see if you want to keep track of read posts, and have a table of such, you might end up with a rather large table. Imagine 1.000 users and 10.000 threads, that makes for 10.000.000 entries into the table. That starts to sound a little extreme to me. I know I will have less users, but I expect around the same number of entries. (50 users, 10.000 threads so 500.000 entries in table)

Therefore I was considering if it would be easier/more efficient to simply keep track of the unread posts.

Anyways, Im sure someone has thought alot more about this then I has, and I would appreciate any knowledge/links you guys can provide.
Apr 17 '10 #1

✓ answered by NeoPa

I know of no links, but I guess the first thing you need to determine is which of the two (read or unread) is likely to be the more populated. Clearly, all else being equal, you'd want to hold as little data as possible. This question isn't as obvious as it may seem though. You may have a scenario where not reading items is very rare, as there may be instructions from above that all need to be read. I don't know of course. Only you know those details.

The next issue I would consider would be whether an item could be considered to have been read (or at least there is no interest any more whether or not it actually has been) after a certain period of time has elapsed. I believe this is quite common in forum software such as drives Bytes.

You would also need to consider whether or not a new user being set up, would be required to reflect all historical items. Clearly the expiry of interest issue would become more important the more data was being stored and managed in the database.

5 1686
NeoPa
32,556 Expert Mod 16PB
I know of no links, but I guess the first thing you need to determine is which of the two (read or unread) is likely to be the more populated. Clearly, all else being equal, you'd want to hold as little data as possible. This question isn't as obvious as it may seem though. You may have a scenario where not reading items is very rare, as there may be instructions from above that all need to be read. I don't know of course. Only you know those details.

The next issue I would consider would be whether an item could be considered to have been read (or at least there is no interest any more whether or not it actually has been) after a certain period of time has elapsed. I believe this is quite common in forum software such as drives Bytes.

You would also need to consider whether or not a new user being set up, would be required to reflect all historical items. Clearly the expiry of interest issue would become more important the more data was being stored and managed in the database.
Apr 20 '10 #2
ADezii
8,834 Expert 8TB
How about an Internal, strictly Access based System which can send Messages to other Users without using E-Mail in a Multi-User environment using a Table, Form, and the Timer() Event? Messages/Posts can be marked as Read, then dynamically removed at will. The System would involve a FE...BE setup as well as some mechanism for uniquely identifying Users via some form of Login.

P.S. - Sorry TheSmileyOne, accidentially replyed to NeoPa instead of you. Don't get offended NeoPa, it's not that I mind conversing with you! (LOL)
Apr 21 '10 #3
NeoPa
32,556 Expert Mod 16PB
No worries my friend :) In fact it is a quote, rather than a reply (Forget the buttons. Their names can be misleading). Quotes are only ever required when specifically drawing attention to an individual post or part thereof. As it happens, the current style doesn't even display the quoted text anyway so is almost entirely pointless, though it does include a link to the referenced (whole) post, which can be of some use.

Unless a response specifically refers to a post which is not the latest one, or maybe refers to a specific part of the latest post, then it is not good web-etiquette to quote at all. I cannot count the number of times I read through the quote simply to find it was a simple copy of the post I'd already just read. IE. Someone just wasted my time. Essentially, only quote if that extra text helps a reader to comprehend the response better. Sometimes the context is important, but often it adds nothing.
Apr 21 '10 #4
TheSmileyCoder
2,322 Expert Mod 2GB
I forgot to update this, and I've been meaning to do it for a while, but keep forgetting. No more postponing it.

In the end, I realised that while most people would be reading alot of items within a narrow area, there would also be alot of areas that would never be read. (Like I never read the php section of bytes, but probably read 50% or more of the access area posts.)

So I decided to go with keeping track of when a user opens an item (items are opening by clicking in a treeview, showing all/filtered results. So I recorded 3 things, the user, the Item id, and the time they clicked it.

The next time the treeview is updated, I would color the items according to whether or not the item had been modified after the recorded time of viewing. I join up the table of read items with the items presented in the treeview, before making the treeview, so I would have as few queries/joins as possible. In the end it worked really good and people like the feature alot.

Thanks for the input given.
Sep 16 '10 #5
NeoPa
32,556 Expert Mod 16PB
It sounds like a pretty neat solution you have there Smiley :)

No worries about the delay BTW. When you're only looking at threads with changes, who notices if one lays dormant for a while.
Sep 16 '10 #6

Sign in to post your reply or Sign up for a free account.

Similar topics

16
by: Daniel Tonks | last post by:
First, please excuse the fact that I'm a complete MySQL newbie. My site used forum software that I wrote myself (in Perl) which, up until now, has used flat files. This worked fine, however...
6
by: Yechezkal Gutfreund | last post by:
I have been using the following code (successfully) to read Xml formated text packets from a TCP stream. The output from the server stream consists of a sequence of well formed Xml documents...
1
by: Rob | last post by:
Hi, here is my problem: i need to monitor a public folder to see when a message comes in. this public folder has many sub-folders and i need to list on a web page which sub-folders have unread...
1
by: Kondapanaidu | last post by:
Hi, I am using C#.NET2.0, My Outlook Inbox is having some mails. My system Configured with Outlook, I need to capture the Unread mail subject line. How to capture the subject line from...
2
by: a | last post by:
keep a list of read and unread items hi guys i m building an rss reader and i want you suggestions for datastructure for keeping read and unread list for each use i m assuming it will be very...
6
by: Jim S | last post by:
I have a need to read the contents of an html table on a remote web page into a variable. I guess this is called screen scraping but not sure. I'm not sure where to start or what the best...
4
by: | last post by:
Hi all, I want to create a method that does the following: 1) Programmatically instantiate a new XmlDataSource control 2) For each file in a named directory, make a "FileSystemItem" element 3)...
4
by: paitoon | last post by:
Hi, there I have a problem to set the unread msg.Well, actually i can say i know nothing about this system. What i do is i have a field in database call open and in the send mail form i put a...
8
by: Andrus | last post by:
..NET 2 Winforms application. How to create new setting and set it default value in userSettings section of app.config file or overwrite existing setting value ? I found code below in this list...
1
by: sarahaziz | last post by:
Hello Guys i am trying to implemenet something like the read/unread in the email.How can i do so by using jquery , php and mysql. What i want to do in steps: 1- When i click on a row in html table...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.