Jump to content

* * * * * 9 votes

IP.Board 3.3 Dev Update: Archive System

Posted by Matt , in 3.3.x 25 November 2011 · 16,139 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.

Posted Image

Here's where you can set the unarchive preferences:
Posted Image

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.

Posted Image

A quick look at the forum filter:
Posted Image

And the topic starter filter:
Posted Image

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

Posted Image

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.
Posted Image

A regular member or guest will just see:
Posted Image

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!

  • Breadfan, tenaki, Jimi Wikman and 38 others like this

Very interesting feature and really needed :) Good solution for databases where posts table is too big.
sounds great
take it that it will also mean follow on site search performance improvements ?
that's the stuff! simply awesome! been waiting for such feature for years now

thanks Matt :)
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
Holy cow amazing.

Looks great and innovative.
Awesome feature! Quick few questions:

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.

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?

This rocks, keep up the good work - always one step ahead of others.
Excellent. This will save me having to delete older topics.
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
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

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.
Sounds like a great new feature.
In the 'Archive Where', I see "Topic is [Open or Locked]" listed twice. Is there a reason for that?
Edward Shephard
Nov 25 2011 12:40 PM
You guys do the best stuff when you're on holiday. You should ask for more days off!
This.. Is.. Brilliant!

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:
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
Wow! I think it's a dream.... Wake me up! This is great!
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 הימים האחרונים.


זה האיזור בו תוכלו להגדיר את העדפות ההוצאה מהארכיון:

(אקרא ל Archive - ארכון מהמילה ארכיון)
וכעת נסתכל על מסך החוקים. זה מספיק פשוט, יש 2 לשוניות "איפה לארכן" ו- "איפה לא לארכן". לשוניות אלה מאפשרות לכם לקבוע ולהגדיר רשימה כלולה או ייחודית של חוקים.
הרצועה הירוקה למעלה מציגה כמה נושאים ההגדרות הנוכחיות יארכנו. מה שבאופן אוטומטי יעדכן בכל זמן שתשנה את ההגדרה כדי לקבל עדכון בזמן אמת על כמה נושאים יש לארכן בזמן הגדרת טופס זה.

עיון מהיר בסינון הפורום:

וסינון יוצר הנושא:

ממשק ציבורי (ממשק המשתמש)
אז איך למעשה אתם יודעים אם הנושא נכנס לארכיון? פשוט!

בשעת הצפיה בנושא כמנהל ראשי, אתם מקבלים את האפשרות לבחור להוציא את הנושא מהארכיון - וזה ייוציא אותו מהארכיון שוב.

משתמש רגיל או אורח יוכלו לראות רק:

אנחנו באמת מרגישים שהתכונה הזו תביא תועלת לכולם.

• אתה יכול לנעול נושאים ישנים ביעילות כדי למנוע 'הקפצות' מוזרות או תגובות אחרי מספר שנים
• לפנות את טבלת הודעות הפורומים שלך כך שהמערכת תהיה מהירה שוב על ידי נתינת מידע מועט במסד הנותנים שיוכל לעבוד איתו בכל עת.
• השתמש בשרת מרוחק מבית הארכיון, כך שהוא יוכל לגדול בחופשיות במרוצת השנים
• תחסוך 30% על ידי צימצום בשימוש במסד הנתונים בזמן צפיה בנושאים שנמצאים בארכיון שאלה הן 'חדשות נהדרות' אם אתם רוצים להשיג מיקום טוב במנועי החיפוש.
• מהיר וקל להגדיר
• ארכיונים נוצרים דרך משימה שרצה בהפוגות רגילות. המשימה מביאה מספר קטן של הודעות על מנת למנוע השהיות בזמן ביצוע הפעולה.
• זה לא מבלבל את מנועי החיפוש מפני שהכותרות וכתובות האינטרנט לא משתנות (ואפילו תגי H1 לא משתנים).

אנחנו מקווים שתהנו מהשימוש במערכת הארכיון החדשה!

    • Kessler likes this
This is the feature i've been waiting for! Great work guys!

September 2014

141516 17 181920

Recent Entries

Latest Visitors

  • Photo
    A minute ago
  • Photo
    2 minutes ago
  • Photo
    Walker Alford
    2 minutes ago
  • Photo
    James Bruce_68828
    10 minutes ago
  • Photo
    11 minutes ago
  • Photo
    Today, 07:07 PM
  • Photo
    Today, 06:31 PM
  • Photo
    Today, 06:28 PM
  • Photo
    Today, 06:19 PM
  • Photo
    Today, 06:17 PM

Recent Comments

Search My Blog