PageSourceSearch

https://openrefine.org/assets/js/2cf77b84.602ebc3c.js

js openrefine.org collected 2026-09-24 08:33:53 UTC 6,306 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkopenrefine_documentation=self.webpackChunkopenrefine_documentation||[]).push([[2460],{66969(e,n,t){t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"technical-reference/development-roadmap","title":"Development roadmap","description":"Short Term Roadmap","source":"@site/docs/technical-reference/development-roadmap.md","sourceDirName":"technical-reference","slug":"/technical-reference/development-roadmap","permalink":"/docs/technical-reference/development-roadmap","draft":false,"unlisted":false,"editUrl":"https://github.com/OpenRefine/openrefine.github.com/edit/master/docs/technical-reference/development-roadmap.md","tags":[],"version":"current","lastUpdatedBy":"Martin Magdinier","lastUpdatedAt":1743686579000,"frontMatter":{"id":"development-roadmap","title":"Development roadmap","sidebar_label":"Development roadmap"},"sidebar":"docs","previous":{"title":"Resources","permalink":"/docs/technical-reference/resources"},"next":{"title":"About Goal Posts","permalink":"/docs/technical-reference/about-goal-posts"}}');var i=t(74848),r=t(28453);const o={id:"development-roadmap",title:"Development roadmap",sidebar_label:"Development roadmap"},a=void 0,l={},c=[{value:"Short Term Roadmap",id:"short-term-roadmap",level:3},{value:"Work in progress",id:"work-in-progress",level:3},{value:"Long Term Goal Posts",id:"long-term-goal-posts",level:3},{value:"Goal Posts are not",id:"goal-posts-are-not",level:4},{value:"Help us make them happen",id:"help-us-make-them-happen",level:4}];function d(e){const n={a:"a",h3:"h3",h4:"h4",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h3,{id:"short-term-roadmap",children:"Short Term Roadmap"}),"\n",(0,i.jsxs)(n.p,{children:["You can monitor our ",(0,i.jsx)(n.a,{href:"https://github.com/OpenRefine/OpenRefine/issues",children:"issues list"})," in Github to keep up to date with current plans. We use:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/OpenRefine/OpenRefine/milestones",children:"Milestones"})," to identify what's included in upcoming releases."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://github.com/OpenRefine/OpenRefine/projects",children:"Projects"})," to group issues for a specific goal."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["If there are features you would like to see that are not currently listed, please add them to the ",(0,i.jsx)(n.a,{href:"https://github.com/OpenRefine/OpenRefine/issues",children:"issue tracker"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"work-in-progress",children:"Work in progress"}),"\n",(0,i.jsxs)(n.p,{children:["Alongside the planned releases there are often smaller pieces of work in progress. Check for ",(0,i.jsx)(n.a,{href:"https://github.com/OpenRefine/OpenRefine/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc",children:"recently updated issues"})," and ",(0,i.jsx)(n.a,{href:"https://github.com/OpenRefine/OpenRefine/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc",children:"pull requests"})," to see what is currently in the works."]}),"\n",(0,i.jsx)(n.p,{children:"Please be aware that the OpenRefine roadmap is subject to change at any time, so please check back regularly to keep up to date with current plans."}),"\n",(0,i.jsx)(n.h3,{id:"long-term-goal-posts",children:"Long Term Goal Posts"}),"\n",(0,i.jsx)(n.p,{children:"In the following pages, we gathered features the community has expressed interest in building for OpenRefine and group them as goal posts. We divided it into three sections:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/docs/technical-reference/goal-posts",children:"OpenRefine goal posts"})}),","]}),"\n",(0,i.jsxs)(n.li,{children:["a list of ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/docs/technical-reference/extension-ideas",children:"extension ideas"})}),","]}),"\n",(0,i.jsxs)(n.li,{children:["request focused on the ",(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/docs/technical-reference/wikimedia-goal-posts",children:"Wikimedia integration"})})," (including Wikidata, Wikibase, and Wikimedia Commons)."]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"goal-posts-are-not",children:"Goal Posts are not"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"A roadmap"}),". While there is community interest in these features, there is no formal commitment on if or when those feature will be released."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Exhaustive"}),": you can also explore ",(0,i.jsx)(n.a,{href:"https://github.com/OpenRefine/OpenRefine/labels/good%20first%20issue",children:"good first issues"})," and other ",(0,i.jsx)(n.a,{href:"https://github.com/OpenRefine/OpenRefine/issues",children:"open tickets"})," for more ways to contribute."]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"help-us-make-them-happen",children:"Help us make them happen"}),"\n",(0,i.jsxs)(n.p,{children:["To help bring them to life, you are welcome to join the conversation via the related forum links or issues. While there is community interest in these features, most of them still need definition and resourcing to make them happen. You can help by ",(0,i.jsx)(n.a,{href:"/community",children:"volunteering your time"}),", creating a partnerships between your organization and OpenRefine, or by ",(0,i.jsx)(n.a,{href:"/funding",children:"supporting OpenRefine financially"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Feel free to edit them (see the link at the bottom of each page) to add a relevant link, remove completed items, or help clarify existing one."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},28453(e,n,t){t.d(n,{R:()=>o,x:()=>a});var s=t(96540);const i={},r=s.createContext(i);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.