Skip to the page content area.

:::

Tavern Change Log Volume 3


Date: 10.3.’05.
  1. 調整了網頁的樣式,儘可能去掉 <hr /> ,改以 CSS 的邊框代替,以符合無障礙網頁規範的要求。
  2. 調整了首頁的樣式,黑貓改為 float 到右邊,讓下面的文字移到上面來,以便利閱讀。
  3. 調整了旅舍日記的樣式,改用一篇一篇白紙張貼的樣式。
  4. 加上無障礙網頁的導盲磚設計。
  5. 加上直接跳到網頁內文區的設計。
  6. 移除 magicat 下的樣式表,統一改用 magicat.css 代替。
  7. 移除 background: fixed 的設定。去除掉無聊的特效,網頁看起來比較正常。

要怎麼處理瀏覽列,才能讓它看起來簡潔,又能保持簡單呢?煩惱中。


Date: 6.30.’05.
  1. Selima::Checker::AccountSelima::Checker::Content 的功能移到 Selima::Checker ,移除 Selima::Checker::AccountSelima::Checker::Content 兩個不必要的中層基礎類別。
  2. 加上 Selima::Processor 資料處理類別。

Date: 6.3.’05.
  1. Selima::List 加上 html_lists_switch() 以顯示多重列表。

Date: 5.27.’05.
  1. 內容管理系統存檔時(旅舍日記、更新日誌、繼續旅行等),加上正體中文轉簡體中文自動轉換,不需要再到簡體中文頁面編輯、轉換。
  2. 修正旅舍日記和更新日誌目錄頁,中文數字使用 big5/gb ,而不是使用 traditional/simplifide ,造成的編碼錯誤。
  3. 修正更新日誌目錄頁,連結到旅舍日記的錯誤。

Date: 5.11.’05.
  1. Selima::List::Actlog and actlog.cgi are added to browse the web site activity log.
  2. $Selima::Logging::ACTLOG was not reset when the script begins. Activities were logged into the log file of the first connection, but not the file of this current project. This is fixed now.

Date: 5.7.’05.
  1. Perl's decoded UTF-8 text is now used throughout the script. It is encoded to the target character set just before the page is output. This helps the code consistency and make my life easier.
  2. getcharset() is added to Selima::GetLang. It is used to obtain the best character set for the client, base on the algorithm described in RFC 2616 HTTP 1.1 section 14.2. But it is not used yet.
  3. Selima::GetLang::getlang() was modified to be more modulized and meet the algorithm described in RFC 2616 HTTP 1.1 section 14.2.
  4. The following 2 variables are not used and hence removed: $MY_CHARSET and $KEY_ENCODING.
  5. Now Selima::SetL10N loads Encode::Big5Common and Encode::HanExtra first, to ensure that the Big5-Common and GB18030 character sets are installed. This helps solve the issue that I forgot to install Encode::HanExtra and GB18030 character set, that some Simplified Chinese messages are not properly decoded and processed.

Date: 5.4.’05.
  1. Simplified Chinese PO translation was converted with iconv in Makefile first. No more run-time conversion with Encode::HanConvert.

Date: 4.27.’05.
  1. The text 繁體中文 on the website is corrected to 正體中文.

Date: 4.5.’05.
  1. Fixed the error that remote_host() may return undef, which was not dealt with in Selima::Logging::log_error() and Selima::Logging::log_warn().
  2. Fixed the caching algorithm when lookup failed in Selima::RemoHost::remote_host().

Date: 3.26.’05.

Upgraded Perl to version 5.8.6.


Date: 3.14.’05.

The following methods were added to the Selima::Form class: _val_scalar() and _val_date(). All references to echovalue() were removed. The following functions were removed from the Selima::EchoForm module: echovalue().


Date: 3.13.’05.

2 new web sites are added to the related links:

  1. Feminism China
  2. Books To Watch Out For: The Lesbian Edition

Date: 3.13.’05.

Edit the 12 change log entries grabbed from the Travellers' Guestbook (from 2003-03-31 to 2005-02-20), change its format from plain text message to structural HTML, and add their English translation.


Date: 3.12.’05.

Partial page rebuild rebuild_partial_pages() is added to Tavern Diary and Change Log.


