Jump to: navigation, search

Mylyn/User Guide

< Mylyn
Revision as of 15:14, 4 December 2006 by Taivo.cs.ubc.ca (Talk | contribs) (Task List backup and restore)

  • For troubleshooting, also see the Mylar FAQ.

Quick Installation Guide

To install Mylar, you need to


After you have installed Mylar, there are a few more configuration steps that you might wish to do:

See the Mylar Configuration Guide for more configuration options.

Installation Guide

Download Mylar

For supported platforms and known limitations please see the Mylar download page.

The recommended way to install Mylar is from inside Eclipse:

  1. Select Help->Software Updates->Find and Install.
  2. Select Search for new features to install and select Next.
  3. Select New Remote Site.
  4. Enter "Mylar" for the name and insert the download site given on the Mylar downloads page. The URL should end up as something similar to http://download.eclipse.org/technology/mylar/update-site/eX.Y. Select OK.
  5. Make sure there is a check in the Mylar box, and select Finish.
  6. Put a check in the box next to Mylar. If you don't mind downloading some stuff you don't need, go ahead and select Next. Otherwise, expand the Mylar line (by clicking on the disclosure triangle) and select what you want. We recommend downloading the Task List, the Focused UI, and connectors appropriate to the bug repository that you use -- Bugzilla, Trac, or Jira. (Note that to download Jira, you need both the core and the connector.) You can download Mylar without a bug repository, but it won't be as interesting an experience.
  7. Read the license agreements, accept or decline as appropriate, and either select Next (if you accept) or Cancel (if you do not accept).
  8. You will see a list of features and where to install them. If the default installation directory is fine, select Finish.


Errors you might get during the download process:

  • Network connection problems encountered during search means that Eclipse couldn't find the location you entered. This might be because you copied something incorrectly (watch for extra characters -- even extra spaces can cause errors), or because the site went down. You might be able to see if the site is down by copying the URL into your Web browser.
  • Update manager failure means that Eclipse could not access the update site, or that it got confused about the configuration state of your Eclipse. First try updating again to see if the update site is accessible.
  • If you are trying to update the JIRA connector you can also try de-selecting that feature in case the Tigris.org update site is not accessible. Using use Search new features.. when installing can help to avoid this problem. If that does not work see the feature configuration troubleshooting below.
  • You will probably get a warning that the feature is unsigned. If you trust that hackers have not befouled the Mylar plug-in, select Install All.
  • You will get a dialog box asking if you would like to restart Eclipse. We recommend that you select Yes.

Download Required Applications

Mylar needs the Java 5 virtual machine. (You do not need to use the 1.5 compiler, just the 1.5 VM.) You also need a web browser that works with the Standard Widget Toolkit; Windows and MacOS users are fine, but Linux users might have to download another browser.

Download and configure Java 5 or 6

To check the version of the Java virtual machine that Eclipse was launched with to to Help -> About Eclipse SDK -> Configuration Details and verify that the java.vm.version is 1.5.

Mac users should refer to the last comment on bug 1163477 for instructions on how to change the 1.4 default.

  • If you do not have Java 5, you can download it from Sun's web site.
  • If you have more than one VM, you need to specify that Eclipse should use the JDK1.5 VM.


We do not recommend using JDK 1.6 on Eclipse 3.1. (It works fine with Eclipse 3.2 or 3.3.) To use JDK 1.6 on Eclipse 3.1, you must add the following line to your config.ini file:

   org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,JRE-1.1,J2SE-1.2,
   J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6

Linux and JVM issues

For those experiencing unstable performance with Linux using the Sun JVM, download the IBM JVM, which will require you to register with IBM prior to download.


In Unix, set the environment variable JAVA_HOME to the root of the JDK1.5 installation and/or set the PATH variable to put the JDK1.5 executable directory before any other VM executable directories. For example, under bash in Unix:

export JAVA_HOME="(location of JDK1.5 root)"
export PATH=$JAVA_HOME/bin:$PATH

Installing Browser on Linux

Mylar uses the Standard Widget Toolkit Browser, which means that there must be a browser on the system that works with the SWT Browser. For Windows and MacOS, the standard works fine, but on some Linux distributions, you will need to download one. Note: as of 3 Oct 2006, default Firefox distributions for Linux will not work; errors such as "Could not create Browser page: No more handles (java.lang.UnsatisfiedLinkError: ...)" may appear.

