NOTE: On 4 October 2006, this page is being modified significantly. Expect to see things move around a bit.
- 1 Setup
- 2 Integration
- 3 Tasks List
- 4 Task Repository Connectors
- 4.1 What if Mylar doesn't support my task/bug/issue/ticket repository?
- 4.2 Bugzilla Connector troubleshooting
- 4.3 JIRA Connector troubleshooting
- 4.4 Trac Connector troubleshooting
- 4.5 What if my repository doesn't have a rich connector?
- 4.6 Network and proxy server troubleshooting
- 5 Task Focused UI
- 6 Java Development
- 7 Team Support
- 8 Can I integrate Mylar with other tools?
- 9 Key Limitations
How do I install Mylar?
What web browser should I use?
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. See the SWT Browser guide for which browsers will work. See installing browser on Linux for installation instructions.
What version of Java is required?
Mylar needs the Java 5 virtual machine. (You do not need to compile with the 1.5 compiler, just to run with the 1.5 VM.)
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.
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
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:
I'm having installation problems
See the section on Installation Troubleshooting.
How do I configure Mylar?
What is your release schedule?
Development builds are released weekly, usually on Friday, and should be used by all Mylar developers and contributors not using Mylar straight from CVS.
What is Mylar's compatibility with Eclipse versions?
- Eclipse 3.3 latest Milestone: full support.
- Eclipse 3.2 and 3.3M1-M2 are partially supported and missing
- Type history management. Open Type list will be have the default workspace-wide rankings).
- Automatic context test suite. If invoked an exception will appear in the log and it will not run.
Support for Eclipse Milestone and Integration builds:
- Monday prior to Eclipse SDK milestone release: we migrate to the latest integration build and make a dev build available when done.
- Eclipse SDK milestone release day: a Mylar dev build officially supporting the milestone is released.
- 1 week after Eclipse SDK milestone release: a Mylar dev build supporting the milestone is released.
What about performance effects?
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:
- Mylar only runs if a task is active, and has no impact on Eclipse if no task is active.
- Task context models have negligible memory overhead.
- When a task is active, additional view refresh is required to update the views based on interest model changes. This should not be noticeable on Windows where refresh is very quick, but could be more noticeable on other platforms.
- 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.
- Eclipse startup is slowed down by (4) if a task is active when Eclipse is shut down.
- The low priority background searches that the Active Search view runs can be noticeable on slower machines.
I am seeing java.lang.OutOfMemoryError: PermGen space errors, what's wrong?
This is not a Mylar problem, but a general Eclipse problem that is often triggered on Eclipse 3.2 and later if you have any significant number of plug-ins installed and are using a Sun VM. To fix it add the following to your launch arguments, e.g. to the shortcut that you use or to the eclipse/configuration/config.ini file:
If you are using a large number of plug-ins (e.g. WTP) you may need to increase the number to more than 128M. Details of the problem are on Platform bug 92250.
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 MylarJava 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 Task List replace the Eclipse Tasks view?
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.
What does the "Add to Task List root" checkbox do on the new repository task editor?
Since newly submitted tasks may not be caught buy the queries in your tasklist, this option allows you to specify that the newly created task be placed in the root of the taskslist (thus making it immediately visible) otherwise it will only reside in the tasklist archive.
Task Repository Connectors
What if Mylar doesn't support my task/bug/issue/ticket 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. In the meantime, you can work with those reports (but not with queries) via the web integration. To create a task from any web-based repository:
- Drag the URL from the Address bar of the browser, or from a hyperlink in a bug listing to the Mylar Tasks view. This will create a task for the bug, link it to the page, and populate the description with the title of the corresponding page. In Mozilla, simply drag the URL. In Internet Explorer you must have Ctrl pressed in order for Eclipse to recognize the drop.
- Alternatively you can copy the URL, press the New Task button on the Mylar Tasks view. This has the same effect as above but you can edit the description after retrieving it.
- Opening the task will now open the corresponding issue. You can also right-click the task and select Open in External Browser.
Also see Generic Web Repository Connector
Bugzilla Connector troubleshooting
- 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.
- We recommend using the latest release of Bugzilla.
- If attributes are missing options in the bug editor (ie. missing a recently added milestone, bug# 155431):
- 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.
- If queries are not working correctly ensure that you have the right Bugzilla server version selected for the corresponding repository: Task Repositories (view) -> right+click repository -> Properties. For supported versions see the download page. 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.
- If reports are failing to submit or you're missing products or components to submit to try updating the attributes for the repository via New -> New Repository Task -> select Bugzilla repository -> Update Products from Repository. 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.
- If reports fail to load or reports fail to synchronize (task description remains italic), check the error log for a "File not found" error pointing to bugzilla.dtd or a "Failed to retrieve products from server" error message - these result when the urlbase parameter is not set on the bugzilla server, or your bugzilla installation is missing the bugzilla.dtd file. See: bug#161759
- If upon opening a bug, the Bugzilla tab only displays a warning "Could not download task data, possibly due to timeout or connectivity problem. Please check connection and try again.", ensure that your repository is returning xml data by pointing your browser to <your-repository-url>/show_bug.cgi?id=1&ctype=xml to show the contents of bug 1 in xml form. The Bugzilla client requires that bugs be accessible in xml form. If the repository doesn't support xml then it is likely that the repository is too old (Mylar currently supports Bugzilla 2.18 and up).
- If attachments are failing to submit and you see that after processing the attachment, the bugzilla bug shows a size of "bytes" (no numbers), your database may be dropping the packet sending the file. On MySQL, check the max_allowed_packet directive. You may 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. Also, check the maximum attachment size in Bugzilla Parameters - Attachments.
- If you are using Bugzilla 2.18 and are getting mid-air collisions this is likely due to incorrectly formatted timestamp field in the underlying bugs database table (bug 149513). This can be resolved by upgrading to Bugzilla 2.20 or later.
JIRA Connector troubleshooting
- Proxy configuration will be based on the normal Java HTTP system properties. You can configure the hostname and port in the install/update preference page, or run eclipse with -vmargs -Dhttp.proxyHost=<host> -Dhttp.proxyPort=<port>.
- If you are using SSL, you will also need to set the https.proxyHost and https.proxyPort.
- Authentication is configured withhe http.proxyUsername and http.proxyPassword system properties (also for SSL)
- If you get a 503 error code verify that the SOAP/RPC interface is enabled.
- If you get a 403 error code verify as above, and also check your authentication mechanism. If the server is using NTLM authentication, see bug 156937 for diagnosis steps.
- If you see an "unrecognized priority" message in the Error Log, the problem is that the JIRA Connector does not support customized priorities so the priority value specified in that message will not correspond to the priority icons visible in the Task List.
- If you are being prompted for your log-in credentials by the Browser tab of the task editor or the new task editor, this is because without rich editor support the connector is using the web-based UI instead of logging in on your behalf as is done with a rich task editor (bug 142869).
Trac Connector troubleshooting
The Trac connector offers two access methos:
- 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 0.10 and later): This requires the XmlRpcPlugin (revision 1175) 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). See these install instructions for requirements and documentation.
- Trac 0.10.1 does not work with XML-RPC Plugin. See bug 164272 for details.
What if my repository doesn't have a rich connector?
Network and proxy server troubleshooting
For accessing repositories via a proxy server, Mylar uses the settings under Preferences -> Install/Update. If you are seeing errors like "HTTP Response Code 407" or "Proxy Authentication Error" it is likely that you need to configure these proxy server settings.
If your sever uses a certificate and fails to connect, e.g. you see exceptions sun.security.validator.ValidatorException: PKIX path building failed then you need to point Eclipse at your certificate, see the instructions on this blog.
Task Focused UI
Why did all my editor tabs disappear?
Mylar actively manages your open editors with task context. So when you deactivate a task, all editors will be closed, and then reactivated when you open the task again. It takes some getting used to, but enables switching between tasks when you are multitasking without cluttering your editor tabs. This editor management can be disabled via Window -> Preferences -> Mylar -> Context. However, before disabling it consider reading the "Managing open editors..." section of Task-focused programming with Mylar.
Why won't the Archive category disappear?
The Archive category will automatically if a task needs to be shown, but is not in any query or category. In order to ensure that you do not miss reminders or notifications the following tasks will always be shown in the Task List, even if they have been removed from a category or a query:
- Tasks scheduled for this week or overdue. Remove these by using the Schedule popup menu option to defer them to a future week or to clear the schedule.
- Repository tasks that have incoming changes, such as comments. Removing these by reading them or marking read via the Mark -> Read popup menu.
How do I prevent long-running tasks from adding to the progress bar?
If a lot of long-running or recurring tasks are scheduled for this week, they can add to the Task List weekly progress bar even though they will not be completed. The current work-around from preventing long-running tasks from being included in the progress is to schedule their estimated time to be 0. Alternatively you can also schedule only the amount of time you plan on spending on that task this week.
Content assist troubleshooting
In Eclipse 3.2, Mylar uses extended content assist processors in order to rank and separate the elements in the current task context. To see proposals ranked according to interest you must have only the (Mylar) proposals kinds enabled in the list below, otherwise you will see duplicates. If you do not see any proposals, check this list to ensure that either the Mylar or the plain proposals are enabled. Running New -> Mylar -> Recommended Preferences will do this for you automatically, or you can set toggle them manually in the preference page. Proposals will disappear if a workspace into which Mylar was installed is run without Mylar installed (e.g. as a result of uninstalling or multiple Eclipses using same workspace, see Platform bug 140416).
If after invoking content assist you see an error message dialog that states "The extension tool too long to return from the 'computeCompletionProposals()' operation", this is most likely due to something interrupting the proposal operation (e.g. garbage collection). Ignore it if it does not recur, increase Eclipse's memory if it does (e.g via -Xmx384M command line argument), or see bug 141457 for more details.
How do I stop declarations from showing in the Package Explorer?
If you don't like Mylar's constant showing of Java members in the Package Explorer, select the drop-down menu, then Filters... and enable the Mylar Java Declarations Filter. It will then stick in the menu in case you want to toggle between modes. Note that this will hide interest information about members that aren't in your current file (e.g. showing you which methods are landmarks) so this mode is not recommended, but can be useful for 1024x768 screen resolutions.
Why does nothing show up in the Active Search or Active Hierarchy?
As you work and elements become landmarks (bold decoration), and these elements populate the Active Search and Active Hierarchy views. To force an element to populate the views manually make it a landmark by right-clicking or hitting Ctrl+Alt+Shift+Up Arrow.
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.
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 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.
- Note: if you have enabled the models mode, but do not see the overlay icon visible in the screenshot below, it is because you are using an old non-models based synchronization. Old synchronizations are not updated automatically when you switch modes so you must create a new one.
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.
Using Change Sets with Subversive
Why do files disappear from the change set when I close them?
If you have the Preferences -> Mylar -> Context -> Manage open editors to match task context option enabled, Mylar will perform editor management so that you don't have to. Closing a file makes it less interesting, and causes it to disappear from the active task context, and hence from the change set. This option prevents you from having to manage the set of open files, will automatically close editors for files that become uninteresting, and will ensure that the open editors match the task context.
Why is interest lost when I retrieve someone else's context?
To identify elements within a project Mylar relies on the name of the project being consistent across workspaces. If the project name in the workspace that the context was created with is different than it's name in your workspace the task context will not show elements within that project (bug 164058). The work-around is to use the same project names across your team's workspaces.
The other case where context can be lost is if the elements change names outside of the workspace ( bug 164243).
Can I integrate Mylar with other tools?
Yes. 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.
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.
- Bug 106678: The Package Explorer hierarchical layout is not supported on Eclipse 3.2.0 and will show uninteresting elements when enabled. Resolved on Eclipse 3.2.1 and Eclipse 3.3.