Compare Revisions

MCD, Mission Control Desktop, AKA AutoConfig

Change Revisions

Revision 57872:

Revision 57872 by Jehanproc on

Revision 57873:

Revision 57873 by Jehanproc on

Title:
MCD, Mission Control Desktop, AKA AutoConfig
MCD, Mission Control Desktop, AKA AutoConfig
Slug:
MCD,_Mission_Control_Desktop_AKA_AutoConfig
MCD,_Mission_Control_Desktop_AKA_AutoConfig
Tags:
Administration, enterprise, "Configuration management"
Administration, enterprise, "Configuration management"
Content:

Revision 57872
Revision 57873
t433      It's the same principle as above for Thunderbird. Binary dit433      It's the same principle as above for Thunderbird. Binary di
>stributions now include support for AutoConfig (pref extension!) >stributions should now include support for AutoConfig (pref exten
>but unfortunately not for LDAP calls&nbsp;:-( (cf. <code>MOZ_LDAP>sion!) but unfortunately not for LDAP calls&nbsp;:-( (cf. <code>M
>_XPCOM=1</code>). It is not vital in Firefox as it is for us in T>OZ_LDAP_XPCOM=1</code>). It is not vital in Firefox as it is for 
>hunderbird (need to get the cn and email address to set email acc>us in Thunderbird (need to get the cn and email address to set em
>ount, which are not available by default in the environment varia>ail account, which are not available by default in the environmen
>bles). However I could be useful to get LDAP values for Firefox e>t variables). However I could be useful to get LDAP values for Fi
>xtra config, for example to set the default home page to the <cod>refox extra config, for example to set the default home page to t
>e>labeledURI</code> LDAP attribute of the user.>he <code>labeledURI</code> LDAP attribute of the user.
434    </p>
435    <h4 name="AutoConfig_.28pref.29_and_LDAP_Support_in_Packages"
 >>
436      Firefox5
437    </h4>
438    <p>
439      Unlike Thunderbird5, Firefox5&nbsp; doesn't include <code><
 >em>prefcalls.js</em></code>&nbsp; in <code>omni.jar</code> , but 
 >other .js files though:
440    </p>
441    <p>
442      <code>[root@calaz firefox-5]# jar tvf omni.jar | grep pref<
 >br>
443      &nbsp;&nbsp;&nbsp; 0 Wed Jun 15 21:57:56 CEST 2011 <strong>
 >defaults/preferences/</strong><br>
444      &nbsp;&nbsp; 411 Wed Jun 15 21:57:56 CEST 2011 defaults/pre
 >ferences/all-redhat.js<br>
445      &nbsp;&nbsp; 138 Wed Jun 15 21:57:56 CEST 2011 defaults/pre
 >ferences/channel-prefs.js<br>
446      &nbsp; 1267 Wed Jun 15 21:57:56 CEST 2011 defaults/preferen
 >ces/firefox-branding.js<br>
447      &nbsp;&nbsp;&nbsp; 76 Wed Jun 15 21:57:56 CEST 2011 default
 >s/preferences/firefox-l10n.js<br>
448      &nbsp;48735 Wed Jun 15 21:57:56 CEST 2011 defaults/preferen
 >ces/firefox.js<br>
449      &nbsp; 2203 Wed Jun 15 21:57:56 CEST 2011 defaults/preferen
 >ces/services-sync.js<br>
450      &nbsp;&nbsp; 347 Wed Jun 15 21:57:56 CEST 2011 defaults/pro
 >file/prefs.js<br>
451      &nbsp; 8744 Wed Jun 15 21:57:56 CEST 2011 modules/services-
 >sync/engines/prefs.js</code>
452    </p>
453    <p>
454      So there is no <code>defaults/autoconfig/prefcalls.js</code
 >> and <code>defaults/pref</code> directory is now named <code>def
 >aults/preferences/</code> !
455    </p>
456    <p>
457      Remember in&nbsp; TB5 we have
458    </p>
459    <p>
460      <code># jar tvf ../thunderbird-5.0/omni.jar | grep pref<br>
 ></code>
461    </p>
462    <p>
463      <code>7499 Fri Jun 24 20:23:08 CEST 2011 <strong>defaults/a
 >utoconfig/prefcalls.js</strong><br>
464      &nbsp;&nbsp;&nbsp;&nbsp; 0 Fri Jun 24 20:23:08 CEST 2011 <s
 >trong>defaults/pref/</strong><br>
465      &nbsp;&nbsp; 277 Fri Jun 24 20:23:08 CEST 2011 defaults/pre
 >f/all-l10n.js<br>
466      &nbsp;27221 Fri Jun 24 20:23:08 CEST 2011 defaults/pref/all
 >-thunderbird.js<br>
467      &nbsp; 5865 Fri Jun 24 20:23:08 CEST 2011 defaults/pref/com
 >poser.js<br>
468      &nbsp;42591 Fri Jun 24 20:23:08 CEST 2011 defaults/pref/mai
 >lnews.js<br>
469      &nbsp;&nbsp; 806 Fri Jun 24 20:23:08 CEST 2011 defaults/pre
 >f/mdn.js<br>
470      &nbsp;&nbsp; 267 Fri Jun 24 20:23:08 CEST 2011 defaults/pre
 >f/smime.js<br>
471      &nbsp;&nbsp; 921 Fri Jun 24 20:23:08 CEST 2011 defaults/pre
 >f/thunderbird-branding.js<br>
472      &nbsp;&nbsp; 347 Fri Jun 24 20:23:08 CEST 2011 defaults/pro
 >file/prefs.js<br>
473      &nbsp;84859 Fri Jun 24 20:23:08 CEST 2011 greprefs.js</code
 >>
474    </p>
475    <p>
476      However, "autoconfig" can still work in FF5, I had to manua
 >lly create the directory branch to set my ff-autoconfig.js in <co
 >de>defaults/preferences/</code> :
477    </p>
478    <p>
479      <code>[root@calaz firefox-5]# mkdir -p defaults/preferences
 >/<br></code>
480    </p>
481    <p>
482      <code>[root@calaz firefox-5]# cat defaults/preferences/ff-a
 >utoconf.js<br>
483      // autoconfig jehan<br>
484      pref('general.config.obscure_value', 0);<br>
485      pref('general.config.filename', 'firefox.cfg');</code>
486    </p>
487    <p>
488      then specify our set of preferences for FF in firefox.cfg a
 >s named in ff-autoconf.js just above.
489    </p>
490    <p>
491      <code>[root@calaz firefox-5]# cat firefox.cfg<br>
492      //put everything in a try/catch<br>
493      try {<br>
494      //Privacy &amp; Security<br>
495      defaultPref("signon.rememberSignons", false);<br>
496      <br>
497      //Proxy and cache, as it is on NFS volume, we don't want ca
 >che<br>
498      lockPref("browser.cache.disk.capacity", 0);<br>
499      lockPref("network.cookie.cookieBehavior", 0);<br>
500      defaultPref("network.proxy.autoconfig_url", "<a class=" ext
 >ernal" href="http://wpad.int-evry.fr/wpad.dat" rel="freelink">htt
 >p://wpad.int-evry.fr/wpad.dat</a>");<br>
501      defaultPref("network.proxy.type", 2);<br>
502      lockPref("network.protocol-handler.app.mailto", "/usr/bin/t
 >hunderbird");<br>
503      <br>
504      //Firefox3 urlclassifier3.sqlite IOwait/CPU pb<br>
505      //<a class=" external" href="http://forums.mozillazine.org/
 >viewtopic.php?p=3381133#3381133" rel="freelink">http://forums.moz
 >illazine.org/viewto...381133#3381133</a><br>
506      defaultPref("browser.safebrowsing.enabled", false);<br>
507      defaultPref("browser.safebrowsing.malware.enabled", false);
 ><br>
508      <br>
509      // 1) env variables<br>
510      if(getenv("USER") != "") {<br>
511      &nbsp;&nbsp; // *NIX settings<br>
512      &nbsp;&nbsp; var env_user&nbsp;&nbsp;&nbsp; = getenv("USER"
 >);<br>
513      &nbsp;&nbsp; var env_home&nbsp;&nbsp;&nbsp; = getenv("HOME"
 >);<br>
514      &nbsp;} else {<br>
515      &nbsp;&nbsp; // Windows settings<br>
516      &nbsp;&nbsp; var env_user&nbsp;&nbsp;&nbsp; = getenv("USERN
 >AME");<br>
517      &nbsp;&nbsp; var env_home&nbsp;&nbsp;&nbsp; = getenv("HOMEP
 >ATH");<br>
518      &nbsp;}<br>
519      &nbsp; var env_mozdebug= getenv("MOZILLA_DEBUG");<br>
520      <br>
521      // 2) define here (because if set after "3)" below it doesn
 >'t work !) processLDAPValues which is eventually called by getLDA
 >PAttributes() just below,<br>
522      // check getLDAPAttributes() code from $MOZILLA_HOME/defaul
 >ts/autoconfig/prefcalls.js to see the inside call to "user define
 >d" processLDAPValues</code>
523    </p>
524    <p>
525      <code><br>
526      <u><strong>/* Commented all this section about ldap calls, 
 >not supported in FF5 packages :-(</strong></u></code>
527    </p>
528    <p>
529      <code><br>
530      function processLDAPValues (values) {<br>
531      &nbsp;if(values) {<br>
532      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // set the global var with t
 >he values returned from the LDAP query<br>
533      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ldap_values = values;<br>
534      &nbsp;&nbsp;&nbsp; var uid = getLDAPValue ( values ,"uid" )
 >;<br>
535      &nbsp;&nbsp;&nbsp; var cn = getLDAPValue ( values ,"cn" );<
 >br>
536      &nbsp;&nbsp;&nbsp; var mail = getLDAPValue ( values ,"mail"
 > );<br>
537      &nbsp;&nbsp;&nbsp; var URL =&nbsp; getLDAPValue ( values ,"
 >labeledURI" );<br>
538      //Debug with popup error messages doesn't work anymore :-( 
 >!!<br>
539      var env_mozdebug= getenv("MOZILLA_DEBUG");<br>
540      if (env_mozdebug) {displayError("NO ERROR , just a debug, c
 >n =" + cn + " and mail = " + mail + " ,labeledURI=" + URL ); }<br
 >>
541      //if (env_mozdebug) {displayError("NO ERROR , just a test, 
 >cn =" + cn + " and mail = " + mail); }<br>
542      //lockPref("browser.startup.homepage", URL );<br>
543      lockPref("browser.startup.homepage", <a class=" external" h
 >ref="http://gaspar.it-sudparis.eu" rel="freelink">http://gaspar.i
 >t-sudparis.eu</a> );<br>
544      &nbsp;&nbsp;&nbsp; }<br>
545      &nbsp; }<br>
546      */<br>
547      if (env_mozdebug) {displayError("NO ERROR ,s2ia debug v1.1 
 >just a test, user =" + env_user); }<br>
548      lockPref("browser.startup.homepage", "<a class=" external" 
 >href="http://gaspar.it-sudparis.eu" rel="freelink">http://gaspar.
 >it-sudparis.eu</a>" );<br>
549      // 3) Call Ldap servers to get Ldap Attributes (mail &amp; 
 >cn) , this will finally call processLDAPValues , "2)" just above.
 ><br>
550      // getLDAPAttributes("ldap2.int-evry.fr","ou=people,dc=int-
 >evry,dc=fr","uid=" + env_user,"uid,cn,mail,labeledURI");<br>
551      <br>
552      // Close the try, and call the catch()<br>
553      } catch(e) {displayError("lockedPref", e);}</code>

Back to History