Re: admin user interface has become very slow with Dada Mail version 4.0.0 beta 4 11/03/09

 
From: "Frans Gouverne" <fransgnl@PROTECTED>
Date: November 10th 2009
2009/11/10 Justin J <justin@PROTECTED>

On Nov 7, 2009, at 5:38 PM, Frans Gouverne wrote:
I noticed the admin user interface has become very slow with �Dada Mail version 4.0.0 beta 4 11/03/09. This becomes irritating when you want to quickly change an option or subscriber data. (using a single core 3GHz PC).

After playing around with javascript I discovered that "scriptaculous.js" takes about 3-4 seconds to parse! However, when e.g. using admin screen "f=send_email" only file "effect.js" is needed for function Effect.BlindDown() to open/close the +/- views.

So I replaced:

<script src="http://dadamailproject.com/cgi-bin/dada/mail.cgi/javascripts/scriptaculous.js" type="text/javascript"></script>

into:

<script src="http://dadamailproject.com/cgi-bin/dada/mail.cgi/javascripts/effects.js" type="text/javascript"></script>

in file "default_admin_template.tmpl" and now this javascript parses in less than 0.8 seconds!


OK - sounds good to me. I can't think of anything else I'm using Scriptalicious for (a lot of what I'm using just uses prototype.js)

To make this solution better, I've read it's good to place the Javascript at the *bottom* of the page you're serving up. I was playing around with this, but this did basically break... everything - the Javascript stopped working.

If you use at the bottom:

<script src="<!-- tmpl_var S_PROGRAM_URL -->/javascripts/scriptaculous.js?load=effects.js" type="text/javascript"></script>

this will not work indeed because scriptaculous.js will only look into the head section of the document.

So when moving the scripts to the bottom of default_admin_template.tmpl, either change scriptaculous.js:

��� $$('head script[src]').findAll(function(s) {

into:

��� $$('body script[src]').findAll(function(s) {� //search for <script> elements in body tag

or include effects.js right away:

<script src="<!-- tmpl_var S_PROGRAM_URL -->/javascripts/effects.js" type="text/javascript"></script>

The total delay is noticeable less indeed when they are moved to the bottom of the page.

Frans



--
Justin J.

Dada Mail - �Write Once: Distribute Everywhere Software
url: http://dadamailproject.com

The Dada Mail Demo:
http://demo.dadamailproject.com


On Nov 7, 2009, at 5:38 PM, Frans Gouverne wrote:
I noticed the admin user interface has become very slow with �Dada Mail version 4.0.0 beta 4 11/03/09. This becomes irritating when you want to quickly change an option or subscriber data. (using a single core 3GHz PC).

After playing around with javascript I discovered that "scriptaculous.js" takes about 3-4 seconds to parse! However, when e.g. using admin screen "f=send_email" only file "effect.js" is needed for function Effect.BlindDown() to open/close the +/- views.

So I replaced:

<script src="http://dadamailproject.com/cgi-bin/dada/mail.cgi/javascripts/scriptaculous.js" type="text/javascript"></script>

into:

<script src="http://dadamailproject.com/cgi-bin/dada/mail.cgi/javascripts/effects.js" type="text/javascript"></script>

in file "default_admin_template.tmpl" and now this javascript parses in less than 0.8 seconds!

So my suggestion is to selectively include the necessary *.js files depending on the needed functionality to speed up the user interface considerably.

n file scriptaculous.js it looks like it can detect the needed files itself:

� �includes = s.src.match(/\?.*load=([a-z,]*)/);
� �(includes ? includes : 'builder,effects,dragdrop,controls,slider,sound').split(',').each(

but I am not sure yet how it really works. Currently it includes all listed js files for sure.

Btw, to measure the time I use the following code:

<SCRIPT type="text/javascript">
currentTime = new Date();
mytime1 = currentTime.getTime();
</script>

<script src="http://www.rhwz.nl/cgi-bin/dada/mail.cgi/javascripts/scriptaculous.js" type="text/javascript"></script>

<SCRIPT type="text/javascript">
currentTime = new Date();
mytime2 = currentTime.getTime();
alert('needed time in ms: ' + (mytime2 - mytime1) );
</script>

Frans




--

Post: <mailto:dadadev@PROTECTED>

Unsubscribe:
<http://dadamailproject.com/cgi-bin/dada/mail.cgi/u/dadadev/>

List Information: <http://dadamailproject.com/cgi-bin/dada/mail.cgi/list/dadadev>

Archive: <http://dadamailproject.com/cgi-bin/dada/mail.cgi/archive/dadadev>

Mailing List Powered by Dada Mail
http://dadamailproject.com/cgi-bin/dada/mail.cgi/what_is_dada_mail/



--

Post:<mailto:dadadev@PROTECTED>

Unsubscribe:
<http://dadamailproject.com/cgi-bin/dada/mail.cgi/u/dadadev/>

List Information:<http://dadamailproject.com/cgi-bin/dada/mail.cgi/list/dadadev>

Archive:<http://dadamailproject.com/cgi-bin/dada/mail.cgi/archive/dadadev>

Mailing List Powered by Dada Mail
http://dadamailproject.com/cgi-bin/dada/mail.cgi/what_is_dada_mail/

Post:
mailto:[list_settings.discussion_pop_email]

Unsubscribe:
http://dadamailproject.com/cgi-bin/dada/mail.cgi/u/[list]/

List Information:
[PROGRAM_URL]/list/[list_settings.list]

Archive:
[PROGRAM_URL]/archive/[list_settings.list]

Mailing List Powered by Dada Mail

  • This mailing list is a public mailing list - anyone may join or leave, at any time.
  • This mailing list is a group discussion list (unmoderated)
  • Start a new thread, email: dadadev@dadamailproject.com

This is the developer discussion mailing list for Dada Mail.

If you are just looking for support Dada Mail, consult the message boards at:

https://forum.dadamailproject.com

Documentation for Dada Mail:

https://dadamailproject.com/d

Specifically, see the Error FAQ:

https://dadamailproject.com/d/FAQ-errors.pod.html

To post to this list, send a message to:

mailto:dadadev@dadamailproject.com

All subscribers of this list may post to the list itself.

Topics that are welcome:

  • Constructive critiques on the program (I like, "x", but, "y" needs some work - here's an idea on how to make this better...)
  • Bug/Error reports
  • Bug fixes
  • Request For Comments on any changes to the program
  • Help customizing Dada Mail for your own needs
  • Patches
  • Language Translations
  • Support Documentation/Doc editing, FAQ's, etc.
  • Discussion of any changes that you would like to be committed to the next version of Dada Mail -

Dada Mail is on Github:

https://github.com/justingit/dada-mail/

If you would like to fork, branch, send over PRs, open up issues, etc.

Privacy Policy:

This Privacy Policy is for this mailing list, and this mailing list only.

Email addresses collection through this mailing list are used explicitly to work within this email discussion list.

We only collect email addresses through our Closed-Loop Opt-In system.

We don't use your email address for any other purpose.

We won't be sharing your email address with any other entity.

Unsubscription can be done at any time. Please contact us at: justin@dadamailproject.com for any help regarding your subscription, including removal from the mailing list.

All mailing list messages sent from us will include a subscription removal link, which will allow you to remove yourself from this mailing list automatically, and permanently.

All consent to use your email address for any other purpose stated at the time of the mailing list subscription will also be revoked upon mailing list removal.