News and Announcements

  • entries
    500
  • comments
    13,839
  • views
    4,816,700

Contributors to this blog

IP.Board 3.3 Dev Update: Archive System

Entry posted

16,669 views

One of the many pleasures of running your own forum is watching it grow as the years roll by. Sometimes it's fun to go back and look at old topics but they just get pushed further and further away from the first page until you end up with a large database full of posts that rarely get seen.

Perhaps you run a massive forum with 10 million posts or more and you're starting to reach MySQL database limits and considering pruning back posts from 10 years ago just to free up some space. Maybe you just want to keep your number of active posts as low as possible for ultimate efficiency.

IP.Board 3.3 has a new an innovative way of handing these problems!

Introducing the archive system
Brand new to IP.Board 3.3 is the archive system. This is a very easy to use system of archiving off old posts. You get complete control over what is archived too but more on that a little later. The archived posts are moved to a different table but it doesn't have to be in your current database or indeed your current server (though of course it can be too)! You can set up a new server just for older posts and move them all there thus freeing up your forum post table again. This means less overhead for MySQL to manage when people are browsing your community.

Searches are faster, look-ups are faster and everything zips along.

Archived topics still show in the forum view as normal. You can still view them as normal. They still get all the skinning as normal so everything works just like a regular topic. Their URLs do not change so SEO is not impacted.

However, as they are archived, you cannot reply or follow the topic, so all that is removed from the display which actually saves your server a lot of work! It doesn't have to load up the editor javascript or load up any follow data from the database. In testing, it actually saves 30% database access showing an archived topic. The topic title isn't changed and the URL isn't changed so there's no need for complex 301 code redirects for search engines.

If you change your mind or archive a topic without meaning to, you can unarchive a topic.

The Admin CP Interface
The Admin interface consists of just two screens. The overview deals with a snap-shot of stats and data and the manage rule screen is where you set up which topics to archive off.

Let's start with the overview screen. Here you can see how many topics have been archived already via the big progress bar at the top. Underneath is the number of topics to unarchive. In this screen shot, I've decided to unarchive all topics that have had a post within the last 600 days.



Here's where you can set the unarchive preferences:


Now let's take a look at the rules screen. It's simple enough. There are two tabs "Archive Where" and "Don't Archive Where". This allows you to either set up an inclusive or exclusive list of rules.
The green strip at the top shows you how many topics the current settings will archive. This is automatically updated each time you change a setting so you get an on-the-fly update of how many topics to archive when configuring this form.



A quick look at the forum filter:


And the topic starter filter:


The public interface
So how do you know when a topic is archived? Simple!



When viewing the topic as an administrator, you get the option to selectively unarchive a topic - and this will exclude it from being archived again.


A regular member or guest will just see:


Summary
We really feel that this feature will benefit everyone.

  • You can effectively lock older topics to prevent confusing 'bumps' or replies after a few years
  • Free up your forum post table so it runs speedy again by giving MySQL less old data to have to work with all the time
  • Use a remote server to house the archives so it can freely grow over the years
  • Get a 30% reduction in SQL usage when viewing archived topics which is great news if you get a lot of good search engine placement.
  • Quick and easy to configure
  • Archives are done via a task that runs at regular intervals. It does a small number of posts each execution to prevent timeouts.
  • It doesn't confuse search engines as the title and URL don't change (and even the H1 tag doesn't change).

We hope you enjoy using the new archive system!


51 Comments



Posted

Very interesting feature and really needed :) Good solution for databases where posts table is too big.

  • Loading...

Share this comment


Link to comment

Posted

sounds great
take it that it will also mean follow on site search performance improvements ?

  • Loading...

Share this comment


Link to comment

Posted

that's the stuff! simply awesome! been waiting for such feature for years now

thanks Matt :)

  • Loading...

Share this comment


Link to comment

Posted

Of all the recent updates I like the sound of this one the most, I would much rather have better performance than connect to fb,twitter and such of late

  • Loading...

Share this comment


Link to comment

Posted

Holy cow amazing.

Looks great and innovative.

  • Loading...

Share this comment


Link to comment

Posted

Awesome feature! Quick few questions:



1- If a number of users were following the topic before it was archived, will that list of users still be there if the topic is unarchived (so, is that info still stored in the new DB table)?

2- You can selectively unarchive a topic, but can you selectively archive one?


Thanks!

However, as they are archived, you cannot reply or follow the topic, so all that is removed from the display which actually saves your server a lot of work! It doesn't have to load up the editor javascript or load up any follow data from the database.

If you change your mind or archive a topic without meaning to, you can unarchive a topic.

  • Loading...

Share this comment


Link to comment

Posted

This rocks, keep up the good work - always one step ahead of others.

  • Loading...

Share this comment


Link to comment

Posted

Excellent. This will save me having to delete older topics.

  • Loading...

Share this comment


Link to comment

Posted

Hi, I have four questions at the moment:

