amcgilly:
After upgrading a 4.0.1 installation to 4.1 I some of the icons in the solution explorer have changed (see image). Solutions seem to work fine.What, if anything, do the changed icons mean?
See this post Adrian
amcgilly:
After upgrading a 4.0.1 installation to 4.1 I some of the icons in the solution explorer have changed (see image). Solutions seem to work fine.What, if anything, do the changed icons mean?
See this post Adrian
Thank you David & Kahuna for your help.
Next question.
I created a 4.1 installation by making a copy of my 4.0.1 folder and running servoy_updater.bat.
Meanwhile development under 4.0.1 proceeded. So to finish the upgrade I committed all my work under 4.0.1 and moved my repository from the 4.0.1 installation to the 4.1 folder? Is that allowed? I ask because when I do this, solutions that showed zero ‘problems’ under 4.0.1 suddenly are showing problems under 4.1 (see image below). Thanks for your help.
Error and warning reporting is greatly improved from 4.0.1 to 4.1, so where you had no errors or warnings in 4.0.1, you might get them in 4.1
Paul
I would appreciate some guidance on how to resolve some of the errors I’m getting when I upgrade from 4.0.1 to 4.1.
I have one parent solution and 3 modules under that solution. One of those modules contains core resources (including imageMedia, valuelists, forms) that are shared among different solutions.
Many of the errors are occuring when a property in the parent solution is relying on that module - Servoy is complaining that the form/valuelist/imageMedia doesn’t exist. Yet the parent solution is definitely aware of the module, which shows up under the modules nodes, and the resources are definitely there.
If I manually ‘re-direct’ Servoy to the “missing” resource, as soon as I save my work, it goes back to being missing. For missing valuelists, it lets me select the valuelist I want but it reverts to "-unresolved-’ when I save my form. For missing imageMedia, I can’t even make the correction manually because Servoy doesn’t show me the imageMedia from the modules as it did under 3.5 (this problem is being discussed in a separate thread: viewtopic.php?f=2&t=11696&p=58432#p58432). In one case it can’t find a form I had placed in a tabpanel - the containsForm property contains “java.lang.Object@14f4ec4” - and if I manually place the form in the tabpanel again, as soon as I save my form the containsForm property for the new tab goes back to “java.lang.Object@14f4ec4”.
Thank you for your assistance.
This sounds very odd.
If the structure is as you say (parent contains child contains subchild etc.) and you are referencing objects from the child module in the parent, it ought to work just fine.
Do you get the same issues in a simple sample solution structure?
With regards to the containsForm property in the tabpanel: also very odd, is it reproducable?
Paul
I’ve seen exactly the same messages. But since I haven’t definitively migrated yet to 4.0 (4.1), I haven’t look in detail what causes this error.
But what I do have is the following (maybe that is your case as well)
Solution A → references Module X
Module X → references Module Y
Module Y → references Module X
I know that is not correct, but 3.5 accepted it. So I thought perhaps these errors like you described were caused by this situation.
But in case these references do not cause these errors, then there is probably some problem.
I noticed already that probably that I have some corruption in my repository database and perhaps this corruption causes these errors.
Thanks for your replies. Here’s an update from my end:
Many of the problems I was having simply went away the next time I started Servoy. It may have gotten confused betwen the new repository I had put in the database folder, and existing files in the workspace (although I’m pretty sure I deleted those before checking out solutions from the new repository). Anyway, the only problems that remain are the unresolved imageMedia properties. I had a little trouble understanding Johan’s explanation (above) and I got this explanation (see below) from Sebastian van Erk at Servoy:
Basically it’s very simple: you can only access media from a module that another module (or the solution) depends on. So if A → B means A depends on B, then A can access media from B. So if you need to share an image between two modules A and B you can make a module C that contains the image and have A → C and B → C. That way, you only have the image once (in module C) and when you need to update it you only need to update it in one place.
What I’ve seen some people do is make a “media” module, though that kind of defeats the point of modularization (things that belong together in 1 module). But in the above example it’s clear that the image is more “fundamental” then the modules A and B since it is used by both, so it should be in a module beneath both of them.
What Johan also seems to try and say is that you cannot reference stuff in other modules if there is no depends on path somewhere. So if A → B → C then A can access stuff from C. But if A → B and A → C then B cannot access stuff from C and vice versa, because there is → path between them.
SO I ahve created a ‘media’ module and corrected all the dependencies among my solutions & modules and it’s working. After I’ve created my ‘media’ module, I have to go through all solutions and modules that use the media resources and redirect them to the new media files.
Thanks again everyone.
I found something very annoying, maybe related.
After moving a 3.5 solution to 4.1 I saw many warnings.
This issue was this:
In 3.5 it is ok to delete a method that was attached to an event. The Event ignores the missing reference and everything is ok. No warning or whatever.
After an import to 4.1 these methods are still referenced (so it seems) but not available and throw a warning and are ‘-unresolved-’ in the property editor…
Marcel,
Just to be clear when I move to 4.1 (from 3.5) does this happen even if you first ‘unattach’ the method to an event and then delete it?
Thanks,
John
john.allen:
does this happen even if you first ‘unattach’ the method to an event and then delete it?
No, in that case it doesn’t.
Although all the warnings or even errors look like a real pain to some people > the problem pane is actually your best friend.
It tells you quite good where you - or fellow developers - messed up on deletion of methods, dataproviders, forms, etc.
There’s still some minor issues to be solved by Servoy concerning the realtime updating. But don’t let this stop you, because it’s a pretty good and stable tool already.
Good luck on moving your solution(s)!
I found something very annoying, maybe related.
After moving a 3.5 solution to 4.1 I saw many warnings.
This issue was this:
In 3.5 it is ok to delete a method that was attached to an event. The Event ignores the missing reference and everything is ok. No warning or whatever.
After an import to 4.1 these methods are still referenced (so it seems) but not available and throw a warning and are ‘-unresolved-’ in the property editor…
Hi Marcel,
Maybe anying in some situations, but it’s quite useful in others.
Think of the situation where the method is coming from a module, but you forgot to include the module?
Or you deleted the method thinking it was not used at all, but in fact it was.
Paul
Hi, ive not posted on here for a year or 2, or done any development but am revisiting some old solutions i put a lot of time into.
The version of developer i have installed is R2 2.2.8-build 340 with repository in MSSQL
its a while since ive done an upgrade, could someone please help me out and let me know can i upgrade straight to the latest version or do i need to upgrade to Version 3 first etc?
is there anything i need to be careful of? i seem to remember when version 3 first came out that there were a couple of issues to watch out for.
many thanks
eugene
Welcome back!
I doubt if there are many people around with experience upgrading directly from 2.2.8 to 4.1.0 but it’s certainly worth a try.
4.1.0 provides very extensive feedback of errors & problems - not all of them fatal - so be prepared to spend time working your way through the list. You will also find that some commands have moved - for instance SaveData() is now in the Database Manager node rather than Form.Controller but Servoy are very good at retaining backwards compatibility so that will probably not break a solution.
Do feedback any specific problems and will be very interesting to hear how you get on.
Graham Greensall
Servoy UK
ggreensall@servoy.com
I’d just make an export of your solution(s) from 2.2.8 and setup a clean separate 4.1 installation and import the solution and give it a test run.
It ought to be fine, but like allready mentioned before, you might get a list of errors and warnings that you will have to work your way through.
Regards,
Paul
Hi eugene,
Migrating from 2.2.x to 3.5/4.x should be without too much trouble. One thing you need to keep in mind though that since 3.x using controller.find() doesn’t mean anymore it will always go into find mode.
Some data might have not been saved yet to the back-end database or is faulty and can’t be saved.
Servoy requires that all data is saved to be able to perform a search on that data (query is send to the back-end database).
So if you have code like this:
controller.find();
myField = “search for this”;
controller.search();
And the controller doesn’t go into find mode you are actually changing your data (!).
So make sure you trap for this by changing your code like so:
if ( controller.find() ) {
myField = “search for this”;
controller.search();
} else {
// couldn’t get into find mode…
}
Hope this helps.
NOTE TO FORUM ADMIN: why is BBCode disabled on this forum for us users ?
Note: the sample above is only relavant when you have disabled autosave.
Do not know if the option to disable autosave was already present in 2.2.8 though and if you used it if it was.
Paul
Hi Paul,
Paul Bakker wrote:
“Note: the sample above is only relavant when you have disabled autosave.”
AutoSave or not, when Servoy is not able to save data (because of (db) constraints or otherwise) it won’t go into find mode. So checking for this would be wise in all cases. Don’t you think so ?
Ah true, you are right, most common situation would be autosave turned off, but yes, the same would apply with constraints etc on the DB.
Paul
Just want to say that all the code completion enhancements are really appreciated. Variable tracking got a “whoa, cool!”.
We have attempted to upgrade our application server using the batch file updater in the Servoy directory. The following command line editor message appears:
Current Servoy version 628
Checking for new Servoy version
Working in directory: C:\Program Files\Servoy_4
Loading version info…
log4j:WARN No appenders could be found for logger (com.servoy.j2db.util.Debug).
log4j:WARN Please initialize the log4j system properly.
New version available 651
NOTE: ALWAYS make a backup of your Ser
voy directory and your databases before usage.
Downloading…
No update found
Done, Servoy can be started
Press any key to continue . . .
The result is that we are stuck on version 628. Any suggestions?
Richard