Jump to: navigation, search

Difference between revisions of "Mylyn/Porting Guide"

(Removed Tasks API)
(Removed Tasks API)
Line 189: Line 189:
 
* <code>TrustAllTrustManager</code> has been moved to an internal package
 
* <code>TrustAllTrustManager</code> has been moved to an internal package
  
* <code>WebClientLog/code> has been removed
+
* <code>WebClientLog</code> has been removed
  
 
* <code>WebClientUtil</code> has been removed, use <code>WebUtil</code> instead
 
* <code>WebClientUtil</code> has been removed, use <code>WebUtil</code> instead

Revision as of 06:07, 8 June 2008


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.

Porting from 1.0 to 2.0

See the Mylyn Porting Guide 2.0

Porting from 2.0 to 3.0

Remaining API bugs for 3.0

Migrating Data

  • Migration of LastReadTimeStamp
  • Migration of date formats when using attribute mappers
  • Migration of TaskData

Plug-in Refactorings

  • org.eclipse.mylyn.web.core is now org.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 new org.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 Extension Points

  • org.eclipse.mylyn.tasks.ui.editors
    • hyperLinkDetector has been removed, use org.eclipse.ui.workbench.texteditor.hyperlinkDetectors instead and set targetId to org.eclipse.mylyn.tasks.ui.TaskEditor
    • editorFactory has been removed, use pageFactory instead
  • repositories
    • taskListFactory has been removed, use taskListMirgrator instead
    • connectorCore
      • userManaged has been removed, override isUserManaged() in AbstractRepositoryConnector instead
    • connectorUi
      • customNotifications has been removed, override isCustomNotification() in AbstractRepositoryConnectorUi instead