See the SWT Browser guide for which browsers will work.

To test to see if your browser is properly configured, select Window -> Show View -> Other -> General -> Internal Web Browser, then try to bring up a web page.


  • A quick work-around is to disable the internal browser pages in Mylar editors. To do this: Window -> Preferences -> Mylar -> Tasks -> Disable Internal Browser.
  • Before testing the browser support in Mylar, you must first ensure that the Eclipse internal browser is correctly configured. To test to see if your browser is properly configured, select Window -> Show View -> Other -> General -> Internal Web Browser, then try to bring up a web page.
  • Notice: GTK is not supported (??? by Eclipse or by Mylar???), you must use the GTK2 version.
  • Notice: The internal browser does not correctly support HTTPS. See bug 80033.


Mylar Task Management features makes use of Eclipse's internal browser, which may require additional install steps listed below. You also have the option of disabling Mylar's use of the internal browser via Preferences -> Mylar -> Tasks.

The following steps have been verified on Fedora Core 5, and OpenSuSE 10.1.

  1. Run Mozilla (not Firefox) to confirm that it works.
  2. Confirm the location of your Mozilla install (ex: /usr/lib/mozilla-1.7.12)
  3. Set necessary environment variables in <home_directory>/.bashrc, adding the following 3 lines

    MOZILLA_FIVE_HOME=/usr/lib/mozilla-1.7.12
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MOZILLA_FIVE_HOME
    export MOZILLA_FIVE_HOME LD_LIBRARY_PATH

4. Log out and log in again (or type "source .bashrc" at the prompt)
5. Start Eclipse and test the internal web browser

If you are gettig exceptions indicating missing libraries, check that the paths are accurate and that you have the libraries required. For example, on our test box a library was still missing after these steps. The libstdc++.so.5 was being reported as missing. To solve this problem, find an rpm online that will install the missing legacy library. In our case we found necessary rpm (compat-libstdc++-33-3.2.3-47.fc4.i386.rpm) on rpmfind.net using their search facility. See also: Standard Widget Toolkit FAQ

Installing on MacOS

If you see errors like the following it may be due to Xerces missing from the Mac JDK so you may need to add it to your default classpath. Please refer to and comment on bug 144287 if you see this problem.

   Could not create Bugzilla editor input
   java.io.IOException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found

To ensure that you are using the 1.5 VM refer to the last comment on bug 1163477 for instructions on how to change the 1.4 default.

Starting Mylar for the first time

Once everything is working, you will see a dialog box titled Mylar Recommended Preferences. It's probably best to accept the defaults unless you have already worked with Mylar enough to form opinions. Note that as of 3 Oct 2006, the video is quite out of date.

To see Mylar in action, select Window->Show View->Other, then select Mylar and you will see the available Views.

Configuration

After you have installed Mylar -- gotten it to the point where it will run at all -- there are a number of things that you can configure to make your experience even richer.

General configuration

Recommendations for Mylar 0.6.x:

  • Package Explorer
    • Use flat layout in the Package Explorer (local pull down -> Layout -> Flat). Hierarchical layout is not supported.
    • Link the Package Explorer with the editor (toolbar -> Link with Editor). With Mylar applied this won't cause the jumping around problems it typically does.
    • Deselect the Referenced Libraries filter (local pull down -> Filters -> Referenced Libraries). With Mylar applied libraries won't blow up the tree.
    • Leave the General -> Appearance -> Label Decorations -> Java Type Indicator off. Since the type under the Java file is visible when Mylar is visible when Mylar is applied this information is redundant.
  • Editors
    • Turn comment folding on to reduce clutter when using auto folding (Preferences -> Java -> Editor -> Folding).
    • Turn off or increase the number of editors to leave open (Preferences -> General -> Editors -> Number of opened editors before closing). Since Mylar will manage the open editors with task activation, this number can be set higher or automatic closing disabled entirely.
    • If auto folding is used, the Outline view can be closed or made a fast view
  • Views
    • Outline: can keep closed for Java development, since the Package Explorer and folded signatures should provide enough context, and the in-place Outline Ctrl+O can be used when needed.
  • Team
    • Set Synchronize view to Change Sets mode (on 3.2: third toolbar button: select Change Sets; on 3.1: toggle toolbar button: Show Change Sets)
    • Use graphical CVS decorators only (Preferences -> Team -> CVS -> Label Decorations -> Text Decorations -> clear all but Project; Icon Decorations -> enable all). This helps reduce visual clutter.

