Personal tools

Organic Design 2

From OrganicDesign Wiki

Jump to: navigation, search

Organic Design 2 | OD/Wikia | Wikia.php | Templates | Backup | Extensions

We've never been able to get the Organic Design wiki into an organised state, but I think the DPL extension can be the solution to this. We now have enough tools within the wiki environment to manage and organise all aspects of a simple organisation including accounts and scheduling - they just need to be glued together into a unified functional system.

Organic Design 2 is about creating a new structure from the ground up which encompasses all the organisational aspects we need, and does so in a re-usable way by creating it as a template-wiki. This article describes the proposed components of this template-wiki and their use, meaning and structure.

Contents

1 Extensions

We will include a standard set of extensions which reside on each server, but should be automatically syncronised to avoid manual work. The current list of proposed extensions to make available by default is:

2 Namespaces

All the content which is supplied as part of the template-wiki should be in a particular namespace, leaving the main namespace for the specific content of the wiki-instance. A namespace should be used when the article is of a particular class - ie it is used by the system itself and is expected to exhibit a specific format and content. If it isn't a class like that then it should be in the template or message namespace.

Here's the current list of proposed namespaces for the OD2:

  • Transaction
  • Account
  • Group
  • Event
  • Resource
  • Product
  • Service
  • Role
  • Form
  • Report
  • Contact
  • Message
  • Log
  • List
  • Tree
  • File

3 OD System

The current system should be modeled using templates and namespaces. Templates should be used rather than using parser-functions or semantic annotations directly so that they are methodology agnostic and more easily maintainable. The current general classes of job the OD system needs to model is:

  • FS maintenance (wiki/web files, extensions, app versions, backups)
  • Ontology maintenance (periodic scraping and querying - eg. source-code info, binary-info, media, viruses, prices...)
  • Logs (rotation, aggregation and traffic/usage reports)
  • Application installation, removal and upgrading
  • Account reconciliation (both assisted and unassisted kinds)
  • Tax forms and financial reports
  • Servers and services/suppliers
  • Clients/CRM

4 Semantic Rules

  • Articles transclude high-level classes such as wiki or schedule
  • These high-level types include rules which connect events to processes (this can include parameters such as a regexp)
  • The parameters are constructed from the containing articles parameters with templates syntax like normal
  • Kinds of articles which define rules use their own parameter content as parameters for their processes and events

5 Processes

  • Processes are executed by information changing which is handled with the livelets extension
  • Subscribers of change are processes (defined more statically in articles) and clients (defined dynamically by viewing articles)
  • Processes should define entry and exit parameters (hash), implementation class, preferred implementation class, implementation instances
  • Each implementation class should include: source (the installable/removable/upgradable of that environment), usage (execution method, protocols for entry and exit parameter hashes)
  • Initial implementations: PHP, Shell (Perl, wget etc)
  • The processes are queued when they are read by the livelets scheduler (either by perl rawly with expanded templates, or php when from server with qs arg)

6 Content

The basic organisational wiki requires many of the namespaces to exhibit pre-created articles which can be used directly or serve as templates to create variations from.

  • Forms
  • Reports
  • Processes
  • Templates
  • Messages
  • Logs
  • Roles
  • Lists
  • Trees
  • Files

7 Project Template

After creating a standard base template, the system should be extended to be able to create sub-templates. The first sub-template being a template-wiki for an instance of the project.

The GNU Project Debian Linux Ubuntu Linux Wikipedia online encycopedia MediaWiki