Changes between Initial Version and Version 1 of MasterUrl


Ignore:
Timestamp:
Oct 10, 2009, 5:47:06 PM (15 years ago)
Author:
Nicolas
Comment:

Add instructions on how to change a project's master URL. Text directly from my email to boinc_dev; I will do some cleanup shortly.

Legend:

Unmodified
Added
Removed
Modified
  • MasterUrl

    v1 v1  
     1= Changing a project URL =
     2
     3Changing a project master URL is not a trivial task. It's recommended that
     4projects avoid keeping things prone to change in their project URLs, like
     5using an IP address, or even putting the university they are in as part of
     6the hostname (Docking@Home had to change the URL twice or so because they
     7changed university / organization / department / something). Thus, the best
     8way is having a domain name just for that project. Good URLs don't change.
     9
     10Even having multiple projects as boinc.example.org/project1 and
     11boinc.example.org/project2 may be problematic if you eventually decide you
     12want to move project2 to a different server. It's best to have
     13project1.example.org and project2.example.org so they can (now or in the
     14future) have different IP addresses.
     15
     16All that said, here is how you change a project URL:
     17
     18
     19 1. Pick a *good* new URL according to the above recommendations, so that you
     20 will never need to change it again.
     21 2. If the project was ever public, post news to let users now the URL will
     22 change.
     23 3. If you have any tasks in progress or waiting to be sent, it's recommended
     24 you wait until they are all done before changing the URL. And/or abort the
     25 unsent tasks. You *could* edit the database to fix URLs for input files, to
     26 make the unsent workunits work once the URL is changed; but if users already
     27 have workunits on their computers, they will still have old URLs and you
     28 can't edit that.
     29 4. Stop the project.
     30 5. Replace URL everywhere in config.xml
     31 6. Replace scheduler URL in html/users/schedulers.txt. Prefix should match the
     32 URL in <cgi_url> in config.xml.
     33 7. If you have project-wide files, like logos for the simple GUI, replace
     34 download URLs in project_files.xml
     35 8. Delete everything in html/cache, since cached pages may have links to the
     36 old URL, and users would get broken links for an hour or so. Don't delete the
     37 cache folder itself. rm -rf html/cache/*
     38 9. Either create new application versions, or update the app_version table to
     39 have the new URLs:
     40 UPDATE app_version SET xml_doc =
     41 REPLACE(xml_doc, "http://old.example.com/", "http://new.example.org/");
     42 10. If you have forums, you may want to do a similar replacement on forum
     43 contents, in case users posted links to workunits / users / computers /
     44 something.
     45 11. Start the project, send some test workunits,  and hope it works. Keep a
     46 copy of "Murphy's Law - and other reasons why things go wrong" handy.
     47