Calendar:Dev Guide: Difference between revisions

Jump to navigation Jump to search
Add locations of sql-table definitions
(First cut at a new dev-guide)
 
(Add locations of sql-table definitions)
Line 92: Line 92:


= Back End =
= Back End =
The back-end of Lightning and Sunbird consists largely of a series of XPCOM components that have been designed specifically for calendar-related purposes.  In most cases, these components implement a specific interface defined in an IDL file.  All of these interface definitions reside in [http://lxr.mozilla.org/mozilla/source/calendar/base/public/ public/] and contain substantial documentation on their use and implementation.  The back end  is entirely shared between all calendar applications and extensions.   
The back-end of Lightning and Sunbird consists largely of a series of XPCOM components that have been designed specifically for calendar-related purposes.  In most cases, these components implement a specific interface defined in an IDL file.  All of these interface definitions reside in [http://lxr.mozilla.org/mozilla/source/calendar/base/public/ public/] and contain substantial documentation on their use and implementation.  The back end  is entirely shared between all calendar applications and extensions.
 
== SQLite ==
Sunbird/Lightning are now using the new mozStorage system to keep track of the majority of user-enterred informationThere are several tables stored in the database.  The tables concerning calendar locations and preferences are defined [http://lxr.mozilla.org/mozilla/source/calendar/base/src/calCalendarManager.js#119 here] and those concerning events in individual calendars are defined [http://lxr.mozilla.org/mozilla/source/calendar/providers/storage/calStorageCalendar.js#1829 here].
== Providers ==
== Providers ==
There are currently 3 types of calendars that are available to the user, and 5 back-end types to support these.  Each of these calendar types must implement the [http://lxr.mozilla.org/mozilla/source/calendar/base/public/calICalendarProvider.idl calICalendarProvider interface].  Then, individual instances of a [http://lxr.mozilla.org/mozilla/source/calendar/base/public/calICalendar.idl calICalendar] object are created for each calendar the user subscribes to.
There are currently 3 types of calendars that are available to the user, and 5 back-end types to support these.  Each of these calendar types must implement the [http://lxr.mozilla.org/mozilla/source/calendar/base/public/calICalendarProvider.idl calICalendarProvider interface].  Then, individual instances of a [http://lxr.mozilla.org/mozilla/source/calendar/base/public/calICalendar.idl calICalendar] object are created for each calendar the user subscribes to.
289

edits

Navigation menu