I read about small differences (http://wiki.tcl.tk/20361) and other
discussions ... but nevertheless I'd like ask you:
# If I can expect larger problems when upgading to 8.5 or should it be
"compatible" in general?
# Has someone tested the BWidgets, Tablelist and tcllib with Tcl 8.5?
# Has someone experience with porting larger applications to 8.5?
# Which amount of work has to be expected to port it to Tile?
# How are the experiences with Windows Vista?
Thanks in advance.
--
Gerhard Reithofer
Tech-EDV Support Forum - http://support.tech-edv.co.at
It should run fine -- unless you were relying on some defective behavior.
> # Has someone tested the BWidgets, Tablelist and tcllib with Tcl 8.5?
If you upgrade to the current version of TclLib you should have no problems
with that code, it has been extensively tested with Tcl 8.5.
> # Has someone experience with porting larger applications to 8.5?
Don't own any of the large apps (>100,000 LOC of Tcl/Tk) anymore, so can't
answer this question.
> # Which amount of work has to be expected to port it to Tile?
You need to touch a bunch of your widgets -- generally removing a lot of
options.
You will most likely want to replace some of the BWidgets with Tile widgets.
You may want to replace Tablelist with ttk::treeview
> # How are the experiences with Windows Vista?
In general -- not good.
With Tcl, not too bad.
--
+--------------------------------+---------------------------------------+
| Gerald W. Lester |
|"The man who fights for his ideals is the man who is alive." - Cervantes|
+------------------------------------------------------------------------+
Should be mostly compatible, unless you do nasty things like depend on
exact
form of error messages, do bitwise integer operations and expect 32-
Bit or 64-Bit
overflow behaviour or similar stuff.
>
> # Has someone tested the BWidgets, Tablelist and tcllib with Tcl 8.5?
Tcllib is regularly tested against Tcl 8.5, should work. But depending
on which exact
packages from tcllib you use there might be changes with newer
versions, mostly minor
stuff though. One usual one is the change when you have packages with
V1 and V2 in tcllib
(md5, struct, etc.) and you used a package require without any
version.
> # Which amount of work has to be expected to port it to Tile?
Depends on how much you tweaked your GUI and how much improvement you
want.
In general tile isn't a drop in replacement, so basically you should
rewrite significant parts
to really get the benefits of Tile.
Michael
Plus a small change happened in clock scan for parsing relative date-spans.
(Actually, there were large changes to "clock scan", but that detail was
the only thing that bit me a little)
Up to 8.4 this preserved timeofday. Starting with 8.5 it resets time
to 00:00:00. I think it's not yet decided, if this is just a regression,
or intended. Haven't heard anything from Kevin, lately on that topic.
>> # Has someone tested the [...] and tcllib with Tcl 8.5?
> Tcllib is regularly tested against Tcl 8.5, should work.
If you use ActiveTcl distro, then (as far as I've gathered from
reading here) tcllib may not be directly included, but it may
take a cup of tea ("teacup") to make it available.
The release notes of Tcl/Tk 8.5.0 contain a "Compatibility Issues"
section describing the small number of known issues.
http://sourceforge.net/project/shownotes.php?release_id=562516&group_id=10894
--
| Don Porter Mathematical and Computational Sciences Division |
| donald...@nist.gov Information Technology Laboratory |
| http://math.nist.gov/~DPorter/ NIST |
|______________________________________________________________________|
>
> # If I can expect larger problems when upgading to 8.5 or should it be
> "compatible" in general?
I'm hoping to get a similar type effort going with a group of
developers that I support.
Two things have been reported to me so far - applications whose widget
backgrounds have changed from gray to white, and a problem with button
placement in an iwidget disjointlistbox. This latter issue was
reported as a bug to the iwidget bug tracker, along with a patch
provided by a kind comp.lang.tcl poster, and I noticed an iwidgets cvs
update that contained the patch. But so far, I've not had a lot of
developers say whether or not they've encountered a problem.
>
> # Has someone tested the BWidgets, Tablelist and tcllib with Tcl 8.5?
I've been running the tcllib test suite infrequently against tcl 8.5
and reporting issues. So at least that much of it is working. I don't
know if I've tested anything with the other two packages, but since
8.5 has been out so long, I would expect that we would have heard
noise about the other two packages.
I do know that I, at least, still have issues at this site finding a
version of BLT that compiles successfully on my platform with Tcl
8.5.
>
> # Has someone experience with porting larger applications to 8.5?
>
Not yet
> # Which amount of work has to be expected to port it to Tile?
I'm not even thinking about this right now.
I've downloaded and installed ActiveTcl-8.5.
Now I'm suprised as I expected the whole bunch but I only found a "basic
system".
I've studied the teacup a little bit and I find the idea very good for
end users and single machines, but ...
.. my application will be installed on hundreds of workstation and it is
not possible to install it machine by machine.
I would need all necessary packages for all platforms in one image (i.
.e in a specific directory structure with one single top level
directory) which will be installed on 1st setup or it may be deployed by
a software deployment system (not preferred).
Some questions:
# Is it possible to get 8.5 in the "old way", i.e. all extensions in one
package for the planned platforms (similar to older versions)?
The reason for that is that I have to provide a single installation
package for all requested platforms.
# Do all platforms (or at least AIX, Sun SPARC, linux and Windows)
include the same (binary?) packages?
E.g. if I want to use treectrl, can I be sure to have in on all
platforms available?
Please define "basic system". While it isn't as rich (fat, bloated)
as the 8.4 ActiveTcl package set, AT 8.5.3+ comes with an essential
set of modules.
> I've studied the teacup a little bit and I find the idea very good for
> end users and single machines, but ...
> .. my application will be installed on hundreds of workstation and it is
> not possible to install it machine by machine.
This is generally not a situation where you would recommend any multi-
file distribution. Indeed, it is a perfect example of where a
deployment tool like TDK's TclApp is appropriate (see
http://www.activestate.com/Products/tcl_dev_kit/). That allows you to
wrap up Tcl + all the necessary components into a single file
executable.
> I would need all necessary packages for all platforms in one image (i.
> .e in a specific directory structure with one single top level
> directory) which will be installed on 1st setup or it may be deployed by
> a software deployment system (not preferred).
Much better is all in a single file, without other dependencies. See
above.
> Some questions:
> # Is it possible to get 8.5 in the "old way", i.e. all extensions in one
> package for the planned platforms (similar to older versions)?
> The reason for that is that I have to provide a single installation
> package for all requested platforms.
Yes, see http://wiki.tcl.tk/teacup for more, but the answer to the
question is not the answer to your problem. If you really desire a
customized distribution, then you can get that from ActiveState as
well.
> # Do all platforms (or at least AIX, Sun SPARC, linux and Windows)
> include the same (binary?) packages?
> E.g. if I want to use treectrl, can I be sure to have in on all
> platforms available?
treectrl comes with AT 8.5, and the packages are the same in a
particular ActiveTcl release level across packages (modulo platform-
specific packages).
Jeff
>
> I've downloaded and installed ActiveTcl-8.5.
> Now I'm suprised as I expected the whole bunch but I only found a "basic
> system".
I know what you mean. Previous to ActiveTcl 8.5, the distribution was
sometimes referred to as a "Batteries Included" distribution. The 8.5
distributions are lighter than that. The lighter distribution does
make downloading quicker. However, if someone has a large base of tcl
scripts using a wide variety of packages, then one is forced to
interaction with teacup.
>
> I've studied the teacup a little bit and I find the idea very good for
> end users and single machines, but ...
> .. my application will be installed on hundreds of workstation and it is
> not possible to install it machine by machine.
I am in the same situation. If the machines have access to common
folders, one can install the software once and everyone else use NFS
or some equivalent technology to reach the code. However, if you have
a situation where that is less than optimal (for instance, Windows,
where various registry settings may be needed), then the situation is
thorny.
>
> I would need all necessary packages for all platforms in one image (i.
> .e in a specific directory structure with one single top level
> directory) which will be installed on 1st setup or it may be deployed by
> a software deployment system (not preferred).
>
> Some questions:
> # Is it possible to get 8.5 in the "old way", i.e. all extensions in one
> package for the planned platforms (similar to older versions)?
> The reason for that is that I have to provide a single installation
> package for all requested platforms.
It is not currently possible to get 8.5 in this way from ActiveState
for free. There might be enterprise solutions if that is really
necessary. If your application is stand alone, and the users
themselves are not developing against all the various packages, then
you might be able to use the tcl application wrapping technology
present in the Tcl Dev Kit (or the community version - tclkit/starkit/
starpack , or even one of the alternatives like freewrap) to bundle
your application files into a single executable. However, if your
users have written their own tcl scripts, or are using the scripts
written by others, then some people are going to need the larger
distribution.
>
> # Do all platforms (or at least AIX, Sun SPARC, linux and Windows)
> include the same (binary?) packages?
Well, obviously, the binaries on sparc are sparc binaries, and the
binaries on linux are linux binaries. And there are some packages in
teacup itself that are built only on some platforms - a package to
interact with the windows registry is unlikely to build or be useful
on AIX.
> E.g. if I want to use treectrl, can I be sure to have in on all
> platforms available?
No, you can't be sure that every package is available on every
platform. However, teacup list will show you what is available, so you
can see what is available at the current time.
Sounds like a starpack (or at lest a starkit) might be the answer for you.
> ....
>
> # Do all platforms (or at least AIX, Sun SPARC, linux and Windows)
> include the same (binary?) packages?
> E.g. if I want to use treectrl, can I be sure to have in on all
> platforms available?
In general, yes.
In particular, things like TWAPI is only available on Windows -- but then it
is an extension that exposes Windows APIs. Likewise parts of TclX do not
function on Windows because they expose *unix functionality.
> On Aug 21, 2:50 pm, Gerhard Reithofer <gerhard.reitho...@tech-
> edv.co.at> wrote:
> > thank you very much for all your answers - I will 8.5 give a try and I
...
> Please define "basic system". While it isn't as rich (fat, bloated)
> as the 8.4 ActiveTcl package set, AT 8.5.3+ comes with an essential
> set of modules.
teacup list --only uninstalled
lists: 337 entities found
> > I've studied the teacup a little bit and I find the idea very good for
> > end users and single machines, but ...
> > .. my application will be installed on hundreds of workstation and it is
> > not possible to install it machine by machine.
>
> This is generally not a situation where you would recommend any multi-
> file distribution. Indeed, it is a perfect example of where a
> deployment tool like TDK's TclApp is appropriate (see
> http://www.activestate.com/Products/tcl_dev_kit/). That allows you to
> wrap up Tcl + all the necessary components into a single file
> executable.
It's not primarily a deployment problem, more a "Battery included"
problem. There is only one chance to install all necessary software. The
own applications are partially provided via network.
The base requirement is to ensure that all workstations provide the same
prerequistes (binaries, dll's, packages).
...
> Yes, see http://wiki.tcl.tk/teacup for more, but the answer to the
> question is not the answer to your problem. If you really desire a
> customized distribution, then you can get that from ActiveState as
> well.
That is my next step.
Is on the ActiveState DVD all Tcl 8.5 stuff for all supported platforms
available?
I've sent a request to Activestate for ActiveTcl Enterprise.
> On Aug 21, 5:50 pm, Gerhard Reithofer <gerhard.reitho...@tech-
> edv.co.at> wrote:
...
> > E.g. if I want to use treectrl, can I be sure to have in on all
> > platforms available?
>
> No, you can't be sure that every package is available on every
> platform. However, teacup list will show you what is available, so you
> can see what is available at the current time.
An absolutely good information source - THX!
If the DVD contains all teacup stuff, I'm satisfied.
> Gerhard Reithofer wrote:
> > Hi all,
...
> > .. my application will be installed on hundreds of workstation and it is not
> > possible to install it machine by machine.
>
> Sounds like a starpack (or at lest a starkit) might be the answer for you.
Unfortunately not available for all requered platforms.
But as I wrote, it's no deployment problem.
Your list was: AIX, Sun SPARC, linux and Windows.
8.5 has build on all but AIX, it has a previous build there -- so it should
be straight forward to build an 8.5 kit for it.
See: http://www.equi4.com/pub/tk/downloads.html
And 'teacup list --at-default' for 8.5 shows 94 installed packages,
which is nothing to sniff at.
> > Yes, seehttp://wiki.tcl.tk/teacupfor more, but the answer to the
> > question is not the answer to your problem. If you really desire a
> > customized distribution, then you can get that from ActiveState as
> > well.
>
> That is my next step.
> Is on the ActiveState DVD all Tcl 8.5 stuff for all supported platforms
> available?
The teapot is not provided on the DVD (you'll find the DVD is pretty
much full), but all the Tcl binary installers are. I'm not sure that
a teapot-on-DVD (vs online) would solve your deployment issues.
Jeff
> Gerhard Reithofer wrote:
> > On Fri, 22 Aug 2008, Gerald W. Lester wrote:
...
> > Unfortunately not available for all requered platforms.
> > But as I wrote, it's no deployment problem.
> >
>
> Your list was: AIX, Sun SPARC, linux and Windows.
>
> 8.5 has build on all but AIX, it has a previous build there -- so it should be
> straight forward to build an 8.5 kit for it.
>
> See: http://www.equi4.com/pub/tk/downloads.html
Yes, I thought of the the AIX version.
Of cource it can be built, but as I wrote, it is not a real advantage in
the discussed case to have a StAR.
My main problem is, that the software is not simple deployable. The plan
is to install all most probable software at machine setup time, others
will be served in the network. It does not matter if there are many
single files or one big runtime package. Single packages are even more
simple to replace to have new functionality, but it can only be done
in rare cases.
But Starkits are still a greate possibility for many other projects and
I'm sure to use it more in future.
> On Aug 22, 12:05 pm, Gerhard Reithofer <gerhard.reitho...@tech-
> edv.co.at> wrote:
> > On Thu, 21 Aug 2008, Jeff Hobbs wrote:
...
> > teacup list --only uninstalled
> > lists: 337 entities found
>
> And 'teacup list --at-default' for 8.5 shows 94 installed packages,
> which is nothing to sniff at.
It's not the amount which makes me uncecure, the question is:
Do I have all packages installed which I need for my app?
If even one package is missing, the company has to make a costly roll
out for their workstations.
...
> > That is my next step.
> > Is on the ActiveState DVD all Tcl 8.5 stuff for all supported platforms
> > available?
>
> The teapot is not provided on the DVD (you'll find the DVD is pretty
> much full), but all the Tcl binary installers are. I'm not sure that
> a teapot-on-DVD (vs online) would solve your deployment issues.
I don't need the teapot mechanism, I "only" need a fixed and documented
initial state of installed software on all platforms.
We all know that there are many possibilties for deployment, include
packages and libraries and we are able to solve any of these problems.
Especially Tcl in general has many strengths in these areas.
Nevertheless I'm missing the "Battery included" philosophy in that
specific case.
But I also see many advantages in teapot and I will use it of course in
other situations.
A similar ituations is, if a tcl app requires a specific setup or uses
a fixed directory structure. In many environments it is not allowed to
install things into specific directories and a manual setup on 100's
distributed machines is not suggestive.
This is also a case where a good idea, to provide a user firendly setup
routine, is not an advantage. A more, not so user friendly solution
could be better in such cases.
E.g. to setup or extend an environment variable which points to an
arbitrary directory where the software can be copied to.
As an example, this is not possible with Tcllib, it was possible in
earlier versions.