SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Open Source Applications Foundation

    A Developer’s Tour of
         Chandler
             July 26–30, 2004
Overview
• Big Picture (Mitch Kapor)
• Chandler Architecture Overview (Ted Leung)
  – Repository and Services
• Project Dynamics / Community (Ted Leung)
• Introduction to CPIA (John Anderson)
• Chandler, Email, & Twisted (Brian Kirsch)
            • Demo
            • Q&A


                               Open Source Applications Foundation
The Big Picture
 Mitch Kapor <mitch@osafoundation.org>




                                   Open Source Applications Foundation
Chandler
Architecture
Ted Leung <twl@osafoundation.org>




                                Open Source Applications Foundation
Open Source Applications Foundation
Open Source Applications Foundation
Open Source Applications Foundation
Chandler Repository
• Item based data model
  – bi-directional references
• Integrated with Python
• Uses an XML format to describe the schema
• Concurrency control / threading
          • Full text indexing
             – PyLucene



                                Open Source Applications Foundation
Services
    • Standards
      –   IMAP/POP
      –   WebDAV
      –   XMPP
      –   CALDAV
    • Security
      – PKI Infrastructure
      – m2crypto


                             Open Source Applications Foundation
Developer Info
     • CVS
       – cvs.osafoundation.org
     • Bi-weekly milestone builds
     • bugzilla.osafoundation.org
     • Licensing
       – Dual Licensed, GPL




                                 Open Source Applications Foundation
Community
• wiki.osafoundation.org
  – RSS feeds
• www.osafoundation.org
• Mailing lists
  – {dev, design, pylucene-dev}@osafoundation.org
         • IRC
            – irc.osafoundation.org:6667
            – #chandler

                                Open Source Applications Foundation
Chandler Roadmap
   • 0.4 Release - October 2004
     – Experimentally usable

   • 0.5 Release - 3-5 mos after 0.4
     – Basic end user functionality
     – Dogfood

   • 1.0 (Canoga) Release - 2005




                                      Open Source Applications Foundation
CPIA
Chandler Presentation & Interaction Architecture

   John Anderson <john@osafoundation.org>




                                    Open Source Applications Foundation
Goals
• Design a set of Chandler-specific UI building
  blocks
• Blocks don’t depend on the presentation
  platform
• Enable a non-programmer build mode




                                Open Source Applications Foundation
Open Source Applications Foundation
Examples of Blocks
• Container blocks
• Tree and List blocks
• Compound blocks




                         Open Source Applications Foundation
Progress Report
• Data driven model works well (observable
  queries)
• Not enough experience with Chandler events
• No experience with multiple presentation
  platforms




                              Open Source Applications Foundation
Chandler Mail
Framework
Brian Kirsch <bkirsch@osafoundation.org>




                                    Open Source Applications Foundation
Chandler Mail Libraries Requirements
IMAP Library                            Mail Message Parser
• Open Source (non-GPL)                 • Open Source
• Pipelining                            • Handle badly formatted
• IMAP Syntax call efficiency             messages (Spam)
• SSL / TLS support                     • Good performance
• Handle quirky IMAP server             • Handle parsing of very
  implementations                         complex mail messages
• IMAP Authentication Schemes (Login,   • i18n Support
  MD5, etc.)                            • Actively maintained
• Actively maintained




                                              Open Source Applications Foundation
IMAP Evaluation
•   Mozilla Mail Client (C++, XPCom)
•   University of Washington C-client ( C )
•   Python imaplib (Python)
•   Twisted IMAP4Client library (Python)
    – http://www.twistedmatrix.com/




                                  Open Source Applications Foundation
Mail Library Determination
• Twisted Framework for IMAP support
• Python version 2.4 Feedparser (Spambayes)

           Still to be decided:
           •POP3 Library
           •SMTP Library
           •Spam / Filter Libraries
           •Encryption Libraries (S/MIME, PGP)

                                  Open Source Applications Foundation
Twisted in Chandler
• Twisted is a core service within Chandler
• The Twisted Asynchronous event loop is run in a
  dedicated thread and accessed via the
  reactor.callFromThread() syntax
• Chandler code leveraging Twisted runs in the Twisted
  asynchronous event thread (Repository Views)




                                   Open Source Applications Foundation
