[prev in list] [next in list] [prev in thread] [next in thread]
List: bricolage-devel
Subject: [Bricolage-Devel] Fwd: [Bricolage-Commits] Fix for Bug # 391.
From: David Wheeler <david () kineticode ! com>
Date: 2003-05-29 21:36:32
[Download RAW message or body]
Hi All,
Just wanted to let you know that I fixed a bug in Bricolage 1.6.0. The
issue is that image, audio, and video media documents (identified as
such by the Element Type on which the Element is defined) weren't
showing up on desktops. This affects all 1.6.0 users. I've created
patches and attached them to the bug report:
http://bugzilla.bricolage.cc/show_bug.cgi?id=391
If you're patching an existing installation, you'll want to grab the
upgrade patch, "Patch to apply to installed copy of 1.6.0", and patch
your Bricolage Perl libraries (which, if you installed Bricolage using
the "s" option for "Single installation" is somewhere in your @INC
paths, but in the $BRICOLAGE_ROOT directory for those who used the 'm'
multi install method). You might also want to run the upgrade script,
"Upgrade script for installed 1.6.0. Put in inst/upgrade/1.6.1 in
sources and run.", which you should add to your Bricolage sources (not
the installed code) and run from there.
There are a couple of other bugs that need to be looked at in Bugzilla,
but then I think it'll be time for 1.6.1. If you haven't been bothered
by the problem that this fix addresses, you might just want to wait for
1.6.1` and not worry about patching.
Regards,
David
Begin forwarded message:
> From: David Wheeler <wheeler@users.sourceforge.net>
> Date: Thu May 29, 2003 1:48:44 PM US/Pacific
> To: bricolage-commits@lists.sourceforge.net
> Subject: [Bricolage-Commits] Fix for Bug # 391.
> Reply-To: bricolage-devel@lists.sourceforge.net
>
> Log Message:
> -----------
> Fix for Bug # 391. Turned out to be a bit ugly. We had some old bogus
> member
> tables for images, audio, and video, when they all should just go into
> the
> media_member table. Grp::Parts::Member was also looking in the wrong
> place
> for member table names. All is better now, though, and all tests pass.
>
> Modified Files:
> --------------
> /cvsroot/bricolage/bricolage/lib/Bric:
> Tag:
> rev_1_6
> Changes.pod
> /cvsroot/bricolage/bricolage/lib/Bric/Util/Grp:
> Tag:
> rev_1_6
> Asset.pm
> Org.pm
> /cvsroot/bricolage/bricolage/lib/Bric/Util/Grp/Parts:
> Tag:
> rev_1_6
> Member.pm
> /cvsroot/bricolage/bricolage/sql/Pg/Bric/Biz/Asset/Business:
> Tag:
> rev_1_6
> Media.sql
> Media.con
>
> Added Files:
> -----------
> /cvsroot/bricolage/bricolage/inst/upgrade/1.6.1:
> Tag:
> rev_1_6
> del_media_subclass_member_tables.pl
["wheeler-2003529204844-diff.txt" (wheeler-2003529204844-diff.txt)]
Index: Asset.pm
===================================================================
RCS file: /cvsroot/bricolage/bricolage/lib/Bric/Util/Grp/Asset.pm,v
retrieving revision 1.8.2.1
retrieving revision 1.8.2.2
diff -u -w -d -r1.8.2.1 -r1.8.2.2
--- Asset.pm 15 Mar 2003 03:59:49 -0000 1.8.2.1
+++ Asset.pm 29 May 2003 20:48:38 -0000 1.8.2.2
@@ -284,9 +284,9 @@
return { &STORY_PKG => 'story',
&MEDIA_PKG => 'media',
&FORMAT_PKG => 'formatting',
- &AUDIO_PKG => 'audio',
+ &AUDIO_PKG => 'media',
&IMAGE_PKG => 'media',
- &VIDEO_PKG => 'video'
+ &VIDEO_PKG => 'media'
}
}
Index: Org.pm
===================================================================
RCS file: /cvsroot/bricolage/bricolage/lib/Bric/Util/Grp/Org.pm,v
retrieving revision 1.7.2.1
retrieving revision 1.7.2.2
diff -u -w -d -r1.7.2.1 -r1.7.2.2
--- Org.pm 15 Mar 2003 03:59:50 -0000 1.7.2.1
+++ Org.pm 29 May 2003 20:48:38 -0000 1.7.2.2
@@ -122,7 +122,7 @@
sub get_supported_classes { { 'Bric::Biz::Org' => 'org',
'Bric::Biz::Org::Source' => 'org',
- 'Bric::Biz::Org::Person', => 'person' } }
+ 'Bric::Biz::Org::Person', => 'org' } }
##############################################################################
Index: Changes.pod
===================================================================
RCS file: /cvsroot/bricolage/bricolage/lib/Bric/Changes.pod,v
retrieving revision 1.256.2.58
retrieving revision 1.256.2.59
diff -u -w -d -r1.256.2.58 -r1.256.2.59
--- Changes.pod 27 May 2003 19:19:17 -0000 1.256.2.58
+++ Changes.pod 29 May 2003 20:48:37 -0000 1.256.2.59
@@ -97,6 +97,12 @@
Fixed event logging for element fields. [David]
+=item *
+
+Media assets that are based on "Image", "Audio", and "Video" element types now
+properly show up on desks. Note that existing media assets missing from desks
+should be checked out via "Active Media" and moved to a new desk. [David]
+
=back
=head1 VERSION 1.6.0
Index: Member.pm
===================================================================
RCS file: /cvsroot/bricolage/bricolage/lib/Bric/Util/Grp/Parts/Member.pm,v
retrieving revision 1.14.4.1
retrieving revision 1.14.4.2
diff -u -w -d -r1.14.4.1 -r1.14.4.2
--- Member.pm 25 May 2003 19:13:15 -0000 1.14.4.1
+++ Member.pm 29 May 2003 20:48:39 -0000 1.14.4.2
@@ -1255,14 +1255,18 @@
# we can create a joined query!
if ($force) {
# All members are in one member table
- my $member_table = _get_member_table( { id => $force } );
+ my $member_table =
+ _get_member_table({ grp_pkg => $param->{grp_package},
+ id => $force });
push @objs,
_do_joined_select( $class, $member_table, $grp_id, $object_id,
$param->{all}, $ids );
}
else {
foreach ( keys %$supported ) {
- my $member_table = _get_member_table( { pkg_name => $_ } );
+ my $member_table =
+ _get_member_table({ grp_pkg => $param->{grp_package},
+ pkg_name => $_ });
push @objs,
_do_joined_select(
@@ -1275,7 +1279,9 @@
}
else {
if ( $package && $object_id ) {
- my $member_table = _get_member_table( { pkg_name => $package } );
+ my $member_table =
+ _get_member_table({ grp_pkg => $param->{grp_package},
+ pkg_name => $package });
push @objs,
_do_joined_select( $class, $member_table, $grp_id, $object_id,
@@ -1309,7 +1315,12 @@
}
sub _get_member_table {
- return Bric::Util::Class->lookup(shift)->get_key_name . '_member';
+ my $params = shift;
+ my $grp_pkg = delete $params->{grp_pkg};
+ my $pkg = $params->{pkg_name} ||
+ Bric::Util::Class->lookup($params)->get_pkg_name;
+ my $short = $grp_pkg->get_supported_classes->{$pkg};
+ return $short . '_member';
}
sub _do_joined_select {
@@ -1419,12 +1430,10 @@
=cut
sub _get_map_table_name {
- my ($self) = @_;
-
- my ( $cid, $pkg ) = $self->_get(qw(_object_class_id object_package));
- my $short =
- Bric::Util::Class->lookup( { id => $cid, pkg_name => $pkg } )
- ->get_key_name;
+ my $self = shift;
+ my ($cid, $pkg, $grp) =
+ $self->_get(qw(_object_class_id object_package grp));
+ my $short = $grp->get_supported_classes->{$pkg};
return $short . '_member';
}
Index: Media.sql
===================================================================
RCS file: /cvsroot/bricolage/bricolage/sql/Pg/Bric/Biz/Asset/Business/Media.sql,v
retrieving revision 1.3
retrieving revision 1.3.2.1
diff -u -w -d -r1.3 -r1.3.2.1
--- Media.sql 7 Mar 2003 05:26:41 -0000 1.3
+++ Media.sql 29 May 2003 20:48:39 -0000 1.3.2.1
@@ -21,10 +21,6 @@
-- Unique IDs for the media_member table
CREATE SEQUENCE seq_media_member START 1024;
-CREATE SEQUENCE seq_image_member START 1024;
-CREATE SEQUENCE seq_audio_member START 1024;
-CREATE SEQUENCE seq_video_member START 1024;
-
CREATE SEQUENCE seq_media_fields START 1024;
-- Unique IDs for the attr_media table
@@ -167,50 +163,6 @@
);
--- -----------------------------------------------------------------------------
--- Table: image_member
---
--- Description: The link between image objects and member objects
---
-
-CREATE TABLE image_member (
- id NUMERIC(10,0) NOT NULL
- DEFAULT NEXTVAL('seq_image_member'),
- object_id NUMERIC(10,0) NOT NULL,
- member__id NUMERIC(10,0) NOT NULL,
- CONSTRAINT pk_image_member__id PRIMARY KEY (id)
-);
-
-
--- -----------------------------------------------------------------------------
--- Table: audio_member
---
--- Description: The link between audio objects and member objects
---
-
-CREATE TABLE audio_member (
- id NUMERIC(10,0) NOT NULL
- DEFAULT NEXTVAL('seq_audio_member'),
- object_id NUMERIC(10,0) NOT NULL,
- member__id NUMERIC(10,0) NOT NULL,
- CONSTRAINT pk_audio_member__id PRIMARY KEY (id)
-);
-
--- -----------------------------------------------------------------------------
--- Table: video_member
---
--- Description: The link between video objects and member objects
---
-
-CREATE TABLE video_member (
- id NUMERIC(10,0) NOT NULL
- DEFAULT NEXTVAL('seq_video_member'),
- object_id NUMERIC(10,0) NOT NULL,
- member__id NUMERIC(10,0) NOT NULL,
- CONSTRAINT pk_video_member__id PRIMARY KEY (id)
-);
-
-
-- Table: attr_media
--
-- Description: A table to represent types of attributes. A type is defined by
@@ -295,18 +247,6 @@
-- media_member.
CREATE INDEX fkx_media__media_member ON media_member(object_id);
CREATE INDEX fkx_member__media_member ON media_member(member__id);
-
--- image_member.
-CREATE INDEX fkx_image__image_member ON image_member(object_id);
-CREATE INDEX fkx_member__image_member ON image_member(member__id);
-
--- audio_member.
-CREATE INDEX fkx_audio__audio_member ON audio_member(object_id);
-CREATE INDEX fkx_member__audio_member ON audio_member(member__id);
-
--- video_member.
-CREATE INDEX fkx_video__video_member ON video_member(object_id);
-CREATE INDEX fkx_member__video_member ON video_member(member__id);
-- Unique index on subsystem/name pair
CREATE UNIQUE INDEX udx_attr_media__subsys__name ON attr_media(subsys, name);
Index: Media.con
===================================================================
RCS file: /cvsroot/bricolage/bricolage/sql/Pg/Bric/Biz/Asset/Business/Media.con,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -w -d -r1.1 -r1.1.4.1
--- Media.con 2 Feb 2003 19:46:46 -0000 1.1
+++ Media.con 29 May 2003 20:48:39 -0000 1.1.4.1
@@ -67,19 +67,6 @@
REFERENCES member(id) ON DELETE CASCADE;
-- -----------------------------------------------------------------------------
--- Table: image_member
-
-ALTER TABLE image_member
-ADD CONSTRAINT fk_image__image_member FOREIGN KEY (object_id)
-REFERENCES media(id) ON DELETE CASCADE;
-
-ALTER TABLE image_member
-ADD CONSTRAINT fk_member__image_member FOREIGN KEY (member__id)
-REFERENCES member(id) ON DELETE CASCADE;
-
-
-
--- -----------------------------------------------------------------------------
-- Table: attr_media
-- -----------------------------------------------------------------------------
--- NEW FILE: del_media_subclass_member_tables.pl ---
#!/usr/bin/perl -w
use strict;
use FindBin;
use lib "$FindBin::Bin/../lib";
use bric_upgrade qw(:all);
# We should never have used the image, audio, and video member tables.
foreach my $key (qw(image audio video)) {
do_sql
qq{DROP TABLE $key\_member},
qq{DROP SEQUENCE seq_$key\_member}
;
}
1;
__END__
>
--
David Wheeler AIM: dwTheory
david@kineticode.com ICQ: 15726394
http://kineticode.com/ Yahoo!: dew7e
Jabber: Theory@jabber.org
Kineticode. Setting knowledge in motion.[sm]
-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
Bricolage-Devel mailing list
Bricolage-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bricolage-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic