Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 227660 - track Mylyn 3.0 API creation and migration
Summary: track Mylyn 3.0 API creation and migration
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows Vista
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Mik Kersten CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 196511 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-04-17 17:08 EDT by Mik Kersten CLA
Modified: 2008-08-04 21:37 EDT (History)
22 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mik Kersten CLA 2008-04-17 17:08:07 EDT
We are in the middle of a major API update and migration as we move from Mylyn 2.x to Mylyn 3.0.  We have recommended that integrators watch the Mylyn Porting Guide for details of API updates.  We will also use this bug to communicate relevant milestones along the path.  Our schedule is still unchanged from the original Mylyn 3.0 Plan, meaning that we expect a first cut at the revised APIs by May 7th and a freeze by June 4th.  Please feel free to post any questions about the changes or porting.  Also see:
* http://wiki.eclipse.org/Mylyn_Porting_Guide
* http://wiki.eclipse.org/index.php/Mylyn_3.0_Plan (the Themes section still has some changes in progress)
* All bugs marked with a 3.0 milestone, in particular bugs tagged [api]
Comment 1 Mik Kersten CLA 2008-04-17 17:12:23 EDT
Mylyn currently has a large number of "Discouraged access" and deprecation warnings.  As we get closer to the RC0 date these will shrink in number.  We recommend that integrators avoid porting or addressing warnings until after the API freeze.
Comment 2 Mik Kersten CLA 2008-05-02 12:20:27 EDT
A more detailed RC schedule is now listed at: http://wiki.eclipse.org/index.php/Mylyn_3.0_Plan#Schedule
Comment 3 Mik Kersten CLA 2008-05-02 12:37:39 EDT
Please note that we recommend using and building against Mylyn 2.3 until Mylyn 3.0RC1 is available (May 21st).  
Comment 4 Mik Kersten CLA 2008-05-13 13:36:14 EDT
*** Bug 196511 has been marked as a duplicate of this bug. ***
Comment 5 Mik Kersten CLA 2008-05-23 03:44:01 EDT
Mylyn 3.0RC1 is available: http://www.eclipse.org/mylyn/downloads/

For a status summary and recommendations on how to proceed with porting see my blog entry: http://tasktop.com/blog/?p=29
Comment 6 Mik Kersten CLA 2008-05-23 04:04:05 EDT
RC update sites:
* download.eclipse.org/tools/mylyn/update/dev/e3.4
* download.eclipse.org/tools/mylyn/update/dev/e3.3
* download.eclipse.org/tools/mylyn/update/dev/extras
Comment 7 Mik Kersten CLA 2008-05-28 22:34:58 EDT
Steffen and I just did the following clean-up.  In most cases connectors should not be affected as these methods should only be used by the framework.

ITask:
* removed: setCompleted()
* removed: isPastReminder()
* removed: isSubmitting()
* removed: isSynchronizing()
* getErrorStatus() -> AbstractTask.getStatus()

TaskJob: 
* getErrorStatus() -> getStatus()

TaskRepository: 
* getErrorStatus() -> getStatus()
Comment 8 Mik Kersten CLA 2008-05-30 00:12:50 EDT
We have completed the final review of the Tasks API and did the following finessing.  Most connectors should not be affected.  If you ported and were using ITaskElement you should use IRepositoryElement in its place.  We still have to do a pass at the Javadocs.  Additional changes will only be made to correct any major omissions identified by integrators.  If you haven't started porting yet we suggest waiting until tomorrow evening's build is ready (we'll notify on this bug).

Steffen: please incorporate the list below into the porting guide.  I'll make a class diagram when we work on the docs.

ITaskElement -> IRepositoryElement and ITaskContainer
ITaskRepositoryManager -> IRepositoryManager
TasksUi.getTasksModel() -> getRepositoryModel()
ITasksModel -> IRepositoryModel
TaskRepositoryAdapter -> removed, use IRepositoryListener
ITaskListChangeListener -> removed, was not API
* ITaskRepositoryManager -> IRepositoryManager
ITaskRepositoryListener -> IRepositoryListener
* removed repositoriesRead()

AbstractRepositoryConnectorUi
* isCustomNotificationHandling -> hasCustomNotifications
* forceSubtaskHierarchy -> hasStrictSubtaskHierarchy
* getReply -> getReplyText
* openRepositoryTask -> moved to TasksUiUtilInternal (no longer needed)
* getTaskListElementIcon -> getImageDescriptor
* removed: getKindLabel (use label provider)
WebHyperlink: removed (only used by Trac, no longer needed)

org.eclipse.mylyn.tasks.ui.repositories extension point: 
* removed connector.userManaged, use class instead
* removed connectorUi.customNotifications, use class instead
Comment 9 Steffen Pingel CLA 2008-06-02 03:28:32 EDT
Here are the last of my API changes: 

TaskData.getVersion() will now return null if no version has been set (it returned "1.0" previously). Connectors that implement AbstractTaskDataManger.migrate() should handle that appropriately.  

Other changes:

AbstractRepositoryConnector.hasChanged() -> AbstractRepositoryConnector.hasTaskChanged()
AbstractRepositioryConnectorUi.supportsDueDates() -> AbstractRepositoryConnector.hasRepositoryDueDate()
ITaskDataManger -> removed putUpdatedTaskData() and putSubmittedTaskData(), this is now handled by ISynchronizationSession
Comment 10 Mik Kersten CLA 2008-06-02 16:09:26 EDT
A couple of small TasksUi changes done last Friday, did not affect any known connectors:
* removed getConnector() -> getRepositoryConnector()
* getConnectorUi() -> getRepositoryConnectorUi()
Comment 11 Steffen Pingel CLA 2008-06-04 22:09:12 EDT
Made extension points in org.eclipse.mylyn.tasks.bugs internal and moved API class into provisional package. Other changes:

IRepositoryModel: removed createTaskComment() and createTaskAttachment()
ITaskMapping: copyFrom() -> merge()
Comment 12 Mik Kersten CLA 2008-06-05 01:08:12 EDT
The following minor changes have been committed to Context API.  No clients should be affected.
* IDegreeOfSeparation: moved to internal (only used by internals and Sandbox)
* ContextUi.ID_CONTEXT_PAGE: moved to ContextUiPlugin (not used by known clients)
* removed deprecated methods
Comment 13 Steffen Pingel CLA 2008-06-05 20:09:03 EDT
Additional changes that remove unused API:

AbstractTaskFormPage: isExpandAttributeSection() and setExpandAttributeSection() have been removed.
AbstractAttributeEditor: MAXIMUM_HEIGHT, MAXIMUM_WIDTH and TEXT_FONT have been moved to EditorUtil.
Comment 14 Steffen Pingel CLA 2008-06-11 17:46:22 EDT
AbstractTaskEditorPageFactory.createPage() now returns IFormPage instead of FormPage. This change does not break binary compatibility.
Comment 15 Mik Kersten CLA 2008-08-04 21:37:46 EDT
Done a while back.  The updated porting guide is at: http://wiki.eclipse.org/Mylyn/Porting_Guide/3.0