Spell Checking

Spell checking is supported in the task editor for local tasks and for connectors that support rich editing (e.g. Bugzilla, Trac).

  • To install spell checking for editors that support it you need to enable the preference in General -> Editors -> Text Editors -> Spelling.
  • You also need to install a dictionary, some instructions and a link are here.

Mylar-spell-checking-preference.gif

Keyboard and Alt-Click mappings

If the Ctrl+Alt+Shift+Arrow Up shortcut for Mark as Landmark does not work do the following:

  • Menu Bar -> Desktop -> Control Centre -> Keyboard Shortcuts -> Move one workspace up, Move one workspace down: disable both.

If Alt+Click quick unfiltering does not work try one of the following:

  • Hold down the Windows key while holding Alt, if available (ironic, but unsurprisingly this key is not usually mapped on Linux).
  • Disable the Alt+drag to move functionality:

GNOME Desktop

  1. Open a terminal and run gconf-editor
  2. Go into: /apps/metacity/general
  3. Edit the mouse_button_modifier field. Setting it to nothing disables it. You can use <Super> to set it to the windows key.
  4. Exit gconf-editor.

KDE Desktop

  1. Run the KDE Control Center.
  2. Go to the Desktop/Window Behavior panel and select the Window Actions tab.
  3. Down in the Inner Window, Titlebar & Frame area, change the Modifier Key option from Alt to Meta.

Uninstall troubleshooting

On Eclipse 3.1, you may need to reset the Java editor to be default for .java again via: Preferences -> General -> Editors -> File Associations

On Eclipse 3.2, if after uninstalling content assist proposals no longer appear you need to ensure that the Java Completions and Java Types proposal categories are included in the default proposals via: Preferences -> Java -> Editor -> Content Assist -> Advanced -> Restore Defaults. Also see: Mylar FAQ#Content assist troubleshooting. This bug has been fixed in Eclipse 3.2.1.

Task List backup and restore

The Task List is backed up by default in the <workspace>/.mylar/backup directory, with rolling backups set according to the schedule in Preferences -> Mylar -> Tasks in the Task Data -> Backup section, or to change where Mylar saves the backups. Use File -> Import -> Mylar Task Data to restore from one of the archive zips.

Note that uninstalling a connector will cause all of the queries and tasks of that kind to disappear from the Task List, but if you reinstall that connector they will reappear.

If the Task List is blank, either Mylar failed to install or update, or there was a problem reading the Task List. By default Mylar keeps your Task List in <workspace>/.mylar/tasklist.xml. If you move workspaces, and have not changed the Mylar data directory via the Task List preference page, the new location will be used when Eclipse restarts (hit Restore Defaults on that page to copy tasks back to the default location). If your tasks disappear due to to a bug you can check the .mylar folder for a tasklist-backup.xml file, which will contain the previously-saved list.

You can also back up your Task List and context data manually or periodically use File -> Import/Export -> Mylar Task Data.

File:Mylar-tasklist-backup.gif


Task and context data can be restored from a backup snapshot via File -> Import -> Mylar Task Data. By default backup snapshots are taken daily and kept for 30 days.

Mylar-tasklist-restore.gif

Rich Task List Client Install

Mylar's Task Management features can be used purely as a rich client to supported bug/task/issue trackers. For example, to use Mylar as a rich client for Bugzilla:

Using Mylar

One of the most useful things that Mylar can do for you is hide things that you aren't interested in. This allows you to focus on the things you are interested in.

Another high-level thing that Mylar can do for you is help you keep track of tasks. Mylar doesn't just restrict your view to things that are relevant to you, it restricts your view to elements that are relevant to your current task. You tell Mylar when you are changing tasks, and it will hide all of the things associated with your current task (window layout and the contents of those windows) and bring up what was on the screen when you left the other task.

