Difference between revisions of "Software architecture notes"
m (→Personal Platform) |
(Record Administration) |
||
Line 18: | Line 18: | ||
== Platform Organisation == | == Platform Organisation == | ||
− | |||
*[[Groupware]] applications --> emails, contacts, calendars, tasks, projects and [[Group decision]]s | *[[Groupware]] applications --> emails, contacts, calendars, tasks, projects and [[Group decision]]s | ||
*Global accounts and synching via robot framework - OpenID? | *Global accounts and synching via robot framework - OpenID? | ||
Line 33: | Line 32: | ||
**Book keeping | **Book keeping | ||
*[[Physical network]] | *[[Physical network]] | ||
+ | |||
+ | == Record Administration == | ||
+ | One aspect of our prototype [[wiki organisation]] system has which I haven't been able to find in existing open source solutions is the ability to replicate our [[portal]] structure. It's based on the idea of extending the CMS/Wiki to allow the users to adjust their portal structure to suit their own needs using [[wiki organisation]] packages as an initial starting point. | ||
+ | |||
+ | In terms of functionality requirements of the portal structure, the foundation concept is that of ''records'' and ''record-types''. Records are sets of properties that can be associated with an article. A record-type consists of a form which is used to edit the records of that type, and a template which defines how that set of properties should look in the page. | ||
+ | |||
+ | In conjunction with this is the ability to create simple queries based on property values which results in a list of resulting records. The results can be rendered as a table or a list, and can be further transformed by using the host CMS's templating system, for example to render the results as a select list in a form, or be adjusted to suit a javascript widget, report or chart. | ||
+ | |||
+ | This approach allows the organisation to effectively define their own applicational structure which is a dynamic and integral part of their documentation and knowledge structure. | ||
+ | |||
[[Category:platform]] | [[Category:platform]] |
Revision as of 05:05, 1 October 2010
This specification describes what is required for setting up a platform, an organisation designed to form a network of completely independent nodes with other platforms, which we call the platform network. The high-level conceptual development path for platform technology is described here. We will describe our requirements and use cases in order to determine the correct components to use for various aspects. These requirements are based on our research over the past ten years or so regarding what is required for a decentralised, robust and efficient solution to maximise personal empowerment, freedom and privacy and allow for the emergence of bottom-up and grass-roots solutions, and organisations, based on the needs of the people. In our manifesto we describe the principles and values that guide our work and are foundational to these specifications, in particular the four criteria:
- Openness
- Completeness
- Think Global, Act Local
- All Aspects Changeable
Personal Platform
Beginning with the relevance to the individual, the platform is a software package that enables the user to organise his or her own life, to maintain an overview of goals, values, tasks and commitments, much as described by the GTD movement, for personal organisation. In addition, we require communications tools and common office productivity software such as email and schedule, web browser and an office suite. These needs are rounded off by online private and secure file storage services to ensure backup of vital data and synchronisation across multiple devices.
Now these things taken individually are nothing special, anyone can choose to set up a computer with a free or paid-for operating system, such as Linux, Apple or even Windows, then install free or paid-for applications to achieve office productivity and personal organisation requirements, then set up user accounts with online services to access services and even applications in the "cloud". However, there are a number of limitations that become obvious when currently trying to fulfil even these basic personal requirements using off-the-shelf software available on the market today. Without going into full detail, the key issues are lack of control over the applications, fragmentation of data and user accounts, lack of privacy, especially with "free" cloud services, having to pay for proprietary software and lack of offline synchronisation with most "cloud" services.
In contrast, what platform offers is an integrated, consistent user interface, with the context being navigated the users areas of interest and personal projects, rather than fragmented applications. We envisage a fully packaged installation file (ISO) that allows an operating system to be set up from scratch on any device, offering a web browser interface to allow the user to define their areas of interest and projects, import legacy data and access any applications as required to do work or have fun.
The Platform is a self-contained solution that could for instance run on a laptop, whether or not there is Internet available, which could fetch updates, messages or files as and when connectivity is available. Imagine having one place from which everything is managed, messages and updates are sent from, a private, secure online home with a unified inbox, set of files, bookmarks, documents, contacts, to be easily shared, in a system that just works and is completely self-contained.
The good news is that this is all possible now, by way of integrating existing open source technologies. Further on we will identify our current candidates for fulfilling various aspects described here.
Platform Organisation
- Groupware applications --> emails, contacts, calendars, tasks, projects and Group decisions
- Global accounts and synching via robot framework - OpenID?
- Personal portal and broadcast centre
- CMS
- Content (procedures, roles, etc.)
- Ontology portals structure
- Records, forms & queries
- Organisational setup (forms) and org. templates
- E-commerce
- Payment methods/merchant accounts
- Accounts management
- Invoicing & reporting
- Book keeping
- Physical network
Record Administration
One aspect of our prototype wiki organisation system has which I haven't been able to find in existing open source solutions is the ability to replicate our portal structure. It's based on the idea of extending the CMS/Wiki to allow the users to adjust their portal structure to suit their own needs using wiki organisation packages as an initial starting point.
In terms of functionality requirements of the portal structure, the foundation concept is that of records and record-types. Records are sets of properties that can be associated with an article. A record-type consists of a form which is used to edit the records of that type, and a template which defines how that set of properties should look in the page.
In conjunction with this is the ability to create simple queries based on property values which results in a list of resulting records. The results can be rendered as a table or a list, and can be further transformed by using the host CMS's templating system, for example to render the results as a select list in a form, or be adjusted to suit a javascript widget, report or chart.
This approach allows the organisation to effectively define their own applicational structure which is a dynamic and integral part of their documentation and knowledge structure.