1. Will archived posts still be included in the count of posts? Forum overview? ACP stats? User profile? Board total?
2. Will archived posts and topics be saved in a table with the same column names etc. as their normal tables?
3. Do you plan any sort of "Request for unarchiving"-feature to the users?
4. I guess topic marking will be disabled for those archived topics?

Hope to get them answered!

Edited: added question

  • Loading...

Share this comment


Link to comment

Posted

Wooooow. I have a ton of "archived" posts which are really just read only boards marked as "retired". This is pure genius. ;-;

Mikey likes this
  • Loading...

Share this comment


Link to comment

Posted

[quote name='Aisha' timestamp='1322235485']
Wooooow. I have a ton of "archived" posts which are really just read only boards marked as "retired". This is pure genius. ;-;

ditto. this will work well.

  • Loading...

Share this comment


Link to comment

Posted

Sounds like a great new feature.

  • Loading...

Share this comment


Link to comment

Posted

In the 'Archive Where', I see "Topic is [Open or Locked]" listed twice. Is there a reason for that?

  • Loading...

Share this comment


Link to comment

Posted

You guys do the best stuff when you're on holiday. You should ask for more days off!

  • Loading...

Share this comment


Link to comment

Posted

This.. Is.. Brilliant!

  • Loading...

Share this comment


Link to comment

Posted

[quote name='Edward Shephard' timestamp='1322242800']
You guys do the best stuff when you're on holiday. You should ask for more days off!

I'm sure this has been a work in progress for several weeks or more. :lol:

  • Loading...

Share this comment


Link to comment

Posted

Archived posts still count towards forum, user and board totals. The drop down duplication in the screen shot is just a language string issues which I've fixed. All archived topics show as read to save querying topic markers.

The archived posts table structure is similar to the post table.

Andrej likes this
  • Loading...

Share this comment


Link to comment

Posted

Wow! I think it's a dream.... Wake me up! This is great!

  • Loading...

Share this comment


Link to comment

Posted

For people who want to read this article in Hebrew.

