New improved version of ASObj-C database A18.0.3. Lots of changes

This post is announcing the release of ASObj-C Database A18.0.3. The new files can be accessed at the topic “Permanent place for ASObj-C database.”

Permanent place for ASObj-C database link

Once you’re on the topic page look for the dropbox folder shown below and click the text that says “ASObj-C Database files” and the Dropbox folder will appear. Choose whichever files you’re interested in and download them.

The reason the newest release is called A18, when the previously release version was A16, is because a lot of things from A16 were changed and after implementing some changes I used A17 for a while to make sure it worked ok before finishing the rest of the changes.

I looked at the short comings and problems reported by users along with the features liked and came up with some changes that should make the database easier to use and more helpful. “ASObj-C Database A18” now has all the changes I planed to make. I am hoping this will make the database more usable.

Now that this step is done I need to look at search keys. Good search key can transform a database to something very useful. Bad search keys at best make something of minimal use. My plan is to post some proposed search keys and get feedback. The same search key can mean different things to different people. So this is tricky. If the search keys don’t work for the users they are useless.

After the problem of the search keys are resolved my main focus will be on entering new things into the database.

Here are the changes since ASObj-C Database A16.

Currently there are 8 files available the user has access to.
##These files are:

  • FileMaker Pro files minus database file
  • ASObj-C Database A18.0.3.fmpur
  • ASObj-C Database Version History
  • Get super classes 1.0 applet
  • Install ASObj-C database 1.1.1.pdf
  • ASObj-C database quick start 1.1.1.pdf
  • ASObj-C Database Help manual 1.0.1.pdf
  • ASObj-C Glossary for Apple documentation 1.0.3.pdf

There was a bug in past versions of ASObj-C that only matched the “search text” on word boundaries for “Live searches.” For example it could find the word “class” in the string “class name” but it could not find the letters “class” in the string "classname. This has now been fixed. To read more about the bug, bug fix and how improved live search works check out the the beginning of “Chapter 4: Searching the database” in “ASObj-C Database Help manual” pages 15-16.

The name of the old “class item” window has been changed to “Item List” at the top of the window. The names for columns 2, 3 and 4 in the were changed in the “Item List” window. The “Class items” column is now called “Class items and Nonclass items,” “Class names” to “Class names and Nonclass names” and “Framework Names” to “Framework Names and Source type.” The new text in each changed column heading is displayed in red, to go with the red color which indicates an item is not a class.

Things removed from the database
The window size popups in the upper left corner of the “Class” and “Framework” windows were removed since it was never supposed to go in those windows. It only works on the class items window.

The “Omit record” icon and “Show omitted” icon in the upper left corner of the “Framework List,” “Class List” and “Item List” windows were removed. While such things are common in databases it did not make sense for such functionality to be in this particular specialized database given the database’s intended use.

The “Framework List” window had many changes due to the fact it is a small (16 item) and fixed length list. The Framework display now has a fixed display. Since all the names can easily be manually searched the live search in the “Framework List” window was removed. The record status in the upper right of the window, and the “Show all” button in the upper left corner of the window no longer served any function so they were also removed.

Things removed and replaced in the database
The “Open glossary” menu item in the ASObj-C menu was removed and a new pdf document named “ASObj-C Glossary for Apple documentation 1.0.3” was created. Many new entries were added to the glossary and it got pretty big so a “Table of Contents” was added. I used a long name for the glossary because I suspected many people did not realize the glossary is intended to help people read Apple documentation.

The “Open Help” menu item in the ASObj-C menu was removed and a new pdf document named “ASObj-C Database Help manual 1.0.1” was created. The help document was updated a lot. It is now has pictures to better show things, goes into some things more deeply, and covers more things. The entire format of the help was changed to something called a reference manual.

There as two styles of manual that can be created. The more common one is a manual that is intended to be read from beginning to end, in order, with new parts building on previous parts. This is how the Script Debugger manual was written.

A reference manual is very different. Reference manuals are geared to make information easy to find and are often never read in their entirety. In fact they are designed so they don’t need to be completely read. With a reference manual, when a problem arises it allows the user to go straight to the part that answers a question, and provides ways to guide the reader where to find things. The manual more answers questions, then progressively teaches concepts. Based on comments from scripters using the SD manual it seemed pretty obvious the users preferred a reference manual so that’s what I did. The subsection “Conventions followed in this book” of “Chapter 1” in the “ASObj-C database Help manual” pages 3-4 explains a number of things done to facilitate this.

Things Added to the database
Added some preset searches to the ASObj-C menu so the user will not have to type in searches in a static modal search. Added 5 preset searches to the ASObj-C menu along with keyboard shortcuts:
“Show Only Class Items…” ⌥⌘C
“Show Only Nonclass Items…” ⌥⌘N
“Find all Beginning Samples” ⌥⌘B
“Find all Intermediate Samples” ⌥⌘I
“Find all Advanced Samples” ⌥⌘A
“Find all Samples”