Changed Team API

  • org.eclipse.mylyn.tasks.core.ILinkedTaskInfo is now org.eclipse.mylyn.team.ui.AbstractTaskReference
    • getComment() has been renamed to getText()

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 removed, use AbstractTaskAttachmentHandler 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 class AttachmentUtil
    • getContextAttachments() has been moved to the internal class AttachmentUtil
    • hasRepositoryContext() has been moved to the internal class AttachmentUtil
    • retrieveContext() has been moved to the internal class AttachmentUtil
  • AbstractAttributeFactory has been removed, use TaskAttributeMapper instead
  • AbstractDuplicateDetector has been moved to tasks.core
  • AbstractEditQueryWizard has been renamed to AbstractRepositoryQueryWizard
  • AbstractNewRepositoryTaskEditor has been removed, use AbstractTaskEditorPage instead
  • AbstractRepositoryConnector
    • All methods that used removed 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.
  • AbstractRepositoryConnectorUi
    • forceSubtaskHierarchy() has been removed, override hasStrictSubtaskHierarchy() instead
    • getNewTaskWizard(TaskRepository) has been removed, use getNewTaskWizard(TaskRepository, ITaskMapping) instead
    • getTaskKindLabel(RepositoryTaskData) has been removed
    • getTaskListElementIcon() has been removed, override getImageDescriptor() instead
    • isCustomNotificationHandling() has been removed, override hasCustomNotificationHandling() instead
    • openEditQueryDialog(AbstractRepositoryQuery) has been moved to the internal class TasksUiInternal
    • openRepositoryTask() has been moved to the internal class TasksUiInternal
    • setCustomNotificationHandling() has been removed, override hasCustomNotificationHandling() instead
    • supportsDueDates(AbstractTask) has been removed, override AbstractRepositoryConnector.hasRepositoryDueDate() instead
  • AbstractRepositoryQuery has been removed, use IRepositoryQuery instead
    • getRepositoryKind() has been renamed to getConnectorKind()
  • AbstractRepositoryQueryPage has been moved to org.eclipse.mylyn.tasks.ui.wizards
  • AbstractRepositoryTaskEditor has been removed, use AbstractTaskEditorPage instead
  • AbstractRepositoryQueryWizard has been removed, use RepositoryQueryWizard instead
  • AbstractTask has been removed, use ITask instead
    • hasValidUrl() has been moved to TasksUiInternal.isValidUrl()
    • setCompleted() has been removed, a non-null completion date indicates a task is complete
  • AttributeContainer has been removed, use TaskAttribute instead
  • AuthenticatedProxy has been moved to an internal package
  • DatePicker has been moved to org.eclipse.mylyn.commons.ui
  • DateSelectionDialog has been moved to org.eclipse.mylyn.commons.ui
  • FileAttachment has been removed, use AbstractTaskAttachmentSource instead
  • GzipGetMethod has been moved to an internal package
  • GzipPostMethod has been moved to an internal package
  • IStatusHandler has been removed, use AbstractErrorReporter instead
  • ITaskCollector has been removed, use TaskDataCollector instead
  • ITaskFactory has been removed
  • ITaskRepositoryListener has been renamed to IRepositoryListener
  • ITaskListChangeListener has been moved to an internal package
  • NewTaskEditorInput has been removed, use TaskEditorInput instead
  • QueryHitCollector has been removed, use TaskDataCollector instead
  • RepositoryAttachment has been removed, use TaskAttachmentMapper instead
  • RepositoryOperation has been removed, use TaskOperationMapper instead
  • RepositorySearchResult has been moved to an internal package
  • RepositoryTaskData has been removed, use TaskData instead
  • RepositoryTaskEditorInput has been removed, use TaskEditorInput instead
  • SearchHitCollector has been moved to an internal package
  • SslProtocolSocketFactory has been moved to an internal package
  • StatusHandler
    • addDefaultStatusHandler(IStatusHandler) has been removed
    • addStatusHandler(IStatusHandler) has been removed
    • fail(Throwable,String,boolean) has been removed
    • fail(Throwable,String,boolean,int) has been removed
    • getDefaultStatusHandler() has been removed
    • getStatusHandler() has been removed
    • log(String,Object) has been removed
    • log(Throwable,String) has been removed
    • setDefaultStatusHandler(IStatusHandler) has been removed
    • removeStatusHandler(IStatusHandler) has been removed
  • TaskActivityManager
    • getInstance() has been removed, use TasksUiPlugin.getTaskActivityManager() instead
    • init() has been replaced by a public constructor
  • TaskFormPage
    • actionContributor has been removed
  • TaskFactory has been removed
  • TaskListManager has been moved to an internal package and replaced by ITaskListManager
    • task activity related methods have been removed (see TaskActivityManager)
  • TaskRepositoryManager has been moved to an internal package and replaced by ITaskRepositoryManager
  • TaskEditor
    • configureContextMenuManager(MenuManager,TextViewer) has been removed
    • getAdapterDelegate() has been removed
    • getContributor() has been removed
  • TaskList has been moved to an internal package and replaced by ITaskList
  • TaskSelection has been removed, use ITaskMapping instead
  • TasksUiProxyChangeListener has been removed
  • TasksUiUtil
    • closeEditorInActivePage(ITask,boolean) has been moved to the internal class TasksUiInternal
    • getActiveRepositoryTaskEditor() has been moved to the internal class TasksUiInternal
    • isAnimationsEnabled() has been moved to the internal class TasksUiInternal
    • openEditor(TaskCategory) has been moved to the internal class TasksUiInternal
    • openEditor(AbstractTask, boolean) has been replaced by openTask(ITask)
    • openEditor(AbstractTask, boolean, boolean) has been replaced by openTask(ITask)
    • openEditor(AbstractTask, String) has been replaced by openTask(ITask)
    • openUrl(String, boolean) has been replaced by openTask(String) and openUrl(String)
    • refreshAndOpenTaskListElement() has been moved to the internal class TasksUiInternal
    • showPreferencesPage(String, IPreferencePAge) has been removed
  • TrustAllTrustManager has been moved to an internal package
  • WebClientLog has been removed
  • WebClientUtil has been removed, use WebUtil instead
  • WebCorePlugin has been moved to an internal package
  • WebHyperlink has been moved to an internal package

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

  • ActivityTimerThread has been removed
  • BrowseFilteredAction has been moved to an internal package
  • ContextCorePlugin has been moved to an internal package and replaced by ContextCore
  • ContextUiPlugin has been moved to an internal package and replaced by ContextUi
  • IActivityTimerListener has been removed
  • IInteractionContextListener has been renamed to AbstractContextListener
  • 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 by MonitorUi
  • ResourcesUiPlugin has been moved to an internal package and replaced by ResourcesUi

New Monitor API

  • MonitorUiPlugin.getMonitoredWindows(): use insteand of PlatformUI.getWorkbench().getWorkbenchWindows()
  • MonitorUiPlugin.getLaunchingWorkbenchWindow(): use to get the first active window when the monitor started.

Removed Monitor API

  • IMylarMonitorLifecycleListener has been renamed to IMonitorLifecycleListener
  • ReportGenerator has been moved to an internal package

Pending Changes

This list is stale. Also see all source code tags titled "API-3.0"

  • Refactor TaskActivationHistory into a TaskActivityManager that encapsulates both activity monitoring and activation history
  • Merge ITaskActivityListener and ITaskActivityListner2
  • Refactor ITaskActivityListener into ITaskActivationListener
  • Move timing related methods to ITaskTimingListener
  • Make IMonitoredWindow API and put alongside IContextAwareEditor
  • Make API: InteractionContextScaling
  • Add InteractionContextScaling parameter to IInteractionContextReader.readContext(..)
  • Make a subset of InteractionContextManager API.