譯言網 | 網路日曆介紹 ICALENDAR
除了icalendar是標準規範(RFC2446 [ 2 ]和修訂RFC5546 [ 5 ]),定義了如何icalendar是用來進行調度操作(例如,一個單位可以邀請與會者參加會議並收到他們的回復)。這種形式的基礎,電子郵件為基礎的調度使用imip(規格,描述如何使用標準與電子郵件-RFC2447 [ 3 ])。icalendar本身是一個基於文本的數據格式。然而,一個格式也可,提供一對一的映射的文本格式(草案[ 7 ])。
icalendar數據文件通常有一個.ics的文件擴展名。大多數桌面日曆客戶端可以導入或導出icalendar數據,或直接訪問這些數據在互聯網上使用的各種協議。
數據模型該icalendar數據格式都有一個明確的數據模型。」icalendar」的對象包括一套「icalendar部件」,其中每個都包含一套「icalendar屬性」和其他可能的子組件。一個icalendar屬性由一個名字,一組可選參數(指定為「鍵值」對)和一個值。icalendar組件包括:「vevent」代表一個事件「vtodo」這是一個任務或任務「vjournal」這是一個日記條目「vfreebusy」代表期間免費或繁忙時間信息「vtimezone」這是一個時區定義(時區偏移和夏令時規則)「valarm」是目前唯一定義的組件,用於設置報警或提醒的事件或任務。屬性包括:「dtstart」這是一個開始時間為一個組成部分「dtend」這是一個結束時間為一個組成部分「摘要」這是一個標題或摘要的一個組成部分「rrule」,可以指定規則重複活動或任務(例如,每一天,每一周的星期二,等。)「組織者」代表日曆用戶誰是組織一個活動或分配任務「與會者」代表日曆用戶參加的事件或指派的任務除了這個數據模型和預先定義的屬性,規範定義如何所有這些一起用來確定語義日曆對象和調度。語義基本上是一套規則,說明所有的組件和屬性一起使用,以確保所有icalendar產品能實現良好的互操作性。例如,一個規則要求所有活動必須有一個且只有一個「dtstart」屬性。最重要的一部分,該icalendar規範是語義模型,它代表的日曆。使用文本或是二次編碼。
調度
iTIP標準規範定義了如何用icalendar對象交換來實現關鍵任務需要安排的事件或任務。一個例子是一個簡單的流程如下:安排活動,組織者創建icalendar對象代表事件並添加日曆用戶與會者。主辦單位發送一個iTIP標準「請求」消息給所有參加者。在收到的調度信息,每個與會者可以決定是否要參加會議或不。每個參加者可以響應回到單位使用一個標準的iTIP「答覆」消息表明自己的出勤情況。iTIP標準支持其他類型的調度信息,例如,取消會議,添加新的情況下一個重複會議,等等。 可擴展性icalendar被設計成可擴展的,允許新的成分,性能和參數被定義為需要。一個註冊表存在保持名單的標準擴展參考定義確保任何人都可以使用它們,以及與他人合作。 日曆數據的存取和交換協議網路日曆下載
日曆數據可以被下載從伺服器通過網路瀏覽器,然後直接導入到一個icalendar知道客戶端。另外,日曆數據可以檢索在一些其他的方式從互聯網上(例如,通過電子郵件發送的附件),然後輸入到一個日曆客戶端。這個解決方案運作良好,日曆數據,不可能隨時間而改變(例如名單的國家假日明年)。
網路日曆訂閱
一個日曆只是一個icalendar數據文件提供了在網路伺服器。然而,而不是使用網頁瀏覽器下載的日曆數據,日曆客戶端可以使用網址的日曆數據的伺服器下載日曆數據本身。此外,日曆客戶端可以檢查伺服器上定期更新的日曆數據,然後更新自己的緩存副本。這使得日曆數據隨時間變化,保持同步。
CalDAVCalDav是根據RFC4791 [ 6 ]定義的一種日曆訪問協議。該協議是基於Web DAV協議,是一個基於HTTP的擴展的文檔管理伺服器上的增強功能。caldav是用在各種不同的環境,從非常大的互聯網服務提供商,以大型和小型企業或機構,和中小企業和個人。caldav客戶端包括桌面應用軟體,移動設備和基於瀏覽器的解決方案。它也可以使用「applets」控制項,例如,一個網頁,顯示用戶即將舉行的活動。caldav的一個關鍵方面是其數據模型。簡單的說,它定義了一個「日曆」為每個日曆用戶,其中任何數量的「日曆」可以被創建。每一個「日曆」可以包含任意數量的icalendar對象代表個別事件,任務或日記條目。這一數據模型確保客戶端和伺服器可以互通好。除了提供操作簡單的讀,寫和刪除的日曆數據,caldav提供查詢機制允許客戶端獲取日曆數據匹配特定標準。這是常用的客戶端發起的基於「時間範圍」的查詢,即,找到的事件,發生在一個給定的開始/結束時間。caldav也支持訪問控制允許功能如委派日曆和日曆共享。caldav也說明了調度操作可以使用該協議,而不是,例如,發送調度信息通過電子郵件。雖然它使用語義的iTIP標準協議,它簡化了程序允許簡單的日曆數據寫操作觸發發送調度信息,並有伺服器收到調度信息的自動處理。調度可以做到與其他用戶的caldav伺服器或日曆用戶的其他系統(通過某種形式的「網關」)。 ActiveSync/SyncMLActive Sync [ 8 ]和SyncML[ 9 ]同步技術,允許多個設備同步數據與伺服器,與日曆數據的一個類別的數據支持。這些通常被用於移動設備的廣泛的能力,但往往用在「智能「手機上。 CalWScalws [ 10 ]是一個網路服務日曆訪問應用程序編程介面開發的日曆和日程安排和OASIS組織,一部分被用作OASISws-calendar標準。它提供了一個編程介面訪問和操縱數據存儲在伺服器,是更適合於服務編程環境。它有一個類似的數據模型,並設計了caldav並存的caldav服務提供相同的數據。 iSchedule
ischedule [ 11 ]是一個協議,允許用戶在不同的日曆系統之間的調度和在不同的網路域。運輸調度iTIP信息在伺服器之間使用http標準協議。伺服器使用dns和各種安全機制,以確定其真實性收到的消息。它是專為獨立的日曆系統中使用的終端,使其與許多不同的系統。這使得組織以不同的日曆系統交換調度信息與對方,並允許一個單一的組織與多個日曆系統(例如由於兼并,或不同部門要求)之間的信息交換調度用戶的每一個系統。
參考 材料:
[1]https://datatracker.ietf.org/doc/rfc2445/: "Internet Calendaring and Scheduling Core Object Specification"[2]https://datatracker.ietf.org/doc/rfc2446/: "iCalendar Transport-Independent Interoperability Protocol"[3]https://datatracker.ietf.org/doc/rfc2447/: "iCalendar Message-Based Interoperability Protocol"[4]https://datatracker.ietf.org/doc/rfc5545/: "Internet Calendaring and Scheduling Core Object Specification"[5]https://datatracker.ietf.org/doc/rfc5546/: "iCalendar Transport-Independent Interoperability Protocol"[6]https://datatracker.ietf.org/doc/rfc4791/: "Calendaring Extensions to WebDAV"[7]https://datatracker.ietf.org/doc/draft-daboo-et-al-icalendar-in-xml/: "xCal: The XML format for iCalendar"[8]http://msdn.microsoft.com/en-us/library/aa913903.aspx: ActiveSync[9]http://www.openmobilealliance.org/tech/affiliates/syncml/syncmlindex.html: SyncML[10]http://www.calconnect.org/pubdocs/CD1011%20CalWS-Rest%20Restful%20Web%20Services%20Protocol%20for%20Calendaring.pdf: "Restful Web Services Protocol for Calendaring"[11]http://tools.ietf.org/id/draft-desruisseaux-ischedule-01.txt: "Internet Calendar Scheduling Protocol"
推薦閱讀: