260 likes | 357 Views
FreeSoDA is a web-based archive allowing users to attach comments to source files, create links between documents, and customize views. Administrators can manage users, projects, and document types. The system supports notifications, sessions, and caching for performance. Join the Rotor community database today!
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!