1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Lack of Interest Dynamic quotes

Discussion in 'Closed Suggestions' started by Floren, May 29, 2012.

  1. Floren

    Floren Well-Known Member

    A feature I like a lot into XenForo is related to quote deletion. If an original post is deleted, the quoted text will also be hidden. I suggest to further expand this with what I call "dynamic" quotes. For example, if I edit my post the quote someone else made should also be updated.

    Personally, I don't like at all that the quote text is inserted into database next to the regular post. It is a waste of space and generates additional (useless) data. A proper solution would be to use the same technique implemented in phrases where a {variable} is replaced with a template array value. In this way, the quotes will be automatically updated/deleted everywhere, will not use extra space into database and also eliminate the irrelevant keywords in searches.
    Brent W and Yorick like this.
  2. Chris D

    Chris D XenForo Developer Staff Member

    It's a great idea.

    What happens though if I only wanted to quote the first paragraph in your post? How would that work? If quotes were accessed through a variable such as [quote]32176[/quote] then that is what would have to appear in the editor after I clicked the "Reply" button on your post.

    That leaves me without the ability to only quote the part of the post that is relevant. Which then actually wastes more space within the thread because I've quoted your full post when only quoting part is necessary.

    The only other way I can think of is if a quote is converted to a variable after but then that would mean if 10 different people quoted 10 different parts of your post then we'd end up with 10 different variables all containing similar parts of your post. Then if your post is deleted or edited then that's potentially 10 different variables that need changing...

    I do like it... but I can't think how it would work :(
  3. Floren

    Floren Well-Known Member

    When you submit the quoted reply, a check will be performed to validate if the text present into QUOTE bbcode is identical to original post. If it is, the text will be replaced with a post_id reference. If is not, the reply will be submitted into database as is. Simple and elegant.

    Most users will quote your entire post. You will see partial quotes mostly into technical forums where people are knowledgeable and like to filter the irrelevant text. IMO, about 30% of users do partial quotes, so think how much additional data you can save from being inserted into database.
    Yorick likes this.
  4. Chris D

    Chris D XenForo Developer Staff Member

    Good idea.

    I +1 this suggestion. It makes sense.
  5. Naatan

    Naatan Well-Known Member

    The problem with this is that you might be quoting someone just to have them edit their post, loosing the context of your post in the process. Additionally having the OP of the quote basically be able to edit their message and have it affect other messages that quoted the given user really opens the door to abuse.

    I'd say the "wasted" db space is negligible, especially considering the compromises you'd have to make to address the "issue". Also there would be a (possibly also negligible) performance impact should you try to link quotes dynamically, and these days "performance" is far more costly than the little bit of disk space it requires to simply store the quote in plain text in the users' message.
  6. Floren

    Floren Well-Known Member

    Not at all. The setting to limit the post edits after x minutes is there for a reason. :)
    Your point is valid when you deal with tiny sites. When you run a 20GB+ database, the game is changed completely. Xenforo already doubles the size of an equivalent vBulletin database. And I don't see how performance would be affected, XenForo uses already in various locations the variables replacement system. Please elaborate your point. If 'm correct, there are plans for 1.2 to store parsed posts into cache.
  7. Naatan

    Naatan Well-Known Member

    Sorry, I missed this part. This certainly certainly alleviates part of the problem, though could still cause annoyances for people that quote within minutes of the original being posted. But it certainly makes the compromise less meaningful.

    It goes for large databases as well, another 10GB of disk space is literally dirt cheap these days, and it wouldn't make any difference in bandwidth. I'm not against the proposed solution by any means, I'm simply raising my concerns. At the end of the day, no matter the system that's already in place, it's still doing an extra join, and it's still parsing additional data. I can only speculate on whether the performance cost for this is negligible though, it certainly sounds like it could be a viable solution, but again I have to question whether the current implementation is really that bad.

    The more I think about it the more I feel your proposed solution makes sense though, I'd be very curious to see some benchmarks of both solutions being implemented. Wouldn't be too hard to knock up a prototype for that purpose.
  8. Floren

    Floren Well-Known Member

    Is not about the disk space, but rather the implications related to expanding data without reason. For example, it will take longer to dump the database, optimize, repair, less resources available due to extra memory allocation, etc. These are important factors, nobody cares about disk size or bandwidth today. :)
    A perfect example why dynamic quotes should be implemented. Technically I should have 1 result, not 2.
    Or imagine a thread where 200 people quote a single (large) opening post with a tiny reply... we see this every day. The post message is already available and pulled from database, why not use the data and insert it into replies?
  9. Naatan

    Naatan Well-Known Member

    Alright, you've made a believer out of me :) It does sound feasible. And I suppose if someone wanted to bypass the system they could simply remove the attributes from the quote tag.
  10. Floren

    Floren Well-Known Member

    I know you are an experienced coder so I'm glad to see that you find the concept useful. IMO, I don't see why anyone would want to bypass the system and remove the dynamic quote implementation. Not to mention that XenForo would be again an innovator and make something unique that nobody thought about it. Mike could thank me later, hehe. :)
  11. Naatan

    Naatan Well-Known Member

    Well I can think of scenario's where you want to quote someone but want to make sure that the OP doesn't edit his post and your post looses it's context (ie. debate threads).
  12. Floren

    Floren Well-Known Member

    A 5min edit limit would solve any issues IMO. I would not complicate my life to make sure the content matches. In a way, I think it will force others to adjust their posts accordingly.

    Let me give a perfect example. I reply to a post with a quote. Then I realize I forgot a detail that might influence the post output, so I edit the post. While I edit it, some other user replies to my post, quoting my old content. When I save the post, I notice the new reply (which will have the quote updated). It is the user's responsibility to adjust their own post if necessary, as his previous comment is not valid anymore. Those are rare cases, we don't see them often and they are a trade-off for the benefits dynamic quotes offer on the long term.

    IMO, dynamic quotes will also prevent many community issues. How many times you see people posting something, then realizing they are wrong and edit the thread. That will clean a lot the threads and make mods life easier.

    Edit: You could create an option that will allow what I call "town hall" threads, where the content is preserved the old way. So debate threads will store the content the old fashion. When you create the thread an option defined in AdminCP for that forum will allow regular and/or town hall threads. The user will decide what type of thread should start... you get the idea. Those are very rare cases, IMO.

    After more thought, you could make an option for debate threads to don't allow any post edits. In this way you do not have to keep the old system in place. So when you create a new thread, give the user an option to chose between a regular thread and town hall/debate thread style (for that specific forum only).
  13. duderuud

    duderuud Active Member

    This is a great idea. I'm testing XF with 40+GB db with 22+mln posts. This could reduce the size considerably.
    I would gladly test this if this comes available ;)
  14. James

    James Well-Known Member

    I agree with the idea in principle, and it's a nice idea from an admin perspective.

    From a user perspective - if I quote a post then I want to quote that specific post, I don't want my post to change if the OP decides to edit their post.
  15. Floren

    Floren Well-Known Member

    Why not? Maybe the guy you quoted realized he posted something wrong and he edited the post. Right now XenForo deletes the quoted text from your post if the user deletes his post, why not complete the missing link? Let me guess, you don't like also that the quote is deleted from your post. :giggle:
  16. BGL

    BGL Well-Known Member

    From a user standpoint, I agree with James. If the original quoted material is changed the persons quote and reply to that quote could look very odd, even made to look senseless or even malicious. From a content integrity standpoint, allowing people to change what you quoted them (accurately) as saying could have bad effects. I don't like XF's deleting the quote in other people's messages but better that than allowing them to change the quoted material.

    Some forums don't allow deletion of the original messages at all to preserve the threads and integrity of the conversations. They don't even allow timed edits. I don't agree with that but I can understand it. If someone quoted them and the original poster went and changed it, I would not want the quote in the reply (or replies) to change even within the edit window time frame. It was accurate when the person quoted it.
  17. James

    James Well-Known Member

    I completely understand that POV, and while it's good in one sense it's bad in another.

    I understand if the user made an error, it's great to be able to rectify that and not have quotes showing your mistake all over the forum.

    In another sense, if we're debating something and then I quote someone, respond to it then they change their quote - I look an idiot.
    In yet another sense, if I'm quoting someone to prove a point (such as misbehaviours, etc) and they can update their quote to avoid that - bad.

    And for the record, I didn't know XF deleted quotes if posts were deleted :X3:
  18. Floren

    Floren Well-Known Member

    I briefly talked to Mike... it looks like this is not something they will focus on. :)
    Too bad, I would of been fancy to have something like that in XenForo... imagine Facebook duplicating for each user all shared photos and links, heh.
    James likes this.
  19. James

    James Well-Known Member

    There's always the possibility of an add-on :)
  20. BGL

    BGL Well-Known Member

    As a prospective customer for XF, I would want that (changing original message changes all quotes of that in other messages) turned off. I hoping/guessing that if a defined edit period is set, the problem is eliminated since the person can't edit after a certain point in time.

Share This Page