140 likes | 236 Views
Web Distributed Authoring & Versioning. Daniel Wittmer Mike Fisk. Outline . Project vision Environment Expected Risks Post Mortem Demo. Project Vision. Users access web servers as file servers Through a mounted file system Through clients with special support
E N D
Web Distributed Authoring & Versioning Daniel Wittmer Mike Fisk
Outline • Project vision • Environment • Expected Risks • Post Mortem • Demo
Project Vision • Users access web servers as file servers • Through a mounted file system • Through clients with special support • Read-only access through normal browser • Server keeps version history of changes • Users can collaboratively edit documents and publish web pages
Technology • HTTP extensions for distributed authoring • IETF RFC 2518 • Already implemented for Apache • Additional extensions for versioning • IETF draft standard • No finished implementations (client or server) • Our project: a versioning server
Project Environment • Standards body (IETF) • Distributed authoring (DA) standardized • Versioning in progress (DeltaV WG) • Apache, WebDAV module • Infrastructure that we don’t control • Supports DA, but not versioning • Open Source Community • C code, security & usability expectations
Standards Risks • We perceived risk that standard could change even though it seemed stable • A new version was released during the project • Better documentation • Negligible technical changes • Some provisions designed to simplify implementation clashed with our design • Poorly designed authorization assumptions • No mapping of original auths to version repository
Design Change: CVS • We planned on using CVS as versioning infrastructure • Despite many identified risks • WebDAV standard specifies that metadata represented in XML • CVS interface didn’t match these requirements well • Value only as a compact storage optimization • Result: Dropped CVS from architecture
Feature Set Evolution • Risks of time to market and developer resources • Shed features along the way in order to meet our deadline (Microsoft model) • Focused on features usable by existing (non-versioning) clients • Developed a strategy for future features
Apache WebDA(V) • Both a boon and a bane • Apache is a popular 142kloc system • Basic WebDAV without versioning is a 94 page standard --- already implemented in 18kloc • Legacy code • Problems using architecture for new tasks • 96 pages of new standard
Greg Stein – Third Wheel • 1996-98 Development Manager, in the Commerce Server and Site Server groups, Microsoft • Co-founder and the Corporate Technologist of eShop, one of the first electronic commerce software companies, before its acquisition by Microsoft in 1996. • Now “non-employed” open source developer • Wrote Apache WebDAV codebase We don’t like his code
Poor Legacy Modularization • Existing WebDAV module has a poorly executed modularization • A monolithic codebase split into pieces • Interfaces very brittle, complex, incomplete • Unexpected time sink • (Risk of bad scheduling estimates) • Our implementation more kludgey than desired • Fixing existing code is out of project scope
Summary Update • On time • Overcame implementation challenges • On budget • Have been stalling on getting boffice space • Streamlined Feature Set • Imperceptible loss to current users
Futures • Future Development Efforts • Add Basic-Server-Workspace Option • Add Basic-Client-Workspace Option • Optimized Storage • Funding Requirements • Gross revenue: $0 (it’s open source) • Need staff of 3 FTE for next FY • If you funnel support through the Free Software Foundation, your support is tax deductible as a charity donation
DEMONSTRATION • Mac WebDA(V) client • Versioning Apache server • Manually enable versioning