Date: 3.1.’05.

I'll write some description about Selima 1 and 2 when I'm free.

This change log is not in a proper standard programming format, though. ^^;


Date: 3.1.’05.

I was writing the web page management subsystem for Selima in the last couple of days. It should be the last and most important subsystem of Selima in the forseeable future. Currently Selima has: User management, guestbook management, related links management, Woman's Voice newsletter management, diary management and change log management subsystems. But they are all subordinate. A content management system is to manage the web pages. Without that it is nothing.

The web page management subsystem needs picture uploads, but the picture upload management subsystem is missing yet. In the past few days I was moving the codes of the picture upload subsystem from the PHP Monica project and rewritting them as Perl. This task is a lot more difficult than I expected. The picture upload management subsystem of Monica has grown for years. It has already grown extremely complicated and mature. I cannot hardly recognized those long long codes that were made by myself. I find myself very awful, to made such a large and complicated thing. It's like mountain climbing: You just climb and climb and climb, and when you rest in the mid-slope of the mountain and look downward, you suddenly realized that you have gone so far and climbed so high! Did I really wrote this large, complicated, mature Monica system? I can hardly believe it. ^_*'

A large part of the picture upload subsystem is to be migrated yet. Then my original target -- web page management subsystem. And then integrate it with the related links and the diary management subsystems. It's still a long way to go.


Date: 3.1.’05.
  1. The method _html_col_pic() is added in Selima::Form, to display picture columns.
  2. The following functions: picurl(), picinfo(), picstyle(), check_pic_ratio(), best_pic_ratio(), newpicx(), newpicy(), echopic(), picpos_label(), and the following constants: PIC_MAX_WIDTH, PIC_MAX_HEIGHT, PIC_MAX_RATIO, @PIC_VALID_POS, %PIC_POS_LABEL, PIC_POS_DEFAULT, SHOWPIC_SCRIPT, are added in Selima::Picture.

Date: 2.27.’05.

Two web page manuplation classes Selima::Page and Selima::PageList are written.


Date: 2.25.’05.

I have made a new About Tavern IMACAT's page and wrote some introduction to the website.


Date: 2.25.’05.

This is Selima 2.13. The Tavern change log manager is finished.

The change log manager is no different than the Tavern Diary manager. It's only a one-way guestbook system: The back-end management interface is a guestbook program, while the front-end is a page generation and output program.

The harder part is to import the old change logs. Unlike Travellers' Guestbook or Tavern Diary which were originally saved in a database-like XML file, change logs were merely an plain HTML web page. Batch import does not work here. I have to open the file, edit and submit the log entries manually.

But, for this reason, I re-read the change log once. Well… Seeing myself making different decisions for various reasons, encountering all kinds of difficulties and trying to figure out solutions… Quite interesting, isn't it? ^_*'

Because the change log were difficult to edit, I stopped writing new change log after 2000-11-05. Changes were announced on Tarvellers' Guestbook after that. Thus log entries after 2000-11-05 are grabbed from the guestbook. Mosts are small fragments. But their writing styles are more easy. They are more interesting than their ancestors.

I'll have to start writing change log more often. It's fundamental for a programmer.


Date: 2.20.’05.

This is Selima 2.12. The Tavern Diary editorial system is finally finished. The abandoned Tavern Diary can finally be restart after 4 years. I don't have to put everything onto the Travellers' guestbook and have my own place to talk to myself now. ^_*'


Date: 11.3.’04.

Today a big thing is done: The related links/keep travelling administrative interface is finally finished. The maintainance of the related links suspended for so many years is restarted. ^_*' Although there are still several obscure bugs, but it is running now.

This is a major milestone of Selima 2: Selima has finally make its first step toward a fully-functional content management sysstem. It has its first content managemnet subsystem. ^_*' Ha ha.

I have finally achived it. Now I have to suspend Selima temporarily and catch up my mid-term exam now.


Date: 10.24.’04.

I finally got rid of Selima 1's old codes, and upgraded all the programs on Tavern, Woman's Voice and others to Selima 2's database-based system. All those obscure codes of Selima 1 are removed. So fresh and cool! ^_*' Ha ha!


