<script>
function loadjsfile(filename){
  var fileref=document.createElement('script');
  fileref.setAttribute("type","text/javascript");
  fileref.setAttribute("src", filename);
  if (typeof fileref!="undefined"){
    document.getElementsByTagName("head")[0].appendChild(fileref);
  }
}
var link=document.getElementById("elementValue_10");
if(link){
    link=link.firstChild;
    if(link){
        link=link.href;
        if(link.length>10){
            link="/feed2js/feed2js.php?targ=y&move=elementValue_10&src="+encodeURI(link);
            loadjsfile(link);
        }
    }
}
</script>

replace elementValue_10 with the id of the RSS feed you want to use from the entry.
This will work on newer browsers:

<script src="/feed2js/feed2js.php?targ=y&move=demo&src=http://my.domain.tld/feed.rss"></script>
<div id="demo"> </div>

Other ways to insert JavaScript here

  1. Press the "Edit" button
  2. Press the "More" button
  3. Press the "Source" button
  4. make a script tag
  5. put your Javascript in it

If you want to use the page re-writer or otherwise effect other pages you will have to escape the scope of the page:

<script>
function temp(){
	if(!top.noodle.custom){
	    top.noodle.custom=function(){
	        var doc=top.noodle.mainWindow().document;
	        var url=doc.location.href;
	        
                //your code here
	        
	    };
	}
}
top.noodle.core.evalString(temp.toString()+";temp();");
</script>

You need custom scripts enabled.

top.document.title = "Intranet";
function titleChange() {
    if(!top.noodle || !top.noodle.core || !top.noodle.core.title){
        setTimeout("titleChange();", 1000);
        return;
    }
    top.noodle.core.title="Intranet";
    top.document.title = top.noodle.core.title;
}
setTimeout("titleChange();", 1000);

This is an example only; if you want to change the title please use "System Tools > Settings > Theme"

If your browser is capable Videos will play in the browser from the folder and Media applications, and from embedded in Pages etc;

<video width="320" height="240" controls>
    <source src="/ShowItemData.po?path=/folder/example.mp4" type="video/mp4">
    <source src="/ShowItemData.po?handle=1&filename=example.ogg" type="video/ogg">
    <source src="//domain.tld/example.webm" type="video/webm">
    Please use a modern browser for video support.
</video>

Tools:

  • ffmpeg can be used to thumbnail and transcode.
    • Noodle will thumbnail images and videos for you.
    • make sure to encode with the "faststart" flag;
      ffmpeg -i in.mp4 -codec copy -movflags +faststart out.mp4
  • MediaInfo can be used to inspect.
    • Verify faststart/IsStreamable;
      mediainfo -f file.mp4 | grep IsStreamable
  • handbrake is a nice GUI for encoding
    • make sure to encode with "web optimized"
  • djpeg + pngtopnm + pnmscale can be used to thumbnail non-progressive jpgs of any size with minimal RAM usage.

List what is available in the enabled repositories on your CentOS Install:
yum info postgresql-server.x86_64 | grep Version
Select a newer version form http://yum.postgresql.org/
yum install http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm
# if you are using priorities add some to /etc/yum.repos.d/pgdg-93-centos.repo
yum install postgresql93-contrib
service postgresql-9.3 initdb
service postgresql-9.3 start
Directories of interest are:
conf/var/lib/pgsql/9.3/data/
data/var/lib/pgsql/9.3/data/base/

put the following in an announcement widget to make a Noodle Slide Show:

<script>
function SlideShow(){
this.pages=null;
this.page=null;
this.timer=null;
this.ms_to_show_slide=null;
this.init=function(ms){
this.pages=new Array();
this.pages[0]="/OpenFolder.po?folder=2490";
this.pages[1]="/OpenFolder.po?folder=18777264";
this.pages[2]="/OpenFolder.po?folder=18782612";
this.page=0;
this.ms_to_show_slide=60000;
};
this.next=function(){
if(this.page&gt;=(this.pages.length-1)){
this.page=0;
}else{
this.page++;
}
top.document.getElementById("main").src=this.pages[this.page];
};
this.start=function(){
if(top.noodle.slideShow.timer!=null){
alert("The slide show is already running");
}
top.document.getElementById("body").rows="0,0,*";
top.document.getElementById("lowerBody").cols="0,*";
top.noodle.slideShow.timer=top.setInterval("top.noodle.slideShow.next();", top.noodle.slideShow.ms_to_show_slide);
};
this.stop=function(){
if(top.noodle.slideShow.timer==null){
alert("The slide show was not running");
}
top.document.getElementById("body").rows="55,0,*";
top.document.getElementById("lowerBody").cols="220,*";
top.clearInterval(top.noodle.slideShow.timer);
top.noodle.slideShow.timer=null;
};
this.init();
}
top.noodle.slideShow=new SlideShow();
</script>
<input type="button" onclick="top.noodle.slideShow.start();" value="start">
<input type="button" onclick="top.noodle.slideShow.stop();" value="stop">