Mylar also helps you coordinate tasks among many people, by giving tight integration with bug-tracking (or task-tracking) services. Mylar doesn't just keep track of tasks that you define, but that other people define as well. For example, you can work on a specific bug in your Bugzilla repository; the information pertaining to that bug entry is easily available from inside Mylar/Eclipse. It is very easy to attach a full Mylar context -- what elements are interesting, what windows are open -- to a bug.

Progress for Categories

Categories show progress for the number of completed tasks. The weekly progress indicates progress in terms of estimated time (by default tasks have an estimate of 1 hour), and the tooltip will indicate progress in terms of both estimated time and number of tasks completed.

File:Progress-categories.gif

Weekly Progress

When in Focus on Workweek mode (right-most toolbar button), the Task List will show a JUnit-style progress bar which indicates how many of the tasks scheduled for the current week have been completed. Completing a task or deferring to a future week will cause the progress bar to move forward. The tooltip for the progress bar will indicate the total.

Weekly-progress.gif

Incoming Changes

All comments added since your last reading of a repository task will be automatically expanded when a task with incoming changes is opened. Incoming changes are retrieved with the background synchronization to avoid waiting for the server when opening. Note that a background synchronization is still kicked off upon opening in case changes came in since the last scheduled synchronization. Repository tasks can now be explicitly marked as read or unread.

Incoming-changes.gif

Task Repository Integration

Task repositories are easy to add, and can be named via the Task Repositories view. An icon decoration indicates the repository type. A task repository can be associated with a project, enabling it to be used for actions such as resolving bug hyperlinks. Note that you do not need to associate all of your projects with repositories after updating, since you will be prompted to do this if when the associate is needed.

Task-repository-integration.gif

Open Task dialog

An Open Type style dialog is available for opening tasks (Ctrl+Shift+F11<c/ode>) and for activating tasks (<code>Ctrl+Shift+F12). The list is initially populated by recently active tasks. The active task can also be deactivated via Ctrl+Shift+F9. This can be used as a keyboard only alternative for multi-tasking without the Task List view visible. These actions appear in the Navigate menu.

Open-task-dialog.gif

Repository task attachments

Repository task attachments (supported by the Bugzilla and Trac connectors) can be attached via drag-and-drop from both within the Eclipse workspace and from outside, and from text selections, which will invoke the attachment wizard. Attachments can be opened with a browser or corresponding editor.

Repository-task-attachments.gif

Task List Restore

Task and context data can be restored from a backup snapshot via File -> Import -> Mylar Task Data. By default backup snapshots are taken daily and kept for 30 days.

Tasklist-restore.gif

Report Bugs from Error Log

Bugs can created directly from events in the Error Log view. This will create a new repository task editor with the summary and description populated with the error event's details. If the Connector you are using does not have a rich editor, the event details will be placed into the clipboard so that you can paste them into the web-based editor that will be opened automatically.

Report-bugs-error-log.gif

Automatic Duplicate Detection

The Search for Duplicates button on the New Repository Task editor encourages and facilitates finding similar bug reports before creating a new one. Potential duplicates are displayed in the Search view which can be used to open a bug and comment or vote if a duplicate is found. The current duplicate detection mechanism uses stack traces, either automatically inserted by the Report as Bug mechanism, or manually pasted into the Description area. All descriptions and comments of bugs on the corresponding repository are included in the search.

Automatic-duplicate-detection.gif

Submitting Contexts

When submitting comments, contexts can be attached by selecting the corresponding check-box in the Actions section.

Submitting-contexts.gif

Auto Apply Mylar on Navigator Views

For navigator views (Package Explorer, Project Explorer and Navigator) the Apply Mylar button can be set to automatically toggle on with task activation and off with task deactivation. Note that the context-related preferences (including this one) are in Preferences -> Mylar -> Context.

Auto-appy-mylar.gif

Team Support

Active Change Set management

