Mac OS X Porting - AppleScript Support
Contents
Feature Justification
AppleScript support is basic to a Mac OS X application. Supporting Applescript will have the additional benefit of allowing scripting using JavaScript, Ruby, Python, and Objective-C via the AppleScript Scripting Bridge [1]
Basic Support
In order to add Applescript support to OOo the following basic steps need to be accomplished.
1. Turn on scripting support - see Apple Documentation http://developer.apple.com/documentation/Cocoa/Conceptual/ScriptableCocoaApplications/SApps_implement/chapter_4_section_7.html#//apple_ref/doc/uid/20000037-1081046]
Insert the following a the end of the Info.plist in the bundle just before /dict
snip---------------------
<key>OSAScriptingDefinition</key>
<string>OOo.sdef</string>
<key>NSAppleScriptEnabled</key>
<string>YES</string>
snip---------------------
2. Create a "sdef" scripting definitions file and put it in the bundle
Stub file, insert in bundle in Resources folder -> OOo.sdef in File:OOo sdef.gz
You can now run the following AppleScript -> OOoAS.applescript in File:OOo applescript.gz
3. Design scriptable "helper" classes that implement the object hierarchy. [2]
Extending Support
Phase 1 - Define suites (object model) for OOo
Phase 2 - Implement a subset of the most useful objects
Phase 3 - Verify support for Standard and Text Suites
Phase 4 - Make the OOo uno model AppleScript-able
--Msicotte 20:41, 12 June 2008 (CEST)
Adding Support for AppleScript to the Scripting Framework
This Apple Technote [3] describes calling Applescript from C - a first step to adding AppleScript support to the scripting framework. The example is Carbon - so not exactly what we want since Carbon is deprecated, but the Cocoa example links to the same page.
--Msicotte 19:53, 28 June 2008 (CEST)