Wayback Machine
69 captures
10 Mar 2014 - 27 Feb 2026
Jul AUG Sep
28
2022 2023 2024
success
fail
About this capture
COLLECTED BY
Organization: Archive Team
Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

History is littered with hundreds of conflicts over the future of a community, group, location or business that were "resolved" when one of the parties stepped ahead and destroyed what was there. With the original point of contention destroyed, the debates would fall to the wayside. Archive Team believes that by duplicated condemned data, the conversation and debate can continue, as well as the richness and insight gained by keeping the materials. Our projects have ranged in size from a single volunteer downloading the data to a small-but-critical site, to over 100 volunteers stepping forward to acquire terabytes of user-created data to save for future generations.

The main site for Archive Team is at archiveteam.org and contains up to the date information on various projects, manifestos, plans and walkthroughs.

This collection contains the output of many Archive Team projects, both ongoing and completed. Thanks to the generous providing of disk space by the Internet Archive, multi-terabyte datasets can be made available, as well as in use by the Wayback Machine, providing a path back to lost websites and work.

Our collection has grown to the point of having sub-collections for the type of data we acquire. If you are seeking to browse the contents of these collections, the Wayback Machine is the best first stop. Otherwise, you are free to dig into the stacks to see what you may find.

The Archive Team Panic Downloads are full pulldowns of currently extant websites, meant to serve as emergency backups for needed sites that are in danger of closing, or which will be missed dearly if suddenly lost due to hard drive crashes or server failures.

Collection: ArchiveBot: The Archive Team Crowdsourced Crawler
ArchiveBot is an IRC bot designed to automate the archival of smaller websites (e.g. up to a few hundred thousand URLs). You give it a URL to start at, and it grabs all content under that URL, records it in a WARC, and then uploads that WARC to ArchiveTeam servers for eventual injection into the Internet Archive (or other archive sites).

To use ArchiveBot, drop by #archivebot on EFNet. To interact with ArchiveBot, you issue commands by typing it into the channel. Note you will need channel operator permissions in order to issue archiving jobs. The dashboard shows the sites being downloaded currently.

There is a dashboard running for the archivebot process at http://www.archivebot.com.

ArchiveBot's source code can be found at https://github.com/ArchiveTeam/ArchiveBot.

TIMESTAMPS
loading
The Wayback Machine - https://web.archive.org/web/20230828110023/https://projects.eclipse.org/projects/technology.handly
Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
    • Search

  1. Home
  2. Projects
  3. Eclipse Technology
  4. Eclipse Handly™

Eclipse Handly™

Primary tabs

  • Overview(active tab)
  • Downloads
  • Who's Involved
  • Developer Resources
  • Governance
  • Contact Us

The Eclipse Handly™ project provides basic building blocks for handle-based models, with an emphasis on language-specific source code models of the underlying Eclipse workspace. It allows creating highly scalable, robust, and thoroughly optimized models similar in design principles to the tried-and-tested Java model of Eclipse Java development tools while reducing programming effort, fostering software reuse, and enabling interoperability.

Handly is designed for flexibility and can be used to create source code models for practically any language, whether general-purpose or domain-specific; it is compatible with any parsing technology. The model implementor has complete control over the model's base-level API, including the ability to implement a preexisting handle-based model API. At the same time, the provided uniform meta-level API establishes a common language and makes it possible for IDE components to work in a generic way with any Handly-based model.

Background

Handle-based models employ a variation of the handle/body idiom, where clients have direct access only to 'handles' that act like a key to a model element and have the following principal characteristics:

  • Immutable, equal by value.
  • Can define behavior of the element, but don't keep any element state beyond the key information. The element state beyond the key information is stored separately in an internal 'body'.
  • Can refer to non-existing elements.

Such design has a number of important properties:

  • Handles are stable, you can freely keep references to them.
  • Handles are lightweight, but can be rich in behavior.
  • Bodies can be virtualized and computed on demand.

This makes handle-based models highly scalable and perfectly suited to presenting in Eclipse views such as Project Explorer, Search, Outline, etc.

It is surely not a coincidence that handle-based models are an important ingredient in the Eclipse IDE. The handle-based resource model of the Eclipse workspace provides a common low-level foundation for language-specific development tools. The handle-based Java model, which wraps the workspace resource model and renders it from the Java language's angle, is one of the pillars of Eclipse Java development tools (JDT). To a great extent, it is the Java model that makes possible seamless tool integration and unified user experience in JDT. Meanwhile, models with design properties similar to those of the Java model can play an equally important role in Eclipse-based development tools for other languages, as illustrated by the C model of Eclipse C/C++ Development Tooling (CDT).

