I agree with Andre. The feature list is ambitious, but complete. That's pretty much what I was about to write myself, but he beat me to it :) More important is the second point: Having such a tool would bring a HUGE amount of value added to Zope. Mega, super huge. In fact I was once presented with an OO CMS much like Zope, but commercial, where the IDE/Management interface was much like this ... That alone was worh the 50K price tag ... Want to load a document ? Click -> Drag -> Done. That simple. My main concern would be it's adaptibility to custom content types. If I have my own Geospatial-ish content type, how would the IDE handle it ? How would I go about making it handle it ? etc ... In some respects I thnk such a project would be best "hosted" with Zope itself, since to make it work really well you may need to do work real close to the core of Zope. Also, as mentionned given the immense value added to the product, I'm thinking ZC would benefit greatly from it and should maybe be involved ? Basically, yo me this should be a core feature of Zope, not an add-on. J.F. -----Original Message----- From: zope-dev-bounces@zope.org [mailto:zope-dev-bounces@zope.org]On Behalf Of Andre Meyer Sent: April 24, 2004 5:24 PM To: Aleks Totic Cc: Martin Kretschmar; zope-dev@zope.org Subject: Re: [Zope-dev] How should an ideal Zope IDE look like? It was not my expectation that you would go and implement all of this ;-) Of course, this is a lot of work, but much has been done by others, already. The wish list was intended as ideas for those capable and willing to contribute. The value of good tools for any technology cannot be underestimated. kind regards Andre Aleks Totic wrote:
Nice wishlist. About 3-4 man years worth of coding, 2 min is my guess.
My goal is not quite so ambitious. I wanted to learn Eclipse well. I was always jelaous of Emacs guys that could whip up a mode for their favorite lanuguage. Implementing a Python IDE sounded like a good starter project. By IDE, I mean something with a debugger.
In the next release (by the end of next month) I'll have some hyperlinking (function/classdefs withing the same file, and on imports), maybe some code completion (that's up to Dana), and a decent debugger (multithreaded).
After that, I am not sure. My goal for pydev is for it to be good enough for small-size projects, and we'll almost be there. The larger projects requirements (unit tests/UML editor/module awareness) are not that exciting as a hobby.
Aleks
Andre Meyer wrote:
So, I give it a try and submit a "wish list" for an ideal IDE for Python/Zope.
Maybe some words about the IDEs I have been working with, so you can track where the features I wish to have come from: I used CodeWarrior, NetBeans, jEdit for both Java and Python/Zope, Boa Constructor and Eclipse with several plugins (like Omondo UML plugin, TruStudio and PyDev).
And here comes the list of features:
- Syntax coloring (standard everywhere) for python and zpt/xml/html/css code.
- Commenting/uncommenting code (any hope Python will ever offer multi-line comments?).
- Auto-completion for python and zpt/xml/html/css, incl. parameter editing. One should be able to specify the path to modules: for example I have a Python installation and a Zope installation with Python offering different modules.
- Show declaration: jump to definition of classes/instances elsewhere in the code using a context menu.
- Refactoring: actions, such as renaming a class, method or module and modify all references in the rest of the code; move classes and methods up or down in the class hierarchy. Eclipse supports this for Java and it saves a LOT of time,
- Unit tests with reporting.
- Folding: show/hide parts of the source code (like in jEdit).
- Split windows.
- Project management.
- CVS/Subversion integration.
- Search/replace, incl. regex in open files, project,
- Compare and edit files/folders (diff, meld).
- Drag&drop editing.
- Multi-threaded debugging.
- Outline: display classes, methods, attributes of a source file.
- Class/method popup.
- Bookmarks.
- Class browser: multi-part window for browsing and editing classes and their methods and attributes. Similar to the NeXTstep file browser and the Java Browser perspective in Eclipse.
- UML editor (incl. code generation and reverse engineering). Eclipse has several UML plugins and offers a language-independent modelling framework (EMF) that supports code generation. This could be adapted for Python.
- Design patterns, templates: not found anywhere, yet, but might be an interesting feature, especially for Zope development, where we have a lot of recipes that need to be applied often.
- Pydoc integration: show the docs simultaneously with the code.
- ZPT debugging, sensible error messages.
- ZODB inspection: give insight into what is actually stored in the ZODB.
- Ftp, WebDav
- Launching/restarting Zope locally and remotely.
- Python and Jython support.
- Live error tracking (while typing).
- Task management.
- Calling trees: who calls whom and who is called by whom?
Well, there is certainly more, but this is a start... ;-)
One could start from Eclipse/PyDev (http://pydev.sourceforge.net/) and add features. Does anybody (Martin) have concrete plans to do this?
Also look at http://www.python.org/cgi-bin/moinmoin/EclipsePythonIntegration 5 for more ideas.
kind regards and success Andre
-- Dr. Andre P. Meyer http://home.hccnet.nl/a.meyer/ TNO FEL Command & Control and Simulation, http://www.fel.tno.nl/div2/ Delft Cooperation on Intelligent Systems, http://www.decis.nl/ _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )