Google doesn't understand Panorama and neither do I

I have a Text editor field in a form.

After data is entered into that field, a procedure executes

Starting this afternoon, that procedure (after years of working) started throwing an error.

I want to edit that procedure or at least watch it fail, and I CAN’T SEE THE PROCEDURE.

I asked Google, how do I see the procedure that executes after data is entered into a field in a form in Panorama, and it told me,

“Steps to View the Text Editor Code
Switch to Graphics Mode: Press Command-Option-G or choose Form > Graphics Mode.
Select the Text Editor: Click once on the specific Text Editor object to select it.
Open Object Properties: Open the Blueprint or Properties panel on the right side of the screen.
Click the Procedure Tab: Look for the icon resembling a magic wand at the top of the properties panel.
Inspect the Code: The text area below will display the exact anonymous procedure that runs when data entry concludes.”

Everything performs except the last step. Clicking the Wand does not show me a procedure, It shows me a whole pile of options pertaining to text editing, and none of those options takes me to the procedure.

I’m feeling quite stupid because I wrote the procedure that executes after the field is edited, and I do not remember how I got to it.

Any advice?

I’m not a fan of LLM’s (so called “AI” models), this is an example of why. Google’s AI answer was oh so confident and pretty close, but no cigar. The panel you want is not the magic wand, but the “scroll” icon to the left of the wand.

More details about editing object code can be found on this help page.

I have been using Claude for about 40 hours in the last week and am very impressed at the quantity of work that can be accomplished. It is always right? No. But it is fast. It takes a knowledgeable person to create a good end product with lots of testing, but the efficiency is off the chart. I have accomplished what would have taken multiple months or more in those same hours. I asked Claude about Panorama and here was the conversation…

An off topic question. I use a database called Panorama by ProVUE. It has an extensive programming language. Is there anything that the developer of the program can do so that any user who happens to use Claude will benefit by Claude already having read the online documentation of the program? Or other features that might be accomplished by having a hook into the user’s program?

===

Great question. There are a few distinct things the developer could do, ranging from simple to sophisticated:

Training data submission

Anthropic has a process for submitting documentation to be included in future training runs. If ProVUE submitted the full Panorama X documentation, procedure reference, and example code, future versions of Claude would have native knowledge of it baked in. The catch is that training cutoffs mean it would always be somewhat behind the current version, and there’s no guarantee of inclusion or timeline.

A custom Claude integration (most practical)

The developer could build a Claude-powered assistant directly into Panorama X using the Anthropic API. This would work by:

  • Bundling the full documentation as context that gets sent with every query

  • Giving Claude access to the user’s current procedure code, field structure, or error state

  • Letting the user ask questions like “why isn’t this procedure working” and Claude sees the actual code

This is well within reach today and wouldn’t require any special relationship with Anthropic — just the public API.

An MCP server

This is probably the most powerful option. The developer could publish a Panorama X MCP server that users install alongside the Claude desktop app. It could expose tools like:

  • Read the current procedure being edited

  • Read the database schema (field names, types)

  • Run a test procedure and return the result

  • Look up documentation for a specific function

Claude would then be able to operate with full live context — not just answer questions about Panorama, but actually inspect and help fix the user’s specific database in real time. That’s essentially what your Claude for Chrome setup does for WTD.

A system prompt wrapper

Simplest of all — ProVUE could host a Claude-powered chat page on their own site with the entire documentation pre-loaded as a system prompt. No API complexity for the end user, just a purpose-built “Ask about Panorama” assistant.

The MCP server route is the most exciting because it mirrors what professional IDEs are doing with AI — the assistant sees your actual work, not just generic documentation. Given that Panorama users tend to be power users building real applications, that kind of deep integration would be genuinely useful. You might consider passing this along to Jim Rea at ProVUE — it’s a tractable project for a developer of his caliber.

The Claude agents are EXTREMELY confident. Almost obnoxiously so. And I take no responsibility for their brown nosing.

