Advanced Editing

NDR Core tries to let you do all your configuration in the browser without bugging you with technical details. However, there are a number of ways in which you can tweak and change your web site if you are willing to dive into the code. There is a technical documentation to which you should refer. This page gives you an overview over the general possibilities.

NDR Core is a Django module and thus written in python. HTML code is mixed with the django template markup which lets you build pages dynamically. A good understanding of HTML, bootstrap, CSS and basic understanding of django is necessary to make most of the changes.

Overwrite Templates

When you create a page, a HTML template is created and saved within your ndr django module. If you don't want to use the rich text editor, you can change the content block with your own HTML code and use the jQuery, bootstrap, fontawesome, ... functionalities as you need them.

There are multiple blocks you can overwrite. Besides content, there is page_title, footer and others, depending on the UI style. Refer to the technical documentation for more information.

Create Your Own UI Style

A UI Style consist mainly of a base.html template, some css and javascript. The template needs to display the main page structure and the navigation, footer and page header. It needs to provide a content block which is overwritten by the different pages. Context data is available to the template to provide the functionality and you can check for settings values if needed. The template needs to be placed within your ndr django module and extended by your own base.html. Refer to the technical documentation for more information.

Changing static content

In your ndr module you find a static folder with css, javascript and some images. You can change them.

Implement APIs

You can help extend NDR Core by providing your own API implementation. Basically you create two python classes (Query and Result), extend the respective base classes and implement the abstract methods. Refer to the technical documentation for more information.