260 likes | 348 Views
Dr. Frank Padberg University of Karlsruhe & University of Clausthal Rotor RFP2 Workshop 2005. Original Idea. SoDA = So urce D ocumentation A rchive use the Internet to allow users to attach textual comments to an existing source file tree all users can see new comments (newsticker-like)
E N D
Dr. Frank Padberg University of Karlsruhe & University of Clausthal Rotor RFP2 Workshop 2005
Original Idea • SoDA = Source Documentation Archive • use the Internet to allow users to attach textual comments to an existing source file tree • all users can see new comments (newsticker-like) • support the Rotor research community
FreeSoDA • store any kind of document, not only code and comments • offer Web services for accessing the document database • use a rich client • seamlessly notify clients about changes in the database
Important Features • allow users to create links between semantically related documents • allow for filtering of what is shown on the screen (views and styles) • offer root documents for navigation • protect documents against deletion and overwriting
Adding Docs and Links (1) drag‘n‘drop...
Adding Docs and Links (2) ...and then specify the attributes
Services for Normal Users • logon/logoff for a project • open/close a view • insert/delete a document/link • edit a link/document description • download a document • trigger a refresh ("view update")
Services for Administrators • create/delete users • create projects • define user groups and assign roles • define document/link types • define views all administrative tasks can be easily performed via the client
Managing the System must be FreeSoDA administrator to see this
Technical Problems • need sessions and transactions, but SOAP is stateless • need notification scheme • need caching to get performance • need ability to add file trees • need useful layout algorithms
Solutions • define FreeSoDA message format • store all state in SQL database • mimicobserver design pattern • two-level caching scheme in the server; caching in the client; transmit deltas • external archives • "cycle" layouter; "spring" layouter
Notifications • can't use client-based Web services: this would require running a Web server on each client • the server notifies the client by sending a message to a client TCP port • this TCP port is made known to the server when establishing the session
Adding External Archives must be project manager to add archives
More Things Ahead • add searching and bookmarks • write proxy server for browser access • study and enhance the client usability • implement server replication • host Microsoft Rotor
Check It Out Yourself... the official FreeSoDA web page & client download:http://freesoda.ipd.uni-karlsruhe.de RCD guest login: server http://freesoda.ipd.uni-karlsruhe.de/freesoda username guest and password guest get a regular RCD account: send mail to padberg@ira.uka.de
Please help us populate the Rotor Community Database RCD!