Opened 13 years ago

Last modified 13 years ago

#1064 new Enhancement

all_projects_list.xml should be refreshed on Add Project

Reported by: JacobKlein Owned by: davea
Priority: Minor Milestone: Undetermined
Component: Manager Version: 6.10.58
Keywords: all_projects_list.xml Projects Cc: Jacob_W_Klein@…

Description

I recently reported a problem that was fixed by updating URLs in the "Attach to Project" screens, which I believe was fixed behind the scenes by an update to the file all_projects_list.xml

When testing, I confirmed the new URL's by uninstalling BOINC, renaming the data directory, installing BOINC 6.12.19, and verifying the correct information in all_projects_list.xml ... Further testing shows that, the .xml file that is installed is an old one, and then when the manager auto-opens the "Attach Project" wizard, the new .xml file is downloaded.

But when I retested the scenario of installing on top of pre-existing data directory, the file does not get updated!

What are the conditions that this file gets updated?  I would think that it should be updated every time a user clicks "Add project or account manager..." or "Add project...", and the network is available.  Every time.  Not just 1 time per version, and not just 1 time per session.

Could you please fix this?
Otherwise, users will always have the old lists (for instance mine is from 10/6/2010 and is not being updated), showing old descriptions, old URLs, old applications, etc.

Change History (12)

comment:1 Changed 13 years ago by JacobKlein

Component: UndeterminedManager
Owner: set to romw

comment:2 Changed 13 years ago by romw

Owner: changed from romw to davea

comment:3 Changed 13 years ago by davea

The project list is supposed to be refreshed every 14 days. The <all_projects_list_check_time> element in client_state.xml stores the time when it was last refreshed. Please check this element.

We should eventually refresh the list on each attach as you suggest, but the rate of project creation (roughly zero) doesn't demand this now.

comment:4 Changed 13 years ago by JacobKlein

My client_state.xml file has the <all_projects_list_check_time> element set to 1302248566.883408, which is "Fri, 08 Apr 2011 !07:42:46 GMT" according to http://www.onlineconversion.com/unix_time.htm

However, my records indicate that the URLs were fixed around 3/10/2011, yet my all_projects_list.xml file has the bad URLs and was last modified 10/6/2010.

So, something is still not refreshing it properly.  Could it possible be a permissions issue on the file?

Would it be possible to force an update of the list whenever the Add Project wizard is ran?

comment:5 Changed 13 years ago by romw

If you set that time to '0.0' then restart the client does it download the updated list? I've updated the project list in the source tree. I suspect the installer is over-writing the project list when you install a different build.

comment:6 Changed 13 years ago by JacobKlein

Thanks for your suggestions.

To test your request, I made a copy of my data directory, to preserve the "problem" data directory. On the copy, if I set the time to 0.0 and restart the client, the file does get updated upon client launch.  Your test was successful. So, I closed the client, and deleted the copy.

As a test of my own, I installed 6.12.22 when no data directory exists.  The installer installs the 10/6/2010 version of the file, and then once the client runs, the file gets redownloaded.

As another test of my own, I uninstalled BOINC, then put the updated file in the data directory, then reinstalled BOINC.  The 6.12.22 installer does indeed replace any version of all_projects_list.xml with the 10/6/2010 version. Your suspicion was correct.

Can you please explain what "I've updated the project list in the source tree." means, and how it will affect the user?

Also, should any part of this auto-update process be changed, to ensure the users aren't given older versions of the project list?

comment:7 Changed 13 years ago by romw

Basically when building client package a static copy of the project list is included in the installation package so that people are given a valid list of projects they can attach to if the boinc.berkeley.edu server is offline.

The project list on boinc.berkeley.edu is the master list, so basically by updating what is in the source tree I update whatever is included in future builds of the BOINC client package.

comment:8 Changed 13 years ago by JacobKlein

I see.  So, future builds will include the changes from the master list.

Should any part of the auto-update process be changed?  Should any other changes be made to ensure that updates to Project Information get better replicated to the source tree?

I still personally like the idea of refreshing the list each time the user clicks Add Project.

comment:9 Changed 13 years ago by JacobKlein

Summary: all_projects_list.xml is not updated when pre-existing data directory existsall_projects_list.xml should be refreshed on Add Project
Type: DefectEnhancement

When not connected to the Internet and trying to add a project, having a 14-day refresh of the project list is nice.

When connected to the Internet and trying to add a project, an immediate refresh of the project list would be better.

This will make sure that the most up-to-date information is presented, since it is available, and since changes could have been made within the 14-day window.

I'll change this ticket to be an enhancement request.

comment:10 Changed 13 years ago by romw

I suspect that if you did a complete clean install (i.e. the data directory is deleted after the install process) you would find that the all_projects_list.xml is updated pretty quick after the install and startup of BOINC.

On a clean install the check at startup would find that the all_project_list.xml check had never been preported before and would set about updating the list.

comment:11 Changed 13 years ago by romw

I meant to say uninstall process, not install process...

comment:12 Changed 13 years ago by JacobKlein

True, a complete clean install (with no pre-existing data directory) does appear to download the latest version of the list, because the 14-day-timer was preset to expired.

And, although I haven't completely tested the 14-day-timer, I'm betting it does work correctly.

What I'm saying is that, after months of participating, if a user goes to add a new project or account manager, they are given a list that is up-to-14-days old (possibly older depending on prior network connectivity), when really BOINC should at least try to get the newest project list, which may have been recently updated.

That is the enhancement I am requesting.

Note: See TracTickets for help on using tickets.