Transcript BRAHMS 8

BRAHMS 8
Development Strategies
BRAHMS, developed over the last 20 years, embodies the
collective knowledge and requirements of a wide range of
botanical projects.
Using this as a template and joining forces with key partner
institutions
Curation and
management
services
Research
our objective is to create a
‘next generation’ modular,
flexible, powerful and
sustainable data management
system for the botanical
sciences.
BRAHMS 7- a working template
An opportunity to review how BRAHMS operates at all levels.
DATABASE
EXTRACT FILES
RDE FILES
Physical Database(s)
Direct data entry
Ensure that successful aspects of BRAHMS
are carried forward
 Rapid Data Entry (RDE)
 Project specific data fields
 The ability to add and execute command scripts
 Allow editing in spreadsheet mode as well as via forms
 Simple and compound query options including user defined
 Flexible formatting, reporting and mapping tools
 Fast response time for improved and new functionality
 Can be deployed by users lacking IT support
 Reasonable cost (or free) – licensing policy to be estabished
 Diverse sources of funding – sustainable
BRAHMS data modules
Taxa
Geodata
The development of
‘core modules’ could
be drafted in 4-6
months.
People
Herbaria
Botanical Records
Living collections
Seed manager
Images
Plot-samples
Literature
DNA
Visual materials
Modular development will
faciltate entire functional areas
to be redeveloped separately,
for example the seed and
literature components.
Current tools and functions are targets for
separate development.
Some examples:

Configuration/preferences setup

Mapping

Data grid features (zoom, sum, sort, etc.)

Image display and management

Numerous module specific ‘tools’

Conservation assessments

General editing functions

Import/export functions

Visual reports equivalent to current

Lookups from internal and external files

HTML (text) reporting

WebConnect for website development

Diversity analysis
Example: spreadsheet functionality
Ribbon commands
are organized in
logical groups,
which are
collected together
under tabs.
Example: mapping

Language translatable

Additional coordinate
conversions (e.g. UTM)

Improved map stype setting
(colour/symbol/size)

Automation of ArcGIS

Addition of links to other GIS
Updating BRAHMS mapping functions is a stand-alone task.
Existing functionality can be copied and improved.
Example: conservation assessment
Example: seed manager
Anatomy of a BRAHMS 8 Module
Data Layer
Implementation
Interface
Physical
Database(s)
User Interface(UI)
MVVM
View
XAML
(Declarative)
Model
Service Layer
(Business Layer)
Implementation
Interface
Dependency
Injection (DI)
Dependency
Injection (DI)
MVVM = Model View – View Model. View Model is testable code with no dependence on
the UI elements (buttons, lists etc.).
XAML is an XML derivative language used to define the UI controls. Data is exchanged
between a View Model and the UI elements using a declarative data binding scheme.
The physical database can be changed (e.g. Postgres, MYSQL) with the respective DLI.
Flexible, modular development
 Each module (and module component) can be developed and
maintained independently of every other module/component.
 The user interface, although initially developed using the
Windows Presentation Foundation (WPF) framework as a
‘Desktop application’, could gradually be replaced or enhanced by
any other implementation of a user interface e.g. in
Html5/JavaScript.
 The service layer could additionally implement Web Services
making selected facilities available to mobile devices and third
party applications through http calls.
In this way, we can develop an extremely flexible
and easily maintainable application, easy to edit
and highly adaptable for any conceivable future
task.
Getting started with v8 …