Skip to main content
Jump to: navigation, search

Mylar FAQ2

Revision as of 17:14, 11 December 2006 by Taivo.cs.ubc.ca (Talk | contribs) (Configuration)

Mylar User Guide, Mylar Home, Log in to edit

Introduction

What is Mylar?

Mylar is an extensible framework for tools to help computer programmers be more productive. It comes with a number of tools that show only the most relevant elements for the programmer's immediate task. (Most tools show everything, which makes it difficult to keep track of what is important and what is not.)

Mylar is implemented as a plug-in to the Eclipse integrated development environment. While Mylar is written in Java, you can use Mylar and Eclipse to program in a number of different languages.

How does Mylar tell what elements are relevant or interesting?

Mylar keeps track of the degree of interest based on the time you spend on elements and how much you interact with them. For example, if you spend five minutes clicking and editing the file foo.java, but only spend five seconds on the file bar.java and only scroll once, then foo.java will be very "interesting" and bar.java will only be a little bit "interesting". If you don't even open baz.java, it will be even less "interesting".

Mylar also keeps track of interest on a task-by-task basis. Mylar lets you specify which task you are currently working on, and only shows elements that are interesting to that task. For example, if you only work on apples.java while working on the Fruit Task, then Mylar won't show you apples.java when you are working on the Vegetables Task.

What elements does Mylar keep track of?

Mylar will keep track of most of the things that you can touch in Eclipse. For example, in Java, Mylar assigns a degree of interest to files, classes, methods, interfaces, and fields. @@@Mik: please fix up@@@

How can I contribute to the Mylar project?

See the Mylar Contributor Reference.

What is a connector?

A connector is code that connects a task repository (like Bugzilla, JIRA, or Trac) to Mylar.

How do I write a connector?

See Creating Mylar Connectors.

What is a bridge?

A bridge is code to integrate the context model with the structure and UI features of domain-specific tools. See Mylar_Integrator_Reference#Creating_Bridges.

Installation

What versions of Eclipse does Mylar work with?

While Mylar dev builds are built against the 3.3 stream of Eclipse, we will try to maintain as much compatibility with Eclipse 3.2 for as long as possible. The current compatibility status is:

  • Eclipse 3.3M2: fully supported.
  • Eclipse 3.2 and 3.3M1: partially supported. The automatic context test suite will not work, but there should be no other limitations.

What version of the JDK do I need? You need to use the virtual machine from JDK1.5 or higher.

You can use JDK1.6 with Eclipse 3.2 and higher with no problem. We don't recommend that you use JDK 1.6 on Eclipse 3.1, but it is possible iff you 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

How do I install Mylar?

To install Mylar, see the Mylar_User_Guide#Installation. That should get you to the point where you can run Mylar at all.

How do I configure Mylar?

To install Mylar, see the Mylar_User_Guide#Configuration. That should get you to the point where you can run Mylar at all.

How do I turn on spell checking?

See Mylar_Configuration_Guide#Spell_checking.

What do I need to do in installation to be able to use Mylar task management features with bug/task/issue trackers?

When you install, make sure that you select a connector for your bug/task/issue tracking software. For example, to use Bugzilla, you have to install the Bugzilla connector component.

Contributing

How do I help fix bugs and/or add features?

See the Mylar Contributor Reference.

Backups

How do I backup and restore my Mylar tasks?

See Mylar_Configuration_Guide#Task_List_backup_and_restore.

Where does Mylar keep the task list?

By default Mylar keeps your task list in <workspace>/.mylar/tasklist.xml. You can change this in the Task Data -> Backup section of Preferences -> Mylar -> Tasks.

Where does Mylar keep the backup of task lists?

By default, Mylar keeps the task backups in <workspace>/.mylar/tasklist-backup.xml. You can change this in the Task Data section of Preferences -> Mylar -> Tasks.

How do I restore Mylar tasks from a backup?

