Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
Checking mergeability… Don’t worry, you can still create the pull request.
Commits on Apr 11, 2010
@theory theory Increment version to 2.0.1. 0856761
Commits on Apr 12, 2010
@theory theory Tweak Changes. c1544a0
@theory theory Put the 2.0.1 header in the right place. f645daa
@theory theory Merge 1.10 changes. 843c950
@theory theory Fix Bric::Util::ApacheReq test failures.
Fixe bug in the Bric::Util::ApacheReq tests where they would fail if the
`LISTEN_PORT` or `SSL_PORT` `bricolage.conf` directives were anything other
than 80 and 443, respectively. Thanks to Héctor Daniel Cortés González for the
Commits on Apr 14, 2010
@theory theory Add `SKIP_SSL_REDIRECT` directive.
This directive prevents Bricolage from redirecting to and from an SSL URL when
`SSL_ENABLE` is turned on. The case for this is when Bricolage is running
behind a reverse proxy server that's handling SSL mappsings. Thanks to Alex
Krohn for the report.
Commits on May 07, 2010
@theory theory Add "object" date format.
This is so that one can easily get a DateTime object for a date value,
rather than a string.
@theory theory Move change to proper place. 3c17c86
@theory theory Remove redundant line. fc9d361
Commits on Jun 05, 2010
@rolfm rolfm Fixed SFTP mover bug that would leave escaped tmp files on the destin…
…ation server.
Commits on Jul 06, 2010
@theory theory Refactor Bric::Util::Trans::SFTP.
It was a bit of a mess. Much of the code was unnecessary, dating from before
2.0 when it used Net::SFTP instead of Net::SSH2. As a result, the error
handling was all wrong.

While at it, remove the file name escaping, as with newer versions of
Net::SSH2 at least (or perhaps newer versions of libssh2), it was leaving the
backslashes in the file names on the destination server. So bump up the
minimum version of Net::SSH2.

