Skip to content
Commits on Apr 24, 2008
  1. @theory

    Gob bric_queued working. This mainly involved fixing a missing variable

    theory committed Apr 24, 2008
    declaration and porting a fix to the line ending stuff from rev_1_10. I also
    moved around that checking of the password value in bric_queued so that it
    doesn't issue a warning if no --password option is specified.
  2. @theory

    Untabified, indentation fixes.

    theory committed Apr 24, 2008
  3. @theory
  4. @theory
  5. @theory

    * Refactored `$make_cookie` in Bric::App::Auth.

    theory committed Apr 24, 2008
     * Updated the module requirements section of Bric::Admin to emphasize that
       users will need to choose between some required modules depending on their
       database and Apache choices.
     * Tweaked the documentation of Bric::Util::ApacheReq, Bric::Util::ApacheUtil,
       and Bric::Util::Cookie.
     * Fixed indentation in Bric::Util::Coll::Rule.
  6. @theory
  7. @theory

    Don't need that anymore.

    theory committed Apr 24, 2008
  8. @theory
  9. @theory
  10. @theory

    * Got compression working with mod_deflate under Apache 2.

    theory committed Apr 24, 2008
    * Updated some more documentation on the `MANUAL_APACHE` directive.
  11. @theory

    Fixed redirection when clicking buttons in the bulk editing view. And…

    theory committed Apr 24, 2008
    … with this, Everything that I have tried in the UI is functional under Apache 2. W00t!
  12. @theory

    * Fixed the Permissions page. It seems that mod_perl 2 doesn't like a

    theory committed Apr 24, 2008
       submission with a field with no name. So I just gave the field that allows
       one to select a type of permission to view the name "perm_type" and got rid
       of the redundant "perm_type" hidden field.
     * Eliminated an XHTML error I encountered as I was debugging this -- the same
       as that committed to rev_1_10 n r8133.
  13. @theory

    Converted lots of `$LastChangedDate$` to `$Id` and set 'svn:keywords'…

    theory committed Apr 24, 2008
    … to "Id' on the relvant files.
  14. @theory

    Okay, got damn near everything working with Apache 2, plus a few bonu…

    theory committed Apr 24, 2008
    …ses:
    
    * Fixed the sideNav "Bulk Publish" link.
    * Fixed the "Save" buttons in the Desk, Server, and Action profiles.
    * Fixed the "Log" labels in the lists of Servers and Actions.
    * Added a localization of the "expire" column in the Source manager.
    * Switched from "SetHandler perl-script" to "SetHandler modperl", which seems
      to be preferred in mod_perl 2.
    * Added "PerlOptions +GlobalRequest" to the mod_perl configuration, since
      it seems to be required for `Apache2::RequestUtil->request` to work.
    * Fixed the "Save" button in the Element Profile and in the Contributor 
      Profile.
    * Fixed another Ajaxification bug where the media type callback was assuming
      an array of extension fields. There can now be only one, so we call
      `mk_aref` as appropriate.
    * Changed the behavior of FieldType editing so that an empty numeric field
      gets set to 0 instead of being left unchanged. This matches what I did with
      the occurrence fields in subelement types.
    * Removed a lot of junk from localization libraries with no translations in
      them. New translaters can just look in the existing localizations. To help
      this along, I changed the "AUTHOR" sections of these libraries to "Maybe
      You? <devel@lists.bricolage.cc>" and added links to en_us and de_de.
  15. @theory

    Fixed the AlertType profile. It was still expecting that there would …

    theory committed Apr 24, 2008
    …always be
    
    more than on set of rule fields, but Marshall removed them all in the
    Ajaxification stuff, so now there can often be only one. So I set it up to
    properly convert the relative field params into array references.
  16. @theory

    Fixed the "Add a $thing" links. I am finding that I can just avoid th…

    theory committed Apr 24, 2008
    …e directory handling issue by just making sure that directory requests end in a slash.
  17. @theory

    * Fixed the "My Alerts" button so that it doesn't incorrect redirect…

    theory committed Apr 24, 2008
    … to the
    
       login screen.
     * Changed the field separator in the nav menu cookie from "+" to "|", because
       Apache 2 turns "+" into a space, and this broke the menus.
  18. @theory

    Set the property.

    theory committed Apr 24, 2008
  19. @theory

    Moved the loading of the Apache 2 modules out of `httpd.conf` and int…

    theory committed Apr 24, 2008
    …o Bric::App::ApacheStartup.
  20. @theory

    Updated things for the required manual Apache configuration of mod_pe…

    theory committed Apr 24, 2008
    …rl 2:
    
    * Moved a few things around in httpd.conf to reduce the number of `<IfDefine
      !MODPERL2>` blocks.
    * Renamed the generated config file from "bric_httpd.conf" stored in the temp
      directory to "vhosts.conf" stored in the conf directory.
    * Updated the installer to create and install empty "vhosts.conf" file when
      installing to Apache 2. This is because, under mod_perl 2, this file is
      required, so we have an `Include` directive for it in httpd.conf. If this
      file does not exist, then the startup will fail. This is because Apache
      reads and processes the configuration twice.
    * Updated the installer to properly set the `Include` directive in the
      "httpd.conf" file.
    * Tweaked some spacing of directives generated by Bric::App::ApacheConf.
    * Updated the documentation in Bric::Admin with regard to the "vhosts.conf"
      file.