The agents are what would be described as 18 year old geniuses who have a fair amount of experience but an unlimited knowledge and unlimited enthusiasm. They know Exactly what the problem is after every failure, and they know Exactly what the fix is. Until it fails for the 4th or 5th time. But they do not give up, and they do not lose enthusiasm. I am an extremely particular person about the way I want things done. I do not stop until it is perfect in my eyes. If a normal employee would be working for me, they would quit. Or they would say “I’m really tired of working on this, can we stop now because you are being obnoxiously anal about this.” But not Claude. He will do it again and again until I think it is perfect. And he is 500% better than me at design, and 1000% times faster and forever polite. When I point out poor decisions on his part, he apologizes :slight_smile: and takes my advice. He learns the way I like to work and he follows my methods. Yes sometimes I have to remind him of some things, but he apologizes again and is good for a good period of time.

I am anxious for Jim to give it a try as I am sure that a few bugs and a few features that we are all waiting for can be quickly accomplished with a very inexpensive genius that will work at any time of the day with full and complete enthusiasm.

Bottom line, after I fed Claude the online documentation, he made very few mistakes. Very few.

What you said is the first thing I tried, looking at the tab where the procedure should be, the scroll which lies to the left ot the wand. Problem is, it was blank. There are no words at all, under the “Procedure. Apply” header when I look at the properties of the field in graphics mode. Yet when I edited the field, in Data mode, the procedure I have written to be associated with that field executed - and failed, due to a piece of bad data introduced, and I am not kidding, by a small terrier who has a habit of jumping up on my keyboard for attention. And now that I have fixed the data, the procedure executes correctly. But the procedure tab still shows a blank. It shows blank for all the fields on that sheet, yet all the procedures associated with the different data fields are behaving properly.

I hope that Claude is absorbing all these comments, and can offer relevant output for programmers who are puzzled by this piece of behavior.

wait wait wait

This is my mistake: the procedure that executes after I edit my field “plus” is to be found by looking at that field on the DATA SHEET, where the FIELD PROPERTIES will show you the procedure I wrote, when you click on the “Code” button at the bottom of “Field Properties. But that procedure is apparently not associated with that data field on the form in question. But it does execute, when you edit the data in the form.

I am often confused by the relation between the data sheet and the forms that refer to that data. Simplest case: ”find” and “morph” behave differently if you access them from the data sheet, or from a form. In Panorama 6 and before, you could be sitting on field in a form and say command F and the “find” window you got was the same as you got when you hit command F in the data sheet.

Hmm

Speaking of AI …

As an aside, for those curious, the “gimmick” in yesterday’s universal crossword was three crossword answers relating to “two drink minimum”. For example, one of the answers was “team sport,” and you can pull out tea and port - two drinks. Another was “chair umpire,” and you can pull out chai and rum - again, two drinks. But the third answer was “pentatonic scale”.

I asked ChatGPT about it, and in the style Robert indicated, ChatGPT pulled out “tonic” and confidently set about justifying getting the “e”, “t”, and “a” from Penta for the answer tea and tonic. Justification after justification was wrong. It even asserted, like some politicians, blatant falsehoods, like the e, t, a, taken in that order, spelled tea.

As a human, it only took a microsecond to see tonic in the first word and ale in the second word.

This whole AI thing, among “civilians,” reminds me of the articles we see every winter of people blindly following their GPS down some shortcut forest service road and getting stuck in the snow.

AI’s are great with, “Give me the best sort algorithm for a list of 1000 items that are mostly already sorted when a new element is added.”

But if you blindly follow the suggestions without a scintilla of discrimination, you may find yourself … stuck in the snow.

I much prefer Claude over ChatGPT. I use it for trigonometry when figuring out angles and lengths of potential ham radio antennas for the backyard. Not that I couldn’t do it myself, but with a fixed amount of time, one decides where to spend it.

Field properties would have been my next suggestion, but you seemed so confident that you had put the code in the object I didn’t mention it.

If the code is intended to run every time the field is modified, then Field Properties is usually the best place for it. But keep in mind, a Text Editor object might be tied to a variable, not a field. In that case, there are no Field Properties, so the object is the only way that code can be attached to the editor.

If you’re ever in doubt as to how some code got triggered, Panorama has a feature just for you. Simply enable the CodeTriggers option, then look in the Instrumentation Log and you’ll see exactly how code got triggered. It’s great for situations like this where you may have forgotten how you structured your code.

”find” and “morph” behave differently if you access them from the data sheet, or from a form.

Not true.

The data sheet uses a pop-up editing window. If you select the pop-up editing option for the objects in your form, it will work exactly the same way as the data sheet. However, this is not really a standard Macintosh editing mode, so it isn’t the default.

