(Icalendar) Compatible Collaborative Calendar-Server (CCS) Web Services

Total Page:16

File Type:pdf, Size:1020Kb

(Icalendar) Compatible Collaborative Calendar-Server (CCS) Web Services Internet Calendaring and Scheduling Core Object Specification (iCALENDAR) Compatible Collaborative Calendar-Server (CCS) Web Services Ahmet Fatih Mustacoglu 1, 2 , Wenjun Wu 1, and Geoffrey Fox 1, 2 1Community Grids Lab, Indiana University, Bloomington, IN, 47404, USA 2Department of Computer Science, Indiana University {amustaco, wewu, gcf}@indiana.edu ABSTRACT with each other even if they are in the same organization or they are coming from the same commercial vendor. There has been a clear need to have a common format for representing calendar data to solve the To solve interoperability problems, The Internet interoperability issues between different types of Engineering Task Force (IETF) [2] introduced some Calendaring and Scheduling applications. Internet standards by publishing specifications for the calendar Calendaring and Scheduling Core Object Specification data exchange. IETF is an open community of network (iCalendar) defines a common format for calendar data designers, operators, vendors, and researchers for every exchange to progress the level of interoperability possible interested individual. between different calendaring and scheduling applications. In this paper, we describe our approach to We need to implement a calendaring and scheduling resolve interoperability issues by providing module for Global Multimedia Collaboration System implementations of a Collaborative Calendar-Server (GlobalMMCS) Portal [4] of Community Grids Lab at (CCS), a bridge module, and a Global Multimedia Indiana University so that it can both handle its own Collaboration System (GlobalMMCS) Client Module. The calendaring and scheduling needs and also communicate CCS is implemented based on the iCalendar specification with other scheduling applications. To do so, we have as a collection of Web Services. The bridge module allows investigated the possible interoperability problems for the CCS to communicate with different Calendaring and calendaring and scheduling applications that we might Scheduling applications, which are based on the have, and we have decided to handle interoperability iCalendar specification and use http methods for issues by implementing the Collaborative Calendar-Server interactions. GlobalMMCS portal interacts with the CCS (CCS) based on the iCalendar specification [1]. We have to schedule meetings, and to store and to retrieve extended the CCS’s ability to interact with other calendar information through the GlobalMMCS Client calendaring and scheduling applications through the http Module. methods by defining a bridge module, which provides a mechanism to handle coming http requests. Hence, iCalendar based calendaring and scheduling applications can publish and subscribe to a calendar of the CCS. KEYWORDS: iCalendar, Web Services, Calendar Furthermore, GlobalMMCS Portal users can also access Server, Collaborative Calendar, GlobalMMCS Portal. their private calendar and a collaborative calendar of the system, where meeting schedules are made into, by using GlobaMMCS Client module. 1. INTRODUCTION This paper gives the details about the design, the Internet Calendaring and Scheduling Core Object architecture, and the implementation details of our Web Specification (iCalendar) [1] introduces a new format for Service oriented CCS that supports the iCalendar calendaring and scheduling applications. Without a specification. The CCS also has a bridge module that common format, there will be interoperability problems enables other calendaring and scheduling clients to between dissimilar applications that are not supporting the communicate with the CCS such as Mozilla Calendar same format for defining the calendar information. Client [3], which use http methods to call our services. In Different organizations and commercial vendors develop this paper, we will first give some background their own calendaring and scheduling model and information. Then, we will talk about the design and the structures. If the calendar representation format is not architecture of the system. Next, we are going to discuss interoperable, calendar applications can not communicate the CCS’s implementation details, which include elaborate explanation of GlobalMMCS [4] Client Module for the heavily based on the earlier vCalendar [7] industry CCS, implementation of the CCS as Web Services, and specification by the Internet Mail Consortium (IMC) [8]. the bridge module for the CCS. Then we are going to present our test results for the CCS. Finally, we will The CCS has been implemented as Web Services provide the conclusion and future work as a last chapter. using Java programming language. Web Services leverage the level of interoperability between different software 2. BACKGROUND applications that are running on different platforms. Web Services have an interface which is described in a Grid computing is an emerging technology, and it is machine-processable format, and Web Services support the next logical level of distributing computing. Grid is a interoperable machine to machine interaction over a secure, controlled and coordinated resource sharing network. Web Services are defined in a language called among dynamic collections of individuals, institutions, Web Services Description Language (WSDL) [14]. The and resources [17]. Interoperability is the central issue in clients can communicate with a web service by Grid computing. Setting common protocols helps to exchanging messages in SOAP (Simple Object Access increase interoperability, and the iCalendar specifications Protocol) format. tend to solve interoperability problems among different calendar and scheduling applications. Grid architecture SOAP [15] is a platform and language independent identifies fundamental system components, specifies the communication protocol for exchanging information in purpose and function of these components, and indicates distributed environment. SOAP is an XML based how these components interact with one another. The protocol, and consists of three parts: the envelope, the Open Grid Services Architecture (OGSA) [18], developed encoding rules, and the Remote Procedure Call (RPC) by the members of the Global Grid Forum (GGF) [19], convention. SOAP can be used in any combination with defines the grid services and the whole system structure other protocols such as HTTP, FTP etc. In our and services that need to be supported in the grid implementation, the CCS’s Web Services use SOAP over environments. Grid services in OGSA are defined based HTTP. on Web Services Description Languages (WSDL) with minor extensions. Grid specifications are developing over By combining the Web Services technology and the time, and Web Services Resource Framework (WSRF) is iCalendar specification in the CCS, which can be taking the place of Open Grid Services Infrastructure deployed as a Grid service, we are planning to advance (OGSI), described by OGSA [20]. The main purpose of the level of interoperability for different types of WSRF is to keep the grid architecture evolution aligned applications running on different platforms. with the developments in Web Services. WSRF is a collection of Web Services specifications that provide a 3. DESIGN AND ARCHITECTURE way to access stateful resources using Web Services [21]. OVERVIEW The calendaring and scheduling needs have been The CCS has been designed to provide Web-Service increasing rapidly for the last decade. Companies have oriented calendaring and scheduling services over the been trying to implement this technology into their internet. The CCS stores the users’ calendar and a businesses. Unfortunately, there is a lack of Internet collaborative calendar in iCalendar format (with “ics” standards for the message content types that are crucial to extension) as specified in RFC 2445 [1] on the machine calendaring and scheduling applications. As a result of where the Collaborative Calendar-Server is running. Each this trend, the iCalendar specification have been defined user has his/her own iCalendar file for his/her private in RFC2445 [1] and intended to advance the calendar. There is only one iCalendar file for the interoperability among the calendaring and scheduling collaborative calendar shared by all users. Users’ access applications that are not similar. The iCalendar to the collaborative calendar has been synchronized. An specification defines the format for specifying iCalendar overview of the CCS architecture design is depicted in object methods. Figure 1. For the CCS’s services please see the project home site [12]. The iCalendar specification is a result of the work of the Internet Engineering Task Force Calendaring and The bridge module, which has been designed as a Java Scheduling Working Group (chaired by Anik Ganguly of Servlet Technology, provides communication between the Open Text Inc.) [2], and was authored by Frank Dawson CCS and various calendaring and scheduling client of Lotus Development Corporation [5] and Derik applications, which support the iCalendar specification Stenerson of Microsoft Corporation [6]. iCalendar is and use http methods to communicate. The CCS can currently interact and communicate with Mozilla Calendar Private Calendar : It basically calls the associated Client [3]. A user, who is using Mozilla Calendar Client services of the CCS to retrieve the user’s private calendar [3], can subscribe to a calendar of the CCS, or the user file from the server. When the Web Service is called, it can publish events to a calendar stored on the CCS. first checks to see whether or not this user has an iCalendar
Recommended publications
  • WS-Calendar Version 1.0
    1 2 WS-Calendar Version 1.0 3 Working Draft 04 4 20100509 5 Specification URIs: 6 This Version: 7 http://docs.oasis-open.org/ws-calendar/v1.0/wd04/ws-calendar-1.0-spec-wd-04.pdf 8 http://docs.oasis-open.org/ws-calendar/v1.0/wd04/ws-calendar-1.0-spec-wd-04.html 9 http://docs.oasis-open.org/ws-calendar/v1.0/wd04/ws-calendar-1.0-spec-wd-04.doc 10 Previous Version: 11 http://docs.oasis-open.org/ws-calendar/v1.0/wd04/ws-calendar-1.0-spec-wd-03.pdf 12 http://docs.oasis-open.org/ws-calendar/v1.0/wd04/ws-calendar-1.0-spec-wd-03.html 13 http://docs.oasis-open.org/ws-calendar/v1.0/wd04/ws-calendar-1.0-spec-wd-03.doc 14 Latest Version: 15 http://docs.oasis-open.org/ws-calendar/v1.0/ws-calendar-1.0-spec.pdf 16 http://docs.oasis-open.org/ws-calendar/v1.0/ws-calendar-1.0-spec.html 17 http://docs.oasis-open.org/ws-calendar/v1.0/ws-calendar-1.0-spec.doc 18 Technical Committee: 19 OASIS WS-Calendar TC 20 Chair(s): 21 Toby Considine 22 23 Editor(s): 24 Toby Considine 25 Paul Tischhauser 26 27 Related work: 28 This specification replaces or supersedes: 29 N/A 30 This specification is related to: 31 IETF RFC 5545, ICalendar 32 IETF RFC 5546, ICalendar Transport 33 IETF RFC 2447, ICalendar Message Based Interoperability 34 IETF XCal in process 35 36 Declared XML Namespace(s): 37 http://docs.oasis-open.org/ns/ws-calendar/ws-calendar-201001 38 Abstract: 39 WS-Calendar describes a common set of message components for specifying schedules and intervals to 40 coordinate activities between services.
    [Show full text]
  • Scheduling Standards Resources
    Memorandum To: Oasis-Open LegalXML ECF TC From: James McMillan, National Center for State Courts Re: Scheduling standards resources Per request from the TC, I have prepared the following resource list from our discussion with the experts from the CalConnect, The Calendaring and Scheduling Consortium: http://www.calconnect.org/ Pertinent to our efforts is that this group is participating in the OASIS-Open Web Services Calendar group (WS-Calendar) TC https://www.oasis-open.org/apps/org/workgroup/ws-calendar/ And one of the ideas that the expert group suggested is that ECF send a representative to the upcoming CalConnect XXXII conference scheduled for San Jose, CA, January 26-30, 2015 (http://www.calconnect.org/calconnect32.shtml ). Also please note that as part of the conference they hold their their CalConnect Interoperability Test Event: http://www.calconnect.org/iop1501.shtml Standards The following are a list of scheduling and calendar related standards that the experts recommended that ECF study and consider for guidance for our possible scheduling extension. iCalendar (http://en.wikipedia.org/wiki/ICalendar ) is a computer file format which allows Internet users to send meeting requests and tasks to other Internet users, via email, or sharing files with an extension of .ics. Recipients of the iCalendar data file (with supporting software, such as an email client or calendar application) can respond to the sender easily or counter- propose another meeting date/time. There is an excellent properties chart shown here for the standard: http://en.wikipedia.org/wiki/ICalendar#mediaviewer/File:ICalendarSpecification.png iTip Standard (https://www.ietf.org/rfc/rfc2446.txt )- defines a protocol for exchanging iCalendar objects for the purposes of group calendaring and scheduling between "Calendar Users" (CUs); whoever initiates the exchange of data takes on the role of the "Organizer".
    [Show full text]
  • Reference Guide
    Reference Guide Mulberry Internet Email and Calendar Client Version 4.0 Cyrus Daboo mailto:[email protected] Pittsburgh PA http://www.mulberrymail.com USA 2Information in this document is subject to change without notice. You are free to use this document in any way you wish provided full attribution of the original author is given. Document Revision 405.000 © 2006 Cyrus Daboo. All Rights Reserved. Pittsburgh PA USA Mulberry is a registered trademark. All other companies and product names are trademarks or registered trademarks of their respective holders. Contents 1. INTRODUCTION................................................................................. 15 2. GETTING STARTED............................................................................ 16 2.1 SYSTEM REQUIREMENTS .......................................................................................................... 16 2.2 INSTALLING MULBERRY........................................................................................................... 17 2.3 GETTING HELP......................................................................................................................... 18 2.4 STARTING MULBERRY .............................................................................................................. 18 2.5 DRAG AND DROP ...................................................................................................................... 20 2.6 CONTEXTUAL MENUS.............................................................................................................
    [Show full text]
  • How to Subscribe to the VCS Online Calendar
    How to subscribe to VCS calendars 1. Select the calendar you would like to subscribe to. 2. Click subscribe link. 3. Clicking the link opens the subscribe page where you are presented with a list of subscription options and a subscribe button. Select how you want to subscribe to automatically receive calendar updates. Each selected option is described briefly. By clicking More, you will have access to a more detailed description as well as help about how to subscribe. 4. Select an option, and then click Subscribe. Subscription options explained We invite you to learn about each of the ways visitors can subscribe. iCalendar feeds and files In the subscribe window, you are given two iCalendar options. You can subscribe to an iCalendar feed or download an iCalendar file. iCalendar subscribe (recommended) When you subscribe to an iCalendar feed, you should see a URL or link in your Internet browser. In most cases, the browser will automatically send the iCalendar feed to your calendar program. If the calendar program supports the iCalendar format, it will download the event information into a new or existing calendar and establish a connection with the online calendar so new events will automatically be added. For more details about iCalendar subscriptions with specific calendars or devices, see Subscribe to iCalendar feed. iCalendar download While you will be able to download an iCalendar (.ics) file, it would not be automatically updated so we encourage you to use the iCalendar subscription option. RSS and Atom feeds You can subscribe to feeds of VCS events in either RSS or Atom (XML) format.
    [Show full text]
  • Caldav on a Mobile Device
    Master Thesis CalDAV on a Mobile Device Martin Hellaeus April 4, 2007 Department of Computer Science Lund Institute of Technology Supervisor: Lennart Ohlsson Abstract There are today many solutions for exchanging calendar information. How- ever, there is no open standard for this yet. This has resulted in many different solutions that are not able to fully communicate and exchange cal- endar data. A proposal to solve this is CalDAV that is intended to be a standard protocol for transport of calendar data over HTTP. This thesis presents the calendaring situation of today and, if and what CalDAV can improve. Another topic that is dealt with is if CalDAV is suited also for mobile devices. During the work an application has been developed. It is a calendar client that uses the CalDAV protocol to connect to servers and fetch calendar data from it. The application is intended for use in a mobile device. Contents 1 Introduction 3 1.1 Previous work . 4 1.2 Objectives . 5 1.3 Approach . 7 1.4 Note . 8 2 Calendaring solutions 9 2.1 Mobile solutions . 11 3 CalDAV 12 3.1 WebDAV . 15 3.2 iCalendar . 17 3.3 The CalDAV Protocol . 17 3.3.1 Authentication . 21 3.3.2 Scheduling Extensions to CalDAV . 22 4 Interoperability 24 4.1 Clients . 25 4.2 Servers . 27 5 Design of a Demo client 30 5.1 Environment . 30 5.2 Requirements . 31 5.3 Design . 31 5.4 Result . 33 6 Summary 36 A Requirements 41 1 B Protocol examples 43 B.1 CalDAV request example .
    [Show full text]
  • North Carolina Statewide Technical Architecture Collaboration Domain
    North Carolina Statewide Technical Architecture Collaboration Domain © 2005 State of North Carolina Office of the State Chief Information Officer Enterprise Technology Strategies PO Box 17209 Raleigh, North Carolina 27699-7209 http://www.ncsta.gov [email protected] All rights reserved. No part of the material protected by this copyright notice may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying, recording or by any informational storage system without written permission from the copyright owner. North Carolina Statewide Technical Architecture Collaboration Domain Table of Contents 1. PRINCIPLES:..................................................................................................................................... 4 1.1. EFFECTIVE USES OF COLLABORATION TECHNOLOGIES CONNECT PEOPLE, PROCESSES, AND INFORMATION TO MEET BUSINESS REQUIREMENTS. .................................................................................... 4 1.2. COLLABORATION TECHNOLOGIES LINK PEOPLE, PROCESSES, AND INFORMATION WITHIN AND ACROSS ORGANIZATION BOUNDARIES AND ARE MOST EFFECTIVE WHEN IMPLEMENTED USING AN ENTERPRISE APPROACH TEXT ..................................................................................................................... 4 1.3. COLLABORATIVE TECHNOLOGIES ARE SUPPORTED AND COMPLEMENTED BY ENTERPRISE-CLASS SERVICES. ................................................................................................................................................... 4 1.4. COLLABORATIVE
    [Show full text]
  • Notes/Domino 10.X へのアップグレード
    Notes/Domino 10.x へのアップグレード 2019 年 4 月 15 日 初版 2020 年 2 月 5 日 軽微な修正 フィードバックは [email protected] または [email protected] にお寄せくだ さい(英語)。 日本語版注: 一部日本語コンテンツへのリンクの差し替え、追加、その他日本語版独自の注意事項 を掲載していますが、英語のコンテンツへのリンクが多数含まれます。予めご了承ください。 目次 第 1 章: Notes および Domino 10 の紹介 ................................................. 1-1 管理者のための新機能 ................................................................. 1-1 ユーザーのための新機能 ............................................................... 1-2 開発者のための新機能 ................................................................. 1-4 Domino AppDev Pack ................................................................. 1-4 新しい LotusScript および Java クラス .............................................. 1-4 削除された機能 ....................................................................... 1-5 第 2 章: Domino 10 サーバーのデプロイメントの計画 ...................................... 2-6 既存環境の評価とモニター ............................................................. 2-6 評価 ............................................................................... 2-6 モニター ........................................................................... 2-6 リリース 10 の OS とハードウェア要件の評価 ........................................... 2-7 システム要件 ....................................................................... 2-7 32 ビットの OS から 64 ビット OS への移行の場合 ..................................... 2-7 バージョン間の機能の共存の評価 ....................................................... 2-7 Notes Auto Update .................................................................. 2-7 新しい ODS レベル: ODS
    [Show full text]
  • Calendering Extensions C. Daboo Internet-Draft Apple Intended Status: Informational A
    Calendering Extensions C. Daboo Internet-Draft Apple Intended status: Informational A. Quillaud Expires: January 24, 2018 Oracle K. Murchison, Ed. FastMail July 23, 2017 CalDAV Managed Attachments draft-ietf-calext-caldav-attachments-03 Abstract This specification defines an extension to the calendar access protocol (CalDAV) to allow attachments associated with iCalendar data to be stored and managed on the server. This specification documents existing code deployed by multiple vendors. It is published as an Informational specification rather than Standards-Track due to its non-standard method of updating an existing resource via HTTP. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 24, 2018. Copyright Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of Daboo, et al. Expires January 24, 2018 [Page 1] Internet-Draft CalDAV Managed Attachments July 2017 publication of this document.
    [Show full text]
  • Feeding the Bird a Quick Start Into Calendar Development
    Welcome, Bienvenue, Welkom … ® Feeding the Bird A quick start into calendar development Duration: 30 Minutes by Philipp Kewisch mozilla @ kewis.ch ® Provider Basics Functionality › What does a Provider do? › Show and manipulate events from a custom source › Provide access to calendar servers › Changes to items are “live” mozilla @ kewis.ch ® Provider Basics Examples › Existing providers › Internal storage (sqlite) › iCalendar / ICS › CalDAV › Sun Java Calendar Server (WCAP) › Provider for Google Calendar › ThunderBirthDay › Ideas for new providers ® › Microsoft Exchange Server › Lotus Notes / Domino › Zimbra Collaboration Suite › X10 / Home control mozilla @ kewis.ch ® Provider Basics Advanced Capabilities › Advanced Features › Freebusy querying › Searching for calendars / Subscriptions › Invitation handling (iMIP/iTIP) › Advanced synchronization (caching) › Controlling the UI › Disable unsupported features (i.e tasks) › Specify possible values (i.e privacy) mozilla @ kewis.ch ® Implementing a Provider The real work... › Implement calICalendar › Most methods and attributes can be inherited from calProviderBase › type attribute (Short name for the provider) › getItems (Retrive Items) › getItem (Retrieve a specific Item) › add, delete, modifyItem (Write Items) › canRefresh, refresh (Action when calendar is reloaded) mozilla @ kewis.ch ® Implementing a Provider Adding UI To allow calendar creation using the calendar wizard, calendarCreation.xul needs to be overlaid. <!DOCTYPE overlay SYSTEM "chrome://gdata-provider/locale/gdata.dtd"> <overlay
    [Show full text]
  • [MS-OXREF]: Exchange Server Protocols Master Reference
    [MS-OXREF]: Exchange Server Protocols Master Reference Intellectual Property Rights Notice for Open Specifications Documentation . Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages, standards as well as overviews of the interaction among each of these technologies. Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you may make copies of it in order to develop implementations of the technologies described in the Open Specifications and may distribute portions of it in your implementations using these technologies or your documentation as necessary to properly document the implementation. You may also distribute in your implementation, with or without modification, any schema, IDL’s, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications. No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft Open Specification Promise or the Community Promise. If you would prefer a written license, or if the technologies described in the Open Specifications are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting [email protected]. Trademarks. The names of companies and products contained in this documentation may be covered by trademarks or similar intellectual property rights.
    [Show full text]
  • Calws-SOAP SOAP Web Services Protocol for Calendaring Version: 1.0 Date: 2013-01-10 Status: Published Source: TC XML
    CALCONNECT DOCUMENT CD1301 Type: Proposal Title: CalWS-SOAP SOAP Web Services Protocol for Calendaring Version: 1.0 Date: 2013-01-10 Status: Published Source: TC XML This document was subject to public review at the same time as the OASIS WS- Calendar publication of CalWS-SOAP and contains the same content.. This document is copyright ©2013 by The Calendaring and Scheduling Consortium and is licensed under the Creative Commons 3.0 Unported LIcense: http://creativecommons.org/licenses/by/3.0/. CalWS-SOAP Version 1.0 09 November 2012 Technical Committee: CalConnect TC-XML Chair: Michael Douglass ([email protected]), Rensselaer Polytechnic Institute Editor: Michael Douglass ([email protected]), Rensselaer Polytechnic Institute Related work: This specification is related to: • RFC 6321 – xCal: iCalendar in XML. http://www.ietf.org/rfc/rfc6321.txt • WS-Calendar Version 1.0. Latest version. http://docs.oasis-open.org/ws-calendar/ws-calendar/v1.0/ws-calendar-1.0-spec.html Abstract: This document describes standard messages and interactions for service interactions with a system that hosts calendar-based information using SOAP. Hosted information can be either traditional personal and enterprise calendar information or services that support XML payloads developed in conformance with the WS-Calendar specification. CalWS-SOAP Version 1.0 09 November 2012 Copyright (c) 2012 The Calendaring and Scheduling Consortium. All Rights Reserved. Page 1 of 43 Table of Contents 1 Introduction.........................................................................................................................................
    [Show full text]
  • [MS-STANOICAL]: Outlook Icalendar Standards Support
    [MS-STANOICAL]: Outlook iCalendar Standards Support Intellectual Property Rights Notice for Open Specifications Documentation . Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages, standards as well as overviews of the interaction among each of these technologies. Copyrights. This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you may make copies of it in order to develop implementations of the technologies described in the Open Specifications and may distribute portions of it in your implementations using these technologies or your documentation as necessary to properly document the implementation. You may also distribute in your implementation, with or without modification, any schema, IDL’s, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications. No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. Patents. Microsoft has patents that may cover your implementations of the technologies described in the Open Specifications. Neither this notice nor Microsoft's delivery of the documentation grants any licenses under those or any other Microsoft patents. However, a given Open Specification may be covered by Microsoft Open Specification Promise or the Community Promise. If you would prefer a written license, or if the technologies described in the Open Specifications are not covered by the Open Specifications Promise or Community Promise, as applicable, patent licenses are available by contacting [email protected]. Trademarks. The names of companies and products contained in this documentation may be covered by trademarks or similar intellectual property rights.
    [Show full text]