Commits on Apr 23, 2008
  1. @theory

    * Removed the LogLevel directive. The log suddenly got really noisy.…

    theory committed Apr 23, 2008
    … I don't
    
       know why it was ever "info".
     * Removed the SSL log stuff under mp2. It's not needed and just replaced the
       main error log, which was annoying.
     * Fixed the configuration of SSL stuff on mod_perl 2 in
       Bric::App::ApacheConfig.
     * Fixed broken indentation in Bric::App::Callback::Login. Also have the fix
       committed to rev_1_10 in r8122 (I originally figured it out here).
     * Disabled a bunch of crap in the logout handler of Bric::App::AccessHandler.
       I've no idea what it was doing, but it wasn't working under ssl for me on
       either Apache 1 or Apache 2. The stuff was added in a patch in 2002,
       though I've no idea what it was supposed to do. How can there be two
       servers? Patch thread: http://marc.info/?t=102590250200001.
  2. @theory

    Fixed the TransHandler issue. Or worked around it, anyway. It turns o…

    theory committed Apr 23, 2008
    …ut that,
    
    somehow, when the TransHandler is run, it can sometimes trigger a sub-request.
    This can even happen if the TransHandler is changed to just
    `Apache2::Cost::DECLINED`. I'm completely mystified by this. See all the
    gory details here:
    
      http://www.gossamer-threads.com/lists/modperl/modperl/97100
    
    In the meantime, it's actually proper that the TransHandler, AccessHandler,
    and CleanupHandler ignore subrequests, so I've added code for them to do so.
    It should work fine with mod_perl1, too, and eliminates quite a bit of extra
    processing when such sub-requests are created.
    
    Next up, SSL.
  3. @theory

    Fixed access failure on logout.

    theory committed Apr 23, 2008
  4. @theory

    Note where I left off.

    theory committed Apr 23, 2008
  5. @theory

    * Disabled Bric::App::PreviewHandler::uri_handler` under mod_perl 2 f…

    theory committed Apr 23, 2008
    …or now.
    
      It really seems to fuck things up, and the only thing it does is allow files
      requested by preview pages to be loaded properly. I will figure out how to
      get that working again, but I'll need some help. In the meantime, it makes a
      whole bunch of other problems go away. It's bizarre.
    * Switched from `$r->notes` to `$r->pnotes` for setting things up during
      previews. This allows errors to properly display during previews.
    * Switched to double quotes in the config in a few places to match what's
      output for mod_perl 1.
    * Fixed a bug where "$prev_loc" was output literally in bric_httpd.conf. Oops.
      :-)
    * Fixed a typo that prevented templates from being edited.
    * Restored a missing subref that prevented related media element profiles from
      working.
    * Now loading Apache2::Upload so that we can upload files to Bricolage again.
    
    Tomorrow I'll get logout working, and then try SSL. Once they're done, it's
    just the stupid preview problem with Bric::App:PreviewHandler, I think, and
    then it'll be just about ready to merge.
Commits on Apr 22, 2008
  1. @theory

    * Fixed a bug where `dbgrant_Pg.pl` was discarding a query row, and t…

    theory committed Apr 22, 2008
    …hus not
    
      granting permission to access an object in the database. Oops.
    * Updated `exec_sql` in `dbload_Pg.pl` to work just like the one in
      `dbgrant_Pg.pl`, in terms of fetching rows from the database.
  2. @theory

    Somehow I thought I had this working with mod_perl2 yesterday, though…

    theory committed Apr 22, 2008
    … I don't
    
    see how. Now it does, though imperfectly. I'm still working things out,
    getting them to work, so watch this space for more. In the meantime, I wanted
    to check in what I've got working so far I've changed a lot of things as I've
    hacked through it:
    
    * Changed the processing of Apache configuration stuff for mod_perl 2 to keep
      everything in an array of strings, as this is what's expected to be passed
      to `add_config()`.
    * Speaking of `add_config()`, in trying to get it to work with the
      Apache::ServerRec object, I discovered that passing it a `<VirtualHost>`
      directive -- or an `Include`ed file with a `<VirtualHost>` directive --
      causes Apache to crash with a bus error. Yow! So for now, `httpd.conf` is
      including a file itself, and the file is created as if `MANUAL_APACHE` was
      always true. I've reported the bug. Keep an eye on this thread for details:
      http://marc.info/?l=apache-modperl-dev&m=120889386710310. Scott, is this 
      what you found?
    * Removed some more Apache-SSL stuff, this time from Bric::App::ApacheConfig.
    * Added `OK` to Bric::Util::ApacheConstants. It turns out that it's different
      than `HTTP_OK`, and should be returned from handlers. Duh.
    * Switched to an array to be passed to `system()` in `bric_apachectl`. I just
      did this as I was debugging something else. It wasn't the issue, of course,
      but it's a good idea to always use this approach, anyway.
    * Added `mod_expires` as a prerequisite for Apache 2. It's almost always
      included anyway, and got me around another bug with `add_config()` (It
      didn't like a Perl directive specified as a string with a subref).
    
    More to come, but I gotta get some lunch, first.
  3. @theory

    Comment.

    theory committed Apr 22, 2008
  4. @theory

    Fixed bug in configuration.

    theory committed Apr 22, 2008
  5. @theory

    More `make dev` and general installer improvements:

    theory committed Apr 22, 2008
    * Eliminated a "use of undefined value" warning in `ask_yesno()`.
    * Fixed `get_default` to detect the existence of an environment variable, 
      rather than its truth. This allows `BRICOLAGE_SSL=0` to work.
    * Speaking of that, added support for three new environment variables when
      building Bricolage: `BRICOLAGE_SSL` (a boolean), `BRICOLAGE_SSL_KEY`, and
      `BRICOLAGE_SSL_CERT`. These make it easy to include SSL support or not.
      The value of `BRICOLAGE_SSL` defaults to true if your Apache server is
      built with SSL support. If it isn't, Bricolage won't be built with SSL
      support at all, no matter what the environment variables say (as has been
      the case).
    * Removed more Apache-SSL stuff from the Apache 2 build code. It's Apache 1.x
      only.
  6. @slanning

    doc was misleading

    slanning committed Apr 22, 2008
  7. @slanning
  8. @theory

    Fixed leftover tmp files when building on MySQL. This was driving me …

    theory committed Apr 22, 2008
    …nuts for the last couple of hours. Sheesh!
  9. @theory

    More `make dev` simplification.

    theory committed Apr 22, 2008
     * Changed the Pg install scripts to only set `$<` if $Config things that
       `setruid()` is available.
     * Don't prompt to drop the database or use an existing user during `make
       dev`. I had already done this for MySQL, but not PostgreSQL.
  10. @theory

    Various changes with the goal of makeing `make dev` a hell of a lot s…

    theory committed Apr 22, 2008
    …impler
    
    and faster:
    
     * Made `make dev` imply `QUIET=1`.
     * Modified the setting of values in the installer to check the environment
       for values before getting them from a config file. The relevant environment
       variables all start with "BRICOLAGE_". You can figure out which ones to use
       by looking at calls to `get_default` in `inst/*.pl` or by watching the
       output during `make dev`. For example, to make a dev environment using
       apache2 and mysql, do this:
       
         BRICOLAGE_HTTPD_VERSION=apache2 BRICOLAGE_DB_TYPE=mysql make dev
       
       During the build process, you'd see the relevant environment variables on
       lines like this:
       
         BRICOLAGE_DB_TYPE => mysql
         BRICOLAGE_HTTPD_VERSION => apache2
         
         BRICOLAGE_APACHE_USER => nobody
         BRICOLAGE_APACHE_GROUP => nobody
         BRICOLAGE_APACHE_PORT => 80
         BRICOLAGE_APACHE_SSL_PORT => 443
       
       ...etc. This makes it easy to see what you'd need to change to change your
       development installation recipe.
    
     * Replaced `$quiet_mode` with `$QUIET` in `inst/clone.pl`, to make it
       consistent with all the other installation scripts.
     * Added the `install_dev_files` target to `Makefile` to prevent installing
       all the Perl stuff during `make dev`.
     * `make dev` no longer runs the `done` target. It was installing all the Perl
       stuff, too.
     * During `make dev`, if the database already exists, don't bother to prompt,
       just go ahead and drop and re-create it. Similiarly, if the user already
       exists, just use the existing user. If you use `make dev` a lot, you need
       to pay special attention to this!
     * Added extra suid stuff to `inst/dbload_Pg.pl`, `inst/uninst_Pg.pl`, and
       `inst/clone_sql_Pg.pl` to be consistent with `inst/dbgrant_Pg.pl`.
Something went wrong with that request. Please try again.