------------------------------------------------------------------------ r504 | sterling | 2005-07-30 23:51:05 -0500 (Sat, 30 Jul 2005) | 61 lines Contentment 0.9.18 Beta: * Did some work to update t/node.t and get those tests working. * Added t/security_dbi.t to test Contentment::Security and Contentment::Security::DBI and fixed a bunch of bugs related to writing that test. * Changed the default original_kind in the context to 'text/html' from 'unknown'. (This is a web application after all.) * Hard-coded the open_session and close_session in order to allow for a complete context without a lot of fuss. * Locked the system into using SPOPS::DBI::MySQL to fix some id field bugs found with t/security_dbi.t. Obviously, I would like to undo this in the future to allow for different databases to be used. * Fixed a bunch of security related bugs by adding { skip_security => 1 } in a few key places where this is appropriate. * Updated check_action_security() in Contentment::SPOPS so that it throws exceptions on creation when a requirement fails. * Added lots of extra debugging and logging code. * Fixed a bug in get_security() of Contentment::SPOPS that caused the system to sometimes fail while calculating the ID. * Completely changed the way capability_names are mapped to security levels. (I.e., what the hell was I thinking when I wrote the original code!?) * The default get_security() method (in Contentment::SPOPS) is a little more conservative in calculating security levels (as it always should have been). * Fixed the way global_current_user() and global_current_group() are calculated in Contentment::SPOPS as they were using a very old session implementation. * Refactored all references to $Contentment::context to Contentment->context. * Fixed the SPOPS configuration for Contentment::Security::Permission. * Added a can_create() method to Contentment::Session to allow all users to create sessions. * Altered open_session() in Contentment::Session to make it work even when called outside a web request (in case someone (me) wants to write a script to use Contentment without a browser). * Altered context construction to work a bit better. * Added a destructor to Contentment::Context that calls close_session() of Contentment::Session. I have marked it with a TODO because I don't know if this is the best place for this. * Added DateTime support to Contentment::Security::DBI::User and Contentment::Security::DBI::Group. * Altered the definition of the database tables for Contentment::Security::DBI::User and Contentment::Security::DBI::Group to make it a little less restrictive. * Added code to automatically update ctime, mtime, and dtime when appropriate in Contentment::Security::DBI::User and Contentment::Security::DBI::Group. * Added custom get_security() methods to Contentment::Security::DBI::User and Contentment::Security::DBI::Group to always allow users to view their own user and groups. * Updated check_login() in Contentment::Security::DBI to set the lastlog field of the user on successful login, to give better log information, to use the latest notion of a session, and to load the actual user record into the current_user slot of the context. * Updated fetch_user() and fetch_group() of Contentment::Security::DBI to fetch users and groups by either ID or username/groupname. * Altered the %R spec of the sample Log4perl configurations to use "none" instead of undef when REMOTE_ADDR isn't set in the environment (when Contentment is used as a stand-alone app rather than as a web script). ------------------------------------------------------------------------ r501 | sterling | 2005-07-28 22:35:00 -0500 (Thu, 28 Jul 2005) | 3 lines * Added a work-around to the release target to allow Module::Release and friends to request input from the user. ------------------------------------------------------------------------ r500 | sterling | 2005-07-28 22:17:57 -0500 (Thu, 28 Jul 2005) | 11 lines Contentment 0.9.17 Beta: * Set t/node.t and t/nodelet.t to skip as those APIs are unfinished. * Added context requests for plain and Mason-request context * Added support for making releases with Brian D Foy's excellent Module::Release code. There is now a "./Build release" command to do all the dirty work automatically and I made a custom extension Module::Build::HANENKAMP based upon Module::Build::Extras by Nik Clayton. * Added the context() method to Contentment for easy creation/retrieval of the current context information. ------------------------------------------------------------------------ r499 | sterling | 2005-07-21 13:13:31 -0500 (Thu, 21 Jul 2005) | 6 lines * Updated Mason requirement to 1.23 for the HTML::Mason::FakeApache::method method. * Added some guts to main.css in the default style, mostly so that we can have something to test in t/sample_css.t * Altered /content/util/generate to make the "to" command work. ------------------------------------------------------------------------ r498 | sterling | 2005-07-16 10:16:39 -0500 (Sat, 16 Jul 2005) | 5 lines * PROGRESS [cpan #13734] Added tests for Contentment::Content::Node in t/node.t, all but one test fail. * PROGRESS [cpan #13735] Added tests for Contentment::Content::Nodelet in t/nodelet.t, all tests fail. ------------------------------------------------------------------------ r497 | sterling | 2005-07-16 09:45:13 -0500 (Sat, 16 Jul 2005) | 13 lines Contentment 0.9.16 Beta: * Fixed a bug in the test action of Contentment::Build whereby * make_executable() was called on the wrong path, when it should have been * called on t/htdocs/cgi-bin/handler.cgi. * Added a new build target named "dbclean" to clean up the test database. * This target finds all tables in the testdb database database and drops. * Changed quoting in a call to DBI::tables in Contentment::SPOPS to be a * little more robust. * Added/renamed some fields in Contentment::Content::Node and * Contentment::Content::Revision. * Started filling out Contentment::Content::Nodelet. ------------------------------------------------------------------------ r495 | sterling | 2005-07-15 20:08:38 -0500 (Fri, 15 Jul 2005) | 20 lines Contentment 0.9.15 Beta: * Updated test framework to use Apache::Test when available to do live server tests. This will allow for a wide range of very complete tests to be performed. I'm going to try and make test writing my primary debugging process since I didn't write tests up front. * Added missing t/lib/Foo/Bar.pm file. * Added a simple test to make sure the system starts and can return the sample index page. * Commented the caching code in Contentment as it is causing problems. I've also switched the caching system to the Cache::NullCache object for now. * Updated various SPOPS classes to use SPOPSx::Tool::YAML instead of SPOPSx::Tool::Hashfield. This includes those classes defined within the Contentment::Setting, Contentment::Session, Contentment::Security::DBI, and Contentment::Form modules. * Updated the File::System requirement to 1.13 (was 1.03, which is not adequate). * Added Apache::Test to the recommended list (i.e., tests will function without Apache::Test, but the really useful ones will be skipped). ------------------------------------------------------------------------ r494 | sterling | 2005-07-14 10:44:43 -0500 (Thu, 14 Jul 2005) | 10 lines Contentment 0.9.14 Beta: * Removed SPOPSx::Tool::DateTime and SPOPSx::Tool::Hashfield (they've been forked into the SPOPSx-Tool-DateTime and SPOPSx-Tool-YAML distros). * Added SPOPSx::Tool::DateTime and SPOPSx::Tool::YAML to the build requirements. * Added an initial version of Contentment::Content::Node. * Added the documentation for Contentment::Content::Nodelet describing the planned design/implementation. ------------------------------------------------------------------------ r493 | sterling | 2005-07-14 09:23:44 -0500 (Thu, 14 Jul 2005) | 6 lines Contentment 0.9.12 Beta: * Added the security() method to Contentment for returning the current * security module. * Added a test for the run_plugin() method of Contentment. ------------------------------------------------------------------------ r487 | sterling | 2005-06-25 15:22:17 -0500 (Sat, 25 Jun 2005) | 12 lines Contentment 0.9b12: * Added tie tests to capture_streams test (when either IO::String or IO::Scalar are present). * Added a hack to handler.fcgi so that Contentment::capture_streams can work when FCGI::Stream is in use (by the FCGI module wrapped by CGI::Fast). * Better logging in handler.fcgi. * Altered the cgi-bin/.htaccess file so that only files ending in .cgi are treated as CGI rather than all files. * Added a condition to htdocs/htaccess.sample so that we can leave static files to the webserver if we drop them within htdocs. ------------------------------------------------------------------------ r486 | sterling | 2005-06-21 23:16:09 -0500 (Tue, 21 Jun 2005) | 14 lines Contentment 0.9b11: * PROGRESS [cpan #13312] Added is_debug checks before all debug log statements in all of the Perl modules. Need to do the same on the content files. * Contentment::FileType::HTML wouldn't render because it was missing a generate_headers() method. Fixed by making it ISA Contentment::FileType::Other. * PROGRESS [cpan #13312] Added a FastCGI target handler, added some related files, altered Build.PL to recommend FCGI and generate the new handler.fcgi file, and got the FastCGI interface generally working. * Fixed a dumb typo in handler.cgi that resulted in HTML::Mason::CGIHandler::new being called twice. ------------------------------------------------------------------------ r485 | sterling | 2005-06-21 14:32:37 -0500 (Tue, 21 Jun 2005) | 7 lines Contentment 0.9b10: * FIX [cpan #13341]: Added first two unit tests capture_streams and configuration along with a testing framework and modified Contentment::Config for it. This was simpler than I thought it would be. I'm going to try and add a few more tests with each revision. ------------------------------------------------------------------------ r484 | sterling | 2005-06-21 10:42:36 -0500 (Tue, 21 Jun 2005) | 25 lines Contentment 0.9b9: * Added the cache() method to Contentment to give Contentment modules a easy way to cache data. * Use the cache() method in call_hooks() of Contentment as an attempt to speed up the hooking process. May or may not stay. * Lowered log levels for because logging was too verbose in some places. * Added the generate_headers() method to the file type API to assist in the generation of top level responses. * Altered the generator for Contentment::FileType::Other to use read() instead of <> for performance reasons. * Added DBD::mysql 2.9008 to the recommended list in the build script. * Altered the default temporary directory to be less Mason-centric and adjusted settings elsewhere to support this change. * Changed the sample configuration to be correct YAML in the VFS configuration. * Changed /content/themes/apply_theme so that it uses the configured defaults instead of always using 'default' as the default theme and 'main' as the default master. * Altered /content/util/crumbtrail so that it outputs a non-breaking space when there are no entries in the crumbtrail to keep that box from collapsing. * Added support for HEAD requests in /content/util/generate. This component is likely to be removed in the very near future. ------------------------------------------------------------------------ r483 | sterling | 2005-06-11 16:49:38 -0500 (Sat, 11 Jun 2005) | 16 lines Contentment 0.9b8: * Switched Contentment::VFSResolver to return objects that create * HTML::Mason::Component::FileBased to fix a bug with content/util/index * Added Contentment::Manual::Bugs to the table of contents of * Contentment::Manual * Changed the short title of Contentment::Manual to Manual. * Simplified the code of get_property() in Contentment::VFS which is faster * and fixes a bug with attributes being missed sometimes. * Added a RESOLVED section to Contentment::Manual::Bugs. * Added index.* files to the default non_indexed_files setting and removed * *.xls from the same list. * Added the prun_unindexed argument to content/util/index to allow the user * to choose to index directories not containing index.* (previously these * were never indexed). ------------------------------------------------------------------------ r482 | sterling | 2005-06-11 14:59:52 -0500 (Sat, 11 Jun 2005) | 20 lines Contentment 0.9b7: * Again fixed the title of Contentment in the documentation. * Made a minor documentation improvment to Contentment. * Fixed Contentment->capture_stream() so that it handled errors as perscribed in the documentation. * Fixed content/input/dhandler so that directory redirects do not ad a superfluous slash. * Added better error handling to content/input/dhandler when a requested path doesn't exist. * Added some debug statements to content/input/autohandler that should probably be removed eventually, but are handy for now. * Fixed a typo in an error message in content/transform/apply_transformation.mason * Changed the behavior of content/transform/apply_transformation.mason so that it returns the original output if no transformations can be found. This is a lot handier, if not a bit dangerous. The behavior needs tweaking, of course. * Switched content/util/index to grab theme masters correctly ------------------------------------------------------------------------ r480 | sterling | 2005-05-31 10:04:01 -0500 (Tue, 31 May 2005) | 2 lines Removed unnecessary debug statements. ------------------------------------------------------------------------ r479 | sterling | 2005-05-21 19:12:33 -0500 (Sat, 21 May 2005) | 26 lines Contentment 0.9b6 * Added the Contentment->capture_streams() method to add in all the fancy redirection the hooks system et al require. * Vastly improved the Contentment->call_hooks() method so that each hooks output becomes the next hooks input. * Added a Contentment::FileType::PL handler for .pl files. * Fixed Contentment::FileType plugins to use get_property rather than property. * Altered Contentment::FileType::Mason to capture STDIN as the nested content to feed to the component. * Renamed the setting "cookie_session_duration" to "session_cookie_durection" * Added a documented contract for filetype plugins in Contentment::FileType * Removed the IO::String dependency from Build.PL * Added Contentment::FileType::PL to the default configuration. * Added session_cookie_duration of 90 days to the default configuration. * Altered the input autohandler to use the new capture_streams() and call_hooks() methods. * Added hooks for request/finish, request/postprocess, and request/preprocess. * Renamed /content/filter/apply_filter to /content/transform/apply_filter.mason * Renamed /content/transform/apply_transformation to /content/transform/apply_transformation.mason ------------------------------------------------------------------------ r473 | sterling | 2005-05-17 07:54:02 -0500 (Tue, 17 May 2005) | 2 lines * Added missing version number nudge to 0.9b5 ------------------------------------------------------------------------ r472 | sterling | 2005-05-17 07:52:33 -0500 (Tue, 17 May 2005) | 17 lines Contentment 0.9b5 * Bug: Continuing to tweak the main handler to make it work better and be more robust. * Bug: Altered the dhandler to deal with strange input from HTML::Mason (i.e., with a custom resolver it doesn't appear to properly strip the parent directories out of dhandler_arg) * Bug: Altered the dhandler to explicitly inherit from the input autohandler because the autohandler doesn't get executed without it (appears to be another HTML::Mason resolver bug) * Bug: Fixed a typo in the 90-html-links filter. It appears to have been accidentally overwritten with the 90-css-links filter. * Change: Pulled session startup/shutdown out of the input autohandler. * Change: Contentment::Session does it's own session startup/shutdown. * Change: The session and session_id variables of Contentment::Context are no longer read-only. ------------------------------------------------------------------------ r471 | sterling | 2005-05-16 08:28:06 -0500 (Mon, 16 May 2005) | 3 lines * Fix: Changed the location from which "./Build distdir" finds the Changelog in SVN to reflect the recent reorganization. ------------------------------------------------------------------------ r469 | sterling | 2005-05-16 08:11:39 -0500 (Mon, 16 May 2005) | 17 lines Contentment Version 0.9b4 * Fix: The repository contains 0.10b1 as a version number. This was an accident. * Fix: Fixed the title of the documentation for Contentment.pm * Fix: Fixed a bug causing problems with the way Contentment->configuration was being called from Contentment::VFS. * Fix: Fixed the way the VFS is configured in the configuration defaults. * Fix: Fixed the way that $ENV{PATH_INFO} is used so that Contentment is able to actually return pages. * Feature: Top level errors dump a simple stack trace to the contentment logs. * Feature: Added Contentment->call_hooks(), but haven't started using it. * Change: Top level errors are now "error" rather than "fatal". * Change: VFS properties now prefer the file-based properties over the filetype properties. ------------------------------------------------------------------------ r466 | sterling | 2005-05-09 12:35:39 -0500 (Mon, 09 May 2005) | 2 lines Contentment.pm is no longer generated to prevent me from being an idiot and losing 4 more hours of work. ------------------------------------------------------------------------ r460 | sterling | 2005-05-08 21:06:16 -0500 (Sun, 08 May 2005) | 2 lines Reorganized repository. ------------------------------------------------------------------------ r456 | sterling | 2005-05-07 20:36:18 -0500 (Sat, 07 May 2005) | 2 lines Added /content/util/crumbtrail. ------------------------------------------------------------------------ r455 | sterling | 2005-05-07 19:52:24 -0500 (Sat, 07 May 2005) | 19 lines The change log is automatically created by distdir from the Subversion log. Fixed the name of SPOPSx::Tool::HashField in the documentation. Added better property support to Contentment::FileType::HTML. Added better property support to Contentment::FileType::Mason. Added better property support to Contentment::FileType::POD. Rewrote Contentment::VFS to be based upon File::System. Added Makefile.PL compatibility. Added IO::String to the list of requirements. Added theming and better Contentment::VFS defaults to configuration. Moved /content/redirect to /content/util/redirect. Renamed /content/filter/modules/90-links to /content/filter/modules/90-html-links Added /content/filter/modules/90-css-links to fix links in CSS. Switched /content/filter/apply_filter to use Contentment::VFS. Removed the old input kind tests. Removed the old generator scripts. Modified themes to use /content/themes/$theme/$type/$master. Removed the old transformation scripts. Removed the the generate_and_transform script. ------------------------------------------------------------------------ r452 | sterling | 2005-04-27 23:54:09 -0500 (Wed, 27 Apr 2005) | 5 lines Added a new HTML file type that understands