Why Handly?

Traditionally, handle-based models such as the JDT Java model or the CDT C model were built either entirely from scratch or by copying and modifying, with due consideration of possible licensing issues, the source code of a preexisting model. The traditional process required much effort, was tedious and error-prone. The resulting models were effectively silos with a completely isolated API, which prevented a possibility of developing reusable IDE components around those models, although the models did seem to have certain traits in common.

The Handly project begs to differ with the traditional approach. It aims to reduce programming effort, foster software reuse, and enable interoperability by providing a unified architecture and a set of basic building blocks for handle-based models, with an emphasis on language-specific source code models for Eclipse-based development tools. The provided implementation allows creating highly scalable, robust, and thoroughly optimized models on a par with the JDT Java model in quality.

Handly aims to retain much of flexibility of the traditional approach and can be used to create source code models for practically any language, whether general-purpose or domain-specific, as distinct from other existing efforts such as Eclipse Dynamic Languages Toolkit (DLTK). It is compatible with any parsing technology. The model implementor has complete control over the model's base-level API, including the ability to implement a preexisting handle-based model API that needs to be preserved for backward compatibility.

At the same time, any model that is based on Handly can be uniformly accessed via a common meta-level API, which makes it possible to develop generic IDE components that will work with any Handly-based model. To demonstrate utility of this API and enhance value proposition for adopters, the project has provided a number of production-quality UI components that work with Handly-based models, such as a Common Outline Framework.

What's in the Box?

  • Common interfaces and skeletal implementations for handle-based model elements, including code-centric ones such as source files and source elements.
  • Common interfaces and default implementations for change notifications in a Handly-based model.
  • Infrastructure interfaces and implementations for buffer and cache management.
  • Comprehensive working copy support, including integration with the Xtext editor and support for integrating other source editors.
  • Common UI components such as an outline framework, quick outline, and navigator support that work with Handly-based models.
  • Exemplary implementations, including a basic Xtext-based example and a more advanced Java model example.

More Information

  • Success Stories - Handly has been successfully used in large-scale commercial products, as demonstrated in success stories related by our adopters.
  • Getting Started Tutorial - A comprehensive step-by-step guide hosted on GitHub and made available under EPL-2.0.
  • Architectural Overview - An overview of the Handly core framework.
  • API Specification - All APIs are thoroughly documented in extensive Javadocs.
  • Examples - Exemplary implementations, including a basic Xtext-based example and a more advanced Java model example.

If you have any questions or would like to provide feedback, consider using the project's Forum or Mailing List. Any input would be greatly appreciated.

Licenses: 
Eclipse Public License 2.0

The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.

Latest Releases: 

From September 16th, 2020 to June 14th, 2023

NameDateReview
1.7.32023-06-14
1.7.22023-03-15
1.7.12022-12-07
1.72022-09-14
1.6.22022-06-22
1.6.12022-03-16
1.62021-12-08
1.5.12021-03-17
1.52020-12-16
1.4.12020-09-16
Active Member Companies: 
Member companies supporting this project over the last three months.
    Contribution Activity: 
    Commits on this project (last 12 months).

    Project Links

    • Website
    • Getting Started
    • Success Stories
    • Source Code Repository
    • Wiki
    Eclipse Handly™

    Related Projects

    Related Projects:

    • Textual Modeling Framework
      • Eclipse Xtext™
    • Eclipse Technology
      • Eclipse Dynamic Languages Toolkit

    Project Hierarchy:

    • Eclipse Technology
    • Eclipse Handly™

    Tags

    Technology Types
    • Language
    • Modeling
    • Tools
    Build Technologies
    • Jenkins
    • Maven
    • Tycho

    Eclipse Foundation

    • About Us
    • Contact Us
    • Sponsor
    • Members
    • Governance
    • Code of Conduct
    • Logo and Artwork
    • Board of Directors
    • Careers

    Legal

    • Privacy Policy
    • Terms of Use
    • Copyright Agent
    • Eclipse Public License
    • Legal Resources

    Useful Links

    • Report a Bug
    • Documentation
    • How to Contribute
    • Mailing Lists
    • Forums
    • Marketplace

    Other

    • IDE and Tools
    • Projects
    • Working Groups
    • Research@Eclipse
    • Report a Vulnerability
    • Service Status

    Copyright © Eclipse Foundation. All Rights Reserved.

    Back to the top