Skip to content

Commit c46861d

Browse files
author
Koen Deforche
committed
3.1.10 release notes, log-response-time configuration option
1 parent 16230b1 commit c46861d

File tree

15 files changed

+271
-18
lines changed

15 files changed

+271
-18
lines changed

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ PROJECT_NAME = Wt
3131
# This could be handy for archiving the generated documentation or
3232
# if some version control system is used.
3333

34-
PROJECT_NUMBER = 3.1.9
34+
PROJECT_NUMBER = 3.1.10
3535

3636
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
3737
# base path where the generated documentation will be put.

ReleaseNotes.html

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,180 @@
1212
<title>Wt Release notes</title>
1313
</head>
1414
<body>
15+
1516
<h1>Wt Release notes</h1>
1617

1718
This file lists important notes on migrating existing applications to
1819
newer version of Wt. It lists changes in the library that may break
1920
the way you build Wt, the way you configure Wt or the Wt API and
2021
behaviour.
2122

23+
<h2>Release 3.1.10 (July 7, 2011)</h2>
24+
25+
<p>
26+
This release contains a mix of new features and bug fixes
27+
</p>
28+
29+
<h3>A) New classes:</h3>
30+
31+
<dl>
32+
<dt>
33+
<a href="classWt_1_1WAnimation.html">WAnimation</a>
34+
</dt>
35+
<dd>
36+
We have added support for animations to show or hide widgets (used
37+
in <a href="classWt_1_1WWidget.html#a66bdda41220267a8c7ff9865996e2675">WWidget::setHidden()</a>,
38+
and <a href="classWt_1_1WStackedWidget.html">WStackedWidget</a>). These
39+
animations will only be used when the browser supports CSS3
40+
animations (at the moment of writing that includes latest Firefox,
41+
Chrome and Safari releases).
42+
</dd>
43+
<dt>
44+
<a href="classWt_1_1WStreamResource.html">WStreamResource</a>
45+
</dt>
46+
<dd>
47+
Dmitriy Igrishin factored this out of the WFileResource since most
48+
of its functionality (continuations, range support) could be
49+
generalized to streaming from a std::istream.
50+
</dd>
51+
</dl>
52+
53+
<h3>B) Main improvements:</h3>
54+
55+
<dl>
56+
<dt>
57+
Allowing multiple WServer instances.
58+
</dt>
59+
<dd>
60+
Apparently for no good reasons at all, some singletons were still
61+
around which prevented you from instantiating
62+
multiple <a href="classWt_1_1WServer">application servers</a>. Now
63+
you can (but only using the built-in httpd) instantiate multiple
64+
servers side by side in the same process, which may server the
65+
same or different web applications over different ports. A feature
66+
example (<tt>multiple_servers</tt>) shows how that works.
67+
</dd>
68+
69+
<dt>
70+
Internal path encoding in WTemplate and WText</a>
71+
</dt>
72+
<dd>
73+
<div>
74+
The
75+
new <a href="classWt_1_1WTemplate.html#aeee888e560c519ac0e33bfc1ebb315e2">setInternalPathEncoding()</a>
76+
method will, if needed, enable reencoding of &lt;a&gt; anchors
77+
which reference internal paths consistent with how in the
78+
current session internal paths need to be dealt with (which
79+
depends on whether the browser supports Ajax and HTML5 History).
80+
</div>
81+
<div>
82+
Since this requires an additional XML parsing step (but the
83+
rapidxml parser that is used is ... rapid !), it is off by
84+
default.
85+
</div>
86+
</dd>
87+
88+
<dt>
89+
<a href="classWt_1_1WWApplication.html">WApplication::findWidget()</a>
90+
</dt>
91+
<dd>
92+
Like WWidget::findWidget(), but on the whole application,
93+
including widgets outside the WApplication::root().
94+
</dd>
95+
96+
<dt>
97+
<a href="classWt_1_1WWApplication.html">WApplication::changeSessionId()</a>
98+
</dt>
99+
<dd>
100+
Generates a new session ID for the application. This is useful to prevent
101+
session fixation attacks by changing the session ID when a user has
102+
authenticated successfully.
103+
</dd>
104+
105+
<dt>
106+
<a href="classWt_1_1WResource.html">WResource::setDispositionType()</a>
107+
</dt>
108+
<dd>
109+
This method allows to specify how the browser should preferably
110+
show a (non-HTML) resource.
111+
</dd>
112+
113+
<dt>
114+
<a href="classWt_1_1WTable.html">WTable</a>
115+
</dt>
116+
<dd>
117+
Methods were added
118+
to <a href="classWt_1_1WTable.html#a239d85781509ff321eb964af042bcf57">move
119+
a row</a>
120+
or <a href="classWt_1_1WTable.html#a0670b90a05a6c0176c773bf8766a5bf2">a
121+
column</a>. In addition we added methods
122+
to <a href="classWt_1_1WTableRow.html">WTableRow</a>
123+
and <a href="classWt_1_1WTableColumn.html">WTableColumn</a> for
124+
accessing cells in the given row or column.
125+
</dd>
126+
127+
<dt>
128+
<a href="classWt_1_1WTextEdit.html">WTextEdit</a>
129+
</dt>
130+
<dd>
131+
Various improvements to allow more flexible access to TinyMCE
132+
settings on a per-instance basis.
133+
</dd>
134+
135+
<dt>
136+
<a href="classWt_1_1WWidget.html">WWidget::setToolTip()</a>
137+
</dt>
138+
<dd>
139+
An additional argument was added which may specify the use of
140+
XHTML tooltips, which are implemented using a &lt;div&gt;.
141+
</dd>
142+
143+
<dt>
144+
Dbo::collection&lt;T&gt;
145+
</dt>
146+
<dd>
147+
Make insert() and erase() also work for a collection involved in a
148+
1-N relation
149+
</dd>
150+
151+
<dt>
152+
Dbo::ptr&lt;C&gt;
153+
</dt>
154+
<dd>
155+
Improved modify() behaviour returns a proxy object which marks the
156+
the object dirty also from its destructor, avoiding situations where
157+
the transaction is flushed during a modification and remainig changes
158+
are forgotten.
159+
</dd>
160+
161+
<dt>
162+
Dbo::Dbo&lt;C&gt;
163+
</dt>
164+
<dd>
165+
Added setDirty() and self() methods.
166+
</dd>
167+
168+
<dt>
169+
Dbo::backend::Sqlite3
170+
</dt>
171+
<dd>
172+
The packaged sqlite3 version was bumped from 3.6.20 to 3.7.6
173+
</dd>
174+
175+
</dl>
176+
177+
<h3>C) Non-backwwards compatible changes</h3>
178+
179+
<dl>
180+
<dt>The signature of the virtual method WWidget::setHidden() has changed.</dt>
181+
<dd>
182+
Probably the biggest breaking change since long, this was needed
183+
to add support for animations. This will break existing code which
184+
specializes the WWidget::setHidden() method. This code should be
185+
updated to pass the WAnimation object.
186+
</dd>
187+
</dl>
188+
22189
<h2>Release 3.1.9 (April 7, 2011)</h2>
23190

