worldbank/ietoolkit

iedorep review Sep 2022 - Issues about intended functionality

luisesanmartin opened this issue · 3 comments

The following are comments about the functionality of iedorep that I'm flagging in case they're not part of the intended functionality.

  • if the input do-file changes the working directory, it stays changed after iedorep finishes running
  • for input do-files producing plots, they are opened and displayed in the Stata graph window
  • if an input do-file installs commands from ssc, they are actually installed in the system
  • if a do-file changes the ado PLUS path, it remains changed after iedorep finishes running

I agree that these are not desirable, but as far as I can see these are exactly the same behaviors as you would get by just running the do-file in the ordinary way, right? I think all of them are resolved by starting a new Stata session (which should always be done for replications) --- except installing ado files to the system, which is an ongoing issue that I was not able to resolve satisfactorily

So unless any of these have other consequences that break intended functionalities I won't take any action here.

For ados, I tried to implement the method flagged by Lars at https://julianreif.com/guide/:

tokenize `"$S_ADO"', parse(";")
while `"`1'"' != "" {
  if `"`1'"'!="BASE" cap adopath - `"`1'"'
  macro shift
}
adopath ++ `"`adopath'"'

This was attempted by allowing the user to set the adopath in an option -- but it would basically already need to exist in the project for this to function correctly. Without that, it did not work sufficiently well or in a way that I could predict the outcomes of -- which kept returning strange results and versions of ado-files were colliding in a way I couldn't understand. So I wasn't able to develop a successful method to do this wrapped around the do-file, although I would really like to.

For the graph window, yes, they have to be displayed in order to be exported by most typical means. There are some workarounds in Batch Mode but this would require user configuration, plus it won't work with all file types. quietly does not affect this:

. graph export test.png
could not find Graph window
r(693);