Select File -> Import -> Mylar Task Data.

How often are backups done?

By default, backup snapshots are taken daily and kept for 30 days.

Installation

I've downloaded Mylar; why can't I see anything different?

The two most likely possibilities are:

  1. You don't have any Mylar views open. Select Window->Show View->Other, then select Mylar and you should see the available Mylar Views.
  2. If you still don't see anything, then perhaps you aren't using the JDK1.5 VM (or later). See Mylar_Installation_Guide#Download_and_configure_Java.


What does the error "Network connection problems encountered during search" mean?

If you get that message while trying to download Mylar, it 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 mess things up), 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.

What does the "Update manager failure" message mean?

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 avoid this problem. If that does not work see the feature configuration troubleshooting below.

What does "Could not create Browser page: No more handles (java.lang.UnsatisfiedLinkError: ...)" mean?

It probably means that you are running Linux and don't have Eclipse and a Web browser configured to work together. See Mylar_Installation_Guide#Installing_Browser_on_Linux.

If you are not running Linux, then we don't know. When you figure it out, please add a description here.

When downloading, why do I get a warning that the feature was unsigned?

Because there are a lot of hoops -- administrative and financial -- that you have to jump through in order to sign plug-ins. We wanted to spend our energy on developing code.

What does "Root exception: java.lang.UnsupportedClassVersionError: org/eclipse/mylar/tasklist/MylarTasklistPlugin (Unsupported major.minor version 49.0)" mean?

It probably means that the virtual machine is JDK1.4 or lower. See Mylar_Installation_Guide#Download_and_configure_Java.

Why am I getting messages in my <workspace>/.metadata/.log or my Mylar view that say things like "java.lang.NoSuchMethodError: org.eclipse.ui.internal.dialogs.FilteredTree.getFilterControl()" and "The activator org.eclipse.mylar.java.MylarJavaPlugin for bundle org.eclipse.mylar.java is invalid"?

This probably means that your Mylar download version didn't match your Eclipse download version. Note that the download site has different downloads for Eclipse 3.1 and Eclipse 3.2.

To fix this problem, see the Mylar_Uninstallation_Guide to uninstall, then and re-install from the correct download site.

What does "Could not create Bugzilla editor input" and "java.io.IOException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found" mean?

It probably means that you are on MacOS, and for some reason are missing Xerces from the Mac JDK1.5. You will probably need to add it to your default classpath. Please refer to and comment on bug 144287 if you see this problem.

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.


Integration

Will Mylar slow down Eclipse?

The goal is for Mylar to have no noticeable effect on Eclipse's speed or memory usage; you do not need to increase the amount of memory Eclipse runs with to use Mylar, and any performance issue should be reported as a bug. The current performance profile is:

  1. Mylar only runs if a task is active, and has no impact on Eclipse if no task is active.
  2. Task context models have negligible memory overhead.
  3. When a task is active, an additional view refresh is required to update the views based on interest model changes. This should not be noticeable on Windows, where refreshing is very quick, but could be more noticeable on other platforms.
  4. The time to activate a task context is dominated by the time it takes Eclipse to open the editors in the context. You can set the preference for how many editors to open in the Mylar preference page (e.g. setting to 1 will dramatically reduce activation time, but also remove the benefit of having open editors correspond to the task context). You can also turn off editor management entirely in the Mylar Tasks view pull-down.
  5. Eclipse startup is slowed down by (4) if a task is active when Eclipse is shut down.
  6. The low priority background searches that the Active Search view runs can be noticeable on slower machines.

Which Focused UI features can I turn off?

All of them. When no task is active neither are any of Mylar's features. When working with task contexts Mylar's Focused UI features are all optional and in general configurable. The following table summarizes how the key features can be toggled. Additional configuration options are under the Mylar and General -> Appearance preference pages.

