About
Knowforge is the acronym for "Knowledge Forge", a Web application for collaborative and distributed knowledge management, which will be 100% Open Source.
Knowforge will not be yet another monolithic CMS solution. The aim is to use already available or to-be-defined interfaces to integrate as many third-party software packages as possible. Knowforge shall be able to create content networks within heterogenous software systems and infrastructures.
The general ideas of Knowforge will be defined regardless of any specific programming language, especially by using XML for inter-component and -application communication. The Knowforge reference implementation is done with PHP.
Status
Yet, we are in the early stage of project description.
This page is meant to serve as the initial start of this project for discussion of basic ideas and concepts. Later, information on this page will be moved to the Knowforge Website, which will be created at www.knowforge.net.
Features
- content management based on XML
- WYSIWYG XML editing
- configurable workflow system
- content networking
- modular architecture, based on PEAR-like packages
- parallel background processing of resource-hungry tasks
Criteria
Criteria that subprojects have to meet to become a part of Selor:
- bundled as PEAR package(s) (package.xml)
- installable by ZZ/OSS Installer
- OOP, Enterprise Patterns
- W3C conformity
- min. requirements PHP5, Apache 2, MySQL 4.1.
- of course, downward-compatibility as far as possible
- transactions, foreign key integrity
Technologies
- Object Oriented Programming (OOP)
- PHP5
- we want Knowforge to be the PHP5 OOP reference project
- transparent storage based on XML with XPath access (see more below)
- XML, XSLT
- Cocoon framework (aka Popoon)
- Pingback, Trackback
- OAI-PMH, http://www.openarchives.org
- RSS
- Jabber (see http://blog.bitflux.ch/p1391.html for some ideas)
Subprojects
- Bitflux Editor, http://www.bitfluxeditor.org
- Bitflux CMS, http://bitflux.org/
- CONESYS, http://www.conesys.net
- oc4ware, http://www.oc4ware.org
- PEAR, http://pear.php.net
- Popoon, http://bitflux.ch/developer/cms/popoon.html
- ZZ/OSS Installer, http://www.zzoss.com/phpwiki/index.php/ZzossInstaller
- XML/WYSIWYG Wiki:
- Bitflux Editor
- allows to bundle "releases" by assigning Wiki pages to the hierarchical structure of a table of contents
- export such releases as DocBook for example
- allow for CVS-like behaviour, so not only Diffs, but also Tags, branches
- plugin for PHPDoc style tags (e.g. @author, @todo, @example) that can be extracted from the Wiki
Storage
I'd like to add a storage independent system based on some popoon components. At the end, it shouldn't matter, where you store your data (be it RDBMS, XMLDB, Filesystem, Somewhere-On-The-Net), as long as you add a driver to the "system". This drivers allow to query the data XPath-like with a commandset similar to WebDAV. A little bit more at http://wiki.bitflux.org/index.php/CmsFuture
Content Network
Chregu envisages Jabber as the perfect tool to create content networks: http://blog.bitflux.ch/p1391.html
Licensing
Do we want to have all Knowforge components GPLed or LGPLed? (Sandro)
- Please not. Bitflux Editor is Apache-Style licensed with MPL components (mozile). Why limit ourself ;) (chregu)
- So you'd rather opt for Apache-Style license, maybe PHP license? (Sandro)
Naming
I propose we use "Knowforge" as a working name, very likely, it will not be the final name of the project, because http://www.knowledge-forge.com might not like the name.
Proposal: "Selor" - a fantasy name derived from self organisation. (Sandro)
Packages
- distribution via PEAR Web
Client
Do we entirely build upon Mozilla/Firebird as the primary client to access the system? I guess, it would be wise to stick to W3C standards, e.g. concerning JavaScript. Allthough there important drawbacks, I propose that we concentrate on one primary browser that allows for sophisticated client-side features, and as well take care that basic features work in all other important browser types. (Sandro)
Project Members
Feel free to add yourself to this list if you want to contribute (click on "edit").
- Bitflux, http://www.bitflux.ch
- ZZ/OSS, http://www.zzoss.com
Comments
Anyone is invited to add his comments and suggestions (click on "edit").
Might be worth to consider the Creative Commons challenges: http://creativecommons.org/technology/challenges
PHP Warnings
lib/WikiUser.php:50: Notice[8]: Only variables should be assigned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/Template.php:220: Notice[8]: Only variables should be assigned by reference
lib/Template.php:106: Notice[8]: Only variables should be assigned by reference
lib/Template.php:107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'top'?)(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'top'?)(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/pear/DB/common.php(In template 'navbar'?)(In template 'top'?)(In template 'body'?)(In template 'html'?):741: Notice[8]: Only variable references should be returned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'browse'?)(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'browse'?)(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'actionbar'?)(In template 'browse'?)(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'actionbar'?)(In template 'browse'?)(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
Page Execution took 0.366 seconds |