01-02-2005 George Moschovitis * small fixes to make tests pass again. * lib/nitro/adaptors/webrick.rb: update headers with req.meta_vars. * lib/nitro/request.rb (#host): better calculation, made compatible with IE/windows. * examples/no_xsl_blog/lib/blog/template.rb: fixes. * examples/blog/root/style.xsl: fixes. * README: updated. * lib/nitro/controller.rb (#method_missing): :partial reload hack fix. 31-01-2005 George Moschovitis * examples/no_xsl_blog/lib/blog/template.rb: fixed rest links. * Yeah, the no_xsl_blog example runs under windows. * lib/nitro/adaptors/fastcgi.rb: some changes, now POST works. * lib/nitro/adaptors/cgi.rb (#parse_params): introduced from cgi.rb, (#parse_cookies): get context, no return. * lib/nitro/request.rb: env_table alias, for compatibility with cgi.rb. * Fixed lhttpd.conf to all examples and proto. * Fixed many inconsistencies in the README files. * lib/nitro/adaptors/runner.rb: log_to_file option, use lighttpd as name to be more compatible. 30-01-2005 George Moschovitis * lib/nitro/adaptors/runner.rb: fixed bug with fcgi. * lib/nitro/adaptors/webrick.rb: upcase headers, fixes bug. * README: fixed bugs and obsolete documentation. * lib/glue/object.rb: remove class support. * lib/nitro/controller.rb: keep classdef_file with inherited. [mneumann] * lib/og/*: cleaned up by removing Og::*. * lib/og/meta.rb (MetaUtils#resolve_class): implemented. * lib/nitro/events.rb: deprecated, rails-style filter achieve the same effect more elegantly and more optimized. * lib/og/backends/mysql.rb (#deserialize_all): return [] if no rows. [mneumann] * lib/og/backends/psql.rb (#deserialize_all): return [] if no rows. [mneumann] * lib/og/connection.rb: use meta[:has] instead of og_descendants. * test/tc_og.rb: added more tests. * lib/og/meta.rb (#belongs_to): add meta data [mneumann], (#has_one): add meta data - removed descndants [mneumann], (#has_many): add meta data - removed descendants [mneumann], (#many_to_many): add medata [mneumann], (#refers_to): add metadata, also ads :has metadata [mneuamann]. * lib/og/enchant.rb: added Class.get alias. [mneumann] 28-01-2005 George Moschovitis * lib/nitro/localization.rb: renamed from l10n.rb, (Localization): introduced. * etc: removed. * RELEASES.og: updated. * RELEASES: updated. * README.og: updated. * lib/nitro/controller.rb (#method_missing): more flexible. * lib/nitro/render.rb (#compile_action): hack fixed non-action bug. * examples/no_xsl_blog/*: renamed from plainblog, converted, converted template. * lib/nitro/adaptors/runner.rb: implemented, Runner is used in all ctls. * lib/xsl/xforms.xsl: obsolete, removed. * lib/xsl/ui.xsl: obsolete, removed. * examples/flash/*: updated. * bin/proto: new and improved index page for the prototype application, added gfx and minimal help. * examples/tiny/*: use ctl. * lib/og/*: cleaned up some sourcefiles. * install.rb: introduced. * lib/og.rb (Og): cleaned up, use cattr_accessor for setup. * lib/og/backends/mysql.rb (#write_prop): fixed boolean. 28-01-2005 Michael Neumann * lib/og/backends/psql.rb (#write_prop): fixed boolean. 27-01-2005 George Moschovitis * README: updated and fixed many bugs, updated features. * examples/blog/ctl: introduced, runs the WEBrick server, runs the Lighttpd server. * lib/og/backends/psql.rb (#read_prop): fixed boolean read [mneumann]. fixed boolean type (tinyint). * lib/og/backends/psql.rb (#read_prop): fixed boolean read [mneumann]. * lib/nitro/dispatcher (#dispatch): fixed bug. * some changes to make the tests pass again. * test/nitro/server: deprecated. * lib/nitro/ui/sitemap.rb: moved here! * lib/nitro/server.rb: deprecated. * lib/nitro/service.rb: deprecated. * lib/nitro/config.rb: deprecated. * lib/nitro/server/*: deprecated. 26-01-2005 George Moschovitis * lib/nitro/scaffold.rb: updated. * lib/nitro/dispatcher.rb (#dispatch): return content_type. * lib/nitro/context.rb (#fill): added. * lib/nitro/ui/pager.rb: updated for lates code. * lib/nitro/render.rb: request alias for context, (#redirect): fixed. (#render): raise when no controller found. (#render): fixed template extension selection, (#compile_action): dont set content_type. * lib/nitro/controller.rb: include Scaffolding, Filtering. * examples/blog/*: many changes to support new code, yeah, it kinda works! index session with symbols. * examples/blog/lib/*: changed sirectory structure. 25-01-2005 George Moschovitis * examples/blog/*: conversion to new code. * lib/nitro/render.rb: call Rendering.reset. * lib/glue/misc.rb (#delete_class_hierarchy): introduced. * lib/nitro/context.rb: lazy session lookup. * lib/nitro/adaptors/fastcgi.rb: no session lookup. * lib/nitro/adaptors/webrick.rb (#handle): no session lookup. * lib/nitro/shaders.rb (RubyShader#process): -> * lib/nitro/dispatcher.rb (#dispatch): better handle tha base calc. * lib/nitro/buffering.rb: copied buffering code here. * lib/glue/flexob.rb: introduced. 24-01-2005 George Moschovitis * benchmark/nitro: added first benchmarks. * lib/nitro/adaptors/webrick.rb: works with new cookie code. * yeah, sessions and cookies work with fastcgi. * lib/nitro/cookie.rb: implemented. * lib/nitro/session.rb: converted to new cookie code. * lib/nitro/html.rb: deprecated. * lib/nitro/http.rb: deprecated. * lib/nitro/user.rb: deprecated. * test/nitro/adaptors/tc_cgi.rb: introduced. * lib/nitro/adaptors/cgi.rb: introduced. (CgiUtils): introduced. (CgiUtils#parse_query_string): implemented. (CgiUtils#parse_cookies): implemented. (CgiUtils#response_headers): implemented. * examples/tiny: cleanup, new dir structure. * examples/tiny/conf/nitro.conf.rb: introduced. * examples/tiny/conf/lhttpd.conf: introduced, improved redirect scheme, keeps request_uri correct! * examples/tiny/conf: introduced. * lib/glue/misc.rb (#silence_warnings): introduced. * create fastcgi redirect for lighthttpd. * lib/nitro/adaptors/fastcgi.rb: introduced, Wrapper Class like the webrick adaptor, parse query string. * lib/og/enchant.rb (#each): added iterator support [mneumann], include Enumeration [mneumann] 23-01-2005 George Moschovitis * examples/tiny: yeah, sessions work again. * lib/nitro/render.rb (#render): allow for nested calls. * lib/nitro/context.rb: store conf. first cut of session code. * lib/nitro/adaptor/webrick.rb: better handling of conf, extend WEBrick::HTTPResponse to make compatible with Nitro. * lib/nitro/controller.rb (#method_missing): moved here. * test/nitro/tc_session.rb: introduced. * lib/nitro/session.rb: introduced. (#create_id): implemented. (#lookup): implemented. (Session): extend from Hash. 22-01-2005 George Moschovitis * lib/nitro/adaptors/webrick.rb: pass query. * lib/nitro.rb: added default requires. * examples/tiny/app2.rb: testbed for new Nitro. * lib/nitro/render.rb (RenderExit): defined again, (#method_missing): ultracool remove_method trick to support script reloading. * lib/nitro/adaptors/webrick.rb (#start): get and store conf. * lib/nitro/request.rb (#referer): added. * lib/nitro/context.rb: requires. 21-01-2005 George Moschovitis * lib/nitro/dispatcher.rb: keeps root dir. * stopped using N prefix all around. * lib/nitro/render.rb: fixed method_missing. correct shader mattr. * lib/nitro/response.rb (#content_type=): implemented. * test/nitro/tc_controller.rb: introduced. 20-01-2005 George Moschovitis * lib/nitro/render.rb (OutputBuffering): moved output buffering methods to a separate module. * lib/nitro/context.rb: includes Request/Response. * lib/nitro/request.rb: converted to module. * lib/nitro/response.rb: converted to module. * lib/nitro/adaptors/webrick.rb (#handle): streamlined using Context. * test/nitro/tc_dispatcher.rb: introduced. * lib/nitro/mail.rb: use mattr. * lib/nitro/controller.rb: introduced. * lib/nitro/dispatcher.rb (resolve_path): changed return order, encode api in the action, (#dispatch): renamed from resolve_path, only returns cklass and action. (#add_api): support for multi-api dispatchers. 19-01-2005 George Moschovitis * lib/nitro/render.rb: no params, (Rendering): added mattrs, * lib/nitro/shaders.rb: moved outside. 18-01-2005 George Moschovitis * lib/nitro/render.rb: introduced new version. * lib/nitro/request.rb (#method): implemented, (#remote_ip): implemented. implemented more methods. 17-01-2005 George Moschovitis * lib/glue.rb: define module N. * lib/nitro/filters: introduced. * lib/nitro/server/dispatcher.rb: dont use $og. * lib/nitro/adaptors/webrick: new implementation. (WebrickAdaptor): introduced. (Webrick#start): introtuced. * lib/nitro/server/filters: deprecated. * lib/nitro/server/filters.rb: deprecated. * cleaned up many files. * lib/nitro/server/handlers.rb: deprecated. * lib/nitro/server/fragment.rb: deprecated. * lib/nitro/server/script.rb: deprecated. * updated svn repository. 16-01-2005 George Moschovitis * lib/nitro/adaptors: introduced. * examples/plainblog/README: updated docs. * examples/plainblog/lib/template.rb: implemented. Yeah, the plainblog example works without xslt. * examples/plainblog: introduced, converted all pages to the simple templating system. 15-01-2005 George Moschovitis * cleaned up many files. * lib/nitro/application.rb: cleanup. 14-01-2005 George Moschovitis * test/tc_og.rb: added more tests. * lib/og/version: no more a global variable. * test/glue/tc_property.rb: test for macro params. * lib/glue/property.rb (PropertyUtils#resolve_prop_params): factors out common code between the propXXX methods, extra checks for the params, removed dupplicate code from propXXX methods [mneumann]. * lib/og/enchant.rb (#enchant): #create captures the given block and propagates to the objects constructor. * AUTHORS: updated. * lib/og/meta.rb (MetaLanguage#refers_to): implemented [mneumann]. (#has_one): creates delete_xxx method. (#has_many): creates delete_all_xxx method. removed del_xxx alias [mneumann]. * examples/og/run.rb: use delete_xxx in many_to_many [mneumann]. 14-01-2005 Michael Neumann * lib/glue/property.rb (#prop): changed expansion to allow for macro parameters. 13-01-2005 George Moschovitis * lib/og.rb: Og.include_meta_language by default is FALSE [mneumann]. * lib/glue/property.rb (PropertyUtils#include_meta_mixins): introduced. (#prop): include Og::MetaLanguage. 12-01-2005 George Moschovitis * --- VERSION 0.8.0 --- * RELEASES.og: updated. * RELEASES: updated. * README: updated. * README.og: updated. * lib/glue/property.rb (#prop): include N::Validation when appending a managed module. * examples/blog/root/entr_form.xhtml: added error reporting. * found out NASTY reload bug, temporarily dissabled! * lib/glue/logger.rb: (Logger#error): added. * lib/server/render.rb: improved source, (#render): dissabled reloading. (#redirect_referer): optional postfix. * lib/nitro/markup.rb: fixed namespace, (#expand/#compact): excluded wiki markup from default. * examples/blog/config.rb: require markup, validation. * examples/blog/root/style.xsl: introduced. * examples/blog/lib/blog.rb: extend from content, use auto markup functionality, thanks for the magic of auto markup, comments get expanded correctly now, for free :), (#new_entry): added validation/error reporting! (#get_errors): useful prefilter, (Common): made this a module (mixin). 11-01-2005 George Moschovitis * test/glue/tc_validation.rb (#test_validate_length): implemented. cooler, all tests pass. * lib/glue/validation.rb (#validate_length): implemented, allow sprintf style error messages, (#validate_inclusion): implemented. 10-01-2005 George Moschovitis * test/nitro/builders/tx_xhtml.rb: introduced, yeah, cases pass :) * lib/og/enchant.rb (#enchant): #one alias for #select_one [mneumann]. * lib/nitro/builders/xhtml.rb: introduced. (#options): implemented, (#select): implemented. * lib/nitro/builders/xml.rb (#method_missing): added support for blocks in tags, (#comment): implemented. 09-01-2005 George Moschovitis * test/nitro/builders/tc_xml.rb: introduced, (#test_missing): implemented. * lib/nitro/builders/xml.rb: introduced, (#start_tag, #end_tag): implemented. (#method_missing): implemented, (XmlBuilder): implemented. * vendor/blankslate.rb: integrated blankslate lib by Jim Weirich [jweirich]. 08-01-2005 George Moschovitis * lib/glue/vaildation.rb (#validate_confirmation): implemented, (MetaLanguage): customization options, (#validate_value): implemented, 07-01-2005 George Moschovitis * test/glue/tc_validation.rb: implemented many tests. * lib/glue/property.rb (#prop): auto include the N::Validation module in the parent class if defined! (PropertyUtils#get_prop): implemented. * lib/glue/validation.rb (Validation::Errors): introduced, empty, size, add methods. recoded validation code and now works! (eval_validate): fixed for multiple objects. (Validation::Errors): keep error strings here. (MetaLanguage): introduced. MEGA: use meta :validations to store validations! (Validation::Errors): each, clear. 05-01-2005 George Moschovitis * test/*: cleaned up some unit tests. * lib/*: removed all $log references! * lib/glue/*: use N:: prefix for all files. 04-01-2005 George Moschovitis * test/glue/tc_attribute.rb: implemented. * lib/glue/attribute.rb: introduced, default value for module/class attributes. * lib/glue/validation.rb: introduced, (Validation#validate_format): implemented. (Validator): introduced, (Validator#eval_validation_method): introduced. * README: running units section. 03-01-2005 George Moschovitis * lib/nitro/builders/form.rb (#render): emmit id's to make the generated forms more style-able. * lib/glue.rb: removed EMPTY_STRING constant [mneumann]. * Rakefile: include vendor in Og distribution. 02-01-2005 George Moschovitis * vendor/extensions: integrated extensions library by Gavin Sinclair * test/glue/tc_logger.rb: introduced. * lib/og.rb: removed logger methods. * lib/glue/logger.rb: added static methods and global logger, (#i, #d): removed. (#trace): added trace method from dev-utils by Gavin Sinclair , fixed Binding.of_caller bug. (#get): implemented. 01-01-2005 George Moschovitis * started using the $:.unshift File.join trick. 30-12-2004 George Moschovitis * lib/og/mock.rb: include Og::Enchant, some more fixes to make this work. * lib/og/enchant.rb: introduced, factors out some code used by the MockDatabase. * lib/og/*: converted to new code. * lib/og/meta.rb: dont use $og. [mneumann] * lib/og.rb: made Og a class, removed $og_xx_xx options, use class methods [mneumann] (Og##use): introduced. (#enchant): use Og.db.connection. (Database): create!/drop! aliases, include Og::Enchant. introduced Og.log. 29-12-2004 George Moschovitis * lib/og/mysql.rb: removed Og::Utils, integrated methods in Backend. * lib/og/psql.rb: removed Og::Utils, integrated methods in Backend. * lib/og/backend.rb: removed Og::Utils, integrated methods in Backend, to allow for multiple backend is one App [bcandler]. * lib/og.rb (#enchant): enchant methods DONT use $og anymmore. [mneumann] * AUTHORS: updated. * examples/og/mysql_to_psql.rb: introduced and implemented. 27-12-2004 George Moschovitis * lib/parts/content.rb (CreateTime): introduced. * lib/parts/README: introduced. * --- VERSION 0.7.0 --- * lib/og/mock.rb: fix, dont wrap methods. * Rakefile: fix. 26-12-2004 George Moschovitis * lib/nitro/server/render.rb (#compile_xxx_method): better handling of redirects, (RenderExit): introduced, (#redirect): rewritten, raise RenderExit. * lib/nitro/markup.rb (PropertyUtils#prop_setter): override. (#markup): removed. (#expand, #narrow): fixed, YEAH, markup works. * lib/glue/property.rb (PropertyUtils#prop_setter): factored out. * lib/nitro/markup.rb: narrow -> compact (better english) [knasis]. 25-12-2004 George Moschovitis * MERRY XMAS :) 22-12-2004 George Moschovitis * lib/nitro/markup.rb: introduced, (#markup): implemented. * lib/nitro/server/render.rb: stop the pipeline if return false, fixed redirect bug. * lib/nitro/server/dispatcher.rb: dump rendering_errors in error page. * lib/parts/content.rb: working with modules, (Markup): introduced. * lib/nitro/builders/form.rb: :ui modifier instead of :form, (#render): handle the :markup meta data. * Rakefile: og distribution includes tests + Rakefile [tquas] 21-12-2004 George Moschovitis * lib/og/mock.rb: Call wrap methods. * test/glue/tc_property_mixins.rb: automanagement unit tests [by tquas], made it pass. * test/og/tc_lifecycle.rb: lifecycle unit tests [by tquas] * lib/og/meta.rb (#has_many): enchant with add_XXX the container class [mneumann]. * test/tc_og.rb: added test for create. * Rakefile: add ChangeLog in og distribution. * lib/og/backend.rb (#table): use the $og_table_prefix. * lib/og.rb: $og_table_prefix, (#enchant): use module_eval with __FILE__, __LINE__, (#enchant): add create method [mneumann] * README: updated with breakpoint info. * lib/og/mock.rb: fixed [tquas]. * vendor: added 'breakpoint' by Florian Gross [fgross]. tested breakpoint integration, it works! 20-12-2004 George Moschovitis * test/glue/tc_propert.rb: fixed test. * lib/glue/propery.rb: (#prop) totaly recoded, doesnt polute Module any more, (#__add_prop): recoded, gets target, no more reader, writer params. use <<-"end_eval" to get better error reporting! (#property): ultra cool append feature hack avoids passing @@__props from a Module to the Class that includes it --> BLACK MAGIC. (Property#enchant): implemented. (PropertyUtils): introduced. (PropertyUtils#add_prop): yeah, removed from Module! (#meta): recoded. (PropertyUtils#*): also handle meta. (#inherit_meta): removed. (#meta): fixed bug. fix: no more @@__props redifen warnings when running with -w [tquas] * lib/og.rb: (#initialize): automanage classes that include a manageable Module (hack), (#convert): convert classes that include a manageable Module (hack). (#convert): no need to call inherit_meta. 19-12-2004 George Moschovitis * benchmark/nitro: introduced. * benchmark/og: introduced. 18-12-2004 George Moschovitis * README: updated some texts, added description of contents section. 17-12-2004 George Moschovitis * bin/new_app.rb: made win32 compatible. * lib/nitro/server/webrick.rb: win32 compatible. * bin/new_form.rb: introduced and implemented. * lib/nitro/builders/form.rb: require safehash, better formatting. 16-12-2004 George Moschovitis * lib/og/meta.rb (many_to_many): changed API. * test/tc_og.rb: updated. * lib/og/backends/mysql.rb (#create_table): use create_fields, NOT NULL in join tables. * lib/og/backends/psql.rb (#create_table): use create_fields, NOT NULL in join tables. * lib/og/backend.rb (#create_fields): implemented, also use :extra_sql modifier [req tquas]. 15-12-2004 George Moschovitis * bin/new_app.rb: handle trailing '/'. * bin/proto/root/style.css: cleaned up. * bin/proto/root/style.xsl: cleaned up. * bin/proto/root/index.xhtml: cleaned up. * lib/parts/content.rb: introduced, (Content): introduced, (Category): introduced, (ACL): introduced. * lib/og/meta.rb: changed has_one signature [patch by tquas] * examples/og/mock_example.rb: introduced, improved, added test-unit code. * lib/og/mock.rb: implemented mock database. [patch by tquas] 14-12-2004 George Moschovitis * examples/blog/root/style.xsl: fixed a bug. 13-12-2004 George Moschovitis * lib/shaders.rb (RubyShader): added support for statically including files. * lib/server/render.rb (RenderUtils): dump method helps in debugging. * examples/flash/lib/flash.rb: introduced service, yeah with some SHITY ming code the example works. * examples/flash: introduced flash example. 10-12-2004 George Moschovitis * lib/og/backends/psql-pr.rb: introduced Postgres-PR backend. * --- VERSION 0.6.0 --- * bin/new_app.rb: remove .svn dirs. * final preparations for release. * ChangeLog: branched.