24191
<p>

examples/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Project related configuration options
55
#---------------------------------------------------------------------------
66
PROJECT_NAME = "Wt examples"
7-
PROJECT_NUMBER = 3.1.9
7+
PROJECT_NUMBER = 3.1.10
88
OUTPUT_DIRECTORY = ../doc/examples
99
CREATE_SUBDIRS = NO
1010
OUTPUT_LANGUAGE = English

src/Wt/WAnimation

Lines changed: 51 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,28 @@ namespace Wt {
1717
* A class which defines an animation used as a transition to show or
1818
* hide a widget.
1919
*
20+
* The animation can be defined as a motion effect (e.g. sliding in or
21+
* out), optionally combined with a fade effect. A timing function
22+
* defines how the effects(s) are animated during the total duration of
23+
* the animation.
24+
*
2025
* \sa WWidget::animateShow(), WWidget::animateHide(), WWidget::setHidden()
2126
*/
2227
class WT_API WAnimation
2328
{
2429
public:
25-
/*! \brief An enumeration describing an anmiation effects
30+
/*! \brief An enumeration describing an animation effect
31+
*
32+
* An animation effect can be the combination of a motion and an optional
33+
* fade effect, e.g:
34+
* \code
35+
* SlideInFromRight
36+
* SlideInFromTop | Fade
37+
* \endcode
38+
*
39+
* You can specify only one motion effect.
40+
*
41+
* \sa setEffects()
2642
*/
2743
enum AnimationEffect {
2844
SlideInFromLeft = 0x1, //!< Slides right to show, left to hide
@@ -34,14 +50,17 @@ public:
3450
};
3551

3652
/*! \brief A timing function
53+
*
54+
* The timing function defines how the animation effects are animated
55+
* during the total duration of the animation.
3756
*/
3857
enum TimingFunction {
39-
Ease, //!<
40-
Linear,
41-
EaseIn,
42-
EaseOut,
43-
EaseInOut,
44-
CubicBezier
58+
Ease, //!< Slow start and slow finish
59+
Linear, //!< Linear throughout
60+
EaseIn, //!< Slow start
61+
EaseOut, //!< Slow finish
62+
EaseInOut, //!< Slow start and even slower finish
63+
CubicBezier //!< (Currently unsupported)
4564
};
4665

4766
/*! \brief Default constructor.
@@ -52,29 +71,50 @@ public:
5271
WAnimation();
5372

5473
/*! \brief Creates an animation.
74+
*
75+
* An animation is created with given effects, timing and duration.
5576
*/
5677
WAnimation(WFlags<AnimationEffect> effects, TimingFunction timing = Linear,
5778
int duration = 250);
5879

5980
#ifdef WT_TARGET_JAVA
81+
/*! \brief Creates an animation.
82+
*
83+
* An animation is created with one effect, timing and duration.
84+
*/
6085
WAnimation(AnimationEffect effect, TimingFunction timing = Linear,
6186
int duration = 250);
6287

88+
/*! \brief Creates an animation.
89+
*
90+
* An animation is created with two effects (a motion and Fade).
91+
*/
6392
WAnimation(AnimationEffect effect1, AnimationEffect effect2,
6493
TimingFunction timing = Linear, int duration = 250);
6594

6695
/*! \brief Clone method.
6796
*
68-
* Clones this transition object.
97+
* Clones this animation object.
6998
*/
7099
WAnimation clone() const;
71100
#endif
72101

73102
/*! \brief Sets the animation effects.
103+
*
104+
* A motion effect (\link SlideInFromLeft SlideInFromLeft\endlink,
105+
* \link SlideInFromRight SlideInFromRight\endlink, \link
106+
* SlideInFromBottom SlideInFromBottom\endlink, \link SlideInFromTop
107+
* SlideInFromTop\endlink or \link Pop Pop\endlink) can be combined
108+
* with a fade effect (\link Fade Fade\endlink).
109+
*
110+
* When effects are 0, the animation does not actually specify an
111+
* animation, but instead an instant transition.
74112
*/
75113
void setEffects(WFlags<AnimationEffect> effects);
76114

77115
/*! \brief Returns animation effects.
116+
*
117+
* \sa setEffects()
78118
*/
79119
WFlags<AnimationEffect> effects() const { return effects_; }
80120

@@ -113,6 +153,9 @@ public:
113153
*/
114154

115155
/*! \brief Returns whether the animation is empty.
156+
*
157+
* An animation is empty (meaning the transition is instant), if the
158+
* duration is 0, or if no effects are defined.
116159
*/
117160
bool empty() const;
118161

src/Wt/WTable

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,17 +156,17 @@ public:
156156

157157
/*! \brief Move a table row from its original position to a new position.
158158
*
159-
* The table expands automatically when to is beyond the current
160-
* table dimensions.
159+
* The table expands automatically when the \p to row is beyond the
160+
* current table dimensions.
161161
*
162162
* \sa moveColumn()
163163
*/
164164
void moveRow(int from, int to);
165165

166166
/*! \brief Move a table column from its original position to a new position.
167167
*
168-
* The table expands automatically when to is beyond the current
169-
* table dimensions.
168+
* The table expands automatically when the \p to column is beyond
169+
* the current table dimensions.
170170
*
171171
* \sa moveRow()
172172
*/

src/Wt/WTemplate

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ public:
233233
*
234234
* The default value is \c false.
235235
*
236-
* \sa WAnchor::setInternalPath()
236+
* \sa WAnchor::setRefInternalPath()
237237
*/
238238
void setInternalPathEncoding(bool enabled);
239239

src/Wt/WTextEdit

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public:
151151
*/
152152
const std::string toolBar(int i) const;
153153

154-
/* \brief Configure a TinyMCE setting.
154+
/*! \brief Configure a TinyMCE setting.
155155
*
156156
* A list of possible settings can be found at:
157157
* http://tinymce.moxiecode.com/wiki.php/Configuration.
@@ -162,7 +162,7 @@ public:
162162
void setConfigurationSetting(const std::string& name,
163163
const boost::any& value);
164164

165-
/* \brief Returns a TinyMCE configuration setting's value.
165+
/*! \brief Returns a TinyMCE configuration setting's value.
166166
*
167167
* An empty boost::any is returned when no value could be found for the
168168
* provided argument.

src/web/CgiParser.C

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,9 @@ CgiParser::CgiParser(::int64_t maxPostData)
181181

182182
void CgiParser::parse(WebRequest& request, ReadOption readOption)
183183
{
184+
/*
185+
* TODO: optimize this ...
186+
*/
184187
request_ = &request;
185188

186189
::int64_t len = request.contentLength();

src/web/Configuration.C

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ Configuration::Configuration(const std::string& applicationPath,
160160
serverPushTimeout_(50),
161161
valgrindPath_(""),
162162
errorReporting_(ErrorMessage),
163+
logTime_(false),
163164
runDirectory_(RUNDIR),
164165
sessionIdLength_(16),
165166
xhtmlMimeType_(false),
@@ -306,6 +307,8 @@ void Configuration::readApplicationSettings(xml_node<> *app)
306307
"or 'stack'");
307308
}
308309

310+
setBoolean(app, "log-response-time", logTime_);
311+
309312
if (serverType_ == FcgiServer) {
310313
xml_node<> *fcgi = singleChildElement(app, "connector-fcgi");
311314
if (!fcgi)

0 commit comments

Comments
 (0)