Forum OpenACS Q&A: Logger application released

Collapse
Posted by Lars Pind on
Hi All,

Thanks to Heidelberg University, we were able to release the new "logger" application last week.

It's an application which lets you log time, expenses, weight, account balance, or just about anything that has a value.

It distinguishes between things that you add up, such as time and expenses, and things that you average over, such as your body weight or your account balance.

It has an interesting feature, namely that it lets your mount your logger projects in multiple logger instances. Here's how we use that at Collaboraid:

We have an instance of the logger at /intranet/logger, which we use to log the hours we spend on our projects on a day-by-day basis. Then we have an /extranet/client-name area for each of our clients, where we mount another instance of logger.

Then we link the logger projects that relate to that client to the /extranet/client-name/logger instance, so our clients can follow our time consumption on their projects continuously.

We think it's pretty neat, and that giving our clients complete transparency in the time spent is pretty neat.

You'll find it in the OpenACS CVS repository on the oacs-4-6 branch, and it currently requires the head of that branch to work. It'll work with the upcoming 4.6.3 release of OpenACS.

Enjoy! :)

/Lars

Collapse
Posted by Ben Koot on
Lars,

I upgraded to 4.62 last wednesday. I wanted to try the logger, but get this error message Any thoughts what to dö?

Thanks
Ben

Request Error
No fullquery for dbqd.logger.www.admin.index.select_projects and default SQL empty - query for statement missing
    while executing
"error "No fullquery for $statement_name and default SQL empty - query for statement missing""
    (procedure "db_qd_replace_sql" line 10)
    invoked from within
"db_qd_replace_sql $statement_name $pre_sql"
    (procedure "db_exec" line 15)
    invoked from within
"db_exec select $db $full_statement_name $sql"
    invoked from within
"set selection [db_exec select $db $full_statement_name $sql]"
    ("uplevel" body line 2)
    invoked from within
"uplevel 1 $code_block "
    invoked from within
"db_with_handle -dbn $dbn db {
        set selection [db_exec select $db $full_statement_name $sql]
        set local_counter 0

        while { [db_ge..."
    (procedure "db_multirow" line 40)
    invoked from within
"db_multirow -extend { permissions_url } projects select_projects {} {
    set description [string_truncate -len 50 $description]
    set permissions_u..."
    ("uplevel" body line 25)
    invoked from within
"uplevel {
          ad_page_contract {
    Administration index page for the Logger application.

    @author Peter marklund (mailto:peter@collaboraid.biz)
..."
    (procedure "code::tcl::/web/snorri/packages/logger/www/admin/index" line 2)
    invoked from within
"code::tcl::$__adp_stub"
    invoked from within
"if { [file exists $__adp_stub.tcl] } {

      # ensure that data source preparation procedure exists and is up-to-date
      adp_init tcl $__adp_stub
..."
    ("uplevel" body line 3)
    invoked from within
"uplevel {

    if { [file exists $__adp_stub.tcl] } {

      # ensure that data source preparation procedure exists and is up-to-date
      adp_init t..."
    (procedure "adp_prepare" line 2)
    invoked from within
"adp_prepare "
    (procedure "template::adp_parse" line 30)
    invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
    (procedure "adp_parse_ad_conn_file" line 7)
    invoked from within
"$handler"
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
    $handler
      } ad_script_abort val {
    # do nothing
      }"
    invoked from within
"rp_serve_concrete_file [ad_conn file]"
    (procedure "rp_serve_abstract_file" line 60)
    invoked from within
"rp_serve_abstract_file "$root/$path""
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
    rp_serve_abstract_file "$root/$path"
    set tcl_url2file([ad_conn url]) [ad_conn file]
    set tcl_url2path_info([ad_conn url]) [ad_conn path_inf..."

Collapse
Posted by Rocael Hernández Rizzardini on
This is really cool Lars, thanks!
Collapse
Posted by Jade Rubick on
Thanks, Lars. I'll look into this for use in the project management software for OpenACS.
Collapse
Posted by Lars Pind on
Jade,

Yes, that was the plan. We deliberately have a very shallow concept of 'projects', in the hope that whenever we have a 'project' package, we'd integrate with that.

Ben,

No, I have no idea. Are you on PG or Oracle? We haven't seen that problem.

But ... it's only known to work with 4.6.3 or current top of oacs-4-6 branch.

/Lars

Collapse
Posted by Ben Koot on
I am on postgress. ok. I'kll see what happens if we upgrade to 4.6.3

Cheers
Ben

Collapse
Posted by Jarkko Laine on
Ben,

check that you have the fullquery "select_projects" in logger/www/admin/index-postgresql.xql file. If it does, there seems to be some problem with the parsing of xml files on your server.

I checked the checkout we're working on and the query exists in index-postgresql.xql there. This doesn't sound like a problem that would have anything to do with the version of OpenACS. If a query is not found, it's probably not found in a later version 😊