UI Mechanism Example/description Toggle using
Interest filtering Package Explorer Apply Mylar button on view toolbar
Interest decoration Bolding of landmark elements Preferences -> General -> Appearance -> Label Decoration
Content assist Ranking of interesting elements Eclipse 3.2: Java -> Editor -> Content Assist -> Work in Progress -> turn off Mylar, turn on Java

Eclipse 3.1: set the Java editor to be default for .java, not the Mylar

Java editor
Active change sets Grouping of changes by tasks Preferences -> Mylar -> Team
Editor management Auto opening/closing of editors Preferences -> Mylar -> Editor Management
Active views Active Search and Hierarchy Only on if view is active

Does the Mylar Task List View remove or disable the Eclipse Tasks View?

No. The SDK's Tasks view is used for showing markers such as 'todo' tags which indicate a local problem with a resource, similar to a compiler warning. As such, these 'tasks' are at a much lower level of granularity than than Mylar's tasks, and one task could involve cleaning up multiple todos. In order to make working with only the markers in a particular task context, e.g. for clean-up before committing, the Apply Mylar filter is available for both the Problems and the Tasks views.

Shortcuts

What keyboard shortcuts does Mylar support?

See Mylar_User_Guide#Keyboard_Shortcuts.

Tasks and Repositories

Unsupported repositories

How do I encourage someone to make a connector for my repository?

First, do a search of the open repository connector requests and vote for the corresponding bug if your tracker is there, or create a new bug.

There isn't a connector for the repository I use: is there a workaround?

Yes. See Mylar_User_Guide#Unsupported_repositories

Bugzilla Connector

What versions of Bugzilla are supported?

For supported versions see the download page. We recommend using the latest release of Bugzilla.

If you are just looking for a place to start be sure to check out the Mylar User Guide.

Why don't the times in Bugzilla correspond to the times that I actually create the tasks?

The times that appear in the Bugzilla bug editor (ie. created, modified) are local to the server hosting the Bugzilla repository, not your local machine's time zone.

