# Epic OP-1262 - Replace prototype with Angular/jQuery

Project: OpenProject
Status: closed
URL: https://community.openproject.org/work_packages/OP-1262

## Detailed specification

### Motivation and background information

### Acceptance criteria

### Out of scope

| Attribute | Value |
| --- | --- |
| Mockups |  |

## Planning

| Attribute | Value |
| --- | --- |
| Roadmap |  |
| Date | 2016-08-29 – 2016-09-05 |
| Votes |  |
| List |  |
| Target versions | 6.1.0 |
| Sprint |  |
| Backlog bucket |  |
| Relevance |  |

## Subitems

_No work packages_

## Bugs and other work packages

| ID | Type | Subject | Status | Assignee | Target versions | Module |
| --- | --- | --- | --- | --- | --- | --- |
| OP-3079 | Code maintenance | Replace prototype in openproject-my_project_page | closed |  | 6.1.0 |  |
| OP-2984 | Code maintenance | Replace prototype from OpenProject Costs | closed |  | 6.1.0 |  |
| OP-2983 | Code maintenance | Replace prototype from OpenProject Backlogs | closed |  | 6.1.0 |  |
| OP-2982 | Code maintenance | Replace prototype from OpenProject core | closed |  | 6.1.0 |  |
| OP-2981 | Code maintenance | Replace prototype from reporting_engine | closed | Jens Ulferts | 6.1.0 |  |
| OP-2980 | Code maintenance | Replace prototype from OpenProject Reporting | closed | Jens Ulferts | 6.1.0 |  |

## Details

| Attribute | Value |
| --- | --- |
| Module |  |
| Enterprise plan |  |
| Labels |  |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable | Oliver Günther |
| Product manager |  |
| Designer |  |
| Developers |  |
| Requested by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| Work |  |

## Description

**As** a developer  
**I want** to replace prototype.js by preferably AngularJS or fallback to jQuery  
**so that** there are less dependencies and less code to load

**Acceptance criteria**

  - the following gems are no longer part of the gemfile
      - prototype-rails
      - prototype\_legacy\_helper
  - the functionality provided by prototype is reimplemented with Angular/jQuery

**Note**

  - The question on whether to use Angular or jQuery will have to be answered for every functionality anew. As Angular is the ultimate goal, we should prefer it but if it requires a lot of additional work, we might stick to jQuery for now.
  - plugins depending on prototype will have to be considered as well. We will probably have a new story per plugin.
