15-10-2004 George Moschovitis * README: updated. * examples/blog: better documentation. 14-10-2004 George Moschovitis * improved RDoc in many files. * lib/nitro/logger.rb: show full severity string. 13-10-2004 George Moschovitis * lib/nitro/parts.rb: deprecated. * lib/og.rb: Og renamed to Database. * MAJOR: moved n dir to nitro dir. * MAJOR: moved og to a separate dir. * lib/p: removed. * lib/n/server/webrick.rb: moved from w, moved alod version to .scrap. * lib/n/application.rb (#parse_arguments): improved help text. * lib/n/config.rb: :index by default mounts N:Service. * examples/tiny/*: recoded from scratch to work with the latest code. * fixed problematic code from tc_properties. * lib/n/og.rb: introduced N::Unmanageable marker module. * examples/blog/config.rb: more comments, $srv_address to make more visible. 12-10-2004 George Moschovitis * examples/blog/config.rb: moved from webapp.rb. * examples/blog/conf/*: removed. 11-10-2004 George Moschovitis * Rakefile: use version. * lib/n/version.rb: introduced. * examples/blog/README: introduced. * examples/simple/*: removed. * lib/n/sync/*: moved to gen. * examples/blog/*: implemented many little things. * lib/n/server/shaders.rb (RubyShader#process): MEGA xform as ruby code marker, usefull in xslts :) * examples/blog/root/style.xsl: improved. * lib/n/server/handlers/*: removed. * session works. * lib/n/server/dispatcher.rb (#process): create session, only set content type if not exist, (#process): added error reporting code. * lib/n/server/render.rb (#render_referer): implemented, (#render): splits the query string, (#render): handle the query. (#compile_method): by default redirect_referer. (#populate): implemented. (RenderUtils#create_session): introduced, (#redirect): prepend $srv_url if needed. * lib/n/server/w.rb (HTTPRequest#set_query): introduced, (HTTPRequest#fill): moved populate here, (#do_GET): rationalize cookies, (#create_cookie): moved here, optimized and fixed! * examples/blog/lib/blog.rb (#del_comment): implemented, (#login): implemented, removed Blog, (Common): added author. * lib/n/shaders.rb: (RubyShader#process): transform include commands, (RubyShader#process): remove elements. * lib/xsl/base.xsl: removed x:vblank, x:hblank, use xsl. * fuckin mega, i can include from xsl. * examples/blog/root/*: created sub pages. * examples/blog/root/index.xhtml: yeah i got an included fragment. * examples/blog/root/entry-form.xhtml: yeah i got an included fragment. 10-10-2004 George Moschovitis * examples/blog/root/view_entry.xhtml: introduced, comments. * n/lib/og/meta.rb (#has_many): generate xxx_count method. * lib/n/og/backends/mysql.rb (#get_int): introduced. * lib/n/og/backends/psql.rb (#get_int): introduced. * lib/n/og/connection.rb (#count): introduced, optimized some methods by using directly the backend. * lib/n/server/w.rb (WEBrick::HTTPRequest#referer): added, after some fixes, redirect works. * lib/n/server/dispatcher.rb (#process): use begin-ensure. * examples/blog/lib/blog.rb (#del_entry): implemented, added relations to the classes, (#view_entry): introduced. * lib/n/server/render.rb (#compile_method): dont check if method exists, there are other caching tests. (#render): honour $reload_scripts, (#initialize): @params helper, (#redirect): implemented, (#redirect_referer): implemented * examples/blog/root/index.xhtml: kinda working :) * examples/blog/root/style.xsl: implemented the xsl, css float layout, sidebar. * examples/blog/root/style.css: implemented the css. 09-10-2004 George Moschovitis * examples/blog/root/index.xhtml: introduced. * lib/n/config.rb: 8080 for appserver in debug mode. * yeah, the dispatch system works. * lib/n/server/render.rb (#render): introduced, (#split_path): introduced, (#render_file): dont recompile, (RenderUtils#compile_method): implemented. (#render): can be used in method! * lib/n/server/dispatcher.rb (#process): use $services, include Render, (#process): just delegate to render. * examples/blog/lib/blog.rb: improved service, (BlogMethods#new_entry): works. * lib/n/service.rb: introduced. * lib/n/og/backends/psql.rb (#read_prop/#write_prop): rewritten to make more general [b.candler] * lib/n/og/backends/mysql.rb (#read_prop/#write_prop): rewritten to make more general [b.candler] 08-10-2004 George Moschovitis * lib/n/server/dispatcher.rb (#process): store request, response, (#process): more intelligent control/method decomposition. * lib/n/server/render.rb (#transform): use the shader pipeline, yeah xslt is working again. * lib/n/server/filters.rb: cleaned up. * lib/n/server/shaders.rb: moved here, (RubyShader): introduced, (CompressShader): introduced, (#<<): fixed, (CompressShader#process): improved compression. * lib/n/shaders.rb: brand new shader system, (XSLTShader): introduced. * examples/blog/root/style.xsl: introduced. * examples/blog/root/style.css: introduced. 07-10-2004 George Moschovitis * lib/n/server/render.rb (#transform): first version, yeah, i got an xhtml with multiple code segments rendered, (#transform): intelligent compression/obfuscation of inline xhtml. * changed many files to use File.xxx methods instead of the removed StringUtils methods. * lib/n/utils/string.rb (#filename_from_path): removed, (#directory_from_path): removed, (#extension_from_path): removed, (#unicode_to_iso88597): removed. * test/n/utils/tc_string.rb: removed tests from obsolete methods. 06-10-2004 George Moschovitis * examples/blog/lib/blog.rb: introduced. * lib/n/server/render.rb: introduced, (#render_file): kinda works. * lib/n/server/dispatcher.rb (#process): moved code from w. 05-10-2004 George Moschovitis * lib/n/server/w.rb (do_GET): simple action synthesizer, yeah parameter passing works, action synthesis gets cached, action with template only works. * use .xhtml as an extension. 04-10-2004 George Moschovitis * lib/n/server/w.rb (do_GET): implemented. * lib/n/og.rb: check respond_to?(:__props) more fault tolerant. * lib/n/parts.rb: no prop_accessor. * lib/n/server/appserver.rb (AppServerMixin): add default methods for initialize. * examples/blog: experiments with layout. 03-10-2004 George Moschovitis * lib/n/server/w.rb: introduced experimental webrick server. (WebrickDispatcher): introduced. * examples/blog: introduced, will rethink layout. * benchmark: introduced. * lib/n/og.rb: MEGA, auto class manager works. * lib/n/og/backends/psql.rb (#write_prop): fixed YAML write when nil. * lib/n/og/backends/mysql.rb (#write_prop): fixed YAML write when nil. * all examples run again. * lib/n/og/meta.rb: changed order of params. * lib/n/properties.rb: changed order of params, (#prop): works EXACTLY like attr now. (#prop): class == object by default. 02-10-2004 George Moschovitis * yeah tests pass again. * lib/n/og/backends/psql.rb: updated to use new properties. * lib/n/og/backends/mysql.rb: updated to use new properties. * lib/n/properties.rb (Module): dont include __props by default, (Module#prop): implemented new version, (Module#__add_prop): renamed, gets reader/writer options. (Module#add_meta): removed. introduced prop_reader, prop_writer, prop_accessor, more strict tests when defining property, (Module): excellent, DONT override the standard include. * lib/n/og.rb: $og_auto_manage_classes introduced. 01-10-2004 George Moschovitis * --- VERSION 0.3.0 --- * removed some dependencies from the Gem. * MAJOR: renamed og get/put to load/save. * lib/n/std.rb: removed most NilClass overrides [b.candler] * lib/n/og/connection.rb (#delete): fixed delete with no descendants, og_pre_delete callback. * lib/n/og/backends/psql.rb (#read_prop): fixed YAML bug. * lib/n/og/backends/mysql.rb (#read_prop): fixed YAML bug. * lib/n/og.rb (#enchant): all method, (#manage_classes): introduced, (#enchant): delete! method, (#enchant): klass.save() method. * examples/og/run.rb: totally recoded the example to work with Og, yeah the example fully works. * moved db files to .scrap * examples/simple: YEAH works with og. * lib/n/server/webrick.rb (#do_GET): og connection per request. 31-10-2004 George Moschovitis * lib/n/og/backends/mysql.rb: converted to the new refactored code. * lib/n/og/backend.rb (#eval_og_insert): moves the code here, use a custom oid_generator, factored out deserialize code, pre/post_inser_update. (#eval_og_update): generate callbacks. * lib/n/og/backends/psql.rb (#eval_og_insert): if the managed object defines pre/post callbacks, insert them, (OgUtils::oid_generation_code): introduced. * no __og, just og_xxx. 30-10-2004 George Moschovitis * lib/n/og/backends/psql.rb (#write_prop): fixed, (#initialize): autocreate database if not found, made createdb/dropdb class methods. * lib/n/og/backends/mysql.rb (#write_prop): fixed, (#initialize): autocreate database if not found, made createdb/dropdb class methods, no transactions for mysql. * lib/n/og/backend.rb (OgUtils#table): remove leading module, (#transaction, #start, #commit, #rollback): working transaction support, added missing methods from the backend implementations. * lib/n/og/meta.rb: introduced, (#belongs_to): mega it works, (#has_many): mega it works, INCREDIBLE, (OgMetaLanguage): use a separate module, (#has_many): correct calculation of linkback property, update og_descendants * lib/n/og.rb (#enchant): more enchantments, (#create_db!): introduced, (#drop_db!): introduced, (#pupdate!): enchant. * lib/n/og/connection.rb (#select): added, (#select_all): added, can use sql without select, (#delete): it fuckin works and deletes descendants too! (#transaction, #start, #commit, #rollback): working transaction support, removed all N::OgUtils.table crap. 29-10-2004 George Moschovitis * lib/n/og/backends/mysql.rb: introduced, create_table works, fuckin mega, insert works, excellent, deserialize works, (#valid?): implemented * lib/n/og/backends/psql.rb: introduced, yeah, i got a table created, store Array,Hash,Object etc as text, yeah, it inserts an object, (#eval_og_deserialize): implemented, (#map_fields): factored out. (#valid?): implemented * lib/n/og/managed.rb: introduced. * lib/n/og/backend.rb: introduced, different exec/query/safe_exec/safe_query. * test/n/tc_og.rb: introduced. * lib/n/og/connection.rb: introduced, (#update_properties): introduced and works, (#getxxxx): get methods work, (#get_all): works. * lib/n/og.rb: introduced the new O-R library a hybrid between ndb and ActiveRecord, (ManagedClassMeta): introduced, (#enchant): nice :), cool, use capitalize to get the Backend, (#get_connection): use a thread-local variable, (#put_connection): use a thread-local variable, (#wrap_method): uses a connection from Thread.local, (#convert): converts a normal object to a managed object, (#manage): fixed bug with create_table, (#enchant): YEAH, added the first enchantments :) 28-10-2004 George Moschovitis * lib/n/connection.rb (#create_schema, #drop_schema): removed. * lib/n/managed.rb: fix in __db_read_row. * lib/n/server/appserver.rb: show where app server is listening too. * examples/simple/conf/*: greatly simplified configuration. * lib/n/config.rb: moved many standard configurations here. 27-10-2004 George Moschovitis * lib/n/db.rb: dont require utils and connection by default. * lib/n/db/connection.rb (#count_children): use get_res_value, greatly improved the organization and documentation. * lib/n/db/mysql.rb: added latest psql fixes, (#calc_fields): reimplemented, (#get_res_value): introduced. * test/n/tc_db_mysql.rb: many fixes. * test/n/server/tc_filters.rb: added. * lib/n/db/psql.rb (#retry_query): should raise after retries [b.candler], (#retry_query, #next_oid): use //i in error checks [b.candler], (#exec, #exec_clear): moved from connection, removed PsqlBackend, overload DbConnection instead. * MAJOR: removed the App namespace module from many many files. * bin/new_project.rb: moved from etc/ * lib/n/server: renamed from app, more standard naming. * lib/n/app/requestpart.rb: renamed. * lib/n/app/webrick.rb: merged webrick-servlet.rb * lib/n/server/PLAYBACK.txt: removed * lib/n/server/RESEARCH.txt: removed 26-10-2004 George Moschovitis * lib/n/app/dispatcher.rb: introduced for experiments in design. * lib/n/logger.rb: cleaned up formating with some Ruby magic. * lib/n/shaders.rb (NilShader): name = nil for better dumps. * lib/n/app/webrick-servlet.rb: alias :do_POST. * Rakefile, added builder as required in the Gem. * lib/n/app/handlers/page-handler.rb (#transform_script): support * --- VERSION 0.2.0 --- * test cases pass again. * lib/n/app/webrick-servlet.rb: fixed bug with default index, better handler selection. * lib/n/db/utils.rb: prepend _ before tables. it was dangerous! * lib/n/db.rb: wrap drop table. * lib/n/db/psql.rb: use Base64.decode64. * examples/ndb/rub.rb: implemented. 23-10-2004 George Moschovitis * examples/ndb/*: introduced. * lib/n/app/webrick-servlet.rb (#create_request): enforce default index if missing. * lib/n/config.rb: index_filename renamed from $srv_default_file. * lib/n/utils/string.rb (#extension_from_path): returns nil if no exception. * lib/n/app/server.rb: info msg on start to let the admin know, the server has started. * lib/n/app/webrick.rb: extend from App::Server. * examples/tiny/ctl: run without apache. * examples/tiny/conf/config.rb: run without apache. * examples/simple/README: improved. 22-10-2004 George Moschovitis * README: updated. * fixed many file permissions. * examples/simple/conf/config.rb: fixes. * examples/simple/app.rb: fixes. * test/*: copied all tests here, too many fixes to list to make all tests pass again. * Rakefile: fixed :install, TestTask. * lib/n/tools: removed. * lib/n/app/request.rb: params alias for parameters. * lib/xsl/ce.xsl: removed, not ready. * lib/xsl/localization.xsl: deprecated. * no need for action=#{request.uri} in forms. * improved RDoc documentation to many, many souce files. 21-10-2004 George Moschovitis * lib/n/db/make-release.sh: removed. * improved RDoc documentation to many, many, many source files. * lib/n/app/user.rb (AnonymousUser#role?): introduced. * lib/n/db/utils.rb (#write_prop): use base64 encoding. * lib/n/db/psql.rb (#read_prop): use base64 encoding. * Rakefile: added dependency for postgres-0.7.1 * doc/*: moved many txt files to the gen/doc directory. 21-10-2004 George Moschovitis * --- VERSION 0.1.2 --- * README: final changes before the release. 20-10-2004 George Moschovitis * lib/n/server/cluster.rb: removed. * lib/n/tools: cleaned up. * lib/n/ui/pager.rb: removed old N2 stuff. * examples/simple/env.rb: introduced and fixed. * reworked many source files to generate better rdoc. * packaged as a Gem. * Rakefile: read version from config, fixed gem spec to include all files. * examples/tiny/*: introduced tiny example. * AUTHORS: introduced. * lib/n/app/handlers/page-handler.rb: FUCKIN INCREDIBLE, the xml parser was not needed, removed!!! * lib/n/shaders.rb: converted to use ruby-xslt. * README: started working on it. * MIT-LICENCE: added. 19-10-2004 George Moschovitis * lib/n/app/webrick-servler.rb (#do_GET): better error handling. * examples/simple/conf/apache.conf: cleaned. * examples/simple/*: working sitemap. * examples/simple/root/comments.si: introduced. * examples/simple/root/comments-form.ss: introduced. * lib/xsl/base.xsl: deprecated old stuff, removed macro. * lib/db/psql.rb (#create_table): always create oid_seq and surpress the possible error, better error reposritng in methods. * examples/simple/lib/lc-en.rb: introduced. * examples/simple/lib/methods.rb: introduced, add_article. * examples/simple/lib/entities.rb: introduced. * lib/n/shaders.rc (NilShader): introduced. (Shader): transform alias. * lib/n/app/user.rb: introduced, (AnonymousUser): defined. * lib/n/app/handlers/page-handler.rb: use $default_shader, (#calc_tag): check if shader exists, (#transform_script): added support for nil shader, (#transform_script): new ULTRA COOL method macro, (#transform_script): mega, resolve dynamic includes too. * examples/simple/ctl: improved. * examples/simple: introduced, copied some files from app to build the example, use shaders, use css. * etc/new-project.rb: introduced. * etc: moved from scripts. 18-10-2004 George Moschovitis * lib/n/db/connection.rb (#match): use safe query. * lib/n/app/webrick-servlet.rb (#do_GET): even better error log. * lib/n/db.rb: added get_by_oid wrapper. * Rakefile: excellent builds tgs, zip and gem, dont include .svn dirs, RDocTask. * excellent, the reference app runs again. 18-10-2004 George Moschovitis * lib/p: introduced * lib/xsl: copied the old shaders directory. * bin/cluster.rb: link to the cluster. 18-10-2004 George Moschovitis * MAJOR CHANGE: recreated directory structure under /nitro to make more compatible with other ruby projects. 17-10-2004 George Moschovitis * app/conf/debug-config.rb: no error_page when debugging to avoid loops. * n/app/webrick-servlet.rb: better default error page, greatly improved info on default error page. * documented many source files. * n/sitemap.rb: moved out of UI namespace, (SitePage): added extra fields: real_uri, shader, level, (SiteMap): fixed to_s, extend from Hash. * n/app/handlers/page-handler.rb (#evaluate_script): dont use try_render, overload_paths FUCKIN MEGA! * n/app/handlers/page-handler.rb (#evaluate_script): dont use try_render, overload_paths FUCKIN MEGA! * started using :: for Ruby standard methods everywhere. * Rakefile: introduced. * n/utils/gfx.rb (#grab_exif): implemented. * app/env.rb: require "n/db/tools". * p/pictures/entities.rb (Picture#upload): introduced and improved from original code. * p/files/entities.rb: added path prop accessor. * p/pictures/methods.rb: introduced, (#upload_picture): implemented. * p/pictures/part.rb: introduced * p/pictures/entities.rb: introduced * p/feeds/part.rb: introduced. * p/feeds: renamed from syndication. 14-10-2004 George Moschovitis * p/geoloc/entities.rb (#country_code_for_ip): introduced. * p/geoloc/scripts/geoip-to-db.rx: introduced and recoded. * n/db/tools.rb (DbTools): converted to class methods. (DbTools#alter_table): improved, after many fixes the alter table works even for non entities. 13-10-2004 George Moschovitis * n/db/managed.rb (Module#manage): dont define update methods for classes that do not define a primary key. * p/geoloc/methods.rb (distance): introduced and optimized. * converted all prop_accessors to the latest code. * n/db/psql.rb: create table works with new properties api * n/.tc-properties.rb: introduced. * n/properties.rb: removed sql_type, (prop_accessor): changed signature. * n/parts.rb: added documentation, added dependencies variable in part. * n/app/webrick-servlet.rb: get correct last_ip 12-10-2004 George Moschovitis * p/sync: introduced. * p/content/mixins.rb: Permissions -> ContentFlags. * p/files/part.rb: introduced. 12-10-2004 George Moschovitis * p/*: some fixes to make the mixins work again. 12-10-2004 George Moschovitis * p/glue/part.rb: correctly require methods. * n/mixins/*: removed * n/mixins/rankable.rb: moved to scrap. * p/content/mixins.rb: introduced copied existing modules. * p/glue/mixins.rb: introduced copied existing modules. * n/mixins.rb: introduced, one file for all mixins. * use module instead of namespace. * n/db/psql.rb: use safe_query in create/drop schema. * n/db/*: tried to make compatible with mysql, failed. * n/db/managed.rb (sql_index): improved. 11-10-2004 Elias Athanasopoulos * n/db/mysql.rb: Db backend for MySQL. * n/.tc-db-mysql.rb: Test Unit for Db's MySQL backend. * scrap/fix-geo-sql.rb: New script. It produces an SQL schema for a table with Geographical information about IP addresses. * scrap/geo.csv: New file. Geographical Information about IP address in CSV format. 11-10-2004 George Moschovitis * n/properties.rb: prop_accessor alias, no trailing __ in __force methods. * p/content/entities.rb (Lockable): introduced, (Versionable): introduced, (Schedulable): introduced. 11-10-2004 George Moschovitis * n/db/psql.rb (#create_table): works with new sql_index. * n/db/managed.rb (Module#sql_index): redefined, accepts strings and symbols, unique param + extrasql. * p/geoloc: introduced geoloc part. * app/root/m/msg: message big icons. * p/files: introduced part. * gems/ndb.gemspec: fixed to include all needed files. * n/db/utils.rb (DbUtils#write_prop): support for Object, Array, Hash objects. * n/db/psql.rb (DbUtils#read_prop): support for Object, Array, Hash objects. 10-10-2004 George Moschovitis * gems: dir introduced. * n/README: introduced. * cell.gemspec: gemspec for cell engine. * ndb.gemspec: gemspec for db. * n/parts.rb (#prepared_statements): introduced, added comments. * n/db/connection.rb: removed again sibling methods. * n/db/psql.rb: EXCELLENT, mixin the backend into DbConnection. * n/db.rb: support for multiple backends. * n/db/mysql.rb: Db backend for MySQL. n/.tc-db-mysql.rb: Test Unit for Db's MySQL backend. * scrap/fix-geo-sql.rb: New script. It produces an SQL schema for a table with Geographical information about IP addresses. scrap/geo.csv: New file. Geographical Information about IP address in CSV format. * n/db/mixins.rb: (Entity#__db_pre_insert): use next_oid * n/db/README: slightly improved documentation. * n/db/managed.rb: removed trailing __ from insert, update, (#__db_eval_db_insert): use retry_query, added more comments. * n/utils/time.rb: removed sql related methods. * n/db/connection.rb: moved many methods to n/db/psql.rb * n/db/psql.rb: introduced, (#initialize), (#retry_query), (#safe_query) (#close): extracted from n/db/connection.rb, (#create_schema), (#drop_schema): introduced, sql time/date methods, (#next_oid): implemented, better error messages * n/db/utils.rb (#resolve): removed, moved method implementations to backends. (#sql_table_to_class): removed, * n/db/utils.rb: introduced, copied stuff from connection. * n/db/connection.rb: cleaned up the code, match? alias. * n/db.rb: made wrap_method and rest private, removed unused methods, cleaned up the code. * n/db/make-release.sh: make n/Db release. * app/root/s/simple/style.css: updated msg styles. * yeah, I got comments displayed. * n/utils/time.rb (#date_time): copied from old code and simplified. * p/users/entities.rb (User): icon -> to_icon (User#to_html): introduced. * p/markup/censors.rb: updated. * p/markup/part.rb: introduced, copied from def.rb MarkupUtils. * app/root/s/simple/shader.xsl (x:footer): correct w3c.validator 07-10-2004 George Moschovitis * correct :nodoc: all for test cases. * n/db/*: added much more RDoc comments. * created n/db distribution. * p/messages/def.rb: deleted. * n/.tc-db.rb: tests run again. 06-10-2004 George Moschovitis * more mass replaces to make older code work. * p/messages/*: many many fixes to make it work again. * p/messages/methods.rb: introduced. 06-10-2004 George Moschovitis * p/messages/part.rb: introduced. * app/conf/apache.conf: users redirect. * p/users/methods.rb (#register_user): userprofile gets created correctly. * n/db/connection.rb (#retry_query): fixed, (DbUtils#sql_write_prop): fixed Time, Date writing * n/app/request.rb (Request#get_cookie): fixed unescape bug. * app/root/s/simple/shader.xsl: top_ads, introduced debug-options in footer, rss, home link in header. * app/root/s/simple/style.css: improved css. * n/DOCS/css.txt: introduced, info about centering page. 05-10-2004 George Moschovitis * p/users/entities.rb (RoleOwner#add_role): fixed NASTY bug. * p/users/methods.rb (#update_roles): introduced, yeah, it works like cooler, handel full clear. * p/glue/std.js: intoduced, (cbSetAll): introduced. * p/locales/lc-en.rb: added more strings. * p/users/roles-form.ss: introduced 04-10-2004 George Moschovitis * app/slude/conf/debug-conf.rb: log to STDERR. * app/root/s/simple/shader.xsl: use