If you use standard editing, then when you are actually editing text, pressing Command-F does a search within that field, instead of within the entire database. This is a feature. But if you choose Find/Select or Morph from the menu, it works the same whether in the data sheet or a form.

I asked Claude about Panorama and here was the conversation…

This discussion forum is for humans, and though it is not really enforceable, I would prefer that posts not contain unedited AI output. Research via search engine or chat bot is of course fine, but please refrain from posting unedited chat transcripts. Robert is a valued member of this community, Claude is not.

roflmao

Every time I report something, it seems there is already a feature that addresses it.

It is an interesting UI problem, presenting procedures that are triggered specifically by an object in a form, as opposed to procedures that are triggered by a change in a data element that happens to be represented in an object in a form.

I had not considered that there might be procedures triggered by form objects, that were distinct from procedures triggered by changes in the data the object accesses.

It’s really a documentation challenge, informing the user that he has not understood the data model yet.

If Claude were sentient, it would be frustrated by our failure to keep track of all the possibilities, and also wonder why we allow our keyboards within reach of terrier puppies.

It’s really a documentation challenge, informing the user that he has not understood the data model yet.

I would think that is beyond the scope of documentation.

If you take a course, that could be part of that. And there is a comprehensive Panorama course available, but that requires a substantial investment in time on your part (as well as some money).

Anyone who thinks they can learn a language overnight is…well…over confident.

French, Russian, Portuguese or PANORAMA - they are all languages and need you need time to learn the subtleties of their unique lexicon.

I am in no way more than a rookie in speaking PANO. Could Claud expedite my skills, sure. But the complexity of translating what in my head to what the user experiences is ART. Could Michelangelo have made David faster with AI renderings of the inside of marble?

I rely on Claude for 80% lifting and then I have to think.

Sorry to go off like this, I know I asked this style of question last week and was intrigued by what I learned and read.

And finally this; I remember the first time I used a HP12c calculator…I felt brilliant…until I found myself entering the wrong data…and getting the wrong answer. Some things have not changed…

Maybe for brainy stuff, but ask a simple question of Jeepity, Claude, GROK (barf), or Gemini:

Who made more movies with Robert Redford. Jane Fonda or Barbara Streisand.

Gemini was the only pretty true answer. Claude was hopeless. Maybe I’m using a free version and you’re not.

We’re doomed. But we were already, so this doesn’t change much.

That works, but every time it reviews the documentation, it eats into your daily usage allotment. Depending on your subscription level, you’ll find that what you get done on any given day will diminish and the warning that your time has run out will come up faster and faster. You’ll find this happens if a single chat gets lengthy too, especially if it involves a lot of coding. Every new question involves a quick review of the whole chat.

I’ve found two strategies that help - a lot. One is to occasionally provide a link to the pertinent Panorama documentation. My knowledge of Panorama helps a lot by suggesting that one method is preferable over another. Panorama does, after all, offer many ways to skin the cat.

It also helps conserve time to have Claude periodically summarize what it feels is the vital information of a lengthy chat, for me to paste into the start of a new chat.

All of it is still a degree of garbage in and garbage out. My instructions to Claude have an immense impact on what I get from it. Just like with a human assistant, you need to define the objectives well along with any other tips on how to achieve them.

1 Like

The need to regularly offer Claude the documentation is what triggered my query to Claude as to how a developer could help the users with their needs. I am of the mind that ProVUE could create the situation where Claude already had the ease of access to the docs without the user knowing or having to supply the docs.

Users are going to need help regardless of the breadth and depth of the documentation that exists. I regularly forget that certain functions exist. But if having Claude as another in tool in our toolbox can be made more educated without user intervention, it becomes a win/win.

There can be great value in knowing which tool to use in every case. When a user wants to know who Dennis Rodman is currently dating, Google will likely provide a better answer. But if the user wants to know how to write or debug code in Panorama, they should be able to expect that Claude (or whatever other chosen AI ProVUE friend) will be the users Go To best path. Every time that a Panorama user uses Google to find an answer to Panorama only puts a damper on the thought that AI tools have no value. I have saved thousands of dollars and hundreds of hours and have achieved quality and value far beyond what I could have and would have accomplished without AI. My work is amazing due to using all of the tools that are available. But I am honest enough to share that it was not really me who accomplished all that I deliver.

Using the right AI tool for the question at hand is the solution.