I'm working on part two of my Instant Gratification instructions, Building a Package. It's based on the OpenACS Developer's Guide in the standard documentation, but I've:
- stripped out all example code from previous versions
- removed almost all theory and reference material
- re-organized it so that users paste in all the code - ie, build it all themselves, instead of installing and then inspecting a pre-built package.
- Trying to approach it as a raw beginner. If a newbie does the tutorial, they should next be able to build (and debug?) their own package
- updated some of the code to match emerging standards (so far, removed sql from .tcl, working on properly named end statements and show errors for sql)
- How do you execute stored procedures in psql directly in order to debug them? Right now, the pg/plsql is very unpleasant to work on because I can't really see what I'm doing, where my commands go (ie, when I call a function, exactly what table is changed on how, so I can look and see if it was changed the way I intended), how to back up to a clean state, and how to find the bind variables so that I can test functions directly instead of through pages)
- Do people use psql at the command line or in emacs, or do you use something else, like a gui tool or working through web pages, to debug sql queries? How about table create scripts?
- The notes package makes notes acs_objects. This, I understand, has the advantage of enabling an API for security. Are there other advantages? Is this necessary for full text search?
- The fields in the notes object/table are made into acs_attributes. What is the benefit to doing this?
- Why are the commands in notes-create.sql wrapped in "inline" functions?
- Debugging web pages by tailing the Aolserver error log means looking through several hundred lines of code per error to find two or three lines that you need. Is there any way to improve this ratio?
- Getting my .xql files recognized and used seems to require some combination of restarting the server and having APM scan, load, and reload my xql, and possibly also some waiting. Could someone clarify how this works?
- Where is the documentation for the openacs-fts driver api, the one that notes-sc-create.sql calls?
- What is the benefit to making new objects content instead of just acs_objects? Are we supposed to be using the content management system?
- Are the comments in my document accurate, misleading, or just plain wrong? What else should a newbie know?
Request notifications