There are two modes for Eclipse's Change Sets support: the models mode (Eclipse 3.2 and later) and the standard mode. These modes are unrelated to Mylar and apply to both Mylar's automated Change Sets and the ones you can created manually in Eclipse. The models mode is toggled via Synchronize View -> Preferences -> CVS -> Allow Models to participate in synchronizations. The Eclipse UI for Change Sets is not obvious so consider the following guidelines if you are having problems with it.

  • If you are using the standard mode, Change Sets toolbar button will only appear if the Synchronize view is in Incoming or Outgoing mode, not in the combined Incoming/Outgoing mode. This button must be pressed in order for change sets to appear. For working with CVS two modes are indistinguishable beyond this limitation. Subclipse only supports the standard mode. If you switch modes you must re-create your synchronization via the Synchronize... button available form the first toolbar button on the Synchronize view.

Mylar-changesets-subclipse.gif

  • If you are using the models mode, you will notice that the Mylar Active Change Sets work show up with a decoration in the lower-right corner, and that you can view both incoming and outgoing change sets at the same time. However, note that there is a refresh problem with this mode (bug 142395), and until it is resolved we recommend that you use the standard mode for CVS. To work around the former, if a Change Set you expect is missing or if you get a There are no more Incoming/Outgoing changes message in the view on startup, toggle the third toolbar button between All Models and Change Sets. If that doesn't resolve it activate and deactivate the current task.

Mylar-changesets-model-based.gif

Working with Change Sets

Operations such as committing, updating, and patch creation can all be performed on Mylar's automatically managed Change Sets. Right+click the change set node to get the corresponding Team menu. Changed resources that are not a part of any task context will appear under the root of the Synchronize view. If needed missing resources can be added to the task context Change Set via the Synchronize View by right+clicking the resource and selecting Add to and then selecting the corresponding task.

Connectors to Repositories

Mylar allows you to collaborate on tasks via a shared task repository, also known as bug tracking systems. In order to collaborate, you need to have a connector to your particular repository.

Bugzilla Connector

Once Mylar is installed there are a few steps involved to get up and running.

  • To access tasks (reports/issues) on a repository such as Bugzilla you must first set up a Task Repository
    • Navigate to Window -> Show View -> Other -> Mylar -> Task Repositories to open the Task Repositories view.
    • Launch the add repository wizard by pressing the add repository button located in the view's toolbar Mylar-add-repository.png.
    • The first page of this wizard asks for the type of repository you wish to connect to (if you have installed multiple connectors). Select Bugzilla for example and press the Next button.
    • On the second page you can enter the repository's address and your login credentials. After filling in these details, press the Validate button to ensure the repository exists and your login credentials are valid. Once the settings validate you can finish the wizard. The repository you added will be shown in the Task Repositories view.

Repository Configuration

  • Once the repository has been created, you may add queries to the Task List.
    • In the Task List view right click anywhere in the list pane and select New Query from the context menu.
    • Choose the repository you added in the previous steps.
    • Enter query title and search criteria and then press Finish.
    • A query with the title you gave will appear in the Task List and will synchronize with the remote repository. If the query has hits they will appear within the query folder you've created.
    • Double click to open a hit. Double click on the query to edit the query parameters.
    • Click on the lightly shaded button (left of task icon) in the Task List to activate the task. Click again to deactivate.

Trac Connector

