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.
BrowsingUser
Editing User
EvaluatingUser
OntologizingUser
SiteAdministrator
The UseCases These are the activities which people (or other actors) need to perform.
Display All Evaluations Of Something
ForActor BrowsingUser
Display Evaluations Of Something By Someone
ForActor BrowsingUser
Display Evaluations Of Something WRT One Criterion
ForActor BrowsingUser
Evaluate Many Versions WRT One Criterion
ForActor EvaluatingUser
Evaluate Instances Of A Class WRT One Criterion
ForActor EvaluatingUser
Evaluate Many Versions WRT Many Criteria
ForActor EvaluatingUser
Evaluate One Individual WRT One Criterion
ForActor EvaluatingUser
Evaluate One Individual WRT Many Criteria
ForActor EvaluatingUser
Send Email To Someone
ForActor EditingUser
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.
complete
future
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.
EstimatedHours 3
Predecessors Nooron_0_2_1
Status future
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.
EstimatedHours 8
Predecessors EncodingPipelines
Status complete
Caching Mixin
TaskDescription Put wrapper functions around all kb read operations which cache the output keyed on the paremeters.
EstimatedHours 3
Predecessors Nooron_0_2_1
Status complete
Central Registry of Nooron Apps
TaskDescription Create a Central Registry of Nooron Apps where the apps themselves exist remotely.
EstimatedHours 3
Predecessors ThroughTheWebEditing NooronAppRegistry RemotelyInheritNooronApps
Status future
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.
EstimatedHours 6
Predecessors ImprovingContent CentralAppRegistry
Status future
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.
EstimatedHours 3
Predecessors Nooron_0_2_1
Status complete
Criteria and Evaluations
TaskDescription Criteria and Evaluations
EstimatedHours 24
Predecessors FormActions CriteriaAndEvaluationsOntology
Status future
Criteria and Evaluations Ontology
TaskDescription Create initial ontology for Criteria and Evaluations.
EstimatedHours 24
Predecessors Nooron_0_2_1
Status future
References http://www.nooron.org/know/nooron_pattern_language/CriteriaAndEvaluations
Disk Cache Flushing
TaskDescription Delete items in the disk cache when they are stale.
EstimatedHours 3
Predecessors CachedOutput
Status future
Distributed Encyclopedia
TaskDescription Combine Criteria and Evaluations with the App Registry so that Nooron Apps can undergo collaborative filtering and collaborative amelioration.
EstimatedHours 6
Predecessors FilteredKnowledgeAcquisition
Status future
Distributed Registry of Evolving Apps
TaskDescription Create distributed system for using collaborative filtration to discover evolving apps.
EstimatedHours 6
Predecessors CentralRegistryOfEvolvingApps
Status future
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.
EstimatedHours 4
Predecessors CachedOutput
Status future
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.
EstimatedHours 2
Predecessors Nooron_0_2_1
Status future
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.
EstimatedHours 6
Predecessors Nooron_0_2_1
Status complete
Filtered Knowledge Acquisition
TaskDescription Acquire knowledge from multiple instances of the same Nooron App.
EstimatedHours 6
Predecessors EvolvingAppRegistry
Status future
Flesh Out Primordial Slots
TaskDescription Attach appropriate constraint slots on the slots in the PRIMORDIAL_KB.
EstimatedHours 2
Predecessors Nooron_0_2_1
Status future
Form Actions
TaskDescription Write create_individual and create_class npts which are limited by authorization stubs. method:add_slot_value
EstimatedHours 2
Predecessors FormGeneration AuthorizationStubbedIn OkbcConstraints
Status complete
Form Generation
TaskDescription Create very simple forms automatically by using widgets based on slot type.
EstimatedHours 5
Predecessors FleshOutPrimordialSlots
Status complete
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.
EstimatedHours 4
Predecessors EncodingPipelines
Status future
HTML with Pictures
TaskDescription Put pictures (.jpg,.svg) from graphviz in html.
EstimatedHours 2
Predecessors CachedOutput
Status complete
High Priority Forms
TaskDescription Create forms to support project management and pattern language maintenance.
EstimatedHours 6
Predecessors FormActions
Status future
Improving Content
TaskDescription Use Criteria and Evaluations to improve knowledge (including frames and garments)
EstimatedHours 6
Predecessors CriteriaAndEvaluations
Status future
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.
EstimatedHours 20
Predecessors UserBasedAuthorization
Status future
NPTs in Subdirectories
TaskDescription Ensure that NPTs can live in subdirectories of /know (such as /know/pert) and be accessed appropriately.
EstimatedHours 4
Predecessors Nooron_0_2_1
Status future
Nooron App Registry
TaskDescription Create KB containing information about Nooron Apps.
EstimatedHours 2
Predecessors NPTsInSubdirs
Status future
Nooron 0.2.1
TaskDescription This is a dummy START job marking the state which was current when nooron_pert was begun.
EstimatedHours 0
Status complete
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.
EstimatedHours 6
Predecessors Nooron_0_2_1
Status future
References http://www.nooron.org/know/nooron_pattern_language/NotSoBasicAuthentication
OkbcConstraints
TaskDescription Create very simple forms automatically by using widgets based on slot type.
EstimatedHours 5
Predecessors FleshOutPrimordialSlots
Status future
PDF with Pictures
EstimatedHours 2
Predecessors DocBookWithPictures
Status future
Pluggable Authentication Against Favors
TaskDescription Implement Tom Munnecke's xmlrpc code for authenticating against Friendly Favors as the first Pluggable Authenticator for Nooron.
EstimatedHours 3
Predecessors PortToPython22 UserBasedAuthorization
Status future
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.
EstimatedHours 4
Predecessors Nooron_0_2_1
Status future
PyKb save_kb
TaskDescription Ensure that save_kb is working for PyKb.
EstimatedHours 3
Predecessors Nooron_0_2_1
Status complete
PyOkbc Correctness
TaskDescription Fix bugs in get_slot_values, etc..
EstimatedHours 3
Predecessors Nooron_0_2_1
Status complete
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.
EstimatedHours 8
Predecessors SubdirsAsKBs DownloadableKBFiles TellKb
Status future
Run On Port 80
TaskDescription Solve the 'starting on port 80' problem.
EstimatedHours 2
Predecessors Nooron_0_2_1
Status complete
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.
EstimatedHours 4
Predecessors ThroughTheWebEditing
Status future
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.
EstimatedHours 3
Predecessors Nooron_0_2_1
Status future
TellKb
TaskDescription Get TellKb working correctly for reading and saving.
EstimatedHours 3
Predecessors Nooron_0_2_1
Status future
Through-the-web editing
TaskDescription Make it possible to at least add and edit frames.
EstimatedHours 3
Predecessors PyKb_save_kb HighPriorityForms CreateInNooronData RunOnPort80 PyOkbcCorrectness
Status future
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.
EstimatedHours 50
Predecessors NotSoBasicAuthentication AuthorizationStubbedIn
Status future
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.
EstimatedHours 4
Predecessors NotSoBasicAuthentication
Status future
Users Create KBs
TaskDescription Expose the create_kb method.
EstimatedHours 2
Predecessors KnowledgeDrivenSecurity
Status future
References http://www.ai.sri.com/~okbc/spec/okbc2/okbc2.html