Opera Dragonfly Manual Karl / appendixc.markdown

Appendix C: Development


Opera Dragonfly and the Scope specification is released under the <a href="">Apache 2.0</a> open source license.

Code repository

The code repository for Opera Dragonfly and associated tools can be found on <a href="">Bitbucket</a>. Repositories include:

  • <a href="">Opera Dragonfly</a>
  • <a href="">Dragonkeeper</a> (standalone proxy to support Opera Dragonfly development)
  • <a href="">Hob</a> (utility to create code from Protocol Buffer descriptions)
  • <a href="">Scope interface</a>
  • <a href="">Opera Dragonfly tests and experimental components</a>

Checking out the code

Opera Dragonfly uses the Mercurial version control system. Once <a href="">Mercurial</a> is setup, it is possible to clone the Opera Dragonfly repository to a local machine. This can be done from the command line using:

<kbd>hg clone</kbd>

Coding guidelines

Opera Dragonfly follows the Python <a href="">PEP 8</a> style guide. Any patch submitted to Opera Dragonfly must follow these guidelines to be accepted. See the <a href="">Opera Dragonfly coding conventions</a> for further information.

Development tutorial

To get started with Opera Dragonfly and Scope development, follow the <a href="">basic error message logger tutorial</a>.

Browsing bugs

It is possible to browse Opera Dragonfly bugs on the <a href="">Bitbucket issue tracker</a>.

Reporting bugs

Bugs in Opera Dragonfly can be reported on the <a href="">Bitbucket issue tracker</a>.

Porting Opera Dragonfly to another browser or user agent

Opera Dragonfly relies on the Scope module found in Opera Presto. This module would have to be ported to the rendering engine in question to enable Opera Dragonfly to communicate with it. The <a href="">specification for Scope</a> can be found in the Bitbucket repository.