Administrator
|
I am reorganizing an application and I need some sub-apps under different parents. Is it possible to do this in the image or is the only way to do it from the Editions Browser?
-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Hi Richard,
I'm not a 100% sure what you mean with "in the image", but adding a new subapplication to an existing app can be done by the Visual Organizer. Just select the desired "parent app" create a new edition and then choose "new" from the context menu. Here you can define the new app name and the choose the parent application if wich you want the new app to become a subapplication of. Is this what you are looking for? By the way, just to make sure. In Visual Organizer's options menu there is a "Full Menus" option. It add a lot of power to the user within the Visual Organizer. This option enabled you can also organized prerequisits/managers/groupmembers,... of your apps from within Visual Organizer. Sebastian Am 09.10.2013 16:07, schrieb Richard Sargent: > I am reorganizing an application and I need some sub-apps under > different parents. Is it possible to do this in the image or is the > only way to do it from the Editions Browser? > > -- > You received this message because you are subscribed to the Google > Groups "VA Smalltalk" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to [hidden email]. > To post to this group, send email to [hidden email]. > Visit this group at http://groups.google.com/group/va-smalltalk. > For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Administrator
|
On Wednesday, October 9, 2013 6:10:22 PM UTC-7, Sebastian Heidbrink wrote:
-- I'm not a 100% sure what you mean with "in the image", but adding a new Is this what you are looking for? No, sorry. I have application X and application Y. Application X has a sub-application called Z. I want to move Z from X to Y, preferably without unload or reloading anything. I can do it using the application editions browser, by adding the sub-app to the/a open edition of Y and removing from the open edition of Z, and then reloading X and Y simultaneously. But that is a nuisance, since I need to version and release everything in the affected applications and sub-applications first. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Administrator
|
That should have been "and removing from the open edition of X", of course.
-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
In reply to this post by Richard Sargent
Well, Richard,.... it is VASmalltalk
and ENVY. You won't be able to do any changes without new
editions.
But you should be able to modify your apps withoud the need to load them. If you take a new image and open the configuration maps browser, you can navigate into any configuration map and select an application. Choose "Configure application" from the context menu. You also get a Application edition brwoser. But you should be able to create new editions, move and release without the need to load any sources... But like I said. "No changes in VAST without new editions" ... at least as far as I know. Please let me know if you might know different. Sebastian Am 09.10.2013 18:47, schrieb Richard Sargent:
-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
In reply to this post by Richard Sargent
An alternative to the Editions Browser would just be the Application
Manager. Herre you must create a new edition of you parent applications and delete and add the sub applications accordingly. This way the sub applications should not get new editions. Sebastian Am 09.10.2013 16:07, schrieb Richard Sargent: > I am reorganizing an application and I need some sub-apps under > different parents. Is it possible to do this in the image or is the > only way to do it from the Editions Browser? > > -- > You received this message because you are subscribed to the Google > Groups "VA Smalltalk" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to [hidden email]. > To post to this group, send email to [hidden email]. > Visit this group at http://groups.google.com/group/va-smalltalk. > For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Administrator
|
In reply to this post by Richard Sargent
>> it is VASmalltalk
and ENVY. You won't be able to do any changes without new
editions.
-- That I knew. (For the record, I have worked with ENVY since the ENVY/400 product days in 1994.) My issue was that I wished to avoid using the editions browser and working with shadow applications and sub-applications. It would have been nice if I could simply modify the already loaded editions, by moving the sub-application from one to another. But, it doesn't seem like this is practical, at least not without digging very deep into the ENVY inner workings and writing a lot of code to recombine the capabilities already present. For the eight sub-applications I needed to move, it was a nuisance to have to version and release all the classes in the sub-apps and their parents, edit the editions, then reload the open editions. I had hoped there was a more direct way to do this. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Richard -
did you try the application manager? You just need to make and edition of you parent app and then delete the sub application from it. The you go to your new parent app and add the sub application. There is a "subapplications..." context menu availabe in the application tree of the application manager. Sebastian -- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
In reply to this post by Richard Sargent
Richard - I think we need an example of what you have and what you want to end up with in order to answer the question. John On Wednesday, October 9, 2013 7:07:59 PM UTC-4, Richard Sargent wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Administrator
|
In reply to this post by SebastianHC
Actually, Sebastian, I could not do this. The real world is a lot less pretty than an example of X, Y, and Z. :-)
-- The sub-application I wanted to move could not be unloaded/removed from the loaded application because there were too many dependencies on it from code in other applications. It would have been "simple" if there were a way to change the sub-application's parent and the parents' (old and new) knowledge of the sub-application, and update the edition records to reflect that. Theoretically, I would not have even had to version and release any of the current changes in the sub-application. (While that might not be a good idea, the nature of a Smalltalk image says it should have been possible.) Instead, I had to version and release all the modified classes in all the affected parents and their sub-applications, edit their edition line-ups, and simultaneously reload the two editions of the revised parents. (Simultaneous loading prevents VA from thinking it has to remove classes with dependents, etc. just to reload them. e.g. EmClassDevelopment imageBuilder loadApplications: shadowsToLoad, where shadows to load was an array with X editions first and Y editions first.) On Thursday, October 10, 2013 8:56:12 AM UTC-7, Sebastian Heidbrink wrote: Richard - You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Okay, now I get you,
well maybe you could try to modify the applications without having loaded anything. This could be done in the Application Editions Browser. You can modify the applications just how you want. But with the need to create new editions and versioning and releaseing. Here is what I am often wondering about. Why can instance variables not also just only be defined in class extensions? Sebastian Am 10.10.2013 13:40, schrieb Richard Sargent:
-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Administrator
|
In reply to this post by John O'Keefe-3
On Thursday, October 10, 2013 1:11:03 PM UTC-7, John O'Keefe wrote:
--
Hi John, The original description of X, Y, and Z was a schematic depiction of the problem. In reality, the situation was a lot more involved, but still amounted to what I described. As you may have seen from my last response to Sebastian, X, Y, and Z had a lot of other dependencies, making it impractical to restructure the applications using the available tools that worked on loaded applications. I was able to work around it, as previously noted, by first versioning and releasing the changed classes and releasing any unreleased sub-applications in the affected trees. Then, I could use the editions browser to remove the sub-application from one edition (in the repository, not in the image), adding it to the other, and then reloading the two editions. The reload didn't have to "change" any code, just change the relationships in the already loaded classes and sub-applications, which it does beautifully. So, as mentioned in earlier messages, it would have been nice to have a tool that worked on the loaded application structures to allow me to move the sub-application from one parent to another without all the extra steps. However, I don't see there being an economic justification for you to develop such a tool (unless you just find the challenge appealling!). This is not the kind of thing one does very often, not even when multiplied by the number of customers you have. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Administrator
|
In reply to this post by SebastianHC
On Thursday, October 10, 2013 1:46:44 PM UTC-7, Sebastian Heidbrink wrote:
--
+1! The answer why it cannot be done is that it is much harder than simple loading more methods. It could be done, but it is not very easy. Currently, an Extension is nothing but a collection of methods associated with a class. It would need to be more than that, since you would then need to have ENVY model the structural extension. One possibility would be an expression similar to a class creation expression, except it specifies what's being added to the structure. The syntax is easy. The devil is in the details. The modelling of a class would need to be richer, since you need to know what the original class definition is/was and you need to keep the structure of the extensions separate from one another, as well. I don't see a lot of difficulty, but I admit to not knowing enough that anyone should trust my opinion on that. The "description" instance variable already holds information corresponding to each application (just the list of selectors), but it could be enhanced to hold the definition of the structural aspects provided by each, too. There are probably issues or concerns with load order, too. Although I cannot think of what they would be. Rebinding the loaded extension methods to the instance variables is a bit of work, but it is a problem already handled by ordinary class definition changes. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
I think, that adding a new instance variable makes the whole stuff very complicated. Not only the development side has to be considered, but also the runtime side has to be considered.
-- For the runtime side it means, that the compiler must be available, hierachies of (sub-)classes have to be recompiled (when loading the extension) and due to different loading ways (assuming several extensions adding several instance variable) the system must be able to run with different var inst slots. I would guess, that this brings lots of problems. Marten You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Free forum by Nabble | Edit this page |