🌿

Getting Started

A quick guide to Parsley Template Editor

Already using WOLips?

Parsley is a fork of WOLips, so most of this will be familiar. You might want to skip straight to WOLips Coexistence and Parsley Explorer.

Installation

Install from the update site

In Eclipse, go to HelpInstall New Software…, click Add, and enter the update site URL:

https://undur.github.io/parslips/repository/

Select Parsley Template Editor from the list and follow the prompts. Restart Eclipse when done.

First Steps

Switch to the Parsley perspective

WindowPerspectiveOpen PerspectiveParsley. This gives you the Parsley Explorer (a component-aware Package Explorer), the Outline view, and a layout tuned for template editing. This is optional — most Parsley features work in any perspective.

Open a component

Double-click any .html template or .wo folder in the Package Explorer. Parsley opens it in a multi-tab editor with views for the HTML template, WOD bindings, API definitions, and WOO settings.

Try autocomplete

In the template editor, type <wo: and press Ctrl+Space. You’ll see all available component types for your project’s framework. Select one to insert a complete tag with required bindings pre-filled.

Key Shortcuts

Navigation

Cmd+Alt+1 — Open Java class
Cmd+Alt+2 — Open HTML template
Cmd+Alt+3 — Open WOD file
Cmd+Alt+5 — Open API editor
Cmd+Shift+X — Open component by name
Ctrl+Click — Navigate to definition

Editing

Ctrl+Space — Autocomplete (tags, bindings, keypaths)
Cmd+1 — Quick-fix for validation errors
Cmd+Shift+F — Format template
Cmd+6 — Insert component dialog

Refactoring

Cmd+2, R — Linked rename (tag + close tag)
Cmd+2, E — Extract selection to new component
Cmd+2, X — Extract wrapper (inverse: wrap selection in new component)
Cmd+2, W — Convert inline tag to WOD entry
Cmd+2, I — Convert WOD entry to inline tag

Project Setup

build.properties

Parsley reads a build.properties file at the root of your project for configuration. The most important property is:

project.base=ng or project.base=wo

This tells Parsley which framework your project uses, which determines the available component types, the root element class for validation, and default template format settings. If this property is absent, Parsley probes the classpath automatically.

Note: If WOLips is also installed, project.base must be set for Parsley to activate on the project. Without it, the WOLips template editor will be used by default. See WOLips Coexistence below.

Inline binding prefix

Inline binding values use a prefix to distinguish key paths from literal strings. The default is $ (e.g. value="$name"). To customize:

component.inlineBindingPrefix=$
component.inlineBindingSuffix=

Template Formats

Standalone templates

A single .html file with inline bindings: <wo:WOString value="$name" />. This is the default for ng-objects projects. Create one via FileNewWO Component and select Standalone template.

Bundle templates

A .wo folder containing an .html file, a .wod file, and optionally a .woo file. The HTML uses <webobject name="X"> references that are resolved against binding definitions in the .wod file. This is the traditional WebObjects format.

Converting between formats

Right-click a .wo folder and select “Convert to Standalone Template” to convert from bundle to standalone format. Right-click a standalone .html file and select “Convert to Bundle Template” to go the other direction. Both support multi-selection, and “Convert All to Standalone Templates” on a regular folder converts all bundle templates inside recursively.

WOLips Coexistence

Can I install both?

Yes. Parsley is designed to coexist with WOLips in the same Eclipse installation. Both plugins can be active simultaneously without conflicts. Just make sure you’re running the most recent version of WOLips, which contains a compatibility fix for Parsley.

Which editor opens my files?

When both plugins are installed, Parsley only activates for projects that have a project.base property in their build.properties file. Projects without this property are left to WOLips.

This means you can opt in per-project:

  • Add project.base=wo to use Parsley for a WebObjects project
  • Add project.base=ng to use Parsley for an ng-objects project
  • Leave it out to keep using WOLips for that project

Without WOLips installed

When WOLips is not installed, Parsley activates for all recognized projects automatically — no build.properties needed. It detects the framework by probing the classpath for ng-objects or WebObjects marker classes.

What Parsley doesn’t replace

Parsley is a template editor, not a full IDE suite. It does not include WOLips’ Entity Modeler, EOGenerator, WO launch configurations, D2W rule editor, incremental builder, or classpath management. See Non-Features for the full list.

Parsley Explorer

Opening the explorer

The Parsley Explorer is available via WindowShow ViewOther…ParsleyParsley Explorer. It is also included in the Parsley perspective.

What’s different from Package Explorer

The Parsley Explorer is a Package Explorer variant tuned for WebObjects and ng-objects development. Key differences:

  • Bundle template folders (.wo) are expandable, showing their contained files
  • WO source folders (components, woresources, webserver-resources) are pulled up to the project root for easy access
  • Projects show framework badges (ng-objects or WebObjects)

Reporting Issues

Found a bug?

Please report issues on GitHub Issues. Include the Eclipse version, the project’s framework type (ng-objects or WebObjects), and if possible, a snippet of the template that triggers the problem.