Forum .LRN Q&A: dotlrn installation instructions updated

I've updated the dotlrn installation instructions at
http://dotlrn.openforce.net/doc/dotlrn-install.adp

This version is up-to-date with all the installation feedback that
testers have provided us. Thanks testers (you know who you are).

The installation process has been streamlined. The latest version
gets rid of the muliple server restarts. We've tested this
process on our servers, so we know it works in certain cases, but
let us know if it dosen't work for you.

Please report bugs, suggestions, nitpicks, what-have-you to
mailto:dotlrn@openforce.net.

Thanks.

Collapse
Posted by Arjun Sanyal on
Minor update to the instructions today. You no longer have to modify the file-storage-init.tcl file in file-storage for dotlrn to work.

Please upgrade file-storage and dotlrn-fs to HEAD to get these changes.

Collapse
Posted by Arjun Sanyal on
Another update.

1. added instructions to create the content-repository-content-files dir in the serverroot

2. new instructions on creating a /graphics dir in the global-pageroot and copying the graphics in dotlrn/www/graphics there. This is a workaround for the bug that non-dotlrn (including non-logged-in) users cannot see the default dotlrn header graphics.

To upgrade your dotlrn installation just follow the instructions marked "(NEW! June 30)" on the dotlrn installation page.

Thanks to Harry Neuwirth for first reporting this issue.

Collapse
Posted by Arjun Sanyal on
Yet another update. Two things:

1. updated note about "content-repository-content-files" directory
which is now included in the "acs-core" CVS alias, so it does not
have to be created manually.

2. added information about the new "attachments" package which is
currently used by "forums" and "calendar". Exising installations of "forums" and "calendar" will not break without this package, but attachments funcationality will not be available.

Collapse
Posted by Radam Batnag on

I downloaded dotLRN from CVS and tried installing on PostgreSQL 7.1.3. After successfully installing the OpenACS packages, I got an error when I tried to install the dotlrn package. I ran the scripts in dotlrn-create.sql one by one, until I got to this error from security-create.sql:

psql:security-create.sql:82: ERROR: triggered data change violation on relation "acs_privilege_hierarchy_index"

I ran the commands one by one in psql, and all went well. The other dotLRN packages installed smoothly after that, and I'm now in dotLRN Exploration Heaven.

Collapse
Posted by Radam Batnag on

Oops.

I prematurely declared victory. After mounting dotlrn, attachments, and notifications, setting the kernel parameters, and restarting the server, I didn't see the (+) beside dotLRN in the sitemap. And I have this error message in my logs:

 Error: Error sourcing /var/lib/aolserver/servers/dotlrn/packages/dotlrn/tcl/dotlrn-init.tcl:
Database operation "0or1row" failed (exception NSDB, "Query was not a statement returning rows.")
    while executing
"ns_db 0or1row $db "select $function_name ()""
    invoked from within
"db_exec_plpgsql $db $full_statement_name $sql  $statement_name"
    invoked from within
"if {[regexp -nocase -- {^s*select} $test_sql match]} {
            db_qd_log Debug "PLPGSQL: bypassed anon function"
            set selection [db_ex..."
    ("uplevel" body line 6)
    invoked from within
"uplevel 1 $code_block "
    invoked from within
"db_with_handle db {
        # plsql calls that are simple selects bypass the plpgsql 
        # mechanism for creating anonymous functions (OpenACS - ..."
    (procedure "db_exec_plsql" line 13)
    invoked from within
"db_exec_plsql rename_folder {}"
    (procedure "fs::rename_folder" line 3)
    invoked from within
"fs::rename_folder -folder_id $folder_id -name {User's Folders}"
    (procedure "dotlrn_fs::add_applet" line 7)
    invoked from within
"dotlrn_fs::add_applet"
    (procedure "AcsSc.dotlrn_applet.AddApplet.dotlrn_fs" line 1)
    invoked from within
"AcsSc.dotlrn_applet.AddApplet.dotlrn_fs"
    ("uplevel" body line 1)
    invoked from within
"uplevel $func_and_args"
    (procedure "apply" line 3)
    invoked from within
"apply $proc_name $arguments"
    (procedure "acs_sc_call" line 6)
    invoked from within
"acs_sc_call dotlrn_applet $op $list_args $applet_key"
    (procedure "dotlrn_community::applet_call" line 2)
    invoked from within
"dotlrn_community::applet_call $applet AddApplet [list]"
    ("foreach" body line 3)
    invoked from within
"foreach applet [dotlrn_community::list_applets] {
            ns_log notice "dotlrn-init: calling ${applet}::AddApplet"
            dotlrn_community::..."
    ("uplevel" body line 14)
    invoked from within
"uplevel 1 $transaction_code "
    (procedure "db_transaction" line 1)
    invoked from within
"db_transaction {

        ns_log notice "dotlrn-init: dotlrn is instantiated, about to call dotlrn_applet::init"

        # this may seems strange, bu..."
    invoked from within
"if {[dotlrn::is_instantiated]} {

    set package_id [dotlrn::get_package_id]

    # make sure we aren't inheriting permissions from dotlrn's parent o..."
    (file "/var/lib/aolserver/servers/dotlrn/packages/dotlrn/tcl/dotlrn-init.tcl" line 30)
    invoked from within
"source $__file "

Any idea on what happened, and how to proceed?

Collapse
Posted by Yonatan Feldman on
radam, make sure that you have the latest file-storage code. always make sure that your entire checkout is on the head of the tree.
Collapse
Posted by Samir Joshi on
Radam,

This thread tracks dotLRN port on Postgresql

https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=00051T&topic_id=15&topic=dotLRN%20Development

About the data change violation ( from previous forum answers) acs-kernel/sql/acs-create.sql has one way to deal with it - temporarily disable the trigger. Though that solution did not work for me, placing all add_child statements outside transaction worked. I dont remember the thread but Dan explained this as problem with the trigger when in a single transaction two or more add_child calls are made.

Collapse
Posted by Arjun Sanyal on
Another update. "dotlrn-default-master" is replaced with "dotlrn-master" which is much cleaner, documented, and will be the basis for further improvements. Thanks.