CHANGES
- Path:
- CHANGES
- Modified:
- Mon Apr 12 23:03:32 JST 2004
Description
1.2.0 (2004/4/15)
This version supports only Ruby 1.8.0 or later.
New Features
- Enable validation of values for CKText
and CKTextField.
- Add WEBrick and Template adapters.
The Template adapter returns HTTP response objects instead of displaying
HTML string.
Changed Elements
- Enable all elements to set optional HTML attributes.
- Enable omitting semicolon as term in definition files.
- Change to raise error if definitions of elements are repeated.
- Disable checking undefined attributes of elements.
- Remove "action" attribute of CKForm.
New and Changed APIs
- Refactor process to check session.
- Change CKErrorPage to be loaded
by default.
- Remove CKStringScanner class.
- Change using Enumerable#each_with_index when setting instance variables of
"item" attribute of CKRepetition.
- Change setting nil for session ID and session after deleting session with
CKApplication#clear_session().
- Change cookie header into the lead of response header.
Fixes
- Fix that order of setting form data to instance variables in component is
not ordered.
- Fix that session is not enabled indefinite if timeout is setted to 0.
- Fix that to enable no session IDs in URLs and cookies.
- Fix that CKCheckbox in CKRepetition do not work with
sessions.
- Fix that authorization of sessions do not work correctly.
- Fix that raising error if log files is not existed with max_file_size of
log option.
- Fix that "enabled" attribute of CKGenericElement cannot be
false.
- Fix that value of "value" attribute of CKTextField is not be escaped.
1.1.0 (2003/11/4)
New Features
- Correspond to ruby 1.8.0.
- Add CKResourceManager class
that manages resources like image files, etc.
- Enable specifying expire time of cookie used for record session IDs. You
can set the time with session_cookie_expire attribute of CKApplication.
- Abolish defining accessors of attributes to use with elements. Elements use
instance variable directly if you don’t define accessors.
- Enable using adapters automatically whether CGI or mod_ruby.
- Attach cgikit.el development tool for Emacs by rubikitch.
Changed Elements
- Add "maxlength" attribute to CKTextField.
- Add "height", "width", "data" and
"mime" attributes to CKImage.
- Add "fileupload" attribute to CKForm.
- Change class of data excepted uploaded file to String at sending multipart
form data with CKForm.
New and Changed APIs
Fixes
- Fix that "escape" attribute of CKBrowser is always setted to true.
- Fix that HTML control characters don’t be escaped at displaying value
of "value" attribute of CKText.
- Fix using CKFileUpload with
setting character code occurs error.
- Fix that an application name can’t be displayed correctly in path of
the application with directories included periods at error page.
1.0.1 (2003/7/22)
New and Changed APIs
- Add a hook method CKApplication#pre_run(). This is called before generating
specified component. When calling the method, objects of request and
session are already setted.
Fixes
- Fix "values" attribute of CKPopUpButton that didn’t
work.
- Fix that "Content-Dispostion" header can’t be setted for CKResponse object.
1.0.0 (2003/7/15)
Official release. Switch licence from GPL licence to Ruby licence.
Experimental Feature
- Enable using with mod_ruby.
New Features
- Add "values" attribute to CKBrowser and CKPopUpButton.
- Enhance logging feature of CKLog.
- Support specifying character code of form data. By default, Japanese
character codes only.
- Support interpreting locale with language preference of browser.
New and Changed APIs
- Add comment format for <CGIKIT> in template files.
- Add CKAdapter::ModRuby.
- Delete "default" attribute of CKBrowser.
- Change CKCheckbox to always
display content of "value" attribute along HTML 4.01
specification.
- Add session() to CKComponent. It
is alias method for CKApplication#session.
- Change CKCookie#new to
receive arguments for all attributes.
- Change exclusive_lock() and shared_lock() of CKFileLock to receive arguments the
same with arguments of open().
- Change to raise CKError when clearing
session with incorrect methods. Use CKSession#clear in automatic
session management, or CKApplication#clear_session.
- Change to raise SessionTimeoutError when accessing with session IDs not
existed.
- Add languages() to CKRequest. The
method returns an array of languages.
- Add hook methods the following.
CKApplication#pre_respond: | It is called before sending HTTP response to browser.
|
CKComponent#post_run: | It is called after setting form data for instance variables and run action.
|
CKComponent#convert_char_code: | It is called before setting form data for instance variables. The form data
is converted to specified character code in the method.
|
- Change classes and methods the following.
Delete a class
CKLock
Move methods
Delete a method
CKApp#debug
Fixes
- Fix warning in verbose mode.
- Fix infinite loop at using automatic session management with cookie.
- Fix CKByteData#write_to_file
couldn’t work.
- Fix "empty" attribute of CKString couldn’t work.
- Fix "enabled" attribute of elements to not display.
- Fix error page couldn’t be display at raising errors about attributes
of elements.
Examples
- Add "HelloWorldModRuby" for mod_ruby.
- Add Japanese locale to "Examples".
- Add example code for logging to "ErrorScreen".
1.0b7 (2003/4/17)
Last beta version.
New Features
- Add file uploading element CKFileUpload and generating HTML
tags element CKGenericElement.
- Enable form elements in CKRepetition elements.
- Enable literals of Array and Hash in binding files.
- Add "FileUpload", "AddressBook" to samples. And add
"RepetitionTablePage" and "GeneratingElementPage" to
"Examples".
New and Changed APIs
Fixes
- Change a character for splitting query string in URL to ’;’.
- Change default value to true for CKApplication’s
"debug" attribute.
- Fix a part of HTML text for CKErrorPage.
- Fix "string" attribute of CKHyperlink can’t be set
Integer objects.
- Fix CKHyperlink to parse
<CGIKIT> elements in enclosed the elements.
- Fix processing concurrently "list" and "count"
attributes of CKRepetition.
- Fix "escape" attribute of CKString can’t be set false.
- Fix a spell miss of "columns" attribute of CKText.
1.0b6 (2003/2/22)
New Features
- Introduce session management.
- Reimplements parsers that makes performance up.
- Add "SessionTest" to samples.
New APIs
Fixes
- Change naming rule for "name" attribute of CKForm that created automatically.
- Change return value of CKApplication#handle_error()
to CKComponent objects.
- Change the default value for "status" attribute of CKResponse to status code 200 ( OK ).
- Fix type for "status" attribute of CKResponse to Integer from String.
- Fix CKUtilities#escape_html()
that don’t escape single quotations.
- Fix that "string" attribute is disabled if "disabled"
attribute is true in CKHyperlink.
- Change resource directory is traced recursively when searching image files
in CKImage.
- Change the default value for "escape" attribute of CKPopUpButton and CKBrowser to true.
- Change name for "selection" attribute of CKPopUpButton to
"selected".
- Fix raising error if "list" attribute is nil in CKPopUpButton, CKBrowser and CKRepetition.
- Fix disabled "escape" attribute of CKBrowser.
- Fix that radio buttons don’t work if definition names differ from
values of "name" attribute in CKRadioButton.
- Change CKURL#url() to add a session ID and query string for URL.
1.0b5 (2002/12/13)
New Features
- Write RDoc documents.
- Introduce error showing page. An error page will be shown a reason with
stacktraces when exception occurred.
- Introduce directories for extention elements and components. Files in the
directories will be searched and required in creating elements or
components.
$LOAD_PATH/cgikit/elements: | For extention elements
|
$LOAD_PATH/cgikit/components: | For extention components
|
- Introduce checking attributes of elements. Set false for
CKApplication#attributes_check to stop checking.
- Combine library files. The file will make performance up more than the
splitted files in Ruby 1.6.x.
- Add "ErrorScreen" to samples.
New APIs
Fixes
- Delete "item" attribute of CKBrowser and CKPopUpButton.
- Change the class name from "CKExceptionPage" to "CKErrorPage".
- Fix a problem that CKConditional parses HTML in spite
of conditional.
- Change name of "selected" attribute for CKPopUpButton to
"selection".
- Fix a problem that CKString occurs
error if "value" attribute is nil when "escape"
attribute is true.
- Fix CKRequest#from returns
HTTP header "HTTP_FROM".
- Fix "enctype" attribute of CKForm has "POST" when set
value but "POST, GET, HEAD".
- Delete CKCookieManager.
- Fix a key name of "master_locale" that is appended to a query
string in CKURL#url().
1.0b4 (2002/10/17)
Fix bugs and refactoring source code.
- Fix reading components in CKApplication#component_path ( the former path ).
- Fix sending component data in CKURL#_parse. Accodingly delete
CKComponent#fetch, _fetch_from_request.
- Fix html parser cuts a part of string in repeating parsing.
- Fix CKCheckbox element shows the
"value" attribute in spite of non setting it.
- Fix CKForm element can’t run
without setting CKApplition#baseurl ( the former application ). Change
using SCRIPT_NAME of the environment variable when baseurl has no value.
- Fix CKText element ignores the
"value" attribute.
- Fix CKImage element searches for only
CKApplication#resource. Change searching CKApplication#baseurl when
resouce has no value.
- Fix CKString element ignores
"true" value not string enclosed quatation in "escape"
attribute.
- Add some attributes to CKApplication.
path: | The file system path of the program.
|
component_path: | The relative file system path of the components.
|
baseurl: | The program URL relative to the server’s document root. ( the former
application ).
|
name: | The name of the program minused extension.
|
- Add the ’’ delimiter can perform string in binding file.
- Add the # comment delimiter can comment out binding file.
- Support the <cgikit/> concluded CGIKit tag in HTML file.
- Define the exception class CKError.
- Define cookie class. You don’t have to use cookie with cgi.rb.
- Define CKUtilities module has
escaping, etc. methods.
CKMessage#escape: | -> escape_html
|
CKMessage#unescape: | -> unescape_html
|
CKMessage#date: | -> date
|
CKMessage#_cookies: | -> cookies
|
CKAdaptee::CGI#escape: | -> escape_url
|
CKAdaptee::CGI#unescape: | -> unescape_url
|
CKAdaptee::CGI#parse: | -> parse_query_string
|
- Change the names of many methods according to Ruby coding style.
- Change the single instance method to class method in CKBinding, CKDefinition.
- Add new "Cookie Counter" and "Reqest Shower" samples.
1.0b3 (2002/10/9)
Change initializing logic.
- Use install.rb to install CGIKit.
- Divide the library into separate files.
- Change initializing Logic by adding CKAdapter.
- Replace source code with cgi.rb by CKRequest and CKResponse.
- Add a method CKElement#init_element that can initialize a component without
arguments and overriding initialize.
- Change singleton CKApplication
to not singleton.
- Change initialize methods for CKElement and CKHTMLParser.
- Move CKElement#_fetchFromRequest to CKComponent.
1.0b2 (2002/9/13)
Fix some codes.
- Edit comments for RDoc.
- Delete "autoload".
- Delete $CKApp of global variable.
- Change default application path using Dir.pwd.
1.0b (2002/9/3)
First release.