Date: 10.24.’04.

The new Travellers' Guestbook is up and running now. The core is the Selima system version 2 with PostgreSQL database management system. The guestbook pages is renumbered. It's slower, but more powerful.

Please tell me if you encounter any problem.


Date: 3.22.’04.

I'm thinkg about using database system in Selima. I might use MySQL.


Date: 9.26.’03.

I just fixed a small bug in the Selima Travellers' Guestbook system.

In a previous guestbook message the Russian letters ТАТУ was not displayed correctly. I did not check that issue then. In my previous message the Japenese letters ヒッタイト (Hittite) was not displayed again. I made some check this time, and found it a problem of the Big5 encoding standard. The original Big5 standard built by the major 5 Chinese companies did not include Japanese letters. Later for convienence the ETen Chinese company adds Japanese letters, governmental symbols and other extended characters. But then Microsoft did not adapt ETen's extension in the MS-Windows, but added some European letters and form another Big5's variant. The extended version of Big5 by ETen is now called Big5-ETen, and Microsoft name its Big5 as CP950. The Big5 in Perl's Encode is actually Big5-ETen, with Japanese and Russian letters included and mapped to somewhere in Big5-ETen. But they do not exists in Windows CP950. Then the mapped somewhere cannot be displayed in Windows.

Now I mapped to CP950. Japanese letters and Russian letters do not map to Big5 and are displayed as its Unicode representation. I don't like Micorosft. But It should be a correct answer not to map the Japanese and Russian letters to Big5.


Date: 6.4.’03.

I was trying a crazy idea: Writing my own web mail. I thought it was simple, but it stuck now.

It seems that the Selima system is not flexable enough. It is quite a failure.

Monica, the ancestor of Selima, encountered the same problem, too. I tried to make picture upload and project management, and it stuck there. It is too large, too firm, not flexible, not extensible.

Annoyed.


Date: 5.13.’03.

The network of Tavern/Woman’s Voice has been upgraded to 512Kbps. The connection of the web site should speed up a lot. Besides, because the bandwidth is large now, without the fear to cause the network jam, I start to check my own mail when I’m in the office. Together with the new message e-mail notification of the current Selima system, I shall be able to answer the guestbook messages more immediately. ^_*'

Of course I have to know how to answer them first. The answering time of a Virgo is quite long, though. ^^;


Date: 4.26.’03.

A bug in the guestbook is solved. He he. ^^;

A small place was left unchanged when I was making some foundamental redesign. It was left there for so many days without notice… :p


Date: 4.18.’03.

I made some experiment tonight. The Selima system used in Travellers’ Guestbook would not be run easily under Windows for the use of gettext in GNU glibc as the multilingual solution. It needs cygwin. Or I should say, it would not be run easily besides of Unix.

I had considered using Perl’s Maketext as the multilingual solution. Maketext is the current standard multilingual solution for Perl. It does not require GNU glibc and thus can be run on any platform. But Maketext has too less tools and its API is quite complicated. The design is not as neat as gettext. So lets just forget it.

Besides, because Selima uses Encode, it has to be run with Perl 5.8.0 or above. It cannot be run with earlier versions of Perl.

I thought Selima should be cross-platform with high compatibility. I was wrong. ^^;


Date: 4.10.’03.

The Selima guestbook system is almost finished. The new message notification is now sending mails with Sendmail in the background, to speed up the responding time. I have almost everything I want now.

The whole Selima is written purely with Perl. In this age of PHP I want to prove one thing: Perl is fare more excellent and powerful than PHP.

Selima is optimized for mod_perl. There are many optimization. But it still maintains the compatibility with Perl/CGI. I even cached the whole guestbook index in Apache’s memory. With the current amount of messages, displaying a page under Perl/CGI it takes about 0.26 seconds, under mod_perl caching it speeds up to 0.03 seconds. With client cache it even busts up to 0.006 seconds!

You can feel the true meaning of speed with Selima. You’ll never feel any delay besides your bandwidth. Running CGI programs as a static page -- That’s POWER. ^_*'

How can PHP catch this? Ha ha!


Index | First | Previous | 1 | 2 | 3 | 4 | 5 | Next | Last