Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Mylyn Task List"
(→Refactoring Objectives) |
|||
Line 1: | Line 1: | ||
− | ==Refactoring Objectives== | + | ==Repository Task Data== |
+ | |||
+ | ===Refactoring Objectives=== | ||
* Task Data Refactoring | * Task Data Refactoring | ||
Line 18: | Line 20: | ||
** What does this break? | ** What does this break? | ||
− | + | ===Proposed XML Serialization=== | |
+ | |||
+ | |||
+ | <TaskData version="1.0" taskId="1" repositoryUrl="http://bugs.eclipse.org/bugs" repositoryKind="Bugzilla" modifiedTs="timestamp"> | ||
+ | |||
+ | <Attribute id="...priority" modifiedTs="timestamp" author="rob.elves"> | ||
+ | <Value>xxx</Value> | ||
+ | <Value>xxx</Value> | ||
+ | <Value>xxx</Value> | ||
+ | </Attribute> | ||
+ | |||
+ | <Comment hasAttachment="true" attachmentId="1"> | ||
+ | <Attribute id="...author"> | ||
+ | <Value>rob.evles</Value> | ||
+ | </Attribute> | ||
+ | </Comment> | ||
+ | |||
+ | <NewComment> | ||
+ | My new comment | ||
+ | </NewComment> | ||
+ | |||
+ | <Attachment id="1" isObsolete="false"> | ||
+ | <Attribute id="...attachment_date"> | ||
+ | <Value>date</Value> | ||
+ | </Attribute> | ||
+ | </Attachment> | ||
+ | |||
+ | </TaskData> | ||
+ | |||
+ | ==Repository Configuration== | ||
+ | ==Refactoring Objectives== | ||
** (option 1) Leave as responsibility of connector assuming a contract: | ** (option 1) Leave as responsibility of connector assuming a contract: | ||
***Provide IMemento upon startup as an option? | ***Provide IMemento upon startup as an option? | ||
Line 29: | Line 61: | ||
***Available options given a specific product selection <Attribute id="taskdata.components"><Value>Bugzilla</Value><Value>Core</Value> | ***Available options given a specific product selection <Attribute id="taskdata.components"><Value>Bugzilla</Value><Value>Core</Value> | ||
***Hidden/readonly status for attributes? | ***Hidden/readonly status for attributes? | ||
+ | |||
+ | ===Proposed XML Serialization=== | ||
<RepositoryConfiguration> | <RepositoryConfiguration> | ||
Line 47: | Line 81: | ||
</RepositoryConfiguration> | </RepositoryConfiguration> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 12:59, 24 October 2006
Contents
Repository Task Data
Refactoring Objectives
- Task Data Refactoring
- Currently not nomalized
- repository configuration options stored in same file
- Configuration data is being updated upon load anyway
- Presentation information such as hidden/readonly status fields being persisted (put with configuration?)
- Operations being included
- Task Data Externalization
- Switch to XML
- Possibly use IMemento
- Separate files vs. one BIG file
- Consider zipping all the individual xml files together into one zip file (similar to Open Office file format ODF)
- Currently not nomalized
- Lazy loading
- currently loaded at tasklist load time
- Could just have a flag indicating the existence of an offline file rather than load the data
- What does this break?
Proposed XML Serialization
<TaskData version="1.0" taskId="1" repositoryUrl="http://bugs.eclipse.org/bugs" repositoryKind="Bugzilla" modifiedTs="timestamp">
<Attribute id="...priority" modifiedTs="timestamp" author="rob.elves"> <Value>xxx</Value> <Value>xxx</Value> <Value>xxx</Value> </Attribute>
<Comment hasAttachment="true" attachmentId="1"> <Attribute id="...author"> <Value>rob.evles</Value> </Attribute> </Comment>
<NewComment> My new comment </NewComment>
<Attachment id="1" isObsolete="false"> <Attribute id="...attachment_date"> <Value>date</Value> </Attribute> </Attachment>
</TaskData>
Repository Configuration
Refactoring Objectives
- (option 1) Leave as responsibility of connector assuming a contract:
- Provide IMemento upon startup as an option?
- Remote configuration gathered periodically
- Always available (even if repository is deleted, configuration sticks)
- Given a configuration folder within .mylar to persist data (not ideal)
- Task data combined with configuration upon presentation rather than persistence
- (option 2) XML externalization
- Available options per id (ie. taskdata.priority --> P1, P2, P3...)
- Available options given a specific product selection <Attribute id="taskdata.components"><Value>Bugzilla</Value><Value>Core</Value>
- Hidden/readonly status for attributes?
- (option 1) Leave as responsibility of connector assuming a contract:
Proposed XML Serialization
<RepositoryConfiguration>
<GeneralOptions id="...products" hidden="false" readonly="false"> <Value>Mylar</Value> <Value>Nebula</Value> </GeneralOptions>
<ProductOptions> <Product name="Mylar"> <Options id="....os"> <Value>MacOS</Value> <Value default="true">Windows XP</Value> <Options> </Product> </ProductOptions>
</RepositoryConfiguration>