Opened 14 years ago

Closed 13 years ago

#710 closed defect (fixed)

CD/DVD exported collection location dependent?

Reported by: kjdon Owned by: ak19
Priority: moderate Milestone: 2.84 Release
Component: Collection Exporting Severity: major
Keywords: Cc:

Description

Paul Yachnes reported that he created a CD version of a collection and it ran from the original location but not when he moved the folder. Is this true?

Does a config file get saved into the collection that shouldn't be there? I haven't had this problem, but have always generated on linux and run on windows. what happens if its generated on windows?

Change History (7)

comment:1 by kjdon, 14 years ago

oh, just read a follow up email, and when you run it to test it, then the llssite gets created and folder info is stored.

Check to make sure that thats all that is happening.

comment:2 by ak19, 14 years ago

That's right: upon testing the export folder that was created by running its server.exe, I also found the llssite file with values like collecthome and gsdlhome written out to it. If this is then moved elsewhere, these values prevent server.exe from working out the new gsdlhome.

MORE BUGS - More serious issues to do with exporting to CD/DVD:

  • it does not work with non-standard collect-dirs yet. The Export (to other formats) menu option also has this issue. Both have to do with exportcol.pl. Exportcol.pl will need to take a collectdir param and be modified to make use of it. GLI will need to pass the collectdir to it.
  • as it is, the windows version of exporting to CD/DVD does funny things:

When you choose the "do not install any files on the hard drive" option, running server.exe will (attempt to) create llssite.cfg.

When you choose "install some files on the hard drive" option, Setup.exe--working with gssetup.exe possibly--ends up generating a server site configuration file called "gsdlsite.cfg". So it's using the old naming convention instead of the newer "llssite.cfg" file. The problem is that the server.exe that is expected to use it is the currently compiled server.exe, which doesn't work with any files called gsdlsite.cfg anymore.

When using the "install some files on the hard drive" option, Setup.exe (which is launched automatically through Autorun.inf) gives you two choices: To install all collections or not to install all collections. However, in both cases, a collect folder containing all the exported collections is installed in the location you specify during Setup.exe's execution. But, if you didn't choose to install all collections, then running the server.exe that is also installed in that location (and which generates an llssite.exe when run) will result in a complaint about the macros folder being missing. The difference between installing all collections and not doing so seems to be that macros, web and a few other folders are not copied over. But server.exe is always copied from the exported CD image into the selected location. (And why do we have a server that can run off the CD when it is copied to a local file system area instead?)

The first question is: what is export to CD supposed to do and what is it not supposed to do? How should "install some files" work? Should server.exe get copied over, for instance?

comment:3 by ak19, 14 years ago

The following changes concern both the above ticket (menu options Exporting to other DL formats and Writing to CD-ROM), and ticket 152 which was about making non-standard collectdirs work in GLI:

Both export.pl and exportcol.pl--for Export (to other formats) and Write To CD-Rom menu options, respectively--are now given a collectdir parameter so exporting can work for collections in non-standard collect directories. Exportcol.pl was adjusted to work with this additional parameter, although export.pl seemed to already support the -collectdir parameter.

  1. Revision 22848:
  • src\org\greenstone\gatherer\gui\WriteCDImagePrompt.java
  1. Revision 22849:
  • bin\script\exportcol.pl
  • perllib\strings.properties

comment:4 by ak19, 13 years ago

3 additional sets of fixes made so far to the issues described in the 2nd comment above:

1) The name of the config file generated when server.exe of a CD-ROM export is run has been changed from gsdlsite.cfg to llssite.cfg in order to work with the newer server.exe

Revision 22929: other-projects/gs2-export-cdrom-installer/trunk/gsinstall.cpp

2) When doing a partial install on the harddrive, the CD Rom installer used to have issues when deleting and reinstalling (which we do for testing). This was because it would register the program with Windows registry and would try to re-install in the old location by getting that location from the Windows registry (it explicitly keeps track of existing installations). And in such cases where an installation already exists, it would not reinstall server.exe (or other executables), even though these might have been manually deleted. Now it no longer skips installing executables on subsequent re-installs.

Revision 22957: Location: other-projects/gs2-export-cdrom-installer/trunk Files - 2 modified

  • README.txt
  • gsinstall.cpp

3) Compiling gs2-export-cdrom-installer works again:

Dr Bainbridge got gssetup.exe (for the export to cdrom installer) to work again for a later version of Visual Studio: now it works with Visual Studio 9 and does not use STLPort anymore. Changed .rc reference to including afxres.h to windows.h in vcinstall.rc, and there were changes to dereferencing File elements in an STL iterator (in fileCopier.cpp). Also needed to change references to unsigned double to double since the former seems to no longer be supported in later versions of Vis Studio.

Location: other-projects/gs2-export-cdrom-installer/trunk

Files: 7 modified

  • README.txt
  • fileCopier.cpp
  • fileCopier.h
  • vcinstall.rc
  • win32.mak

comment:5 by ak19, 13 years ago

And also commited the executable into bin/win:

  • gssetup.exe updated to work with llssite.cfg instead of the old name for the file (gsdlsite.cfg). Also, deleting a CD installation and reinstalling it now works better, as it no longer skips installing executables on subsequent installs as it used to.

Files: main/trunk/binaries/windows/bin/gssetup.exe

comment:6 by ak19, 13 years ago

Owner: changed from nobody to ak19

The following seem to all be working now (tested with my GS2 install of the caveat from 4 Oct):

  1. CD-only version, where no files are copied to the local hard drive. In this case, no llssite.cfg is generated, as expected, since CDs are write-only.
  1. Installing some files on the local drive + installing collections: llssite.cfg is now the only config file that's created, the deprecated gsdlsite.cfg is not there any more by default. (These improvements are due to the earlier fixes listed in the 2 comments above).

In case Paul Yachnes or anyone else was working with this configuration, upon moving his GS CD installation (the partial installation on the local hard disk), he will need to delete the llssite.cfg so that this gets regenerated from GS' new location. This config file will then contain all the correct values for paths.

  1. Installing some files on the local hard drive (but without installing collections): this works too and places gssetup.exe, a log file, etc folder and a collect folder (but containing only a gdb database file) in the installed location. HOWEVER, in this case, if the installed folder is to be moved, do NOT delete llssite.cfg. Instead, once the GS installation has been moved elsewhere (e.g. C:\newlocation), edit llssite.cfg to contain the correct location for its "gdbmhome" property. Set its value to the new top level folder that the GS components have been moved to (using the same example, the gdbmhome value should be set to C:\newlocation).
  1. If working with the "install some files on the hard drive" option (for both its suboptions where install collections is turned on and turned off), and if one were to reinstall from the CD-ROM, the registry issues are no longer there due to the recent fixes. I was able to easily reinstall in any location without there being incomplete or failed installation issues such as suddenly missing folders like macros and web. I am able to delete installations and subsequently reinstall (with or without collections) without there being issues where the installation fails or is incomplete. There is ONE problem however: using the Windows option to uninstall installed software from the Control Panel to uninstall the CD-Rom GS installation does not complete as gssetup.exe crashes. But uninstalling from the Control Panel wasn't working cleanly before the recent changes either, and manual deletion had earlier prevented proper reinstallations. Now one can try to uninstall from the Control Panel, but can then manually delete the gssetup.exe and any other file left over, or just manually delete the entire CD GS installation, and it all works fine for future reinstallations.

comment:7 by ak19, 13 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.