Chandler 0.4 Release
0.4A Milestone:
• Download mail messages from one or more IMAP accounts and
  store in the repository utilizing Twisted’s IMAP4Client and
  Python’s message parser.
• Improve the Chandler mail content model
• Identify and resolve IMAP server synchronization issues

                0.4B Milestone:
                • Compose and send mail from Chandler UI
                  (SMTP support)
                • Encrypted (SSL) IMAP client / server
                  communication (configurable)


                                           Open Source Applications Foundation
Looking Forward
•   The Inbox
•   Discussion Threads
•   Item Collections
•   IMAP / Chandler Synchronization
•   Searching
          • Spam Protection / Rules / Signing
            (S/Mime, PGP)


                                Open Source Applications Foundation
More Information
• Email Service Page
http://wiki.osafoundation.org/twiki/bin/view/Chandler/EmailService



• Chandler Twisted Home
http://wiki.osafoundation.org/twiki/bin/view/Chandler/TwistedHome




                                               Open Source Applications Foundation
Demo




       Open Source Applications Foundation
BOF - tonight
OSAF's Chandler - Q & A With the Developers

              Track: BOF
              Date: Wednesday, July 28
              Time: 7:00pm - 8:00pm
              Location: Columbia


                               Open Source Applications Foundation
Item
Collection




             Open Source Applications Foundation

Más contenido relacionado

La actualidad más candente

Outsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based DesignOutsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based DesignPerforce
 
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский Sigma Software
 
IPv4 and IPv6 Current Situation
IPv4 and IPv6 Current SituationIPv4 and IPv6 Current Situation
IPv4 and IPv6 Current SituationRIPE NCC
 
Ceph Day Santa Clara: Ceph Fundamentals
Ceph Day Santa Clara: Ceph Fundamentals Ceph Day Santa Clara: Ceph Fundamentals
Ceph Day Santa Clara: Ceph Fundamentals Ceph Community
 
Балансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for BusinessБалансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for BusinessAlexander Zhuravlev, Ph.D.
 
NiFi Developer Guide
NiFi Developer GuideNiFi Developer Guide
NiFi Developer GuideDeon Huang
 

La actualidad más candente (6)

Outsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based DesignOutsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based Design
 
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский
RSocket — new Reactive cross-network Protocol? Олег Докука и Игорь Лозинский
 
IPv4 and IPv6 Current Situation
IPv4 and IPv6 Current SituationIPv4 and IPv6 Current Situation
IPv4 and IPv6 Current Situation
 
Ceph Day Santa Clara: Ceph Fundamentals
Ceph Day Santa Clara: Ceph Fundamentals Ceph Day Santa Clara: Ceph Fundamentals
Ceph Day Santa Clara: Ceph Fundamentals
 
Балансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for BusinessБалансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for Business
 
NiFi Developer Guide
NiFi Developer GuideNiFi Developer Guide
NiFi Developer Guide
 

Destacado

Megamouth eng ver.1.3
Megamouth eng ver.1.3Megamouth eng ver.1.3
Megamouth eng ver.1.3Kim Young Mi
 
Customer Service Alberta
Customer Service AlbertaCustomer Service Alberta
Customer Service AlbertaBrianWoodland
 
Ud 13 sesiones
Ud 13 sesionesUd 13 sesiones
Ud 13 sesionesmesthercv
 
Sec A G E D U S Overview 04062011
Sec  A G E D  U S  Overview 04062011Sec  A G E D  U S  Overview 04062011
Sec A G E D U S Overview 04062011denisekgeorge
 
Nanog panel carrier-network-health_vishal_8-5-12
Nanog panel carrier-network-health_vishal_8-5-12Nanog panel carrier-network-health_vishal_8-5-12
Nanog panel carrier-network-health_vishal_8-5-12Vishal Sharma, Ph.D.
 
Fort Mc Murray Hotel Group
Fort Mc Murray Hotel GroupFort Mc Murray Hotel Group
Fort Mc Murray Hotel Groupsaronyk
 
Insulation tfg
Insulation tfgInsulation tfg
Insulation tfghazeldale1
 
The Land Grant Mission
The  Land  Grant  MissionThe  Land  Grant  Mission
The Land Grant Missiondenisekgeorge
 