The Trac connector offers two access methods:

  • Trac 0.9 and later: In this mode the standard Trac web interface is used for repository access. Tickets may be created and edited through a web browser.
  • XML-RPC Plugin (Trac trunk): This requires the latest revision (1175) of the XmlRpcPlugin for Trac to be enabled for the accessed repository. The XmlRpcPlugin provides a remote interface to the Trac repository and is distributed separately from Trac (see #217). As things are now Trac and the XmlRpcPlugin need to be installed from source. See these install instructions for requirements and documentation.

The Trac connector integrates Trac queries into the Task List. If you do not know your Trac repository version use the Automatic setting and click Validate Settings.


New Task Editor

A rich editor for creating new Trac tasks is available for repositories that use XML-RPC (see the FAQ for XML-RPC configuration instructions).

Trac-editor-new.gif


Rich Editor, Attachments and Offline support

The Trac connector supports the rich task editor. Attributes and comments can be viewed and edited offline, synchronization is done in the background, and attachments can be posted and retrieved.

Task Context attachments are supported via the context menu actions in the Task List. This support requires the Trac XML-RPC plug-in to be enabled and the integration will fall back to the web mode if it is not, (see: Trac Connector troubleshooting).

Trac-editor.gif

JIRA Connector

Note that the JIRA SOAP/RPC services have to be running on the server. For additional details see the Requirements on the JIRA Dashboard page. For supported versions see the download page.

Rich Editor

The JIRA connector provides a rich editor, offline editing, and change notifications.

File:Jira-editor.gif

Search Integration

Searching through JIRA repositories is integrated with the Search dialog.

Jira-search.gif

Query

The JIRA query dialog has been streamlined into a single page. Date range queries are now supported.

Jira-query.gif

Generic Web Repository Connector

The generic web repository connector is now part of the Mylar install. Refer to the FAQ for instructions on setting up queries to repositories that are not currently supported by a rich connector (e.g. IssueZilla, GForge, SourceForge, phpBB, VBulletin, Google Code and Mantis). The parameter list visible below is used for configuring project properties for projects that require them. These properties are typically derived from the query URL used to access the repository. Matching rules can be edited under the Advanced Configuration section on both the Repository Settings page and the Edit Query page.

Generic-web-repository-settings.gif

Generic web-based repository connector allows retrieval of a list of issues from a web page using simple template configuration.

For example, consider the configuration steps for GlassFish project at java.net:

  • Create new Generic web-based repository. GlassFish is using IssueZilla and has preconfigured template that can be selected by server url https://glassfish.dev.java.net/issues. You can also specify all fields manually in "Advanced Configuration" section. For GlassFish the following settings are required:
    • Task URL: ${serverUrl}/show_bug.cgi?id=
    • New Task URL: ${serverUrl}/enter_bug.cgi?issue_type=DEFECT
    • Query URL: ${serverUrl}/buglist.cgi?component=glassfish&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&order=Issue+Number
    • Query Pattern: <a href="show_bug.cgi\?id\=(.+?)">.+?<span class="summary">(.+?)</span>

Query Pattern field should have a regexp with 1st matching group on Issue ID and 2nd on Issue Description.

Note that above fields are using parameter substitution ${..}. Variables serverUrl, userId and password are substituted from the values of corresponding fields of the repository preference page. In addition you can specify any arbitrary parameters and their values that will be also substituted into the template fields.

  • Create a new for GlassFish task repository created above.

Query URL and Query Pattern in the Repository Preferences are used as default query parameters and can be overwritten in Advanced Configuration section in Query Preferences. Custom parameter values can be also overrriden here as well as new parameters for substitution into the specific query.

Templates for the following issue tracking system are included with the web connector:

  • Google Code Hosting (code.google.com)
  • IssueZilla (java.net, dev2dev, tigris.org)
  • GForge (objectweb.org)
  • SourceForge (sf.net)
  • Mantis
  • phpBB
  • vBulletin

Integration with other tools

Mylar relies on Bridges to integrate the context model with the structure and UI features of domain-specific tools. The core set of Bridges supports the Eclipse SDK (i.e. has bridges for Java, JUnit, PDE, Ant and Resources). The Resources Bridge enables a basic level of interoperability with other tools that use files (e.g. .php, .cpp), and enables Mylar filtering to work for generic views that shows those files (i.e. the Project Explorer, Navigator) and any corresponding markers (i.e. the Problems and Tasks views). This is only the most basic context model integration, and does not offer the benefits of a specialized structure bridge, such as making declarations part of the context and providing Active Search facilities. Without a bridge Mylar also can not be applied to tool-specific views.

If you would like to see support for a particular tool, first do a search of the open bridge requests and vote for the corresponding bug if your tool is there, or create a new bug. Also consider adding your experiences to the [FAQ|#FAQ] sections below.

Using Mylar with WTP

Context modeling works at the file level, noting the limitation of bug 144882: interest filter fails on WTP Dynamic Web Project

Using Mylar with Maven

If an external builder like Maven is producing output files that are being automatically added to your context (because they are not being marked "derived" as with Eclipse-based builders), you can explicitly excluded these folders via the Preferences -> Mylar -> Resources page. For example, if the output folder of the builder is "target", you could set this the following way.

Mylar-resource-exclusion.gif