Forum .LRN Q&A: Re: Re: notes on upgrading dotLRN to 2.2.0a1

Collapse
Posted by Orzenil Silva Junior on
Hi Malte,

good news. I think we guessed what was wrong in the upgrade and we are going to fix it in a better way.

Community and Class portals were not destroyed by upgrade. Some parameters - dotlrn_level_p, community_level_p and community_type_level_p - were changed to null (we really dont know why yet) in the upgrade. Maybe apm reset all them to null?? We are trying to see how could be happen...

Just go into your class or community package instance and change this parameters in site-map setting them as they were configured originally on community or class creation:

ad_parameter -package_id $package_id -set 0 dotlrn_level_p

ad_parameter -package_id $package_id -set 0 community_type_level_p

ad_parameter -package_id $package_id -set 1 community_level_p

Here we go... your portal is up!

Second problem:

we had undefined config(package_id) for some new applets as curriculum and news-agregator. I tryed just drop actual portlet implementation, change portal_datasource__set_def_param value for package_id from "" to "list" and load implementation again.

After that go into your portlet procedures and add the switch

-extra_params [list package_id $package_id]

where you declare the call to proc

portal::add_element_parameters and portal::remove_element_parameters

It worked

We are preparing changes to do on upgrade.

If the community could make some advices on how to solve it it will be very appreciated

Thank you

\Orzenil

Collapse
Posted by Malte Sussdorff on
Hi Orzenil,

did you manage to find out where the problem was with the parameters being set to NULL?

I just made a fresh upgrade and it failed again due to this error.

Malte,

Finally we found a way to manage problems due dotlrn parameters (community_level_p, community_type_level_p and dotlrn_level_p) being set to NULL after upgrade.

We tried this solution with recent upgrades we did from dotlrn-2.1.1 to dotlrn-2.2.0a3 and dotlrn-2.1.3 to dotlrn-2.2.0a3, using postgresql

We just create an auxiliary table with sql upgrade script to preserve old parameters values stored in apm_parameter_values and introduced a callback in dotlrn/tcl/apm-callbacks.tcl. This callback is responsible to copy attr_values from auxiliary table to apm_parameter_values after upgrade.

It works for us and upgrade was made easy. Community portals are showed after upgrade and besides not all aplications were fully tested yet we think this solution could be interesting.

We will continue this week looking at dotlrn installations we upgraded searching for bugs or inconvenients after upgrade and testing packages for dotlrn-all. I will post a patch for dotlrn with our suggestion so you could appreciate. Nima, your considerations would be great too.

Patch for bug:

https://openacs.org/bugtracker/openacs/bug?f%5fcomponent=56129&format=table&f%5fstate=7&bug%5fnumber=2717&project%5fid=56106