Developing secure software using Aspect oriented programming
Developing secure software using Aspect oriented programmingDeveloping secure software using Aspect oriented programming
Developing secure software using Aspect oriented programmingIOSR Journals
 
Women And Leadership
Women And  LeadershipWomen And  Leadership
Women And Leadershipdenisekgeorge
 
Ways to enhance your social media for nonprofits
Ways to enhance your social media for nonprofitsWays to enhance your social media for nonprofits
Ways to enhance your social media for nonprofitsSuna Gurol
 
121029 assignment 2
121029 assignment 2121029 assignment 2
121029 assignment 2Jean Chow
 
Relation Sahran Dust And Hurricanes
Relation Sahran Dust And HurricanesRelation Sahran Dust And Hurricanes
Relation Sahran Dust And HurricanesMersie Amha Melke
 
Economic Implications Jeff Vitale V3
Economic  Implications  Jeff  Vitale V3Economic  Implications  Jeff  Vitale V3
Economic Implications Jeff Vitale V3denisekgeorge
 
+D TEAM Presentation
+D TEAM Presentation+D TEAM Presentation
+D TEAM Presentationtsangkin
 

Destacado (19)

Megamouth eng ver.1.3
Megamouth eng ver.1.3Megamouth eng ver.1.3
Megamouth eng ver.1.3
 
Customer Service Alberta
Customer Service AlbertaCustomer Service Alberta
Customer Service Alberta
 
Ud 13 sesiones
Ud 13 sesionesUd 13 sesiones
Ud 13 sesiones
 
Sec A G E D U S Overview 04062011
Sec  A G E D  U S  Overview 04062011Sec  A G E D  U S  Overview 04062011
Sec A G E D U S Overview 04062011
 
Nanog panel carrier-network-health_vishal_8-5-12
Nanog panel carrier-network-health_vishal_8-5-12Nanog panel carrier-network-health_vishal_8-5-12
Nanog panel carrier-network-health_vishal_8-5-12
 
Fort Mc Murray Hotel Group
Fort Mc Murray Hotel GroupFort Mc Murray Hotel Group
Fort Mc Murray Hotel Group
 
Insulation tfg
Insulation tfgInsulation tfg
Insulation tfg
 
The beautyofnight
The beautyofnightThe beautyofnight
The beautyofnight
 
FLEGT C.I. - SPIB
FLEGT C.I. - SPIBFLEGT C.I. - SPIB
FLEGT C.I. - SPIB
 
The Land Grant Mission
The  Land  Grant  MissionThe  Land  Grant  Mission
The Land Grant Mission
 
Developing secure software using Aspect oriented programming
Developing secure software using Aspect oriented programmingDeveloping secure software using Aspect oriented programming
Developing secure software using Aspect oriented programming
 
Women And Leadership
Women And  LeadershipWomen And  Leadership
Women And Leadership
 
Ways to enhance your social media for nonprofits
Ways to enhance your social media for nonprofitsWays to enhance your social media for nonprofits
Ways to enhance your social media for nonprofits
 
121029 assignment 2
121029 assignment 2121029 assignment 2
121029 assignment 2
 
Relation Sahran Dust And Hurricanes
Relation Sahran Dust And HurricanesRelation Sahran Dust And Hurricanes
Relation Sahran Dust And Hurricanes
 
Savitch ch 07
Savitch ch 07Savitch ch 07
Savitch ch 07
 
H1 n1.q&a
H1 n1.q&aH1 n1.q&a
H1 n1.q&a
 
Economic Implications Jeff Vitale V3
Economic  Implications  Jeff  Vitale V3Economic  Implications  Jeff  Vitale V3
Economic Implications Jeff Vitale V3
 
+D TEAM Presentation
+D TEAM Presentation+D TEAM Presentation
+D TEAM Presentation
 

Similar a OSCON 2004: A Developer's Tour of Chandler

Microblogging: A Semantic Web and Distributed Approach
Microblogging: A Semantic Web and Distributed ApproachMicroblogging: A Semantic Web and Distributed Approach
Microblogging: A Semantic Web and Distributed ApproachAlexandre Passant
 
Eventum Presentation
Eventum PresentationEventum Presentation
Eventum Presentationjoaopmaia
 
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLiving in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLars Trieloff
 
