The Nooron Software Project
http://www.nooron.org/know/nooron_project
This is the Project Management knowledge base for
Nooron.
The ActorTypes
These are the different types of agents (actors) for whom
use cases may be written. Generally, these specific
types will be defined as part of a particular software
project.
The UseCases
These are the activities which people (or other actors)
need to perform.
Display All Evaluations Of Something
Display Evaluations Of Something By Someone
Display Evaluations Of Something WRT One Criterion
Evaluate Many Versions WRT One Criterion
Evaluate Instances Of A Class WRT One Criterion
Evaluate Many Versions WRT Many Criteria
Evaluate One Individual WRT One Criterion
Evaluate One Individual WRT Many Criteria
Send Email To Someone
UseCaseDescription
Create an instance of class EmailMessage in your Outbox knowledgebase and that triggers the sending of it.
The TaskStatuss
These are the various states which a Task may be in.
The Tasks
Tasks are the activities to be performed to complete
the project.
Authorization Stubbed In
TaskDescription
Permit writing only when the user is visiting from
some fixed IP address list, or when they have entered
one of a list of userids.
Predecessors
Nooron_0_2_1
Cached Output
TaskDescription
Devise a system of request parameter hashing
so that output is only regenerated when needed and
that intermediate forms as well as encodings of them
are appropriately cached and delivered. For example,
nooron_pattern_language.dot would be cached as would
nooron_pattern_language.dot.pdf. The .dot would be
regenerated only when the knowledge or template changed.
The .pdf would only be regenerated from cached .dot
when the .dot changed. A system of hashes based on
canonical forms of the requests with knowledge, template
and preferences mixed in ought to do it.
Predecessors
EncodingPipelines
Caching Mixin
TaskDescription
Put wrapper functions around all kb read operations
which cache the output keyed on the paremeters.
Predecessors
Nooron_0_2_1
Central Registry of Nooron Apps
TaskDescription
Create a Central Registry of Nooron Apps where the
apps themselves exist remotely.
Predecessors
ThroughTheWebEditing
NooronAppRegistry
RemotelyInheritNooronApps
Central Registry of Evolving Apps
TaskDescription
Combine Criteria and Evaluations with the App Registry so that Nooron Apps can undergo collaborative filtering and collaborative amelioration.
Predecessors
ImprovingContent
CentralAppRegistry
Create in nooron_app_data kbs
TaskDescription
When adding frames which are instances of a
nooron_app_class, those instances should be created in
the appropriate nooron_app_data kb.
Predecessors
Nooron_0_2_1
Criteria and Evaluations
TaskDescription
Criteria and Evaluations
Predecessors
FormActions
CriteriaAndEvaluationsOntology
Criteria and Evaluations Ontology
TaskDescription
Create initial ontology for Criteria and Evaluations.
Predecessors
Nooron_0_2_1
References
http://www.nooron.org/know/nooron_pattern_language/CriteriaAndEvaluations
Disk Cache Flushing
TaskDescription
Delete items in the disk cache when they are stale.
Predecessors
CachedOutput
Distributed Encyclopedia
TaskDescription
Combine Criteria and Evaluations with the App Registry so that Nooron Apps can undergo collaborative filtering and collaborative amelioration.
Predecessors
FilteredKnowledgeAcquisition
Distributed Registry of Evolving Apps
TaskDescription
Create distributed system for using collaborative filtration to discover evolving apps.
Predecessors
CentralRegistryOfEvolvingApps
DocBook with Pictures
TaskDescription
Connive to insert images into docbook output, URLs for the remote renderings and cached files for the local renderings (such as PS and PDF). This is the tricky part, refactoring the code so that the name of the appropriate cached version of the image is emitted in the docbook output. This is starting to strain [indeed!] the whole business about the cached files having those silly MD5 names. Maybe its time to make the cached file names exactly match the paths in the URLs which invoke them.
Predecessors
CachedOutput
Downloadable KB Files
TaskDescription
Deliver a pykb export of somekb at the URL /know/some_kb.pykb
Make raw knowledge surfable. Support backup, export, mirroring, interoperation and distributedness.
Predecessors
Nooron_0_2_1
Encoding Pipelines
TaskDescription
Ensure that sequences of extensions (e.g. tar.gz,
.dot.svg, or .dbk.pdf) properly transform the output.
All relationships between content-types and their legal
encodings to be managed as knowledge.
Predecessors
Nooron_0_2_1
Filtered Knowledge Acquisition
TaskDescription
Acquire knowledge from multiple instances of the same Nooron App.
Predecessors
EvolvingAppRegistry
Flesh Out Primordial Slots
TaskDescription
Attach appropriate constraint slots on the slots
in the PRIMORDIAL_KB.
Predecessors
Nooron_0_2_1
Get Garments Recursing
TaskDescription
D'oh. ZPTs don't seem to be recursive. Quintuple blast! Either develop workarounds, query Guido on the nature of the fix, dive in and do it or rethink ZPTs. Workarounds might include iterative approaches to some things, or leaning on OKBC Procedures for some formatting work. Sigh. The longterm goal is certainly to have the Garment mechanism capable of recursion though, so a fundamental solution is preferred.
Predecessors
EncodingPipelines
HTML with Pictures
TaskDescription
Put pictures (.jpg,.svg) from graphviz in html.
Predecessors
CachedOutput
Improving Content
TaskDescription
Use Criteria and Evaluations to improve knowledge (including frames and garments)
Predecessors
CriteriaAndEvaluations
Knowledge Driven Security
TaskDescription
Create a chainable security engine (compatible with IPListSecurityEngine) which permits per-kb-type, per-KB, per-Class, per-Slot, per-Facet and per-Individual security controls. The security engine would be more robust if included in PyOKBC (rather than tacked on at the Nooron level) but this is unclear. This is a large task and perhaps ought to be broken up into smaller bites. The first priority is to ensure that transformers can't be hijacked to perform arbitrary operations on disk. The second priority is to ensure that arbitrary read and write operations can't be performed under the aegis of KB reading and writing.
Predecessors
UserBasedAuthorization
NPTs in Subdirectories
TaskDescription
Ensure that NPTs can live in subdirectories of
/know (such as /know/pert) and be accessed appropriately.
Predecessors
Nooron_0_2_1
Nooron App Registry
TaskDescription
Create KB containing information about Nooron Apps.
Predecessors
NPTsInSubdirs
Nooron 0.2.1
TaskDescription
This is a dummy START job marking the state
which was current when nooron_pert was begun.
Not So Basic Authentication
TaskDescription
Users enter an url (root-relative or absolute with fqdn)
as their userid and a password which when crypted must
equal a crypted value in the NSBA-KB at the url.
Predecessors
Nooron_0_2_1
References
http://www.nooron.org/know/nooron_pattern_language/NotSoBasicAuthentication
OkbcConstraints
TaskDescription
Create very simple forms automatically by
using widgets based on slot type.
Predecessors
FleshOutPrimordialSlots
PDF with Pictures
Predecessors
DocBookWithPictures
Pluggable Authentication Against Favors
TaskDescription
Implement Tom Munnecke's xmlrpc code for authenticating against Friendly Favors as the first Pluggable Authenticator for Nooron.
Predecessors
PortToPython22
UserBasedAuthorization
References
http://www.favors.org
Port to Python 2.2
TaskDescription
Figure out what the heck is interferring with PyOKBC running on Python 2.2 and then fix it.
Predecessors
Nooron_0_2_1
PyKb save_kb
TaskDescription
Ensure that save_kb is working for PyKb.
Predecessors
Nooron_0_2_1
PyOkbc Correctness
TaskDescription
Fix bugs in get_slot_values, etc..
Predecessors
Nooron_0_2_1
Remotely Inherit Nooron Apps
TaskDescription
Make it possible for someone to create a
nooron_app_instance which points to a nooron_app_wardrobe
which actually lives on a different machine, and have it
all work.
Predecessors
SubdirsAsKBs
DownloadableKBFiles
TellKb
Run On Port 80
TaskDescription
Solve the 'starting on port 80' problem.
Predecessors
Nooron_0_2_1
Separate KBs From Codebase
TaskDescription
Decide which KBs to keep in the distribution. Will simply adjusting the location of /know in the startup script suffice? Create backup mechanisms for the newly independent /know directory. Possibly setup CVS management of the KBs. Examine the distinction between ontologies, wardrobes and app_instances. Is there more factoring which should happen at this time? Perhaps separate the app cores from the app instances. This leads into the remote inheritance issue and the nooron/noosphere distinction.
Predecessors
ThroughTheWebEditing
Subdirs as KBs
TaskDescription
Make subdirectories of /know, (e.g. /know/pert)
themselves be KBs. They need to be surfable and
representable as .tell or .pykb, ultimately.
Predecessors
Nooron_0_2_1
TellKb
TaskDescription
Get TellKb working correctly for reading and saving.
Predecessors
Nooron_0_2_1
Through-the-web editing
TaskDescription
Make it possible to at least add and edit frames.
Predecessors
PyKb_save_kb
HighPriorityForms
CreateInNooronData
RunOnPort80
PyOkbcCorrectness
User-based Authorization
TaskDescription
Permit read, write, modify and other registerable
capabilities based on the who the user has authenticated
themselves as. Seriously examine capabilities as
implemented in E before tackling this task.
Predecessors
NotSoBasicAuthentication
AuthorizationStubbedIn
References
http://www.erights.org
User-Preferred Garments
TaskDescription
Defer to a user's preferences in their NSBA-KB for
things such as the garment to default to for instances
of each class. Maybe when authenticated users surf a
nooron site, when they visit a kb, it should be with their
NSBA-KB as a parent, to avoid complicated look-aside.
Predecessors
NotSoBasicAuthentication
Users Create KBs
TaskDescription
Expose the create_kb method.
Predecessors
KnowledgeDrivenSecurity
References
http://www.ai.sri.com/~okbc/spec/okbc2/okbc2.html