For sanity, also add tests to make sure that Net::Util::Trans::SFTP and
Net::Util::Trans::SFTP compile and have apprpropriate interfaces.
Commits on Jul 07, 2010
@theory theory Don't deactivate assets while updating via SOAP.
I've no idea why they were able temporarily disabled to begin with. Seemed an
unnecessary defense against something or other. And the downside was
discovered with the addition of the `EXPIRE_ON_DEACTIVATE` directive:
assets were getting expired every time they were updated via SOAP! So
change the code to only activate or deactivate if requested.
Commits on Jul 09, 2010
@theory theory Only pass key and auth information if provided. 113b752
Commits on Jul 14, 2010
@theory theory Work around Net::SSH2 socket bug. 06d0f77
Commits on Jul 29, 2010
@theory theory Support Apache MPMs other than prefork.
[#188 state:resolved]
@theory theory Preven Net::FTPServer limits.
They lead to mysterious crashes.
@theory theory Fix thinko: s/burn_another/publish_another/g 3b0537c
Commits on Oct 24, 2010
@theory theory exclude .gitignore from exports. 52e6ddc
Commits on Nov 02, 2010
@theory theory Use currently-checked out asset for diff.
If the "to" choice is the same version as the currently-checked out version,
use the currently-checked out representation. This is so we can see changes
since the checkout.

This is not ideal, frankly, as it's a bit magical. We should consider
modifying the functionality for 2.2 so that there is another choice for
currently-checked out items, "Current version" or something. When that's
selected, the currently-checked out version should be used (for "to" or
"from"). Otherwise, use the checked-in version. I think this would be less


Kahil Jallad Fix for checkout button showing regardless of perms 5fbe52e
@theory theory Credit kjallad.

@theory theory Use Kahil's full name. 0457aab
@theory theory Sync changes with master. 374a290
@theory theory Fix POD nerble. 5d325ac
Commits on Nov 05, 2010
@theory theory Fixed bug in bric_ftpd where the ftp PWD command returns an incorrect
path (missing the site name).  Some ftp clients (eg. FileZilla) call PWD
and use this path after changing directories.


@theory theory Fix for displaying desk asset counts. (Bug #198)
From commit e317d9b by Marshall Roch and Alex Howarth.


@gregheo gregheo Fix for keyword autocomplete (Bug #206) af37917
@gregheo gregheo Fix for date checking on asset search (Bug #211) fe25f92
Commits on Dec 02, 2010
@theory theory Don't update publish status on publish failure.
Or, more specifically, revert it to what it was before. If a story hasn't been
published before, then on publish failure the publish status will be false and
the publish date and first publishd date will be `undef`. If it *has* been
published before, then the publish date will not be udpated. This has been an
issue for a long time, so I'll backpatch all the way to 1.10.x.
@theory theory Remove irrelevant changes.
These apply only to 2.1.0, not 2.0.1, which is what is in this branch.
@theory theory Skip SFTP tests if Net:SSH2 not installed. b2c1721
@theory theory Restore bug fix change note. df44209
Commits on Dec 09, 2010
@theory theory Fix Xinha.
Update the JavaScript code to only load the editors when they're made visible.
This is a little fragile, since if we change the structure of the HTML at all,
we'll need to make sure that the Xinha code is updated to take advantage of
the new structure. That is, CSS selectors passed to `` would
need to be updated.

Not sure if htmlArea or FCKEditor need to be updated, as well. [#217 state:resolved].
@theory theory Give credit where credit is due. 657ce14
@theory theory New URL for FCKeditor. 86db2f3
Commits on Jan 17, 2011
Phillip Smith Fix placement of Publish/Checkout buttons in their bounding box.
[#194 state:resolved]
@theory theory Typos. 7dd762e
@theory theory Find Apache 2 `Include`d conf files by relative path.
[#174 state:resolved]
@gregheo gregheo Fix for id param on related story lists.
[#183 state:resolved]
@nlegg nlegg Fixed a typo: put_res() and del_res() now call the correct method. 11ca5ab
Phillip Smith Fixed styling of popup menu for Check In and Move actions.
[#193 state:resolved]
Phillip Smith Fix for Xinha editor when using the Creat Link button (which was prev…
…iously hidden, not it shows). [#180 state:resolved] [Phillip Smith]
@theory theory Credit Phillip. c60c158
@theory theory Properly sort by Content Type in Element Type manager
Done by adding a new `my_meths` key in Bric::Biz::ElementType that returns the
name. This is to avoid transforming the element type business class ID in
listManager, because that transformation happens before the value is
transformed. [#190 state:resolved].
@theory theory Note the fix to the sorting of content type. d54b7aa
Phillip Smith Fix to limit the length of category descriptions (Bug #215). [Phillip…
… Smith] [#215 state:resolved]
@theory theory Credit where credit is due. 3e72e76
Commits on Jan 18, 2011
@theory theory Restore category recall to new asset pages.
Before we had autocompletion of categories in the New Story/Media/Template
profiles, it used to be that they would remember the last category selected
when you go to create a new document. That was lost; so restore it.

Done by adding a new widget, `comp/widgets/profile/`, which
munges the memorization code from the `select_object` widget with the simple
population of a text filed in ``. Also a callback that handles
remembering the value when a form is submitted. That callback, of course, is

[#159 state:resolved]
@theory theory Note autocomplete memory improvement. 97be5c5
@theory theory Initially hide the dialog box.
Broken in 76bc8da.
@theory theory Don't reactivate element template when creating category template.
Done by adding `tplate_type` to the search for existing templates. Needed to
add support for that parameter to `Bric::Bus::Asset::Template->list()`.
[#195 state:resolved]
@theory theory Note template reactivation fix. 217bc40
@theory theory Show template subelement keys in view mode, too.
[#228 state:resolved]
@theory theory Note addition of subelements to template view. e123b7a
@gregheo gregheo Return only active subelements (bug #230) b905326
@theory theory Credit Greg with the deactivated element type fix. 5549492
@nlegg nlegg Fixed #201: Deactived assets still have "Republish" checkbox in UI wh…
…en using "Find Stories"
@theory theory Note disabling of publish checkbox for disabled assets. 45b0c0f
@theory theory Credit Nick. 270b2fd
Commits on Jan 26, 2011
@theory theory Make media category browser buttons work again.
Complements 6c8f371, which did the same
for stories. Thanks to Herring for the spot!
@theory theory Thanks Michael Herring. 7b55a86
Zdravko Balorda Fix #212: OC lists for media and story follows site context
This is a suggested fix as Phillip asked. In Bricolage 2.0 stories
and media profiles listed all output channels for users to associate
their documents, instead of only OC associated to the working site only.
@theory theory Credit Zdravko Balorda for fixing Bug # 212.
[#212 state:resolved]
Commits on Feb 09, 2011
@bretdawson bretdawson Adding the release date. Tomorrow! 6c09ec0
@bretdawson bretdawson Today's date, plus a proofread. 541b3a3
Commits on Feb 10, 2011
@theory theory Increment version to 2.0.2. 9374338
Commits on Apr 11, 2011
@theory theory Fix case conversion bug in `find_or_create_alternate()`.
Per gripe from Bret Dawson, though I took a different approach to fixng the
problem than his patch did.
@theory theory Note fix to `find_or_create_alternate()`. 7d4c65d
Commits on Apr 19, 2011
@nlegg nlegg Added status messages to media upload dialog. Also added a 'blank' de…
…fault media type selection.
@theory theory Note improvement from Nick. b7d5e52
@gregheo gregheo Fix for searches on the 'inactive' key 1b98646
@theory theory Note fix from Greg. c2d66f0
Commits on May 11, 2011
@gregheo gregheo Fix overzealous escaping for localization.
Per Locale::Maketext docs, commas only need to be escaped when inside
bracket notation.

[#245 state:resolved]
@theory theory Credit where credit is due. 7d98da6
Commits on Aug 06, 2011
@bretdawson bretdawson Forcing find_or_create_alternate to use the correct OC. f10e41f
@bretdawson bretdawson Fixing a typo. d664909
@theory theory Credit where credit is due. 5773476
@bretdawson bretdawson Only looking up the primary OC for the target media element type. ff74396
@gregheo gregheo Simple search should search current versions only
[#242 state:resolved]
@theory theory Credit where credit is due. 55a4f46
@theory theory Link to bug. c00978f
@theory theory Need `required.db` to build `modules.db`. 4c04434
@theory theory Fix test failure when PNG support not in Imager. 4c9e1af
@bretdawson bretdawson Adding the site id parameter to the OC lookup. 8dfc13b
@theory theory Fix deprecated bare `qw()`s.
Deprecated in Perl 5.14.
@theory theory Remove asset from workflow on "check in and revert".
Only when it was just fetched from the library. This was the behavior in 1.10, but was broken sometime since the by a poor selection of variable names. [#253 state:resolved]
@theory theory Add test for new `assets_count()` method.
Will be used to provide counts of assets on desks in the UI.
@theory theory Add `assets_count()` to Desk and use it for desk counts.
This is a class method that returns a hash reference mapping desk IDs to counts of assets on those desks. Desks not in the hash refernce should be considered to have 0 assets.

Using it to provide desk counts when the "Show Desk Asset Counts" preference is on. This should be *far* more efficient than the old approach of loading every asset on every desk. [#239 state:resolved]
@theory theory Save a function call for every desk. 9e72bbf
@theory theory Note improved asset count performance. 2834dc8
@theory theory Count only active assets. feae4b8
@theory theory Test that inactive assets no counted or found on desks. 58ee2b9
Commits on Aug 17, 2011
@theory theory Fix handling of publish failures in Ajax publish requests.
This fixes the half of bug #277, when one attempts to publish from a desk or workspace.

When `PUBLISH_RELATED_FAIL_BEHAVIOR = fail` and a related asset fails to publish, we now call `raise_conflict` to return a 409 and do a better job displaying *all* the appropriate error messages.

When `PUBLISH_RELATED_FAIL_BEHAVIOR = warn` and  related asset fails to publish, we call a new moethod, `show_accepted()`. This method returns a 202 status code, which I'm abusing a bit here, but it comes closest to what we want. The story properly publishes and disappears from the desk, but a new handler in the Ajax code also shows the errors when related failed to publish. I also added code to abort at the end of the Desk `publish` callback when a request is Ajax so that no other stuff gets sent back to the browser. This is because in "warn" mode, we wnt the full request to succeed, with no rollbacks or anything, and all subsequent code should execute, so that the story will properly be published and removed from workflow.

Tomorrow I'll have to figure out what to do about non-ajax publish requests in order to properly and finally fix bug # 277.
@theory theory Move fixes for Bug #277.
With `PUBLISH_RELATED_FAIL_BEHAVIOR = fail`, things work fine now when publishing via "Check in and Publish" in the story profile and when selecting that option on a desk or workflow, which is an Ajax call.

One side effect is that if the publish fails because the story itself fails to publish (rather than because a related fails), the story is instantly checked out to the user again and put back into workflow. In the interrim, the asset will have been checked in, so the result is a new version number. I think that this is a very minor issue that most folks won't even notice, and is far better than what we had, where things were checked in and sometimes removed from workflow. This is better: other than the new version, it looks like the same page as before, with all the same data, but a nice status message explaining the failure.

In order to properly catch an error when there are no destinations, that exception is now thorwn as an "invalid error" exception rather than a fatal exception. That indicates that it's something to inform the user of, rather than something unexpected (which is a 500). Looking at it, I think it was silly to have been throwing a burn error for that particular error; an invalid error is a much better choice.

Still to do to finish fixing this bug:

* Fix media to follow the same pattern.
* Make sure that `PUBLISH_RELATED_FAIL_BEHAVIOR = warn` works as expected
* Make sure that publishing from search results works as expected
* Make sure that bulk publish works as expected.
* Make sure all tests continue to pass.

[#277 state:open]
@theory theory Make media publish work the same as story publish.
More work on [#277 state:open].
@theory theory Yet more fixes for Bug #277.
Still with `PUBLISH_RELATED_FAIL_BEHAVIOR = fail`, make sure publishes that fail because realteds fail to publish works properly both from desks and from document profiles.

While at it, I filled in some other gaps in the publish logging and rollback logic in the Desk callback.

[#277 state:open]
@theory theory More Bug # 277 fixes.
This time, always die on non-ajax requests. This allows the "publish later" option on the Publish desk to throw an error and return to the same page, rather than load the scheduling page and show the error there.
@theory theory Fold $is_ajax into $allow_fail to simplify things. b8f4919
@theory theory Not fix for Bug #277. 4f53553
@gregheo gregheo Test fix; inactive works a little differently now
See: d59fc14
Commits on Aug 29, 2011
@nlegg nlegg Fixed… 2cae0e5
@theory theory Credit for fixing #282. fe7a7d5
Commits on Oct 12, 2011
Zdravko Balorda Fix #279: OC Profile Telmplate Includes list 373bea3
@theory theory Credit Zdravko [#279 state:resolved]. 4d4d18a
Commits on Dec 02, 2011
@theory theory Fix Back button when viewing an asset.
Has been broken by the HTML 5 standard, which has image inputs no longer submit their values, but their .x and .y positions. This is annoying, and more like how IE has always behaved. In [this commit](534e739) (and others like it for media nd templates), Scott fixed a bug related to get the Return button to work on the diff view. Removing that change fixes the view Return button, but breaks the Diff return button. So switch to using a very simple image link for the Diff page return button instead of the image input. That works on any browser, and so now the Return button should work properly both when viewing assets and when viewing diffs.

[#240 state:closed]
@theory theory Document fix for Bug # 240 in Changes. 338ff3f
@theory theory Nick! 5931980
@theory theory Use imageSubmit for OC and Category delete buttons.
On Firefox, at least, the image input button created by `/widgets/profile/` was causing subsequent calls to `form.submit()` to fail. For example, if you deleted a category and then hit the "Note" button, which calls `customSubmit()`, which calls `form.submit()`, the submit would fail. There would be no submit at all. I could not figure out why. Near as I can tell, hitting an image input and then not actually submitting causes the `form.submit()` DOM method to be disabled. But if you hit some other form method, it worked. NFI why.

So work around it by using an image submit link rather than input control. The functionality is the same, but does not break subsequent calls to `form.submit()` by other controls. I'm not altogether happy with this solution, but I can't see any other way around it without digging into the guts of Firefox, which I don't know at all.

Better, down the line, might be to alter the behavior of the Notes, Trail, Bulk Edit, and Diff/View buttons so that they don't do submits, but open a popover window or div. But that's a significan revision for another day (and wouldn't fix existing releases anyway, being new features).

So this will have to do.

[#281 state:closed]
@theory theory Note Notes/trail/Bulk Edit/Diff/View buttons fix. d88f990
Commits on Dec 07, 2011
@theory theory Fix drag and drop on IE9.
This is a direct hack to Prototype. The real fix is in Prototype 1.7, but I
thought it best not to throw that into the mix for a minor release. So I
updated it (and in master for 2.1.0, but just added a simple
hack for 2.0.1, borrowing code from [this bug report](

[#250 state:resolved]
Commits on Feb 06, 2012
@rafl rafl Allow processing of relative httpd.conf includes 0d6768d
@theory theory Give credit where credit is due. 6f9bbf1
Commits on Feb 07, 2012
@rafl rafl All installation variables are prefixed with BRICOLAGE_ 932720d
@theory theory Give credit where credit is due to Florian. 70f2503
Commits on Sep 02, 2013
@theory theory Remove use of bare qw() in for blocks.
Was deprecated in Perl 5.16 and made a syntax error in Perl 5.18. Resolves
Commits on Oct 14, 2013
@phillipadsmith phillipadsmith Fix for FTP message issues, per… 3e1690f
@phillipadsmith phillipadsmith Update Chagnes.pod 4fe5685
@theory theory Tweak change log. 4e253a9