The internet has changed the way people interact, with communication increasingly occurring online. Online interactions have been characterised as more argumentative and more prone to vitriol than offline interactions. However, there are also cases where online disagreements are very constructive, an example of which can be seen on Wikipedia Talk pages. Wikipedia volunteers develop articles through consensus-based collaboration, which requires the integration of different opinions. To manage these interactions, a dispute resolution process has been developed on the platform. In this work, we explore different aspects of the Wikipedia dispute resolution process as a basis for understanding constructive online disagreement. Particularly, we collect a dataset of disagreements on Talk pages and develop models for inferring whether the dispute is resolved or escalated to mediation, as an indicator for constructiveness. We further study the process by which disputes are resolved by developing models for predicting how close a disagreement is to resolution. In addition, we introduce a framework of dispute tactics and manually annotate disagreements according to this framework, which provides useful additional information for modelling dispute outcomes. Finally, we consider the process by which editors tag article quality flaws as a form of disagreement, and utilise this annotation to develop models for detecting promotional tone. Since we study this problem through a computer science and NLP lens, machine learning methods are used and developed as appropriate in each setting. By exploring different aspects of this problem, we present novel insights on the dynamics of disagreements. Connections are drawn to related work in psychology, to philosophical theories of argumentation, and to NLP studies on conversations. We further introduce resources, tasks and methods for studying constructive online disagreements, providing a basis for further work on this topic.