FrontPage
»
GideonArchitecture
»
PackageCategorization
Package Categorization
Package Categories are structured in a simple hierarchy.
Packages can belong to more than one category
The categorization model is closely related to the site-node structure in the openacs4 (used to map packages onto the url space).
The categories are based on a mismash of stuff taken from CPAN, the Vaults of Parnassus, and Sourceforge.
here is what they currently look like:
-- top level categories perform gideon_category__new(null, v_root_cat, ''Control Flow'', ''t'', ''t''); perform gideon_category__new(null, v_root_cat, ''Data Type'', ''t'', ''t''); perform gideon_category__new(null, v_root_cat, ''Developer'', ''t'', ''t''); perform gideon_category__new(null, v_root_cat, ''Documentation'', ''t'', ''t''); -- database modules v_top_cat := select gideon_category__new(null, v_root_cat, ''Database'', ''t'', ''t''); perform gideon_category__new(null, v_top_cat, ''DBAPI'', ''t'', ''t''); -- sys adminstration modules perform gideon_category__new(null, v_root_cat, ''System'', ''t'', ''t''); -- xml modules perform gideon_category__new(null, v_root_cat, ''XML'', ''t'', ''t''); -- text processing modules perform gideon_category__new(null, v_root_cat, ''Text'', ''t'', ''t''); -- core libraries extensions... not sure about this one... stackless? perform gideon_category__new(null, v_root_cat, ''Core Modules'', ''t'', ''t''); -- interfaces between python and other languages perform gideon_category__new(null, v_root_cat, ''Language Interface'', ''t'', ''t''); -- user interfaces / gui perform gideon_category__new(null, v_root_cat, ''User Interface'', ''t'', ''t''); -- image processing perform gideon_category__new(null, v_root_cat, ''Images'', ''t'', ''t''); -- mail processing / handling perform gideon_category__new(null, v_root_cat, ''Mail'', ''t'', ''t''); -- file processing / handling perform gideon_category__new(null, v_root_cat, ''File'', ''t'', ''t''); -- the grab category perform gideon_category__new(null, v_root_cat, -- the real grab bag category v_top_cat := select gideon_category__new(null, v_root_cat, ''Internet'', ''t'', ''t''); perform gideon_category__new(null, v_top_cat, ''Web'', ''t'', ''t''); perform gideon_category__new(null, v_top_cat, ''Apache'', ''t'', ''t''); perform gideon_category__new(null, v_top_cat, ''Zope'', ''t'', ''t''); perform gideon_category__new(null, v_top_cat, ''CGI'', ''t'', ''t''); perform gideon_category__new(null, v_top_cat, ''Webware'', ''t'', ''t''); -- scientific /engineering /number crunching modules perform gideon_category__new(null, v_root_cat, ''Scientific'', ''t'', ''t''); -- cryptographic and encryption modules -- need to be careful here. perform gideon_category__new(null, v_root_cat, ''Security'', ''t'', ''t''); perform gideon_category__new(null, v_root_cat, ''Sound'', ''t'', ''t''); -- hmm.. perform gideon_category__new(null, v_root_cat, ''Games'', ''t'', ''t''); -- network modules perform gideon_category__new(null, v_root_cat, ''Networking'', ''t'', ''t''); perform gideon_category__new(null, v_root_cat, ''Internationalization'', ''t'', ''t'' --perform gideon_category__new(null, v_root_cat, ''Server'', ''t'', ''t''); perform gideon_category__new(null, v_root_cat, ''Operating System'', ''t'', ''t'');