France
Joined: Nov 7, 2005
Post Count: 9423
Status:
Offline
Re: Sweet Home 3D 4.0
Is this new updates feature meant only for JWS users, or also windows installers?
Actually it's more for the other kind of distribution, because in many cases, the Java Web Start will update the program automatically! As I thought the updates feature could interest people who program plug-ins and derived versions of Sweet Home 3D, I programmed it in such a way it could be adapted to these versions too. It requires an XML file that uses the DTD described in HomeController.UpdatesHandler class. The place where this XML file is stores comes from the com.eteks.sweethome3d.updatesUrl System property, or from the HomeController.updatesUrl property written in com/eteks/sweethome3d/viewcontroller/package.properties resource file (equal by default to http://www.sweethome3d.com/SweetHome3DUpdates.xml). Each update XML element describes the update of an identified resource, either the program itself or a SH3F, SH3T, SH3L or SH3P file. The id of the program is retrieved with the HomeApplication#getId method (overridden in SweetHome3D class to return the value of the com.eteks.sweethome3d.applicationId System property or SweetHome3D.applicationId resource property) and the id of the libraries comes from the new id property they can now define in the properties file they include. For Sweet Home 3D, the default id is SweetHome3D#ExecutableJar (since an Executable Jar file should be able to run alone with no additional arguments), the id for installers is SweetHome3D#Installer (see for exemple the Windows exe Launch4j file), the id for the portable version is SweetHome3D#Portable (see here) and for Java Web Start, it's SweetHome3D#JavaWebStart. The different ids will generate customized user agent during HTTP requests for the XML update file, and will help me to gather statistics on program use. Of course, this will concern only online users who kept the Check updates at program launch option selected but still it should be interesting to get this information. For people who fear some spyware feature, don't worry : the user agent gives the same kind of information as would browsers: the id of the program, its version, the OS name and architecture, and the user's language and country. Nothing more, nothing less.
Hope this will help.
Don't hesitate to suggest any improvement before the final release, in case I could have forgotten something.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
France
Joined: Nov 7, 2005
Post Count: 9423
Status:
Offline
Re: Sweet Home 3D 4.0
Although may be you already have someone for the Spanish translation, you can count me in to make it in case you need it.
Thanks for your proposal, I'll write you if Pablo Mayordomo doesn't have enough time.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
Poland
Joined: Nov 10, 2010
Post Count: 50
Status:
Offline
Re: Sweet Home 3D 4.0
I have the same experience with JWS - it "usually" downloads updated version, but sometimes does not. As long as we only update the application with new functionalities it is fine, but if we wish to update prices, a reliable mechanism is needed.
I just tested this new feature with updating both application and libraries and everything works fine.
Great improvement :-)
I need to browse deeper in sources to see how updatesMinimumDate is created in user preferences, when debugging SH3D from Eclipse it was later than 2013-02-01 and was filtering my update elements in line 2426 of HomeController
France
Joined: Nov 7, 2005
Post Count: 9423
Status:
Offline
Re: Sweet Home 3D 4.0
Thanks for your feedback and your tests.
updatesMinimumDate is updated from line 2286 of HomeController class to the next 23:59:59 GMT time of the day. I programmed it that way to ignore the updates of the day at next launch, if the user doesn't want to check updates. Finally, it's not such a good idea since I authorized to set a time in the XML updates file and the user could then miss some updates that arrived later during that day. I'm going to change that...
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
France
Joined: Nov 7, 2005
Post Count: 9423
Status:
Offline
Re: Sweet Home 3D 4.0
It's fixed. updatesMinimumDate is now set to the latest date among available updates. Programmed that way, users can't miss any update even if they change their clock meanwhile (except if they don't have access to updates XML file of course). Thanks for pointing out this issue.
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
Joined: Oct 8, 2012
Post Count: 42
Status:
Offline
Re: Sweet Home 3D 4.0
Emmanuel,
Thanks again for all the work you're putting in this very program! I still love it!!! Working with it's Linux version (Linux Mint based on Ubuntu) as well!
One thing I still miss very much though, is: once you open up the properties of eg a wall, floor, etc, you DO see little thumbnails of the texture(s) used for that wall, floor, etc, but what I miss is the name of that very texture! Should not be too difficult to add that I think, no?
This because I'm working on a very big project lately and don't recall all the (names of) texture(s) I used for different walls, floors etc...
Would be very nice if you could add that option! Especially as I'm working with different versions of your software at the same time; like that it's easier to check if the texture was added to the library or not; with just a thumbnail it's mostly a shot in the dark to get hold of the same file/texture again.
Joined: Oct 8, 2012
Post Count: 42
Status:
Offline
Re: Sweet Home 3D 4.0
What I do miss with this 'small flag' is the category the item belongs to! I've many textures in Floor, Wall, etc.. Small bricks could be used either in floors as well as in walls... Could you make it: 'Walls: small bricks'? or 'Walls, small bricks'?
Like that it's clear in which (sub)category in the list one has to search for 'Small bricks'...
Joined: Oct 8, 2012
Post Count: 42
Status:
Offline
Re: Sweet Home 3D 4.0
Or...when you click 'Modify' that you get to see the full path like: 'Wall - small bricks'. Until now when you click Modify you don't get the selection bar on the 'last selection' either: like 'Wall - small bricks' with the selection bar on that very line.... so to speak...