«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NET«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NETAlessandro Giorgetti
 
Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Tracy Kent
 
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...adunne
 
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf....NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...Karel Zikmund
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...Josef Adersberger
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...QAware GmbH
 
Open Social Summit Korea Overview
Open Social Summit Korea OverviewOpen Social Summit Korea Overview
Open Social Summit Korea OverviewChris Schalk
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightabhijit2511
 
Rest Reuse And Serendipity
Rest Reuse And SerendipityRest Reuse And Serendipity
Rest Reuse And SerendipityQConLondon2008
 
Steve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And SerendipitySteve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And Serendipitydeimos
 
An evening with Jay Kreps; author of Apache Kafka, Samza, Voldemort & Azkaban.
An evening with Jay Kreps; author of Apache Kafka, Samza, Voldemort & Azkaban.An evening with Jay Kreps; author of Apache Kafka, Samza, Voldemort & Azkaban.
An evening with Jay Kreps; author of Apache Kafka, Samza, Voldemort & Azkaban.Data Con LA
 
Hail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open sourceHail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open sourceTimothy Spann
 
Deployment Pipeline for databases (Azure SQL Database, SQL Server)
Deployment Pipeline for databases (Azure SQL Database, SQL Server)Deployment Pipeline for databases (Azure SQL Database, SQL Server)
Deployment Pipeline for databases (Azure SQL Database, SQL Server)Eduardo Piairo
 
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...WinOps Conf
 
Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Marian Marinov
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Spark Summit
 

Similar a OSCON 2004: A Developer's Tour of Chandler (20)

Microblogging: A Semantic Web and Distributed Approach
Microblogging: A Semantic Web and Distributed ApproachMicroblogging: A Semantic Web and Distributed Approach
Microblogging: A Semantic Web and Distributed Approach
 
Eventum Presentation
Eventum PresentationEventum Presentation
Eventum Presentation
 
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLiving in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 Applications
 
«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NET«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NET
 
Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source
 
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
Living in a Multi-lingual World: Internationalization in Web and Desktop Appl...
 
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf....NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
 
Open Social Summit Korea Overview
Open Social Summit Korea OverviewOpen Social Summit Korea Overview
Open Social Summit Korea Overview
 
Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
Rest Reuse And Serendipity
Rest Reuse And SerendipityRest Reuse And Serendipity
Rest Reuse And Serendipity
 
Steve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And SerendipitySteve Vinoski Rest And Reuse And Serendipity
Steve Vinoski Rest And Reuse And Serendipity
 
An evening with Jay Kreps; author of Apache Kafka, Samza, Voldemort & Azkaban.
An evening with Jay Kreps; author of Apache Kafka, Samza, Voldemort & Azkaban.An evening with Jay Kreps; author of Apache Kafka, Samza, Voldemort & Azkaban.
An evening with Jay Kreps; author of Apache Kafka, Samza, Voldemort & Azkaban.
 
Hail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open sourceHail hydrate! from stream to lake using open source
Hail hydrate! from stream to lake using open source
 
Rest Vs Soap Yawn2289
Rest Vs Soap Yawn2289Rest Vs Soap Yawn2289
Rest Vs Soap Yawn2289
 
Deployment Pipeline for databases (Azure SQL Database, SQL Server)
Deployment Pipeline for databases (Azure SQL Database, SQL Server)Deployment Pipeline for databases (Azure SQL Database, SQL Server)
Deployment Pipeline for databases (Azure SQL Database, SQL Server)
 
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
 
Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
 

Más de Ted Leung

DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 KeynoteTed Leung
 
A Survey of Concurrency Constructs
A Survey of Concurrency ConstructsA Survey of Concurrency Constructs
A Survey of Concurrency ConstructsTed Leung
 
Seeding The Cloud
Seeding The CloudSeeding The Cloud
Seeding The CloudTed Leung
 
Programming Languages For The Cloud
Programming Languages For The CloudProgramming Languages For The Cloud
Programming Languages For The CloudTed Leung
 
MySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQLMySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQLTed Leung
 
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for PythonPyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for PythonTed Leung
 
Northwest Python Day 2009
Northwest Python Day 2009Northwest Python Day 2009
Northwest Python Day 2009Ted Leung
 