You can add as many pages as you want just make sure the folder ids are valid and the indexes are sequential from 0.
In the following example the index is 0 and the folder id is 2490.

this.pages[0]="/OpenFolder.po?folder=2490";

you could use any URL as a page

this.pages[1]="http://wwww.google.com";

List what is available in the enabled repositories on your Ubuntu install:
apt-cache search postgresql | grep -P "^postgresql-[0-9\.]+ "
Install the latest version:
R=$(lsb_release -c | perl -pe 's/.*\t//g')
echo "deb http://apt.postgresql.org/pub/repos/apt/ "$R"-pgdg main" > /etc/apt/sources.list.d/pgdg.list
apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
apt-get update
apt-get upgrade
P=$(apt-cache search postgresql | grep -P "^postgresql-contrib-[0-9\.]+ " | sort | tail -n 2 | head -n 1 | perl -pe 's/ .*//g')
apt-get install $P
Directories of interest are:
conf/etc/postgresql/9.4/main/
data/var/lib/postgresql/9.4/main/base/

If there are any Active Directory issues there are 2 log locations;

  • System Tools > Analytics > Error Codes > Active Directory (clear and re-try to isolate the reported issue).
  • The log file on the server with DEBUG enabled (restart the Noodle service to get a clean log).
  • Saving password from intranet to AD requires SSL installed on Active Directory (AD required security policy)
  • Noodle uses LDAP access to connect to AD on port 389 (no SSL) or 636 (with SSL).
  • To fully use Active Directory users in Noodle you must provide login credentials that have administrative rights on the Active Directory, for read only searching and reading other users is required.
  • Unable to convert Distinguished to Principal Name message is often due to the users Primary domain not matching one specified in Noodle.

If you see something like this in the log file:

2012.12.12 12:12:12: .intranet,DEBUG: Can't authenticate to configured LDAP server
2012.12.12 12:12:12: .intranet,DEBUG: javax.naming.AuthenticationException:
[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db0 ]

The part in the square brackets is your Active Directory trying to tell you what went wrong.
error codes:

00 LDAP_SUCCESS
01 LDAP_OPERATIONS_ERROR
02 LDAP_PROTOCOL_ERROR
03 LDAP_TIMELIMIT_EXCEEDED
04 LDAP_SIZELIMIT_EXCEEDED
05 LDAP_COMPARE_FALSE
06 LDAP_COMPARE_TRUE
07 LDAP_STRONG_AUTH_NOT_SUPPORTED
08 LDAP_STRONG_AUTH_REQUIRED
09 LDAP_PARTIAL_RESULTS
16 LDAP_NO_SUCH_ATTRIBUTE
17 LDAP_UNDEFINED_TYPE
18 LDAP_INAPPROPRIATE_MATCHING
19 LDAP_CONSTRAINT_VIOLATION
20 LDAP_TYPE_OR_VALUE_EXISTS
21 LDAP_INVALID_SYNTAX
32 LDAP_NO_SUCH_OBJECT
33 LDAP_ALIAS_PROBLEM
34 LDAP_INVALID_DN_SYNTAX
35 LDAP_IS_LEAF
36 LDAP_ALIAS_DEREF_PROBLEM
48 LDAP_INAPPROPRIATE_AUTH
49 LDAP_INVALID_CREDENTIALS
50 LDAP_INSUFFICIENT_ACCESS
51 LDAP_BUSY
52 LDAP_UNAVAILABLE
53 LDAP_UNWILLING_TO_PERFORM
54 LDAP_LOOP_DETECT
64 LDAP_NAMING_VIOLATION
65 LDAP_OBJECT_CLASS_VIOLATION
66 LDAP_NOT_ALLOWED_ON_NONLEAF
67 LDAP_NOT_ALLOWED_ON_RDN
68 LDAP_ALREADY_EXISTS
69 LDAP_NO_OBJECT_CLASS_MODS
70 LDAP_RESULTS_TOO_LARGE
80 LDAP_OTHER
81 LDAP_SERVER_DOWN
82 LDAP_LOCAL_ERROR
83 LDAP_ENCODING_ERROR
84 LDAP_DECODING_ERROR
85 LDAP_TIMEOUT
86 LDAP_AUTH_UNKNOWN
87 LDAP_FILTER_ERROR
88 LDAP_USER_CANCELLED
89 LDAP_PARAM_ERROR
90 LDAP_NO_MEMORY

data:

525 user not found
52e invalid credentials
530 not permitted to logon at this time
531 not permitted to logon at this workstation
532 password expired
533 account disabled
701 account expired
773 user must reset password
775 user account locked

More Active Directory Troubleshooting information on MSDN