Interdependence of some projects in CFU #121
Replies: 6 comments 7 replies
-
Perhaps there could be a Dependencies property of the updater object. It would be set to a list of the AppID of the projects that are also installed if not already. e.g. for Thor, it would be set to the AppID for Thor Repository and PEM Editor. When a project is being installed, CFU checks Dependencies to see if the specified projects are installed and if not, download and install them too (it could just run the Thor_Update_AppID.prg). |
Beta Was this translation helpful? Give feedback.
-
RE: New property "Dependencies" Super idea. That will cover all needs, for sure, and at first blush looks like that will be easy to implement. |
Beta Was this translation helpful? Give feedback.
-
I have added this new property "Dependencies". All projects are presumed dependent on PEM Editor, Thor Repository, and Dynamic Forms. GoToDefinition is dependent on IntellisenseX and uses this new property. |
Beta Was this translation helpful? Give feedback.
-
I see that "Thor Repository" and "PEM Editor" is installed by default right now (I had some headache about it until I found this discussion). |
Beta Was this translation helpful? Give feedback.
-
"Dependencies" is a property in the Updater object. It can be set either in the Update prg for a project or in the version file. It indicates what other VFPX projects this project requires. It is a list (comma or space delimited) of the App names of the projects. So far, only used to link IntellisenseX and GoToDefinition. |
Beta Was this translation helpful? Give feedback.
-
I'm not sure what you are referring to when you say a "declaration" file. Each VFPX project that appears in CFU has an Updater file, managed in Thor. These are intended to be static. This is the only file for 3/4 of al projects. Within the Updater there can be a link to the Version file, which is managed by the individual project. Properties can be set in either place. In fact, they can be set in the Updater but then over-ridden by the Version file. |
Beta Was this translation helpful? Give feedback.
-
Some projects available form CFU assume that other projects have been installed and will not work properly (or maybe not at all) if the other projects are not installed.
Of course, there is no way for users to be aware of this interdependence, so I am opening this discussion about what to do about it.
This issue has come to mind because of a recent issue in Bin2Text, where the user followed the documentation to download Thor and then run CFU to download Bin2Text. Even though projects "Thor Repository" and "PEM Editor" are checked off, by default, in CFU, the user un-checked them and only installed Bin2Text. Things failed because Bin2Text (unknown possibly even to the author) depended on "Thor Repository" being installed. (Installing it took care of at least part of the user's problem).
Thus, it seems to me that at least two projects, "Thor Repository" and "PEM Editor", should always be installed, to avoid instances like this.
After further thought, I want to add "Dynamic Forms" to the list, as tools in "Thor Repository" (such as Super Browse) use Dynamic Forms, as well as some planned enhancements to Thor itself.
A secondary list is the pair of "GoToDefinition" and "IntellisenseX", as there is shared code between them -- neither of them are fully functional without the other. The change here would be that requesting one would in effect be requesting the other.
I wanted to get feedback on these ideas before beginning implementation.
Beta Was this translation helpful? Give feedback.
All reactions