Why do I get the message "attributes are missing options" (i.e. it's missing a recently added milestone) in the bug editor?

That's bug# 155431). To work around it:

    • Update attributes by choosing "Update Attributes" from the context menu in the Task Repositories view
    • Synchronize the task in the tasklist
    • Reopen the task - new options should be available.

Why do I get the message "queries are not working"?"

The most likely answer is that you don't have the right Bugzilla server version selected for the corresponding repository. To set it, select Task Repositories (view) -> right+click repository -> Properties.

If the repository is still not functioning it may be due to authentication or connectivity problems. If that does not resolve the problem please post a message to the newsgroup or submit a bug.

Why do I get the message "reports are failing to submit" or "missing products or components"?

Currently our support for retrieving the products/components etc. available on the server relies on the information from <your-repository-url>/config.cgi?ctype=rdf. If you are unable to access this url with your web browser then this is likely the source of problems related to missing products/configuration.

Try updating the attributes for the repository via New -> New Repository Task -> select Bugzilla repository -> Update Products from Repository.

Why do I get the message "reports fail to load" or "reports fail to synchronize" (and the task description remains italic)?

These messages usually happen when the urlbase parameter is not set on the bugzilla server. Check the error log for a "File not found" error pointing to bugzilla.dtd or a "Failed to retrieve products from server" error message. (@@@ and how to fix it? @@@)

Why do I get the warning "Could not download task data, possibly due to timeout or connectivity problem. Please check connection and try again" on the Bugzilla tab when opening a bug?

It is likely that the repository is too old (Mylar currently supports Bugzilla 2.18 and up). The Bugzilla connector requires that bugs be accessible in XML form, and older versions of Bugzilla do not support XML. You can see if your repository is returning XML data by pointing your browser to <your-repository-url>/show_bug.cgi?id=1&ctype=xml and verifying that the page returned shows bug number 1 in XML form.

Why do I get the message "attachments are failing to submit" and a size of "bytes" with no numbers for the attachment size? Why do I see errors like DBD::mysql::st execute failed: Got a packet bigger than 'max_allowed_packet' bytes [for Statement "INSERT INTO attach_data (id, thedata) VALUES (38, ?)"] at /path/to/bugzilla/attachment.cgi line 993

Your database may be dropping the packet sending the file. On MySQL, check the max_allowed_packet directive. Also, check the maximum attachment size in Bugzilla Parameters -> Attachments. @@@ where is this ? @@@

Why do I get a message about "mid-air collisions"?

It is likely that you are using Bugzilla 2.18 with an incorrectly formatted timestamp field in the underlying bugs database table (bug 149513). You can resolve this by upgrading to Bugzilla 2.20 or later.

JIRA Connector

JIRA isn't working for me.

To use JIRA, you need to install both the core and the connector. Make sure that you did that during the installation process.

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.

Why do I get a 503 error code?

Your SOAP/RPC interface probably isn't enabled. Verify that the SOAP/RPC interface is enabled. @@@how?@@@

Why do I get a 403 error code? This might mean that your SOAP/RPC interface isn't enabled. Check that your SOAP/RPC interface is enabled and also check your authentication mechanism. (@@@how?@@@) If the JIRA server is using NTLM authentication, see bug 156937 for diagnosis steps.

Content assist

Why don't I see any content completion proposals?

Check to make sure that either the Mylar or the plain proposals are enabled. Select Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced and make sure that there is at least one of the boxes is checked in the list labelled "Select the proposal kinds contained in the 'default' content assis list". . (See the images at the end of this section.)

Proposals will also not show up if a workspace into which Mylar was once installed is later run without Mylar installed (e.g. as a result of uninstalling or multiple Eclipses using same workspace. See Platform bug 140416).

Why do I get an error message dialog that says "The extension tool too long to return from the 'computeCompletionProposals()' operation" after invoking content assist?

This is most likely due to something interrupting the proposal operation (e.g. garbage collection). If it doesn't happen again, you can ignore it. If it keeps happening, increase Eclipse's memory (e.g via -Xmx384M command line argument). See bug 141457 for more details.

How can I see proposed content completions ranked according to interest?

To see proposals ranked according to interest you must be running Eclipse 3.2 (or higher) and have only the (Mylar) proposals kinds enabled in Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced, otherwise you will see duplicates.

(Note: the following image has been cropped for space reasons. The actual Preferences panel is much bigger, and has two selection boxes.)

Mylar-content-assist-prefs.gif


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 sections below.

Contributing

I tried to download the source following the directions given on the Mylar Contributor Reference, and Eclipse says that there are errors. What do I do?

There are several possible things wrong:

  1. You don't have the latest milestone of Eclipse; download the latest stable version from the "all downloads" page. Note that the downloads page that is easiest to find will show you the latest releases, not the latest milestones.
  2. You don't have JRE 1.5 associated with this workspace. Go to Window -> Preferences -> Java -> Installed JREs -> Execution Environments and make sure that the 1.5 checkbox is checked.
  3. You don't have Jira installed, but do have the org.eclipse.mylar.tests installed. That is a separate download. See Mylar_Contributor_Reference#Workspace_setup.
  4. You have Jira installed but don't have Subclipse installed. See Mylar_Contributor_Reference#Workspace_setup.

Key Limitations

What limitations does Mylar have?

Older versions of Eclipse

Why doesn't the Package Explorer show hierarchy?

This should only be a problem with Eclipse 3.1. The Hierarchical layout is not supported in the Package Explorer. In the Package Explorer menu, select Layout -> Flat.

When I click on a .java file, the right editor doesn't open! What do I do?

This sometimes happens when using Eclipse 3.1. Reset the Java editor to be default for ".java" again via: Preferences -> General -> Editors -> File Associations. Upgrading to 3.2 will also eliminate the problem.

Back to the top