Added keyboard shortcuts to existing menu items:
Find all Methods ⌥⌘M
Find all Functions ⌥⌘F
Find all Enums and Constants ⌥⌘E

Added a text file called “ASObj-C Database Version History.txt” to the files available for the user. It is available in the same place the other files for the database are.

Added a “Notes Live search” and a “Class Live search” field to the “Item List” window making in total 4 Live search fields. Check out the the beginning of “Chapter 4: Searching the database” in “ASObj-C Database Help manual” pages 15-16 to see how that works. Live search has been improved from the versions with 2 live search fields. It’s more clear which live search field is active. The reason the notes live search was added is explained in subsection “The ‘Notes’ box” of “Chapter 2” on page 6 of the “ASObj-C Database Help manual.”

Added the missing “Instructive image” column to the “1280 X 735” window size in the “Item List” window.

Added the “Open Nonclass List” window menu item to the ASObj-C menu to list all the items that are not in a class.

Created an applet that allows users to enter a class and all of it’s super classes will be returned. The Applet has a lot of comments in the source code to make it easy to figure out how the script works.

Updated the error checking for the “Get super classes” applet. It’s version is now 1.0.1. The applet now processes user input so if it gets invalid input it can make educated guesses what was wrong with the input. “Chapter 5: Inheritance path windows” of the “ASObj-C Database Help manual” pages 18-19 explains how this is useful.

Added some more enum/constants to the database

Added some new class items to the “Items List” window.

Things modified in the database
All frameworks listed in the Frameworks window will always be visible from now on (see the last entry in the “Things removed” section of this document for why this was done).

The “Go to class item list” buttons at the bottom of the “Framework List” and “Class List” windows were changed to “Go to Item list.”

ASObj-C objects such as structs (short of structures) and Foundation functions no longer show up in the Item List" window. These objects are not classes.

Revised “ASObj-C database quick start.pdf” to reflect the changes in the database and it’s version number is now 1.1.1.

Revised “Install ASObj-C database.pdf” to reflect the changes in the database and it’s version number is now 1.1.1.

Changed some of the labels for things on the window to be more descriptive.

Rearranged a lot of things in all the windows to clean them up, and in some cases make it more readable.

Changed the “Item List” window so all items that are not “class” items will have the text in the second, third and fourth columns appear in red.

The help file had so many changes I’m not going to name them all. Nearly all of the changes were small corrections like additions of small bits of information, or small changes to increase the clarity of what was being explained. The biggest change was the addition of a “table of contents” to the help file. The subsection “Conventions followed in this book” of “Chapter 1” in the “ASObj-C database Help manual” (pages 3-4) explains how the “Table of Contents” is being used in a more effective way than most “Table of Contents” placed in manuals today.

Hey Bill,

Please provide a link to the permanent topic in posts like this.



I tried to provide a way for people to find the topic by saying “The new files can be accessed at the topic “Permanent place for ASObj-C database.”” But that’s the only way I know of. How do I make a link?


###How to Create/Post Links to Other Topics

Bill there are two ways you can easily provide a link to your main topic:

(1) Simple Copy/Paste
Go to the topic, make sure you are at the top of the page, and click in the URL bar and copy. Then just paste that link in any post, like this:

I pasted this:

and it shows like this:

(2) Compact, hyperlink style
Just create a Markdown link, either by typing, or by using the Forum toolbar:

Click on the “link” button:

and fill in the fields:

which results in:

Permanent place for ASObj-C database

You will notice that it adds the text for a Markdown link, like this:

[Permanent place for ASObj-C database](

Markdown links use the format:
[Text for link](URL for link)

I have a Keyboard Maestro Macro that creates a Markdown link from any web page, but you could just as easily write a script that does it, and copies to the Clipboard.

1 Like

Thanks Jim,

I would have never connected making a link to the symbol with 2 small circles and a tiny line connecting them. I put a link close to the top of the post and gave it the name “Permanent place for ASObj-C database link” That should make it sufficiently obvious. Once I knew how to do it it’s pretty simple.


1 Like

I think that icon represents three links in a chain.

Bill, welcome to the wonderful world wide web, where hyperlinks are abundant! :wink:

The Discourse forum icon is a stylized chain link that is used in many online forums, and even in local apps, as a button to create a hyperlink.

1 Like

I have the db exported as 551 .applescript files.
It includes the notes and all the samples the database did.

If anyone has a better suggestion for naming make a comment.
If you find errors you can post them also.

I created the “ASOC Database” and there are no restrictions except packaging the information and selling it. I want the information to be free to anyone who wants it. Credit to Shane Stanley, Mark Alldritt (creator of ScriptDebugger) and the site piyocast com/as/ for the source of much of the code.
Bill Kopp (511.8 KB)