Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Mylyn/Porting Guide
NOTE: Mylyn 3.0 changes are currently in progress, and we recommend building against the Mylyn 2.x stream. See bug 227660 for the plan and for details. If interested in API progress, we recommend adding a watch for this page and a CC for that bug.
Contents
Porting from 1.0 to 2.0
See the Mylyn Porting Guide 2.0
Porting from 2.0 to 3.0
There is currently no need to port Mylyn from the 2.0 APIs since current Mylyn releases are backwards compatible. Throughout the 2.x release cycle we will be using this wiki to gather changes and suggestions for improving the APIs for 3.0.
Pending Changes for Mylyn 3.0
Also see all tags of "API-3.0"
- Refactor
TaskActivationHistory
into aTaskActivityManager
that encapsulates both activity monitoring and activation history - Merge ITaskActivityListener and ITaskActivityListner2
- Refactor ITaskActivityListener into ITaskActivationListener
- Move timing related methods to ITaskTimingListener
-
AbstractTaskListPresentation
: make API, remove coupling toTaskListView
-
TaskGroup
andTaskCategory
: consider for API, refactor or combine - consider merging
TaskList.removeFromCategory()
andTaskList.removeFromQuery()
- Move
TasksUiPlugin.getIncomingNotification(..)
and related private classes -
AbstractTask.setCompleted()
needs changing, it has the problematic side effect of setting the completion date to the current time. bug 203875 - Remove
AbstractInterestManipulationAction.isRemove()
: deprecated - Make
IMonitoredWindow
API and put alongsideIContextAwareEditor
- Make API:
InteractionContextScaling
- Rename
AbstractTask.RepositoryTaskSyncState
toAbstractTask.SyncState
("sync" is used commonly enough that we should be able to standardize on it in the API, replacing "synchronization/synchronize" where applicable). - Add
InteractionContextScaling
parameter toIInteractionContextReader.readContext(..)
- Make a subset of
InteractionContextManager
API. - Make
TaskRepository.getUserName()
,getHttpUser
andgetProxyUsername
consistent - Move highlighters stuff out of
ContextUiPlugin
- Move to using the new public URLTransfer bug 100095
- Merge
IInteractionContextListener
andIInteractionContextListener2
- Move
NewTaskFromErrorAction
to be available to more EPP distros - Delete
UiUtil
- Move
JavaStackTraceHyperlinkDetector
out of java.ui See bug 217656
Plug-in Refactorings
-
org.eclipse.mylyn.web.core
is noworg.eclipse.mylyn.commons.net
- Core classes from
org.eclipse.mylyn.monitor.core
was split in order to make API not coupled to the Monitor component be reusable independently, now in the neworg.eclipse.mylyn.commons.core
plug-in. -
org.eclipse.mylyn.commons.ui
is a new API for common UI components that are not coupled to the rest of Mylyn.
Changed Team API
-
org.eclipse.mylyn.tasks.core.ILinkedTaskInfo
is noworg.eclipse.mylyn.team.ui.AbstractTaskReference
.getComment()
has been renamed togetText()
New Tasks API
-
AbstractRenderingEngine
has been added for converting Wiki syntax to HTML
-
AbstractRepositoryQueryPage
-
setControlsEnabled(...)
: added - override to perform finer grain enablements if necessary
-
-
AbstractRepositoryTaskEditor
has been extended to provide HTML preview capabilities for repositories that support Wiki syntax in ticket descriptions and comments
Removed Tasks API
-
AbstractAttachmentHandler
has been deprecated, useAbstractTaskAttachmentHandler
instead-
MESSAGE_ATTACHMENTS_NOT_SUPPORTED
has been removed -
MYLAR_CONTEXT_DESCRIPTION
has been removed -
MYLAR_CONTEXT_DESCRIPTION_LEGACY
has been removed -
MYLAR_CONTEXT_FILENAME
has been removed -
attachContextAttachments()
has been moved to the internal classAttachmentUtil
-
getContextAttachments()
has been moved to the internal classAttachmentUtil
-
hasRepositoryContext()
has been moved to the internal classAttachmentUtil
-
retrieveContext()
has been moved to the internal classAttachmentUtil
-
-
AbstractAttributeFactory
has been deprecated, useTaskAttributeMapper
instead
-
AbstractDuplicateDetector
has been moved to tasks.core
-
AbstractNewRepositoryTaskEditor
has been deprecated, useAbstractTaskEditorPage
instead
-
AbstractRepositoryConnector
- All methods that used deprecated types have been moved to the internal class
AbstractLegacyRepositoryConnector
. Connectors that have not been ported to the new task data architecture may extend this class to continue using old APIs. Support for the old architecture may be removed at any time.
- All methods that used deprecated types have been moved to the internal class
-
AbstractRepositoryConnectorUi
-
getNewTaskWizard(TaskRepository)
has been removed -
getTaskKindLabel(RepositoryTaskData)
has been removed, usegetTaskKindLabel(AbstractTask)
instead
-
-
AbstractRepositoryQuery
-
getRepositoryKind()
has been renamed togetConnectorKind()
-
-
AbstractRepositoryQueryPage
has been moved toorg.eclipse.mylyn.tasks.ui.wizards
-
AbstractRepositoryTaskEditor
has been deprecated, useAbstractTaskEditorPage
instead
-
AbstractTask
-
setCompleted()
has been removed, a non-null completion date indicates a task is complete
-
-
AttributeContainer
has been deprecated, useTaskAttribute
instead
-
FileAttachment
has been deprecated, useAbstractTaskAttachmentSource
instead
-
GzipGetMethod
has been moved to an internal package
-
GzipPostMethod
has been moved to an internal package
-
ITaskCollector
has been deprecated, useTaskDataCollector
instead
-
ITaskFactory
has been deprecated
-
NewTaskEditorInput
has been deprecated, useTaskEditorInput
instead
-
QueryHitCollector
has been deprecated, useTaskDataCollector
instead
-
RepositoryAttachment
has been deprecated, useTaskAttachmentMapper
instead
-
RepositoryOperation
has been deprecated, useTaskOperationMapper
instead
-
RepositorySearchResult
has been moved to an internal package
-
RepositoryTaskData
has been deprecated, useTaskData
instead
-
RepositoryTaskEditorInput
has been deprecated, useTaskEditorInput
instead
-
SearchHitCollector
has been moved to an internal package
-
SslProtocolSocketFactory
has been moved to an internal package
-
TaskActivityManager
-
getInstance()
has been removed, useTasksUiPlugin.getTaskActivityManager()
instead -
init()
has been replaced by a public constructor
-
-
TaskFormPage
-
actionContributor
has been removed
-
-
TaskFactory
has been deprecated
-
TaskSelection
has been deprecated
-
TrustAllTrustManager
has been moved to an internal package
-
TaskListManager
has been moved to an internal package and replaced byITaskListManager
- task activity related methods have been removed (see
TaskActivityManager
)
- task activity related methods have been removed (see
-
TaskRepositoryManager
has been moved to an internal package and replaced byITaskRepositoryManager
-
TaskEditor
-
getContributor()
has been removed
-
-
TaskList
has been moved to an internal package and replaced byITaskList
-
TasksUiProxyChangeListener
has been removed
-
TasksUiUtil
-
isAnimationsEnabled()
has been moved to the internal classTasksUiInternal
-
openEditor(TaskCategory)
has been moved to the internal classTasksUiInternal
-
-
WebCorePlugin
has been moved to an internal package
-
DatePicker
andDateSelectionDialog
are now inorg.eclipse.mylyn.commons.ui
, constructors have changed.
New Context API
-
AbstractFocusViewAction.updateEnablementWithContextActivation()
: override to return false for focus actions that are not related to context activations (e.g. the Task List).
-
AbstractFocusViewAction.setLinkingActionEnabled(boolean)
: should be overridden if view provides linking
Removed Context API
-
BrowseFilteredAction
has been moved to an internal package -
ContextCorePlugin
has been moved to an internal package and replaced byContextCore
-
ContextUiPlugin
has been moved to an internal package and replaced byContextUi
-
InteractionContextReader
has been moved to an internal package -
InteractionContextWriter
has been moved to an internal package -
MonitorUiPlugin
has been moved to an internal package and replaced byMonitorUi
-
ResourcesUiPlugin
has been moved to an internal package and replaced byResourcesUi
New Monitor API
-
MonitorUiPlugin.getMonitoredWindows()
: use insteand ofPlatformUI.getWorkbench().getWorkbenchWindows()
-
MonitorUiPlugin.getLaunchingWorkbenchWindow()
: use to get the first active window when the monitor started.
Removed Monitor API
-
IMylarMonitorLifecycleListener
has been renamed toIMonitorLifecycleListener
-
ReportGenerator
has been moved to an internal package