Connexions 1 Connexions Software Architecture Brent Hendricks Connexions Systems Architect.

Slides:



Advertisements
Similar presentations
How to Set Up a System for Teaching Files, Conferences, and Clinical Trials Medical Imaging Resource Center.
Advertisements

JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
The Documentum Team Lance Callaway, Brooke Durbin, Perry Koob, Lorie McMillin, Jennifer Song Missouri University of Science and Technology Rolla, Missouri.
SOFTWARE PRESENTATION ODMS (OPEN SOURCE DOCUMENT MANAGEMENT SYSTEM)
HyperContent 2.0 JA-SIG Winter Conference December 5, 2005 Alex Vigdor, Columbia University.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
CIS101 Introduction to Computing Week 05. Agenda Your questions Exam next week - Excel Introduction to the Internet & HTML Online HTML Resources Using.
PAWN: A Novel Ingestion Workflow Technology for Digital Preservation
Microsoft ® Official Course Interacting with the Search Service Microsoft SharePoint 2013 SharePoint Practice.
PAWN: A Novel Ingestion Workflow Technology for Digital Preservation Mike Smorul, Joseph JaJa, Yang Wang, and Fritz McCall.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
IBM User Technology March 2004 | Dynamic Navigation in DITA © 2004 IBM Corporation Dynamic Navigation in DITA Erik Hennum and Robert Anderson.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Standards for Technology in Automotive Retail STAR Workbench 1.0 Michelle Vidanes & Dave Carver STAR XML Data Architects, Certified Scrum Masters.
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
The Internet & Web Browsers Business Webpage Design Kelly Seale.
Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chapter 1 Introduction to HTML, XHTML, and CSS
Computer Concepts 2014 Chapter 7 The Web and .
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
EDUCATION YOU CAN TRUST ® Windows SharePoint Services Course Review Review provided by: DNS Computing Services, LLC
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Dynamic Web Pages (Flash, JavaScript)
Chapter 16 The World Wide Web Chapter Goals ( ) Compare and contrast the Internet and the World Wide Web Describe general Web processing.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
XP New Perspectives on XML, 2 nd Edition Tutorial 10 1 WORKING WITH THE DOCUMENT OBJECT MODEL TUTORIAL 10.
1 Chapter 2 & Chapter 4 §Browsers. 2 Terms §Software §Program §Application.
© 2011 Delmar, Cengage Learning Chapter 7 Managing a Web Server and Files.
Working with Cookies Managing Data in a Web Site Using JavaScript Cookies* *Check and comply with the current legislation regarding handling cookies.
1 XML as a preservation strategy Experiences with the DiVA document format Eva Müller, Uwe Klosa Electronic Publishing Centre Uppsala University Library,
Fundamentals of Database Chapter 7 Database Technologies.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Tutorial 1: Browser Basics.
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
Content Management Systems Week 14 LBSC 671 Creating Information Infrastructures.
Chapter 8 Cookies And Security JavaScript, Third Edition.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Write basic.
Ontologies and Lexical Semantic Networks, Their Editing and Browsing Pavel Smrž and Martin Povolný Faculty of Informatics,
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Chapter 8 Browsing and Searching the Web. 2Practical PC 5 th Edition Chapter 8 Getting Started In this Chapter, you will learn: − What is a Web page −
Seattle Drupal Clinic Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology.
1 CS 502: Computing Methods for Digital Libraries Lecture 19 Interoperability Z39.50.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
R. Suresh (NASA/MTECH) Ben Burford (JAXA) Bernhard Buckl (DLR) Contact: - CEOS WGISS Meeting, Beijing, China, September 2004 A RSS.
SCORM Course Meta-data 3 major components: Content Aggregation Meta-data –context specific data describing the packaged course SCO Meta-data –context independent.
Solutions using Microsoft Content Management Server 2002 Connector for SharePoint Technologies Sue Corke Mark Harrison Microsoft UK.
How to Set Up a System for Teaching Files, Conferences, and Clinical Trials Medical Imaging Resource Center.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
CS 6401 The World Wide Web Outline Background Structure Protocols.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Apache Web Server Architecture Chaitanya Kulkarni MSCS rd April /23/20081Apache Web Server Architecture.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
Copyright © 2007, Oracle. All rights reserved. Using Document Management and Collaboration Appendix B.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
21 Copyright © 2009, Oracle. All rights reserved. Working with Oracle Business Intelligence Answers.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
1 Introducing Web Developer Tools Rapid application development tools ASP.NET-compatible web editors –Visual Studio.NET Professional Edition –Visual Studio.
ITSE 1456 – 01 Extensible Markup Language(XML) 1 Ade Buraimoh.
National College of Science & Information Technology.
CHM Portal Tool Kit Miruna Bulandra Finsiel Romania Copenhagen, 5 June 2002.
Architecture Review 10/11/2004
ITSE 1456 – 01 Extensible Markup Language(XML)
WWW and HTTP King Fahd University of Petroleum & Minerals
Chapter 27 WWW and HTTP.
Presentation transcript:

connexions 1 Connexions Software Architecture Brent Hendricks Connexions Systems Architect

connexions 2 Conceptual Model: Components

connexions 3 Content Types Module –Single topic building block –Standalone, but cross-linked Course –Sequence of modules –Customizations

connexions 4 Editing Environment Workspaces (private and group) Collaboration Create and manage content

connexions 5 Repository Storage Version Control Access Search

connexions 6 Viewing Single modules –Multiple formats Courses –Persistent navigation –Module customization

connexions 7 Demonstration

connexions 8 Architecture Web-based architecture –URIs, links, formats –Implementation independent

connexions 9 Architecture

