[wingide-users] First contacts with WingIde And completionTroubles
xmasson at assemblee-nationale.fr
Thu Apr 10 09:53:33 MDT 2008
I wanted to express my impression and first feelings when using WingIDE
and explain I problem I have with setting up a Zope/Plone project and
I think the pricing is right but the licence policy is not.
I bought the product because I felt the pricing was right (not cheap
mind you) but I really hate the per os pricing policy.
I routinely use BSD/ linux on servers and consistently evaluate
switching to it for development on desktop. I will certainly not "pay
again" for WingIDE if I decided to switch or dual boot, and since I
would rather not work with different IDE, that will mean letting go
WingIDE. I do not see the reasoning between the per OS/license pricing
except it is an artificial barrier for the customer. It is obviously not
3 different code bases and $120 upgrade between OS looks steep....
The other thing that made me flinch and nearly regret my money was the
activation stuff. I DO hate to be supposed a thief (I know how to use
E-Mule and BitTorrent as much as the next guy thank you) and to have to
justify on how many time I install a software. Reinstalling, using a
virtual machine for testing, making image or having a system crash and
needing a quick re-install is routine life for an unlucky dev right ?.
Right now I have wingIDE installed on 3 computer that are NEVER used at
the same time (my home computer, my work computer and a laptop), so I
have already "exceeded" my "trust" package. In case of a crash ,a
replacement laptop or the desire to debug a virtual machine on one of my
computers I will have to ask for an extended activation ? I think it is
not really fair, and it could even add some pressure to an already tense
moment if it happens at the "right(i.e. bad) time.
Mind you, if it was a 20 computers limit I could have understood some of
the further inquiries, but 3 ?.
Basically I am really convinced that considering your customer has
potential thief does no good to your customers and does not prevent theft.
It DOES make me reconsider my further involvement with "closed source"
The right analogy for a software usage in my mind was the one Borland
used to promote a few years back : LIKE A BOOK.
One User at One Place at One Time. Fair Use.
And I just re-read the license and basically disagree with your choices
in that regard. It is of course your business and business model and
since I paid for the product I feel like I am not just crying for a free
lunch but explaining why I may not buy again even such a great software
under this terms.
If I am the only one thinking this : so be it .. but maybe more than a
few potential customers took the other decision (not to buy) without
voicing the why.
The product :_
I add a few "why moments" when using the product I will try to resume
some of them here small or not small:
* Why is the first item on the context menu for tabs "Move to new
windows" and not "Close". "Close" seems to be used much more often than
move (that I never cliqued more than once to test, and since it is a
"move" it "mess" the organization of the project tabs the windows is
Is is a way of working for some people ? Could be useful to add more
option like (Close all other tabs, Open source in new windows, if that
menu is needed besides the close option (and that could be a button on
the tab like in firefox))
* In the project property the syntax of the python path is not clear at
first (it is in fact the syntax of the underlying OS right ?) and I
wondered why I could not just ADD paths to the python path rather than
either use the default or re write it entirely.
It is not minor because it means I have to keep in sync the base
pythonpath and my overrides rather than just add project specific
settings. Duplication spells doom to me.
* I would love an option to say "and every path under this one" in that
same pythonpath project property box. Something Like
-r"Sources\zope\QeF\trunk\src" (recurse under ....). That will again
save me from manually syncing my source tree or "code reference tree"
and from remembering to do it or to check it is in sync. It is also, I
think linked to my completion troubles I will explain later on.
"Trouble with completion and Zope/Plone buildout"
The main reason I bought WingIDE was the critics acclaimed code
completion features and the zope/plone ide debugging capabilities. Being
new to Zope/plone I thought that having code completion and a an ide
would help me navigate the maze of methods and modules in Plone.
Problem is : code completion is not working and I not able to set it up
I use the "buildout" method to set up Plone in a repeatable way.
Buildout is the recommended method to set up Zope and Plone and more and
more python application are using it.
The problem is simple : There is no single (or even a few) entry point
for the sources and the concept of "instance" directory is much less
obvious with this modular organization of codes than in previous ways of
I had to add dozens of path to the PythonPath and duplicate the base
pythonpath to gain a basic completion but, unfortunately it is then out
of sync with the package hierarchy Zope/Plone use
I can type "from CMFCore.utils import ..." but the right hierarchy for
plone is "from Products.CMFCore.utils..."
Of course adding numerous path to the pythonpath explain why I can have
"from CMFCore.utils import ..." in completion but it is not the solution
since it does not represent a legal and useful completion in the context
of the Zope/Plone application.
Selecting the instance dir in the "trunk\parts\instance" subdir of the
directory structure buildout created lead to that message :
"Some property warnings were encountered:
- Zope2 installation directory could not be read from
'c:\Dev\Sources\zope\QeF\trunk\parts\instance'" (right after proposing
to install the wingDbG product and to add a few paths to the source tree
of the project).
Two interesting points : after following the wizard I was able to type
"from Products.CMFCore.utils..." but it depends on my numerous adds to
the python path to work (if I remove them the completion breaks again).
More precisely it depends on the "...\trunk\parts\zope2\lib\python;"
path to be in the pythonpath. Of course, the second I add that path to
the pythonpath the "invalid/badscoped" "from CMFCore import" is again
So anybody was able to set up WingID to provide a completion for
zope/plone in a "buildout" configuration and have it to work ?
Preferably without messing with the pythonpath because it means
duplicating the default pythonpath in the project properties and that
seems very error and bug prone to me.
I will try also VirtualEnv (http://pypi.python.org/pypi/virtualenv) to
see if it helps.
Another hint on that subject : after setting up the zope/plone mode in
the project properties, applying the changes or pressing ok lead to the
"Add Source files" box with ONE (rather than several) directory, for me
the trunk\Products directory that is made by buildout (there are a few
others in the structure buildout create).
I could tick the 'do not ask me again' box but the fact that
* this directory IS already in the project source tree
* this directory is the only one of 4 that keep coming back for adding
are clues that something wrong is going on there, and I would rather
understand the problem than try to put the dust under the carpet....
So for now WingIDE is full of promises but not delivering.
I must be doing something wrong or not understanding something but I do
not know where to look anymore.
_The things I miss :_
* Refactoring ? any plan to integrate something like the Rope Library
* Bazaar integration
I know these things have been requested but I had my vote.
Bazaar is convenience, Refactoring is core feature of a modern IDE to me.
Thanks a lot for you time and help.
Ce message, ainsi que les pièces jointes, sont établis, sous la
seule responsabilité de l'expéditeur, à l'intention exclusive
de ses destinataires ; ils peuvent contenir des informations
confidentielles. Toute publication, utilisation ou diffusion
doit être autorisée préalablement.
Ce message a fait l'objet d'un traitement anti-virus.
Il est rappelé que tout message électronique est susceptible
d'altération au cours de son acheminement sur Internet.
Vous pouvez consulter le site de l'Assemblée nationale à
l'adresse suivante : http://www.assemblee-nationale.fr
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the wingide-users