VietTUG.org - old forum - threads' archive

thread_id = 4948, contains 4948, 5063, 5065, 5080
id = 4948, parent = 0, thread = 4948, catid = 2, locked = 0, moved = 0,
userid = viettug, ip = 125.234.189.154, time = 2008/08/12 (1218538053) ,
subject = tạm dừng đăng ký thành viên mới, hits = 1307, karma = 0+0-,
Tạm thời trang Web dừng việc đăng ký thành viên mới vì lý do bảo mật cho hệ thống.

Xin lỗi vì sự làm phiền này!

Chúc vui!
 
id = 5063, parent = 4948, thread = 4948, catid = 2, locked = 0, moved = 0,
userid = viettug, ip = 125.234.191.190, time = 2008/09/19 (1221781277) ,
subject = Quá trình chuyển trang web, hits = 0, karma = 0+0-,
Thông báo về quá trình chuyển trang web

Toàn bộ thông tin về người dùng đã được chuyển qua trang mới Một số điểm thay đổi như sau

1. Chỉ lưu giữ lại nickname, còn tên thật của người dùng bị bỏ qua. Hạn chế này xuất phát từ sự khác nhau giữa hai cơ sở dữ liệu.

2. Mỗi email chỉ được dùng để đăng ký một tài khoản duy nhất. Trong cơ sở dữ liệu mới vẫn lưu thông tin về nhiều tài khoản với các email lặp lại. Tuy nhiên, trong các tài khoản đó, bạn chỉ có thể dùng được một mà thôi (là tài khoản đầu tiên sắp theo thứ tự abc )

Khi quá trình chuyển đổi dữ liệu tạm ổn, mọi người sẽ nhận được email thông báo cụ thể về cách lấy lại khoản và các thông tin khác.

Chúc vui!
 
id = 5065, parent = 5063, thread = 4948, catid = 2, locked = 0, moved = 0,
userid = viettug, ip = 125.234.191.190, time = 2008/09/19 (1221836860) ,
subject = Quá trình chuyển trang web, hits = 0, karma = 0+0-,
Thông báo về quá trình chuyển trang web

Công việc hiện nay của webmaster là chuyển các bài viết từ diễn đàn Joomla qua diễn đàn mới. Do sự khác biệt về encoding giữa hai cơ sở dữ liệu, và do định dạng khá rắc rối của diễn đàn cũ, việc chuyển đổi trực tiếp webmaster không đủ sức làm. Do đó, đường vòng được chọn để đi như sau đây:

1. viết thêm hàm xuất cho SimpleBoard có nhiệm vụ render các bài viết đã có thành dạng mã HTML (database => plaintext + HTML text ở UTF8 encoding).

2. viết thêm hàm nhập để nhận dữ liệu từ kết quả của bước 1 để chuyển vào cơ sở dữ liệu mới (plaintex + HTML text => database)

Thật may là trước đây, SimpleBoard đã được hack để thêm hàm mới rất dễ dàng và linh hoạt, nên bước 1 về cơ bản đã hoàn thành sau khoản 3 giờ. Bước 2 có phần khó khăn vì cần post-process kết quả bước 1 sao cho ít nhất thông tin bị mất.

With love,

-- kyanh
 
id = 5080, parent = 5065, thread = 4948, catid = 2, locked = 0, moved = 0,
userid = viettug, ip = 125.234.184.185, time = 2008/09/21 (1222005497) ,
subject = Re:Quá trình chuyển trang web, hits = 0, karma = 0+0-,
Thông báo về quá trình chuyển trang web

Do việc bố trí luồn (thread) trong Joomla Simpleboard và cơ sở dữ liệu mới hoàn toàn khác nhau, nên phải chuyển thật mệt nhọc!

Dữ liệu cũ: lưu chỉ số thread ở dạng id
Dữ liệu mới: lưu chỉ số thread ở dạng dãy số thập phân

Trong ví dụ về mã dưới đây: chỉ số bên trái dấu / là chỉ số của bài viết trong diễn đàn cũ. Những bài viết ở đầu dòng là bài viết mở đầu thảo luận, các bài con của nó thì thụt vào bằng nhiều hay ít khoảng trắng.

Chỉ số bên phải dấu / là chỉ số về luồng trong dữ liệu mới.

Công việc đã làm:
- từ dữ liệu đã export ở bước 1 (old database => plain text), viết hàm đọc qua các tham số về id, parent id, thread id để chuyển sang cấu trúc dạng cây (y hệt như dữ liệu sau đây nhưng bỏ đi toàn bộ các chuỗi bên phải dấu / )

- từ kết quả trên, phát sinh hàm duyệt qua toàn bộ cây và tạo ra chuỗi thread tương ứng trong dữ liệu mới.

Bở hơi :!
1 / 01
 4 / 01.00
  6 / 01.00.00
   7 / 01.00.00.00
    8 / 01.00.00.00.00
 14 / 01.01
  168 / 01.01.00
   169 / 01.01.00.00
    185 / 01.01.00.00.00
     205 / 01.01.00.00.00.00
      206 / 01.01.00.00.00.00.00
       416 / 01.01.00.00.00.00.00.00
        839 / 01.01.00.00.00.00.00.00.00
         992 / 01.01.00.00.00.00.00.00.00.00
          993 / 01.01.00.00.00.00.00.00.00.00.00
 15 / 01.02
  16 / 01.02.00
  20 / 01.02.01
  37 / 01.02.02
 23 / 01.03
 47 / 01.04
 65 / 01.05
 1255 / 01.06
  1256 / 01.06.00
 2356 / 01.07
  2427 / 01.07.00
   2428 / 01.07.00.00
    2429 / 01.07.00.00.00
     3146 / 01.07.00.00.00.00
      3148 / 01.07.00.00.00.00.00
       3168 / 01.07.00.00.00.00.00.00
 3137 / 01.08
  3138 / 01.08.00
   3140 / 01.08.00.00
 3424 / 01.09
  3488 / 01.09.00
   3557 / 01.09.00.00
 3589 / 01.10
2 / 01
3 / 01
 9 / 01.00
  31 / 01.00.00
5 / 01