connexions 10 Content Types Common metadata (title, created, abstract, keywords, authors, etc.) Important for cataloging and search Credit and attribution –Author –Maintainer –Copyright Holder

connexions 11 Content Types Module –Container Default file: XML markup Associated files Links: (URL, category, title, strength)

connexions 12 Content Types (cont.) Course –Sequence or outline –Container Groups Module pointers (specific version or latest) –Additional metadata (institution, etc.) –Customizations (links, annotations, parameters)

connexions 13 Repository Functions Publish new content Version control Checkout Publish new revision No deletion Security Search Retrieval

connexions 14 Publish New Content Repository metadata: objectId, version, submitter, submitlog URI assignment Optional parent object

connexions 15 Version Control Entire object (metadata, files, etc.) Each version is first class object (internal and URL) History available Tracking latest –special resource represents latest version

connexions 16 Checkout Make a local copy Non-locking (must communicate)

connexions 17 Publish New Revision Same objectId, new version Everything can change except: license, date of creation Only allows revision of most recent version

connexions 18 No Deletion Preserve links Site-manager override (legal)

connexions 19 Security Anyone may checkout Only maintainers may publish Must be maintainer of latest revision (not past or future)

connexions 20 Search Metadata Full text Open Archives Initiative

connexions 21 Retrieval Object as web resource: URIs –Ex: Tracking latest –Ex: Returns HTML representation –Module text transformed + metadata + links –Course metadata + TOC with links to modules Links to other representations –PDF, CNXML of module –RDF of course

connexions 22 Course Customizations Displaying module customizations –Retrieving course URL sets cookie –Cookie sent to all pages on server –If module “in” course, server customizes display (links, notation) –Annotation (uses Annotea protocol) Link to annotation server in course RDF

connexions 23 Course Customizations

connexions 24 Editing Environment Authoring site Edit-In-Place

connexions 25 Authoring Site Workspaces –Manage content and other files (create, delete, c/c/p) –Private ‘My Workspace’ –Workgroups (communal property) Create new (does not appear until published) Checkout –Any user can edit –Only maintainers can publish

connexions 26 Collaborating Workgroups Role Requests (must get person’s approval) Suggest changes (like software patch) –Edits sent to maintainer –Maintainer can reject out of hand or apply –Applies to local copy –Changes only appear if maintainer publishes

connexions 27 Collaborating (cont.) Derive Copy (like software fork) –Check license –Preserve attribution –Specify parent upon publication

connexions 28 Edit-In-Place Small text edits for modules (linked from module display) Browser downloads source (uses HTTP to get XML) User edits paragraphs one at a time Browser sends edits to server for validation and transformation User discards or publishes Avoids checkout

connexions 29 Viewing Content from any browser (standards-compliant) Additional client-side functions –Persistent navigation lets users explore) (reads RDF) –Annotations: Annotea client support

connexions 30 Implementation Approach Key technologies Repository Content access Editing Environment Edit-In-Place Roadmap

connexions 31 Approach Integrator approach: –Reuse as much as possible –Use off-the-shelf open source parts –Contribute to existing projects –If part doesn’t exist, create and distribute it

connexions 32 Key Technologies: Plone/Zope Plone Content Management System –Plone is built using Zope, an object oriented application server. The language that drives Zope and Plone is Python — the agile language preferred by Google, NASA, Industrial Light and Magic and many others. Why? Because Python offers unprecedented programmer productivity. (plone.org) –Object DB –Attribute templating language –Pre-built components for rapid development –Extensible “Product” mechanism

connexions 33 Key Technologies: XML Family of standards (XSLT, DOM, Xpointer, RDF) Open, cross-platform standard Wide industry support Semantic Markup –Separation of content from presentation –Single source for multiple outputs CNXML: lightweight structural markup Discipline specific languages (MathML)

connexions 34 Standards Support XML and web technologies Open Archives Initiative Dublin Core IMS Metadata Keeping abreast of SCORM and OKI

connexions 35 Repository CVS stores module contents –Version control –Efficient differential storage PostgreSQL RDBMS stores metadata and text index Zope Product RisaRepository 1 provides abstract view 1 : “Risa” is an internal codename for our software

connexions 36 Repository

connexions 37 Content Access XML Semantic markup XSLT Transformations –Single module CNXML/cMathML -> XHTML/pMathML or LaTeX(PDF) –Course RDF -> CNXML/cMathML -> XHTML/pMathML or LaTeX(PDF) libxml, libxslt – fast C libraries, python bindings CNXMLDocument – Zope Product wrapping CNXML validation/transformation Standalone scripts for PDF generation

connexions 38 Editing Environment

connexions 39 Edit-In-Place Client-side JavaScript: XMLHttpRequest Server-side validation/transformation POST method to publish new version

connexions 40 Roadmap Mozilla extension XUL + JS == RAD Loads course RDF Persistent navigation Course annotations — from server Personal annotations — from profile

connexions 41 Server Hardware

connexions 42 Open Source Contributions Plone/CMF — Groups support and integration exUserFolder — Groups support, extensible user- supplied properties XPointerlib — Mozilla XPointer support for JS Annozilla — Restructured back end, use Xpointerlib libxml/libxslt — Various enhancements, bug fixes

connexions 43 Released Software/Technologies CNXML DTDs, stylesheets, schema Roadmap — Mozilla Navigation plug-in (IE in progress) MathML font installers Zope Products: –ZAnnot — Zope Annotea support –ExtZSQL — FS-based SQL methods (non-CMF) –PasswordResetTool — password-reset without sending cleartext –CMFDiffTool — Recursively diff objects

connexions 44 Coming Soon IE Annotea support Zope Products: –CNXMLDocument –RisaRepository –RisaModuleEditor –RisaCollection