Versioning Action Overview
Gw
This is how the versioning team sees the actions and the resulting interaction with other components.
Added a summary between the table and the implementation things
--
MichielOvereem - 24 Sep 2004
implementation proposal
I've written a very informal pseudo implementation for every action. Just click on the name of the action. So now we can make a list of methods for the RAT and Storage group to form a interface.
The idea here is that the methods for Storage are called through a Storage object, which is created with a certain user-context (or anonymous). SO the constructor would be:
new Storage(user-context) or
new Storage().
The RAT methods are called on a StyleSheet. We can get this object through the StyleSheetLocator. I thought about a static method like
StyleSheetLocator.getStyleSheet(action, pathinfo, user-context). So far for the object creation. The methods are below this page.
It looks at this moment that everything can be done in about two method calls from our side, so that's very good :). But I'm sure I forgot some stuff. So please comment and change this.
--
MichielOvereem - 23 Sep 2004
Note that this actions can be executed on WikiWebs (files) and directories.
Overview of the methods needed:
| Team | Class | Methods |
| RAT | StyleSheetLocator | getStyleSheet(action, pathinfo, user-context) |
| RAT | StyleSheetLocator | getStyleSheet(action, user-context) |
| RAT | StyleSheetLocator | getStyleSheet(action, pathinfo, revision1, revision2, user-context) |
| RAT | StyleSheetLocator | getStyleSheet(action, revision, user-context) |
| RAT | StyleSheet | getXhtml() |
| RAT | StyleSheet | getXhtml(preview-text) |
| RAT | StyleSheet | getXhtml(svn-revision-info, svn-status-info) |
| | | |
| Storage | Storage | move(original-pathinfo, new-pathinfo) |
| Storage | Storage | update() |
| Storage | Storage | store(commit-message) |
| Storage | Storage | getRevisionInfo(pathinfo) |
| Storage | Storage | getStatusInfo(pathinfo) |
| Storage | Storage | delete(new-pathinfo) |
| Storage | Storage | revert(new-pathinfo, to-revision) |
| Storage | Storage | resolve(pathinfo) |
Edit
StyleSheet s = StyleSheetLocator.getStyleSheet(edit-action, pathinfo, user-context)
s.getXhtml();
Preview
StyleSheet s = StyleSheetLocator.getStyleSheet(preview-action, user-context)
s.getXhtml(previewed-text);
Save
Storage s = Storage(user-context)
s.store(commit-message)
Show
StyleSheet s = StyleSheetLocator.getStyleSheet(view-action, pathinfo, user-context)
Storage st = new Storage(user-context)
st.getRevisionInfo(pathinfo)
st.getStatusInfo(pathinfo)
s.getXhtml(svn-revision-info, svn-status-info);
Update
Storage s = Storage(user-context)
s.update()
Move
Storage s = Storage(user-context)
s.move(original-pathinfo, new-pathinfo)
Delete
Storage s = Storage(user-context)
s.delete(new-pathinfo)
Revert
Storage s = Storage(user-context)
s.revert(new-pathinfo, to-revision)
Praise
StyleSheet s = StyleSheetLocator.getStyleSheet(praise-action, pathinfo, user-context)
s.getXhtml();
Diff
StyleSheet s = StyleSheetLocator.getStyleSheet(diff-action, pathinfo, revision1, revision2, user-context)
s.getXhtml();
Log
StyleSheet s = StyleSheetLocator.getStyleSheet(log-action, revision, user-context)
s.getXhtml();
Conflict
StyleSheet s = StyleSheetLocator.getStyleSheet(conflict-action, pathinfo, user-context)
s.getXhtml();
Resolve
Storage s = Storage(user-context)
s.resolve(pathinfo)
Status
StyleSheet s = StyleSheetLocator.getStyleSheet(status-action, pathinfo, user-context)
s.getXhtml();