Brief Overview
This is composed using (the old version 4 of) Brain Annex – visible to you in read-only mode because you're not logged into this account.
Brain Annex is open-source.
The "classic" version 4 was specifically web app for Knowledge and Media Management.
By contrast, the new version 5 is a much more general full stack based on a graph database.
Brief video on the overhauled new version 5
3-min intro overview (of old version)
10-min basic usage (of old version)
A COMPLETELY-OVERHAULED Brain Annex
Version 5.0 (currently in late-stage Beta, on the verge of "Release Candidate" stage) is a radical, total change of Brain Annex' internals! The user interface will remain relatively similar, but major new features are also being introduced.
NOTE : the included web app is now JUST ONE USE CASE of a much more general technology stack usable for a wide variety of purposes!
GitHub repository
A TOTALLY DIFFERENT TECHNOLOGY STACK (diagram)
- Ported from PHP (with the pForce framework) to Python (with Flask)
- Replaced the MySQL database, the built-in Directed Graph module, and the built-in triplestore with a Neo4j graph database (community version 4.3)
- Eliminated legacy portions in vanilla JavaScript in favor of full site-wide use of Vue.js
- Replaced legacy (sometimes synchronous) XMLHttpRequest server communication with the asynchronous fetch API
KEY TECHNOLOGY ELEMENTS
- "NeoAccess", a library to interface with the Neo4j database, based on the earlier neo4j-liaison (a role akin to the "dbasePDO" MySQL interface of the old version)
- "NeoSchema", a library to implement a Schema Layer on top of the Neo4j database (the Schema Layer, in conjunction with support from the core module, takes over a substantial part of the functionality that previously was the responsability of individual plugins.)
- (Upcoming) use of the Cytoscape.js library for interactive displays in "balls and lines" mode.
MAJOR DESIGN CHANGES (in the context of a relatively-similar UI)
- Management of datasets is now far more elaborate, and with much-better support for arbitrary complex datasets
- Support of advanced data querying capabilities, based on Neo4j Cypher queries
- The plugins are now much thinner. A far-bigger role is being taken on by the core module. Some of the customization formerly created by the plugins is now specified in a Neo4j Schema
- Many UI operations that previously involved page reloads are now handled without reloading
- General de-cluttering of the proliferating number of controls for the Content Items on the pages
- The body of Content Items of type "notes" (formatted text) is now stored as HTML files rather than inside the database
- A feature to export/import the full Neo4j database, or just the Schema, is now available from a control panel
- Fuller support to run the web app locally, connected to either a remote or a local Neo4j database
- A new plugin, "Code Documentation", to facilitate documenting a software library
- Export to static web pages
- Export to MD files (the format commonly used by README files)
- Instead of being strictly a standalone web app, Brain Annex is now easily integrated with other Flask-based sites
- The included web app is now JUST ONE USE CASE of a much more general technology stack usable for a wide variety of purposes!
BrainAnnex - Technology Stack