There are 4 ways you can integrate with Daylite using the desktop app as the medium:
You can interact with the Daylite Server directly using 2 methods:
In order to take advantage of the API environments on the client side, you should be familiar with:
Daylite (the desktop app) is a full Cocoa application written in Objective-C. It uses many common patterns in Cocoa and especially MVC. For integration purposes, the most common used part of that pattern is the M (Model).
While it's backed by a SQL database, you never talk to the database directly. Instead, you talk to the ObjectContext and the objects it returns or creates for you.
The key aspects you need to remember are:
Daylite has a complex data structure comprising of a couple hundred database tables. We've exposed the most commonly used entities. Find the list here.
There is a set of objects that require special handing because they are used as options on objects (i.e. category or keywords). We keep these in the options cache and you access them using the optionsCache on the objectContext. You can find the list here.
The API exposes some classes and extensions (objective-c categories) that can be used in both the FScript and Objective-C environments. You can find them here.
The key scripting language for Daylite on the client side is FScript. FScript is a smalltalk like language implemented using the objective-c runtime giving you access to tons of Cocoa goodness. The flexibility it gives you is a bit of a double-edged sword in the sense that you can do great things but you can also really mess things up, so you have to be careful. You can execute FScript in the following places in Daylite:
We've assembled some commonly used code snippets. For some people, the best way to learn is through examples. The concepts discussed on this page can also be applied in the Objective-C environment albeit with syntax changes.