97b3a8e844c16ee1b66c96bdaca9eea8d6e3ab47
[Plinn.git] / skins / jscalendar / release-notes.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN">
2 <html>
3 <head>
4 <title>jscalendar release notes</title>
5
6 <style type="text/css">
7 h1 { border-bottom: 1px solid #000; }
8 h2 { border-bottom: 1px solid #444; }
9 ul li { margin-top: 0.5em; margin-bottom: 0.5em; }
10 </style>
11 </head>
12
13 <body>
14 <h1>jscalendar release notes</h1>
15
16 <p>This release compiled at Friday, 6 Feb 2004 (21:40).</p>
17
18 <h2>0.9.6</h2>
19
20 <ul>
21
22 <li>
23 "Smart" (TM :-) positioning algorithm. The new algorithm will
24 try to keep the calendar in the browser view, which is helpful
25 in situations when the input field is near the bottom or the
26 right edge. This code is only tested with IE and Mozilla, but
27 it should work with other browsers too. Many thanks to <a
28 href="http://www.ex3.com">Sunny Chowdhury</a> for sponsoring
29 this feature!
30 </li>
31
32 <li>
33 Support for IE5/Win is back. I also want to thank Janusz
34 Piwowarski for keeping his eye on the CVS ;-) He reviewed my
35 IE5-related changes and sent me a much cleaner patch.
36 </li>
37
38 <li>
39 The calendar will now allow any day of week to be "the first
40 day of week". This was requested long time ago, by someone
41 whose name I forgot (sorry). The reason was that in certain
42 countries weeks start on Saturday. So I thought that instead
43 of having a "mondayFirst" and a "saturdayFirst" parameter,
44 :-), it's better to have a "firstDayOfWeek" parameter; now
45 it's present and its meaning is: "0 for Sunday", "1 for
46 Monday", "2 for Tuesday", etc. The equivalent parameter for
47 Calendar.setup is "firstDay". The end user can also change
48 it very easy: click on the day name in the calendar display.
49 </li>
50
51 <li>
52 The above feature triggered one <b>important change</b>: the
53 notion of "weekend" is now defined in the language file.
54 Added parameters:
55
56 <pre>
57 Calendar._TT["WEEKEND"] = "0,6";
58 Calendar._TT["DAY_FIRST"] = "Display %s first";</pre>
59
60 "WEEKEND" specifies a string with comma-separated numbers from
61 0 to 7; they define what days are marked as "weekend". 5 and
62 6 mean, of course, "Sunday" and "Saturday". Day first is the
63 tooltip displayed when a day name is hovered; "%s" will get
64 replaced with the day name. Updated languages are "en" and
65 "ro", which I maintain. Please note that languages wich are
66 not updated <b>will not work</b>. If yours is one of them,
67 please consider fixing it and sending me the fix so that I can
68 include it in the distro.
69 </li>
70
71 <li>
72 The calendar can now display days from the months adjacent to
73 the currently displayed one. This is optional, of course, and
74 the parameter name is "showsOtherMonths" (or "showOthers" in
75 Calendar.setup). All theme files were updated.
76 </li>
77
78 <li>
79 Displays "Time:" near the time selector, only if defined in
80 the language file.
81 </li>
82
83 <li>
84 Some bugs fixed in the date parsing code (which has also been
85 rewritten a little bit cleaner).
86 </li>
87
88 <li>
89 Calendar.setup will now configure the calendar to trigger the
90 input fields' "onchange" event, if specified, when a date is
91 selected.
92 </li>
93
94 <li>
95 New parameter in Calendar.setup: "cache" (<b>defaults to
96 false</b>). If set to true then the popup calendar object
97 will be "cached", meaning, it will be created only once, no
98 matter how many input fields are there in the page. Sometimes
99 this is not desirable, which is why I've added this
100 parameter. Please note that it defaults to "false" (thus the
101 default behavior has changed).
102 </li>
103
104 <li>
105 Added a simple PHP wrapper. It provides code which loads all
106 the required scripts and theme file, and one function which
107 creates and configures an input field for date input. It
108 takes care of creating and assigning unique ID-s for the
109 calendar fields and it also creates the "Calendar.setup" code.
110 Functions to create more specialized fields can be added very
111 easily. This feature was requested by the FreeMED.org project
112 (thanks for donating!).
113 </li>
114
115 </ul>
116
117 <p>Wow, there were quite some changes :-D Enjoy it!</p>
118
119 <h2>0.9.5</h2>
120
121 <p>
122 This release's primary goal is to fix a wrong license statement which
123 can be found in some files from 0.9.4. For instance in README or
124 calendar.js, the statement was that the code is distributed under the
125 GNU GPL; that's because I had plans to change the license, then
126 changed my mind but unfortunately I committed files so. I am sorry
127 for this inconvenience, please use the latest (0.9.5) release which is
128 fully covered by LGPL.
129 </p>
130
131 <p>Other changes:</p>
132
133 <ul>
134
135 <li>
136 <b>Fixed</b> an annoying bug that prevented the calendar to display
137 correctly when it was configured for an input field inside a
138 <b>scrolling area</b>. <b>Many thanks</b> to Ian Barrack (<a
139 href="http://www.simban.com">Simban.com</a>) who pointed it up and
140 donated quite some money for the Calendar project!
141 </li>
142
143 <li>
144 All examples use UTF-8 now; the translations may not be all
145 up-to-date, but I <strong>strongly</strong> suggest everyone to use
146 UTF-8; other encodings are a plain mess. So far I know for sure
147 that Romanian translation will work with UTF-8 and <em>not
148 anymore</em> with ISO-8859-2. Other translations are probably
149 usable under UTF-8, but if your preferred language isn't... ;-)
150 please make it and send it to me for inclusion.
151 </li>
152
153 <li>
154 Fixed small bug in the documentation (one footnote didn't appear
155 where it should have).
156 </li>
157
158 <li>
159 Updated translations: DE, ES, HU, IT, RO. Thanks to everyone who
160 sent translations!
161 </li>
162
163 </ul>
164
165 <h2>0.9.4</h2>
166
167 <h3>New stuff</h3>
168
169 <ul>
170
171 <li>Supports time selection. Yes. ;-) This work has been largely
172 sponsored by <strong>Himanshukumar Shah</strong> (thank you!). See
173 the docs and example files for details on how to setup.</li>
174
175 <li>Easy to link 2 or more fields by using the new
176 <code>onUpdate</code> parameter of <code>Calendar.setup</code>. This
177 is useful, say, to automatically set a value in a second field based
178 on the value selected in the first field. See the documentation and
179 first sample in <a href="simple-1.html">simple-1.html</a>.</li>
180
181 <li>Other <code>Calendar.setup</code> low-level parameters, for those
182 wanting to have the complete control: <code>onSelect</code> and
183 <code>onClose</code>. The handlers are called when something is
184 selected in the calendar or when the calendar is closed.</li>
185
186 <li>The translation files can optionally include the short day names
187 and the short month names. That's because in some languages, like
188 German, the short form is not the first 3 letters of the entire name
189 but only the first 2. Also in other languages short names can't be
190 as easily derived from the full name by just calling substr, so this
191 patch solves the problem.</li>
192
193 <li>Implemented a nice way to make some dates "special" (look
194 different). Specifically, the <code>setDisabledHandler</code> method
195 was replaced with the more general <code>setDateStatusHandler</code>
196 method (the old one is still available for backwards compatibility but
197 <em>will</em> be removed). More details about this in the
198 documentation. Also see <a href="simple-3.html">simple-3.html</a>
199 for a live sample.</li>
200
201 <li>Date parsing and formatting engine is now rewritten and supports a
202 subset of <code>strftime</code> format specifiers from ANSI C. This
203 makes it possible to use dates like "YYYYMMDD" (the corresponding
204 format for this would be "%Y%m%d"). Details in the documentation.
205 <b>Please note that the new engine is not compatibile with older
206 calendar releases!</b></li>
207
208 <li>Along with the new date parser I workarounded an unpleasant crash
209 that occurred in IE when certain accented characters appeared in the
210 texts. I think German was one of the language with such problems, and
211 the workaround was to use the letter without an accent. Well, now you
212 can translate to whatever you want.</li>
213
214 <li>"Fixes" (I mean, "horrible workarounds") for Konqueror (and
215 hopefully Safari). Unfortunately, this otherwise excellent browser
216 still has some bugs that keep the calendar from working
217 <em>exactly</em> as it should.. But they're going to be fixed,
218 right? ;-)</li>
219
220 <li>CSS themes got pretty much modified too so if you wrote your theme
221 you need to update it. Aside for the time selector support, the CSS
222 themes contain a simple hack that makes the navigation buttons show
223 a little arrow in the lower-right corner which indicates that if one
224 holds the mouse a menu will appear.</li>
225
226 </ul>
227
228 <h3>Translation files</h3>
229
230 <p>The translation files need to be updated in order for the calendar to
231 work properly. Currently the only updated files are calendar-en.js
232 (main file) and calendar-ro.js (well, yes, I am a Romanian ;-).</p>
233
234 <p>Specifically, they need the following:</p>
235
236 <ul>
237
238 <li>Correct date format, according with the new format specifiers
239 introduced in 0.9.4. Details about the available format specifiers
240 in the documentation</li>
241
242 <li>Short day or month names, <em>if required</em>. If they can be
243 derived by taking the first N letters of the full name then a simple
244 Calendar._SDN_len = N or Calendar._SMN_len = N will suffice. If N
245 is 3 then nothing needs to be done as we take it for granted if no
246 other option is offered ;-)</li>
247
248 <li>We have some new texts that shows short usage information as well
249 as copyright information.</li>
250
251 </ul>
252
253 <p>If your favorite language is not there yet, or it is but not updated
254 according to the main calendar-en.js file, then please consider
255 translating calendar-en.js and send the translation back to me so that
256 I include it in the official distribution.</p>
257
258 <h3>Bug status</h3>
259
260 <p>Check <a
261 href="http://sourceforge.net/tracker/?atid=544285&group_id=75569&func=browse">SourceForge</a>,
262 I didn't keep track. However, there were a lot of bugfixes.</p>
263
264 <h2>0.9.3</h2>
265
266 <h3>New stuff</h3>
267
268 <ul>
269
270 <li>Opera&nbsp;7 compatibility &mdash; keyboard navigation is
271 still not available; text selection can't be disabled, leading to an
272 ugly effect when walking through the month/year menus.</li>
273
274 <li>Ability to align the calendar relative to the input field (or any
275 other element). Vertical: top, center, bottom. Horizontal: left,
276 center, right. This is established as a new parameter for
277 <tt>showAtElement</tt>.</li>
278
279 <li>Added <tt>dateClicked</tt> property (boolean). This can be
280 inspected in the "onSelect" handler to determine if a date was
281 really clicked or the user only changed month/year using the menus.
282 You <em>need</em> to check this for "single-click" calendars and
283 only close/hide the calendar if it's <tt>true</tt>.</li>
284
285 <li>Full documentation in <a href="doc/html/reference.html">HTML</a>
286 and <a href="doc/reference.pdf">PDF</a> format is now available in the
287 distribution archive.</li>
288
289 <li>New language definition files: HU, HR, PT, ZH. Thanks those who
290 submitted!</li>
291
292 </ul>
293
294 <h3>Bug status</h3>
295
296 <p>This covers only those bugs that have been reported <a
297 href="http://sourceforge.net/projects/jscalendar" target="_blank"
298 title="Project page at SourceForge">at SourceForge</a>.</p>
299
300 <ol>
301
302 <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=703238&group_id=75569&atid=544285" target="_blank"
303 title="Go to bug description at sourceforge"><tt>#703,238</tt></a> &mdash; fixed</li>
304 <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=703814&group_id=75569&atid=544285" target="_blank"
305 title="Go to bug description at sourceforge"><tt>#703,814</tt></a> &mdash; fixed</li>
306 <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=716777&group_id=75569&atid=544285" target="_blank"
307 title="Go to bug description at sourceforge"><tt>#716,777</tt></a> &mdash; closed (was fixed already in 0.9.2-1)</li>
308 <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=723335&group_id=75569&atid=544285" target="_blank"
309 title="Go to bug description at sourceforge"><tt>#723,335</tt></a> &mdash; fixed</li>
310 <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=715122&group_id=75569&atid=544285" target="_blank"
311 title="Go to bug description at sourceforge"><tt>#715,122</tt></a> &mdash; feature request; implemented.</li>
312 <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=721206&group_id=75569&atid=544285" target="_blank"
313 title="Go to bug description at sourceforge"><tt>#721,206</tt></a> &mdash; fixed (added "refresh()" function)</li>
314 <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=721833&group_id=75569&atid=544285" target="_blank"
315 title="Go to bug description at sourceforge"><tt>#721,833</tt></a> &mdash; fixed (bug concerning the "yy" format
316 parsing)</li>
317 <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=721833&group_id=75569&atid=544285" target="_blank"
318 title="Go to bug description at sourceforge"><tt>#721,833</tt></a> &mdash; won't fix (we won't set the time to
319 midnight; time might actually be useful when we implement support
320 for time selection).
321
322 </ol>
323
324 <hr />
325 <address><a href="http://dynarch.com/mishoo/">Mihai Bazon</a></address>
326 <!-- Created: Tue Jul 8 17:29:37 EEST 2003 -->
327 <!-- hhmts start -->
328 Last modified on Wed Oct 29 02:37:07 2003
329 <!-- hhmts end -->
330 <!-- doc-lang: English -->
331 </body>
332 </html>
333
334