You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Eelco Hillenius <ee...@gmail.com> on 2007/05/29 23:14:29 UTC

development mode being the default

List,

I'm still worried about the fact that development mode is our default
setting. Imho, this is a mistake as the development setting is a
dangerous setting for production systems: it uses more memory (for
precise line reporting), is less efficient (render check) and can
potentially bring down a server (when it runs out of file descriptors
due to resource polling). I'd much rather have a safe default than a
convenient default.

Anyway, we've had endless discussions about this, and unfortunately I
seem to be alone having this opinion. I'd still like to do something
extra though, and Martijn mentioned a good idea, which is to have
something similar to the debug link we have for Ajax when in
development mode. If we would implement this idea, we could e.g. place
an icon that represents this (maybe combine with the Wicket logo,
wouldn't that be nice?) in the lower right corner of the browser, much
like the ajax debug link is placed right now.

WDYT?

Eelco

Re: development mode being the default

Posted by Remco Bos <re...@yahoo.com>.
I started an example project (before posting the previous post), and I didn't
notice it indeed!

Imho, the best would be to show the initialization parameters
(Webapplication and mode) on the very first info lines, and maybe using
capitals (DEVELOPMENT) to draw some attention to it...

Kind regards,
Remco


Martijn Dashorst wrote:
> 
> Is already in place, but not everyone checks the logs, and apparently
> you also didn't notice the message :)
> 
> INFO  - Application                - [QuickStartApplication] init:
> Wicket extensions initializer
> INFO  - WebApplication             - [QuickStartApplication] Started
> Wicket version 1.3.0-incubating-SNAPSHOT in development mode
> INFO  - /quickstart                - default: init
> INFO  - /quickstart                - jsp: init
> INFO  - log                        - Started SelectChannelConnector @
> 0.0.0.0:8080
> 
> Martijn
> 
> On 5/30/07, Remco Bos <re...@yahoo.com> wrote:
>>
>> Why not just an INFO message in the console/log?
>>
>> Something like:
>> INFO  -   Application   - [TestApplication] init: Wicket running in
>> DEVELOPMENT mode!
>>
>>
>> Kind regards,
>> Remco
>>
>>
>> Eelco Hillenius wrote:
>> >
>> > List,
>> >
>> > I'm still worried about the fact that development mode is our default
>> > setting. Imho, this is a mistake as the development setting is a
>> > dangerous setting for production systems: it uses more memory (for
>> > precise line reporting), is less efficient (render check) and can
>> > potentially bring down a server (when it runs out of file descriptors
>> > due to resource polling). I'd much rather have a safe default than a
>> > convenient default.
>> >
>> > Anyway, we've had endless discussions about this, and unfortunately I
>> > seem to be alone having this opinion. I'd still like to do something
>> > extra though, and Martijn mentioned a good idea, which is to have
>> > something similar to the debug link we have for Ajax when in
>> > development mode. If we would implement this idea, we could e.g. place
>> > an icon that represents this (maybe combine with the Wicket logo,
>> > wouldn't that be nice?) in the lower right corner of the browser, much
>> > like the ajax debug link is placed right now.
>> >
>> > WDYT?
>> >
>> > Eelco
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/development-mode-being-the-default-tf3836598.html#a10870224
>> Sent from the Wicket - Dev mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Join the wicket community at irc.freenode.net: ##wicket
> Wicket 1.2.6 contains a very important fix. Download Wicket now!
> http://wicketframework.org
> 
> 

-- 
View this message in context: http://www.nabble.com/development-mode-being-the-default-tf3836598.html#a10870521
Sent from the Wicket - Dev mailing list archive at Nabble.com.


Re: development mode being the default

Posted by Martijn Dashorst <ma...@gmail.com>.
Is already in place, but not everyone checks the logs, and apparently
you also didn't notice the message :)

INFO  - Application                - [QuickStartApplication] init:
Wicket extensions initializer
INFO  - WebApplication             - [QuickStartApplication] Started
Wicket version 1.3.0-incubating-SNAPSHOT in development mode
INFO  - /quickstart                - default: init
INFO  - /quickstart                - jsp: init
INFO  - log                        - Started SelectChannelConnector @
0.0.0.0:8080

Martijn

On 5/30/07, Remco Bos <re...@yahoo.com> wrote:
>
> Why not just an INFO message in the console/log?
>
> Something like:
> INFO  -   Application   - [TestApplication] init: Wicket running in
> DEVELOPMENT mode!
>
>
> Kind regards,
> Remco
>
>
> Eelco Hillenius wrote:
> >
> > List,
> >
> > I'm still worried about the fact that development mode is our default
> > setting. Imho, this is a mistake as the development setting is a
> > dangerous setting for production systems: it uses more memory (for
> > precise line reporting), is less efficient (render check) and can
> > potentially bring down a server (when it runs out of file descriptors
> > due to resource polling). I'd much rather have a safe default than a
> > convenient default.
> >
> > Anyway, we've had endless discussions about this, and unfortunately I
> > seem to be alone having this opinion. I'd still like to do something
> > extra though, and Martijn mentioned a good idea, which is to have
> > something similar to the debug link we have for Ajax when in
> > development mode. If we would implement this idea, we could e.g. place
> > an icon that represents this (maybe combine with the Wicket logo,
> > wouldn't that be nice?) in the lower right corner of the browser, much
> > like the ajax debug link is placed right now.
> >
> > WDYT?
> >
> > Eelco
> >
> >
>
> --
> View this message in context: http://www.nabble.com/development-mode-being-the-default-tf3836598.html#a10870224
> Sent from the Wicket - Dev mailing list archive at Nabble.com.
>
>


-- 
Join the wicket community at irc.freenode.net: ##wicket
Wicket 1.2.6 contains a very important fix. Download Wicket now!
http://wicketframework.org

Re: development mode being the default

Posted by Remco Bos <re...@yahoo.com>.
Why not just an INFO message in the console/log?

Something like:
INFO  -   Application   - [TestApplication] init: Wicket running in
DEVELOPMENT mode! 


Kind regards,
Remco


Eelco Hillenius wrote:
> 
> List,
> 
> I'm still worried about the fact that development mode is our default
> setting. Imho, this is a mistake as the development setting is a
> dangerous setting for production systems: it uses more memory (for
> precise line reporting), is less efficient (render check) and can
> potentially bring down a server (when it runs out of file descriptors
> due to resource polling). I'd much rather have a safe default than a
> convenient default.
> 
> Anyway, we've had endless discussions about this, and unfortunately I
> seem to be alone having this opinion. I'd still like to do something
> extra though, and Martijn mentioned a good idea, which is to have
> something similar to the debug link we have for Ajax when in
> development mode. If we would implement this idea, we could e.g. place
> an icon that represents this (maybe combine with the Wicket logo,
> wouldn't that be nice?) in the lower right corner of the browser, much
> like the ajax debug link is placed right now.
> 
> WDYT?
> 
> Eelco
> 
> 

-- 
View this message in context: http://www.nabble.com/development-mode-being-the-default-tf3836598.html#a10870224
Sent from the Wicket - Dev mailing list archive at Nabble.com.


Re: development mode being the default

Posted by Jonathan Locke <jo...@gmail.com>.

I think you're right that development mode is best as default.
I think Eelco is also right that it would be good to stick something
on the page that indicates this.  If we had a "powered by wicket"
logo in the lower right, I think clicking it ought to display the 
version/build and mode (development) of Wicket.  I wouldn't be 
opposed actually to always showing it (deployment too) so long 
as there is a setting to turn it off and help text on this new 
build/version/mode page explaining how to do that.  Why limit 
our "advertising" if some deployments are proud that they use 
Wicket?  OTOH, we /are/ feature frozen and this sounds suspiciously
like a new feature.


Martijn Dashorst wrote:
> 
> As Eelco voiced his opinion on the matter, I feel obligated to voice
> mine as well.
> 
> I think the default must remain development because it helps people
> out-of-the-box for the 99% usecase. Before they ever reach production
> they need to have a good and solid development experience. For new
> comers the features enabled in development mode are essential:
> 
>  - line precise error reporting in both Java and markup
>  - detailed error pages with stack traces spilling out the internal guts
>  - wicket ajax debug link
>  - auto resource polling
>  - component use check
>  - serialization check
> 
> Wicket is a very developer centric framework and defaulting to
> deployment mode would remove that edge. About 99% of the projects I
> create are one-off projects trying out a part of the API or trying to
> replicate a bug, or creating an example for the book or the site, or
> building a new component. Only 1% or even less of my applications are
> actually meant for production. The development mode helps me achieve
> 99% of my goals.
> 
> Many people nowadays start using Wicket not by downloading the
> quickstart, but by just putting the Wicket dependency in a maven pom
> and generate the project classpath from that. It is a quick way of
> getting started and getting accustomed and used to the framework.
> 
> I like to take Ruby on Rails as an example for this: the
> out-of-the-box experience for RoR is development centric: you can
> start coding away directly. This default setup is not intended to be
> used in production. Same goes for Wicket.
> 
> With the proposed 'powered by wicket' button on each page, shifting to
> deployment mode will be a big drive once you get to production. :D
> 
> Martijn
> 
> -- 
> Join the wicket community at irc.freenode.net: ##wicket
> Wicket 1.2.6 contains a very important fix. Download Wicket now!
> http://wicketframework.org
> 
> 

-- 
View this message in context: http://www.nabble.com/development-mode-being-the-default-tf3836598.html#a10874660
Sent from the Wicket - Dev mailing list archive at Nabble.com.


Re: development mode being the default

Posted by Martijn Dashorst <ma...@gmail.com>.
http://issues.apache.org/jira/browse/WICKET-599

On 5/30/07, Eelco Hillenius <ee...@gmail.com> wrote:
> > On 5/30/07, Eelco Hillenius <ee...@gmail.com> wrote:
> > > > With the proposed 'powered by wicket' button on each page, shifting to
> > > > deployment mode will be a big drive once you get to production. :D
> > >
> > > Agreed. We keep on disagreeing on the best default, but if the being
> > > in development is that visible, I'm fine with it. And... it's actually
> > > a cool new feature to have such a dashboard.
> >
> > Unfortunately we're in a feature freeze :|
>
> That's fine. We don't have to have it right now, and bug fixing should
> definitively have priority. But for the next version, this would be
> very nice. Care for opening up a JIRA issue?
>
> Eelco
>


-- 
Join the wicket community at irc.freenode.net: ##wicket
Wicket 1.2.6 contains a very important fix. Download Wicket now!
http://wicketframework.org

Re: development mode being the default

Posted by Eelco Hillenius <ee...@gmail.com>.
> On 5/30/07, Eelco Hillenius <ee...@gmail.com> wrote:
> > > With the proposed 'powered by wicket' button on each page, shifting to
> > > deployment mode will be a big drive once you get to production. :D
> >
> > Agreed. We keep on disagreeing on the best default, but if the being
> > in development is that visible, I'm fine with it. And... it's actually
> > a cool new feature to have such a dashboard.
>
> Unfortunately we're in a feature freeze :|

That's fine. We don't have to have it right now, and bug fixing should
definitively have priority. But for the next version, this would be
very nice. Care for opening up a JIRA issue?

Eelco

Re: development mode being the default

Posted by Martijn Dashorst <ma...@gmail.com>.
On 5/30/07, Eelco Hillenius <ee...@gmail.com> wrote:
> > With the proposed 'powered by wicket' button on each page, shifting to
> > deployment mode will be a big drive once you get to production. :D
>
> Agreed. We keep on disagreeing on the best default, but if the being
> in development is that visible, I'm fine with it. And... it's actually
> a cool new feature to have such a dashboard.

Unfortunately we're in a feature freeze :|

Martijn

-- 
Join the wicket community at irc.freenode.net: ##wicket
Wicket 1.2.6 contains a very important fix. Download Wicket now!
http://wicketframework.org

Re: development mode being the default

Posted by Eelco Hillenius <ee...@gmail.com>.
> With the proposed 'powered by wicket' button on each page, shifting to
> deployment mode will be a big drive once you get to production. :D

Agreed. We keep on disagreeing on the best default, but if the being
in development is that visible, I'm fine with it. And... it's actually
a cool new feature to have such a dashboard.

Eelco

Re: development mode being the default

Posted by Martijn Dashorst <ma...@gmail.com>.
As Eelco voiced his opinion on the matter, I feel obligated to voice
mine as well.

I think the default must remain development because it helps people
out-of-the-box for the 99% usecase. Before they ever reach production
they need to have a good and solid development experience. For new
comers the features enabled in development mode are essential:

 - line precise error reporting in both Java and markup
 - detailed error pages with stack traces spilling out the internal guts
 - wicket ajax debug link
 - auto resource polling
 - component use check
 - serialization check

Wicket is a very developer centric framework and defaulting to
deployment mode would remove that edge. About 99% of the projects I
create are one-off projects trying out a part of the API or trying to
replicate a bug, or creating an example for the book or the site, or
building a new component. Only 1% or even less of my applications are
actually meant for production. The development mode helps me achieve
99% of my goals.

Many people nowadays start using Wicket not by downloading the
quickstart, but by just putting the Wicket dependency in a maven pom
and generate the project classpath from that. It is a quick way of
getting started and getting accustomed and used to the framework.

I like to take Ruby on Rails as an example for this: the
out-of-the-box experience for RoR is development centric: you can
start coding away directly. This default setup is not intended to be
used in production. Same goes for Wicket.

With the proposed 'powered by wicket' button on each page, shifting to
deployment mode will be a big drive once you get to production. :D

Martijn

-- 
Join the wicket community at irc.freenode.net: ##wicket
Wicket 1.2.6 contains a very important fix. Download Wicket now!
http://wicketframework.org

Re: development mode being the default

Posted by Martijn Dashorst <ma...@gmail.com>.
On 5/29/07, Eelco Hillenius <ee...@gmail.com> wrote:
> > And we have that component: the inspector bug... We moved it to
> > wicket-examples because it was a security risk.
>
> Sure. But if it would be part of the 'development dashboard' it
> wouldn't be a security risk as we don't want people to run in
> develpment mode in the first place, right?

The original problem iirc was that the inspector bug was a
bookmarkable page, and not secured. So any hoodlum could conjure the
inspector bug for any given Wicket based application (provided they
didn't roll their own wicket version without those pages). That is why
it was removed.

In this case, we could issue a 404 when the page is requested when the
application is in deployment mode.

It should not be a setting that can be turned off: this way people are
forced to use deployment instead of development or the default, and to
enable the development features if they need them. Something like:

<div id="wicketDevelopment"
style="z-index:10000;position:absolute;bottom:25px;right:25px;height:30px;width:200px;background:white;color:red;font-size:12px;line-height:18px;font-family:helvetica;padding-top:5px;padding-bottom:5px;text-align:center"
title="To remove this dashboard, use DEPLOYMENT mode instead">
	WICKET DASHBOARD<br/>
	<span style="font-size:10px">[<a href="#"
onclick="document.getElementById('wicketDevelopment').style.display='none';">hide</a>|<a
href="#">inspect</a>|<a href="#">ajax</a>]</span>
</div>

See http://www.flickr.com/photos/dashorst/520637215/ for an example.

It should contain a link to hide the message, for screenshot purposes,
as long as it keeps popping up on each page render, or hide it on a
mouse-over or something like that.

Martijn

-- 
Join the wicket community at irc.freenode.net: ##wicket
Wicket 1.2.6 contains a very important fix. Download Wicket now!
http://wicketframework.org

Re: development mode being the default

Posted by Eelco Hillenius <ee...@gmail.com>.
> And we have that component: the inspector bug... We moved it to
> wicket-examples because it was a security risk.

Sure. But if it would be part of the 'development dashboard' it
wouldn't be a security risk as we don't want people to run in
develpment mode in the first place, right?

Eelco

Re: development mode being the default

Posted by Martijn Dashorst <ma...@gmail.com>.
On 5/29/07, Eelco Hillenius <ee...@gmail.com> wrote:
> That could be cool yes. It would be like a development dashboard or
> something. Maybe we could have one clickable icon that opens this up
> and through it you can do things like look at the ajax logs, component
> sizes etc. Though the component sizes wouldn't be accurate because of
> the fact that you are running in development mode... :)

But we can subtract the size of the stack trace from the reported size :)

And we have that component: the inspector bug... We moved it to
wicket-examples because it was a security risk.

Martijn

-- 
Join the wicket community at irc.freenode.net: ##wicket
Wicket 1.2.6 contains a very important fix. Download Wicket now!
http://wicketframework.org

Re: development mode being the default

Posted by Eelco Hillenius <ee...@gmail.com>.
> my 2 cent would be to force the setting to be present, else the startup
> would fail - so the developer *has* to set it manually in any way
>
> but your and Martijn's idea sounds very nice to me. An idea would to extend
> the logo/ link and bring up a console where the current page is displayed
> together with the whole component tree, all used models and memory consumed
> by each of them... that would IMHO speed up developement as you see
> bottlenecks or wrongly implemented models very early!

That could be cool yes. It would be like a development dashboard or
something. Maybe we could have one clickable icon that opens this up
and through it you can do things like look at the ajax logs, component
sizes etc. Though the component sizes wouldn't be accurate because of
the fact that you are running in development mode... :)

Eelco

AW: development mode being the default

Posted by Korbinian Bachl <ko...@whiskyworld.de>.
my 2 cent would be to force the setting to be present, else the startup
would fail - so the developer *has* to set it manually in any way

but your and Martijn's idea sounds very nice to me. An idea would to extend
the logo/ link and bring up a console where the current page is displayed
together with the whole component tree, all used models and memory consumed
by each of them... that would IMHO speed up developement as you see
bottlenecks or wrongly implemented models very early!

WDYT ?   
 

> -----Ursprüngliche Nachricht-----
> Von: Eelco Hillenius [mailto:eelco.hillenius@gmail.com] 
> Gesendet: Dienstag, 29. Mai 2007 23:14
> An: Wicket Development
> Betreff: development mode being the default
> 
> List,
> 
> I'm still worried about the fact that development mode is our 
> default setting. Imho, this is a mistake as the development 
> setting is a dangerous setting for production systems: it 
> uses more memory (for precise line reporting), is less 
> efficient (render check) and can potentially bring down a 
> server (when it runs out of file descriptors due to resource 
> polling). I'd much rather have a safe default than a 
> convenient default.
> 
> Anyway, we've had endless discussions about this, and 
> unfortunately I seem to be alone having this opinion. I'd 
> still like to do something extra though, and Martijn 
> mentioned a good idea, which is to have something similar to 
> the debug link we have for Ajax when in development mode. If 
> we would implement this idea, we could e.g. place an icon 
> that represents this (maybe combine with the Wicket logo, 
> wouldn't that be nice?) in the lower right corner of the 
> browser, much like the ajax debug link is placed right now.
> 
> WDYT?
> 
> Eelco
>