There is a standard method for doing this kind of thing. MySqL's default table format does not allow record locking, but supports several format that do. So if you have record locking here is a quick english language description of the standard method for maintaining your own incrementations: I'm curious where in these steps we are running into problems
1) Maintain a separate table with one record for each "table". It should have only two fields the table key( d a numeric field that contains the current table number), and one that contains the last post number (set to zero when a new empty table is created). OK you can have extra fields for "table" name and description if you wish.
2) When a new record is added to the a "table" retrieve the record for that table, lock it and increment it by one.
3) Then add the new post record to the table. with the appropriate number.
4) Only then unlock the record with the last post number
Make sure you use pessmistic record locking for that table. If neccesary change record locking to pessimistic in code before adding a new post, and then change in back to automatic or optimsitc afterwords.
If you some consideration prevents using record locking then you can use table locking instead. Because the table or record is locked very briefly, if users have a 1 second timeout on obtaining a record, they should almost never encounter a time out before obtaining a lock.
This only needs to be used in adding, obviously not in editing or deleting.
I'm sure we are doing this or a minor variation. Do we know where we are hitting the problem?
We use MyISAM tables, so no row locking there. And I'm nervous about a performance hit with table locking for every post.
Completely unrelatedly, I was bopping through our referer logs (yes, I have work to do, what of it?) and noticed that more than one site that linked to us then had posts saying we're hard to navigate.
I'm not proposing we re-vamp the whole thing so we all get confused, but I was wondering -- do you figure it's an artifact of just being used to different boards and never the twain shall meet? TWOP, Whedonesque, Fametracker, etc, confuse the living hell out of me.
I think it's really intuitive to those of us raised on Table Talk. If you're used to differently-threaded boards like EZ Boards, I dunno.
I think it's really intuitive to those of us raised on Table Talk
Me too. I guess it's an OTB thing.
But there were people who didn't notice the "next/previous" links. Are they underplayed? Should we care?
I think the Phoenix couldn't be any easier, not even if we had a little anthropomorphized paper-clip helper. (Of course, it would be wearing a corset, which would be interesting...)
I much prefer this set-up. Threaded boards feel like you're wandering off into back streets when you try to follow one thread, then you have to try and figure out now to get back to where you were. Here we can refer specifically to something previous, and if you're a couple of days behind, your comment doesn't get lost at the end of a thread that no one is paying attention to anymore.
But there were people who didn't notice the "next/previous" links.
They're right there at the top and bottom of the posts. How much more obvious can you make them, unless they blink?
Also, having a board that keeps track of what you've read is so amazingly handy.
I've said it before after visiting other boards ... here is where it's at in terms of ease of navigation. I was pretty new to boards when I first came here, and it didn't take long to get the lay of the land (no porn intended). Maybe it's because this is where I learned, but many (most?) other fandom boards confuse the hell out of me. Talk about yer thread proliferation ... sheesh.
ETA: And it didn't take any time at all to figure out basic things like posting and how use the next/previous, first/last links, etc. It's very intuitive.
I think our navigation's incredibly intuitive, but as Dana said, that may just be because it's based on TT's style.
I also wonder if "hard to navigate" could be in reference to our creative thread-naming. [x-post, and nevermind, if the complaints were about "next" and "previous" buttons]