Forum OpenACS Development: Re: Developmnet tools, debuggers, IDEs, etc

Collapse
Posted by Andrei Popov on
You may also want to do a quick search in this forum, there were a few other threads on the same.  In particular, the use of etags was discussed a few times, which allows you to jump to procedure definition, etc.

Unfortunately, if you are expecting context-senstive prompts, etc. then you are out of luck (at least at this time), although you may (I have no idea, as I have not tried, this is just a guess) be able to do some of it using AcitveState's Komodo/ActiveTcl -- it may be possible to teach it Aolserver-specific procedures, etc.  This won't be free, however.

There's also TclPro (again, ActiveState) that allows you to debug Tcl procedures.  Again, I have no experience with this, but am sure that a few people on this forum may tell you whether it worked for them.

Collapse
Posted by Bart Teeuwisse on
I tried TclPro recently w/ AOLserver and it proved to be useless as AOLserver get's stuck after it closes the connection to the browser.

I've made a custom script available that generates tags for an OpenACS site. See http://www.thecodemill.biz/publications/blog/one-entry?entry%5fid=10033 for details.

Andrei, what kind of context sensitive prompts are you refering too?

/Bart

Collapse
Posted by Andrei Popov on
Bart -- things that pop up when you type?  Like, say typing up ad_fo... and getting suggested completion to ad_form?  Or like opening a bracket after ad_page_contract { and getting prompted for possible blocks (documentaion, parameter declaration, etc.)?

I said it's not available -- and am not sure whether this really is needed/worth th etime and effort.

I sort of expected that TclPro would not help much, btw.

Collapse
Posted by Bart Teeuwisse on
Andrei,

you should definately give my Emacs OACS Minor Mode a try. (http://www.thecodemill.biz/services/oacs/). Emacs OACS automatically inserts headers for OpenACS files such as ad_page_contract, ad_library, .XQL and .ADP files.

In addition, EMACS OACS offers several abbreviations that expand to procedure definitions, debug messages and the like. Each of these (headers and abbreviations) will ask for input.

See the Emacs OACS changelog for documentation (http://www.thecodemill.biz/services/oacs/changelog/index?revision_id=10054). Emacs OACS is in beta and stable enough to be used. A hand full of developers are using it daily, but documentation is behind the development curve.

/Bart

Collapse
Posted by Andrei Popov on
Bart -- Sure, I've tried it out some time ago, but not in the past few weeks.  Will take it for a further spin -- I've seen the changelog et al, but I'd like to really try it out :)
Collapse
15: OACS-mode (response to 14)
Posted by Andrei Popov on
Bart, this really does kick ass (pardon my French).
Collapse
Posted by Claudio Pasolini on
Hi Bart,

thank you for sharing your oacs-mode! It looks very useful for oacs developers.

I followed the installation instructions without problems until I tried adding sql mode to XQL files. After copying your code snippets into my .emacs file I get this error during emacs startup:
Symbol's value as variable is void: xml-mode
I don't know lisp and so I'm not able to debug it: perhaps you can help posting your .emacs file?

TIA, Claudio

Collapse
Posted by Andrei Popov on
You probably are missing psgml or have not set it up correctly.  In the least you should have something along the lines of:

(add-to-list 'load-path "/full/path/to/psgml/dir")

(setq auto-mode-alist
    (append
      (list
    '("\\.xql$" . xml-mode))

in your .emacs file

Collapse
Posted by Bart Teeuwisse on
Claudio,

as http://www.thecodemill.biz/services/oacs/ describes, Emacs OACS depends on the PSGML and MMM modules. Be sure to install them. Installation instructions are included each module. You'll find links to these modules from http://www.thecodemill.biz/services/oacs/.

/Bart

Collapse
Posted by Steve Manning on
Yes komodo can do this. You simply add the commands into the tcl-core.tip file and they appear as auto-complete options and  argument prompts.

    - Steve