אחת מההנאות הגדולות היא להריץ את הפורום שלך ולראות אותו גודל ומתגלגל במרוצת השנים. לפעמים זה כיף לחזור אחורה ולצפות בנושאים ישנים אך הם פשוט נדחפים עוד ועוד הרחק מהעמוד הראשון עד שבסוף יש לך מסד מלא של הודעות שצופים בהן לעיתים רחוקות. אולי אתה מריץ פורום מאסיבי עם 10 מיליון הודעות או יותר ואתה מתחיל להגיע לסף מגבלת מסד הנתונים MySQL שלך ובהתחשבות בקיצוץ הודעות קודמות מעשר השנים האחרונות רק כדי לפנות מקום פנוי. אולי אתה רוצה לשמור על מספר ההודעות הפעילות שלך נמוך ככל האפשר ליעילות אולטימטיבית. ל - IP.Board 3.3 יש דרך חדשה למסור בעיות אלה! הצגת מערכת ארכיון יש מותג חדש למערכת IP.Board 3.3 שהוא למעשה מערכת הארכיון. מאוד קל להשתמש במערכת הארכיון לאחסנת ההודעות הישנות. אתה שולט באופן מלא על מה שנכנס לארכיון גם אך יותר לגבי זה יפורט בהמשך. ההודעות שנמצאות בארכיון מועברות לטבלה אחרת אך לא תצטרך להיתלות במסד הנתונים הנוכחי שלך או אפילו על גבי השרת הנוכחי שלך (אם כי ניתן למקם את זה גם שם)! תוכל להגדיר שרת חדש רק עבור הודעות ישנות ולהעביר את כולם לשם מה שיגרום לפינוי טבלת ההודעות שלך בפורום שוב. זה אומר פחות תקורה עבור ניהול ה- MySQL כשאנשים גולשים בקהילה שלך. חיפושים מהירים יותר, בדיקות מהירות יותר וכל דבר נדחס יחד. הנושאים הנמצאים בארכיון עדיין נראים בתצוגת הפורום כרגיל. תוכלו עדיין לצפות בהם כרגיל. הם עדיין יקבלו את כל הסקין כרגיל כך שכל דבר יעבוד בדיוק כמו בנושא רגיל. כתובות האינטרנט (URLs) לא משתנות כך שהקידום (SEO) לא מושפע ולא נפגע. אולם, מכיוון שהנושאים נאגרים בארכיון, לא תוכל להגיב או לעקוב לנושא, כך שהכל מוסר מהתצוגה כשלמעשה שומר על השרת שלך המון עבודה! זה לא צריך להעמיס על הגאווה סקריפט בעורך או לטעון נתון במעקב ממסד הנתונים, מבדיקה, זה למעשה חוסך לך 30% במסד הנתונים וגישה לצפות בנושא שנאגר בארכיון. כותרות הנושא לא משתנת וכתובת האינטרנט לא משתנת גם היא לכן אין צורך להתחיל להרכיב 301 קודים המפנים את מנועי החיפוש. אם אתם משנים את ההחלטה שלכם או שמים את הנושא שלכם בארכיון מבלי להתכוון לזה, תוכלו תמיד לבצע את הוצאת הנושא מהארכיון. ממשק לוח הבקרה למנהלים ממשק לוח הבקרה למנהלים מורכב משני מסכים בלבד. מסך הסקירה עוסק בתצלום ישיר של סטטיסטיקות ונתונים ומסך ניהול שם אתה יכול להגדיר אילו נושאים ברצונך להעביר לארכיון. בואו נתחיל עם מסד הסקירה. כאן תוכלו לראות כמה נושאים כלולים כבר בארכיון דרך בר-מדידה גדול למעלה. מתחת לזה יש את מספר ההודעות שניתן להוציאם מהארכיון. בתצלום זה, החלטתי לבצע החזרה של כל הנושאים מהארכיון שכללו הודעות ב 600 הימים האחרונים. http://www.mattmecham.com/skitch/Shades-20111125-113312.jpg זה האיזור בו תוכלו להגדיר את העדפות ההוצאה מהארכיון: http://www.mattmecham.com/skitch/Shades-20111125-103812.jpg (אקרא ל Archive - ארכון מהמילה ארכיון) וכעת נסתכל על מסך החוקים. זה מספיק פשוט, יש 2 לשוניות "איפה לארכן" ו- "איפה לא לארכן". לשוניות אלה מאפשרות לכם לקבוע ולהגדיר רשימה כלולה או ייחודית של חוקים. הרצועה הירוקה למעלה מציגה כמה נושאים ההגדרות הנוכחיות יארכנו. מה שבאופן אוטומטי יעדכן בכל זמן שתשנה את ההגדרה כדי לקבל עדכון בזמן אמת על כמה נושאים יש לארכן בזמן הגדרת טופס זה. http://www.mattmecham.com/skitch/Shades-20111125-103903.jpg עיון מהיר בסינון הפורום: http://www.mattmecham.com/skitch/Shades-20111125-105302.jpg וסינון יוצר הנושא: http://www.mattmecham.com/skitch/Shades-20111125-111531.jpg ממשק ציבורי (ממשק המשתמש) אז איך למעשה אתם יודעים אם הנושא נכנס לארכיון? פשוט! http://www.mattmecham.com/skitch/Shades-20111125-105450.jpg בשעת הצפיה בנושא כמנהל ראשי, אתם מקבלים את האפשרות לבחור להוציא את הנושא מהארכיון - וזה ייוציא אותו מהארכיון שוב. http://www.mattmecham.com/skitch/Shades-20111125-105652.jpg משתמש רגיל או אורח יוכלו לראות רק: http://www.mattmecham.com/skitch/Shades-20111125-105827.jpg תקציר אנחנו באמת מרגישים שהתכונה הזו תביא תועלת לכולם. • אתה יכול לנעול נושאים ישנים ביעילות כדי למנוע 'הקפצות' מוזרות או תגובות אחרי מספר שנים • לפנות את טבלת הודעות הפורומים שלך כך שהמערכת תהיה מהירה שוב על ידי נתינת מידע מועט במסד הנותנים שיוכל לעבוד איתו בכל עת. • השתמש בשרת מרוחק מבית הארכיון, כך שהוא יוכל לגדול בחופשיות במרוצת השנים • תחסוך 30% על ידי צימצום בשימוש במסד הנתונים בזמן צפיה בנושאים שנמצאים בארכיון שאלה הן 'חדשות נהדרות' אם אתם רוצים להשיג מיקום טוב במנועי החיפוש. • מהיר וקל להגדיר • ארכיונים נוצרים דרך משימה שרצה בהפוגות רגילות. המשימה מביאה מספר קטן של הודעות על מנת למנוע השהיות בזמן ביצוע הפעולה. • זה לא מבלבל את מנועי החיפוש מפני שהכותרות וכתובות האינטרנט לא משתנות (ואפילו תגי H1 לא משתנים). אנחנו מקווים שתהנו מהשימוש במערכת הארכיון החדשה!






























































Kessler likes this
  • Loading...

Share this comment


Link to comment

Posted

This is the feature i've been waiting for! Great work guys!

  • Loading...

Share this comment


Link to comment

Posted

[quote name='Jean' timestamp='1322257905']
For people who want to read this article in Hebrew.

  • Loading...

Share this comment


Link to comment

Posted

really will be a great new feature. keep it up guys!

  • Loading...

Share this comment


Link to comment

Posted

Not only is this a nice performance booster, it's also a useful alternative to prevent grave digging. Instead of just automatically closing old threads, this seems to be a much more viable alternative.

It doesn't leave your users in the dark wandering why the thread was closed.

  • Loading...

Share this comment


Link to comment

Posted

Sweet!

  • Loading...

Share this comment


Link to comment

Posted

Nice! :)

  • Loading...

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now