PyCon UK 2008: Challenges for Dynamic Languages
PyCon UK 2008: Challenges for Dynamic LanguagesPyCon UK 2008: Challenges for Dynamic Languages
PyCon UK 2008: Challenges for Dynamic LanguagesTed Leung
 
OSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community AntipatternsOSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community AntipatternsTed Leung
 
OSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By CommitteeOSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By CommitteeTed Leung
 
Ignite The Web 2007
Ignite The Web 2007Ignite The Web 2007
Ignite The Web 2007Ted Leung
 
ApacheCon US 2007: Open Source Community Antipatterns
ApacheCon US 2007:  Open Source Community AntipatternsApacheCon US 2007:  Open Source Community Antipatterns
ApacheCon US 2007: Open Source Community AntipatternsTed Leung
 
OSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler ParcelOSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler ParcelTed Leung
 
PyCon 2005 PyBlosxom
PyCon 2005 PyBlosxomPyCon 2005 PyBlosxom
PyCon 2005 PyBlosxomTed Leung
 
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - GroovySeaJUG March 2004 - Groovy
SeaJUG March 2004 - GroovyTed Leung
 
OSCON 2004: XML and Apache
OSCON 2004: XML and ApacheOSCON 2004: XML and Apache
OSCON 2004: XML and ApacheTed Leung
 
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJSeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJTed Leung
 
IQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML SchemaIQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML SchemaTed Leung
 
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic CommunicationIQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic CommunicationTed Leung
 
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML ParsingApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML ParsingTed Leung
 

Más de Ted Leung (20)

DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 Keynote
 
A Survey of Concurrency Constructs
A Survey of Concurrency ConstructsA Survey of Concurrency Constructs
A Survey of Concurrency Constructs
 
Seeding The Cloud
Seeding The CloudSeeding The Cloud
Seeding The Cloud
 
Programming Languages For The Cloud
Programming Languages For The CloudProgramming Languages For The Cloud
Programming Languages For The Cloud
 
MySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQLMySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQL
 
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for PythonPyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
 
Northwest Python Day 2009
Northwest Python Day 2009Northwest Python Day 2009
Northwest Python Day 2009
 
PyCon UK 2008: Challenges for Dynamic Languages
PyCon UK 2008: Challenges for Dynamic LanguagesPyCon UK 2008: Challenges for Dynamic Languages
PyCon UK 2008: Challenges for Dynamic Languages
 
OSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community AntipatternsOSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community Antipatterns
 
OSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By CommitteeOSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By Committee
 
Ignite The Web 2007
Ignite The Web 2007Ignite The Web 2007
Ignite The Web 2007
 
ApacheCon US 2007: Open Source Community Antipatterns
ApacheCon US 2007:  Open Source Community AntipatternsApacheCon US 2007:  Open Source Community Antipatterns
ApacheCon US 2007: Open Source Community Antipatterns
 
OSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler ParcelOSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler Parcel
 
PyCon 2005 PyBlosxom
PyCon 2005 PyBlosxomPyCon 2005 PyBlosxom
PyCon 2005 PyBlosxom
 
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - GroovySeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
 
OSCON 2004: XML and Apache
OSCON 2004: XML and ApacheOSCON 2004: XML and Apache
OSCON 2004: XML and Apache
 
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJSeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
 
IQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML SchemaIQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML Schema
 
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic CommunicationIQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
 
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML ParsingApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
 

Último

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

OSCON 2004: A Developer's Tour of Chandler

  • 1. Open Source Applications Foundation A Developer’s Tour of Chandler July 26–30, 2004
  • 2. Overview • Big Picture (Mitch Kapor) • Chandler Architecture Overview (Ted Leung) – Repository and Services • Project Dynamics / Community (Ted Leung) • Introduction to CPIA (John Anderson) • Chandler, Email, & Twisted (Brian Kirsch) • Demo • Q&A Open Source Applications Foundation
  • 3. The Big Picture Mitch Kapor <mitch@osafoundation.org> Open Source Applications Foundation
  • 4. Chandler Architecture Ted Leung <twl@osafoundation.org> Open Source Applications Foundation
  • 8. Chandler Repository • Item based data model – bi-directional references • Integrated with Python • Uses an XML format to describe the schema • Concurrency control / threading • Full text indexing – PyLucene Open Source Applications Foundation
  • 9. Services • Standards – IMAP/POP – WebDAV – XMPP – CALDAV • Security – PKI Infrastructure – m2crypto Open Source Applications Foundation
  • 10. Developer Info • CVS – cvs.osafoundation.org • Bi-weekly milestone builds • bugzilla.osafoundation.org • Licensing – Dual Licensed, GPL Open Source Applications Foundation
  • 11. Community • wiki.osafoundation.org – RSS feeds • www.osafoundation.org • Mailing lists – {dev, design, pylucene-dev}@osafoundation.org • IRC – irc.osafoundation.org:6667 – #chandler Open Source Applications Foundation
  • 12. Chandler Roadmap • 0.4 Release - October 2004 – Experimentally usable • 0.5 Release - 3-5 mos after 0.4 – Basic end user functionality – Dogfood • 1.0 (Canoga) Release - 2005 Open Source Applications Foundation
  • 13. CPIA Chandler Presentation & Interaction Architecture John Anderson <john@osafoundation.org> Open Source Applications Foundation
  • 14. Goals • Design a set of Chandler-specific UI building blocks • Blocks don’t depend on the presentation platform • Enable a non-programmer build mode Open Source Applications Foundation
  • 16. Examples of Blocks • Container blocks • Tree and List blocks • Compound blocks Open Source Applications Foundation
  • 17. Progress Report • Data driven model works well (observable queries) • Not enough experience with Chandler events • No experience with multiple presentation platforms Open Source Applications Foundation
  • 18. Chandler Mail Framework Brian Kirsch <bkirsch@osafoundation.org> Open Source Applications Foundation
  • 19. Chandler Mail Libraries Requirements IMAP Library Mail Message Parser • Open Source (non-GPL) • Open Source • Pipelining • Handle badly formatted • IMAP Syntax call efficiency messages (Spam) • SSL / TLS support • Good performance • Handle quirky IMAP server • Handle parsing of very implementations complex mail messages • IMAP Authentication Schemes (Login, • i18n Support MD5, etc.) • Actively maintained • Actively maintained Open Source Applications Foundation
  • 20. IMAP Evaluation • Mozilla Mail Client (C++, XPCom) • University of Washington C-client ( C ) • Python imaplib (Python) • Twisted IMAP4Client library (Python) – http://www.twistedmatrix.com/ Open Source Applications Foundation
  • 21. Mail Library Determination • Twisted Framework for IMAP support • Python version 2.4 Feedparser (Spambayes) Still to be decided: •POP3 Library •SMTP Library •Spam / Filter Libraries •Encryption Libraries (S/MIME, PGP) Open Source Applications Foundation
  • 22. Twisted in Chandler • Twisted is a core service within Chandler • The Twisted Asynchronous event loop is run in a dedicated thread and accessed via the reactor.callFromThread() syntax • Chandler code leveraging Twisted runs in the Twisted asynchronous event thread (Repository Views) Open Source Applications Foundation
  • 23. Chandler 0.4 Release 0.4A Milestone: • Download mail messages from one or more IMAP accounts and store in the repository utilizing Twisted’s IMAP4Client and Python’s message parser. • Improve the Chandler mail content model • Identify and resolve IMAP server synchronization issues 0.4B Milestone: • Compose and send mail from Chandler UI (SMTP support) • Encrypted (SSL) IMAP client / server communication (configurable) Open Source Applications Foundation
  • 24. Looking Forward • The Inbox • Discussion Threads • Item Collections • IMAP / Chandler Synchronization • Searching • Spam Protection / Rules / Signing (S/Mime, PGP) Open Source Applications Foundation
  • 25. More Information • Email Service Page http://wiki.osafoundation.org/twiki/bin/view/Chandler/EmailService • Chandler Twisted Home http://wiki.osafoundation.org/twiki/bin/view/Chandler/TwistedHome Open Source Applications Foundation
  • 26. Demo Open Source Applications Foundation
  • 27. BOF - tonight OSAF's Chandler - Q & A With the Developers Track: BOF Date: Wednesday, July 28 Time: 7:00pm - 8:00pm Location: Columbia Open Source Applications Foundation
  • 28.
  • 29. Item Collection Open Source Applications Foundation