Mailing List Archive

stories losing their workflow -- more info
I don't recall if this was fixed or not because I haven't been reading
every e-mail, but I think I have found a way to reproduce the problem of
stories losing their workflow / desk association. I've done it twice in
a row now with the same result.



I should note that the system was performing no other actions during
this test.



Check out a story from the shelf

Immediately check it into the second desk of a workflow (not sure the
order of desk matters one iota, but that's what I did)

Navigate to that desk and check out the story again, stay on the edit
screen, don't log out or anything

RESTART BRICOLAGE

Check the story into the SHELF

At this point in my system, I still see the story on my workspace where
it doesn't belong - this indicates that the story and workflow
attributes are now pointing to a different location for the story



Refreshing my workspace page, I get the following warnings confirming
the mixup.



Warning: object "Pompeii and the Roman Villa: Art and Culture around the
Bay of Naples" had no associated workflow. It has been assigned to the
"Audio Tours" workflow

Warning: object "Pompeii and the Roman Villa: Art and Culture around the
Bay of Naples" had no associated desk. It has been assigned to the
"Audio: Draft" desk.

At this point, if I log in as another user and check out the story, then
check it back into the shelf, all is well. However, if I check out the
story as the same user, the mismatch is retained.





For debugging purposes, it would be helpful to know if others can
replicate this. I'm thinking it has something to do with caching, but
that's just a hunch.



- Dave B.
Re: stories losing their workflow -- more info [ In reply to ]
On Apr 3, 2009, at 7:12 AM, Beaudet, David wrote:

> Check out a story from the shelf
>
> Immediately check it into the second desk of a workflow (not sure the
> order of desk matters one iota, but that's what I did)
>
> Navigate to that desk and check out the story again, stay on the edit
> screen, don't log out or anything
>
> RESTART BRICOLAGE
>
> Check the story into the SHELF
>
> At this point in my system, I still see the story on my workspace
> where
> it doesn't belong - this indicates that the story and workflow
> attributes are now pointing to a different location for the story

I don't.

> Refreshing my workspace page, I get the following warnings confirming
> the mixup.

I don't.

> At this point, if I log in as another user and check out the story,
> then
> check it back into the shelf, all is well. However, if I check out
> the
> story as the same user, the mismatch is retained.
>
> For debugging purposes, it would be helpful to know if others can
> replicate this. I'm thinking it has something to do with caching, but
> that's just a hunch.

I can't replicate it with a fresh install of rev_1_10; can you send in
your bricolage.conf?

Thanks,

David
RE: stories losing their workflow -- more info [ In reply to ]
> I can't replicate it with a fresh install of rev_1_10; can you send in
> your bricolage.conf?


# Apache Settings. APACHE_BIN is the location of the Apache server
executable,
# and APACHE_CONF is the location of the Apache configuration file.
# LISTEN_PORT is the port on which Bricolage will listen for
connections. You
# must also tell Apache to listen on this port in the configuration file
# specified in APACHE_CONF (using Listen, Port, or BindAddress).
SSL_ENABLE
# defines the type of SSL support available (Off, mod_ssl, apache_ssl).
# SSL_PORT defines the port on which Bricolage will listen for https
# server. It defaults to 443. ALWAYS_USE_SSL is disabled if not
specified. It
# forces Bricolage to always use SSL for user connections and does not
give
# the user the option of just using SSL for login. NAME_VHOST is the IP
# address on which the virtual host name specified in the
VHOST_SERVER_NAME
# directive will respond. If you change the LISTEN_PORT and/or SSL_PORT
# numbers, remember to also change them in httpd.conf and vice versa.

APACHE_BIN = /usr/local/apache/bin/httpd
APACHE_CONF = /usr/local/bricolage/conf/httpd.conf
LISTEN_PORT = 80
#SSL_ENABLE = Off
SSL_ENABLE = mod_ssl
SSL_PORT = 443
#ALWAYS_USE_SSL = No
ALWAYS_USE_SSL = Yes
SSL_CERTIFICATE_KEY_FILE = /usr/local/apache/conf/ssl.key/my.key
SSL_CERTIFICATE_FILE = /usr/local/apache/conf/ssl.crt/my.crt
NAME_VHOST = *
VHOST_SERVER_NAME = myhost.example.com

# Apache configuration method. As of mod_perl 1.27, Bricolage uses
# Apache::ReadConfig to configure the httpd daemon. There is no httpd
include
# file. If you wish to revert to the old method or manually configure
your
# httpd daemon, set this flag to generate
$TEMP_DIR/bricolage/bric_httpd.conf.
# If no changes are made to $BRICOLAGE_ROOT/conf/httpd.conf, then this
file
# will be automatically included on each startup by the last line of the
# "PerlModule Bric::App::ApacheConfig" directive. If this line is
changed to
# "PerlModule Bric::App::ApacheStartup", then only the contents of
# $BRICOLAGE_ROOT/conf/httpd.conf file will be passed to the httpd
daemon.

MANUAL_APACHE = No

# System User settings. These are the names of the system user and group
under
# which Apache and Mason run. Default to 'nobody' and 'nobody' if not
# specified.

SYS_USER = bric
SYS_GROUP = bric

# Database settings. These are simply the name of the database in which
all
# Bricolage data will be stored, the hostname and port for for the
server on
# which the database is hosted, and the username and password the
application
# can use to access that data. DB_NAME defaults to 'sharky', DB_HOST and
# DB_PORT both default to null values (whatever the driver uses for the
# default will be used), DBI_USER defaults to 'castellan', and DBI_PASS
# defaults to 'nalletsac'

DB_NAME = bricdatabase
# DB_HOST = localhost
# DB_PORT = 5432
DBI_USER = bricuser
DBI_PASS = redacted

# Temp Directory. This directory will be used to store Bricolage's cache
and
# session files.

TEMP_DIR = /usr/local/bricolage/tmp

# Mason settings. These specify the location of the Bricolage UI Mason
# components. The defaults are the $BRICOLAGE_ROOT/comp for
MASON_COMP_ROOT
# and $BRICOLAGE_ROOT/data for MASON_DATA_ROOT, where $BRICOLAGE_ROOT is
an
# environment variable set before starting the application.
$BRICOLAGE_ROOT
# defaults to '/usr/local/bricolage' if it's not set, so if you have
Bricolage
# installed in a different location, be sure to set the BRICOLAGE_ROOT
# environment variable before you do anything! Also be sure that these
# directories exist on the file system and that SYS_USER specified above
has
# permission to write to them. MASON_STATIC_SOURCE turns on Mason's
static
# sourcing. We recommend enabling this directive in production
environments.

MASON_COMP_ROOT = /usr/local/bricolage/comp
MASON_DATA_ROOT = /usr/local/bricolage/data
MASON_STATIC_SOURCE = No

# Burner settings. The BURN_ROOT directive specifies the location of
Bricolage
# templates and the files output upon publishing or previewing content.
The
# default is MASON_DATA_ROOT/burn. The INCLUDE_XML_WRITER directive
causes the
# Bricolage burn system to create and include an XML::Writer object as a
# global in the template name space. The default is not to include the
# XML::Writer object. The XML_WRITER_ARGS directive passes arguments to
the
# instantiation of the XML::Writer object, should INCLUDE_XML_WRITER be
# switched on. All the arguments specified by the XML::Writer
documentation
# for the new() method may be used except the OUTPUT argument, which
Bricolage
# handles so that the output is sent to the same place as template Mason
code
# sends its content. Defaults to no arguments if unspecified. The
directive
# MASON_INTERP_ARGS AND TT_OPTIONS are similar to XML_WRITER_ARGS except
that
# the arguments are passed to the Mason interpreter instantiated when
burning
# a story with the Mason burner or the Template object instantiated when
# burning a story with the Template Toolkit burner, respectively.

BURN_ROOT = /usr/local/bricolage/data/burn
INCLUDE_XML_WRITER = No
XML_WRITER_ARGS = NEWLINES => 1, UNSAFE => 1, DATA_MODE => 1,
DATA_INDENT => 4
# MASON_INTERP_ARGS =
# TT_OPTIONS = PRE_CHOMP => 1, POST_CHOMP => 1, TRIM => 1

# Authentication settings. AUTH_TTL is the amount of time, in seconds, a
user
# is allowed to be idle before he/she is automatically logged out. The
default
# is 8 hours (28800 seconds). AUTH_SECRET is a random string that's used
to
# encrypt the authentication cookie information in a double-MD5 hashing
# scheme. It's a good idea to change this value periodically so that
anyone
# who might have seen it before can't reverse-engineer the
authentication
# cookie. AUTH_ENGINES is a space-delimited list of the authentication
engines
# to use when a user logs in. Each engine will be tried in the order
listed.
# Possible values are "Internal" and "LDAP". The default is "Internal".
The
# LOGIN_LENGTH and PASSWD_LENGTH settings specify the minimum length of
a user
# login as well as the minimum length of a user password. Both default
to "5"
# if they're not specified.

AUTH_TTL = 28800 # Seconds.
AUTH_SECRET = randomstringgoeshere
AUTH_ENGINES = Internal
AUTH_APACHE_TRIM = @example.com
LOGIN_LENGTH = 5
PASSWD_LENGTH = 5

# LDAP settings. If "ldap" is one of the options in the AUTH_ENGINES
# directive, then you'll need to configure LDAP authentication.
LDAP_SERVER is
# the host name or IP address of the LDAP server, while LDAP_VERSION is
the
# version of LDAP supported by the server.. If LDAP_USER and LDAP_PASS
have
# values other than "0", they will be used to connect to the LDAP server
to
# search for the user. Otherwise, Bricolage will bind as an anonymous
user.
# LDAP_BASE is the DN that will be used as the base for the search for
the
# user. LDAP_UID_ATTR identifies the attribute of the LDAP record that
# contains the user name. Set LDAP_FILTER to a an extra filter for
searching
# for the user record. If you want to allow only the members of a
particular
# group to access Bricolage, set LDAP_GROUP to the DN of the group, and
set
# LDAP_MEMBER_ATTR so the name of the attribute identifying each member
of the
# group. Enable LDAP_TLS if your LDAP server supports TLS and you wish
to use
# encrypted connections, and then set LDAP_SSL_VERSION to the version of
SSL
# supported by your LDAP server.

# LDAP_SERVER = localhost
# LDAP_VERSION = 3
# LDAP_USER = 0
# LDAP_PASS = 0
# LDAP_BASE = ou=Users,dc=example,dc=com
# LDAP_UID_ATTR = uid
# LDAP_FILTER = (objectclass=*)
# LDAP_GROUP = cn=Bricolage,ou=Group,dc=example,dc=com";
# LDAP_MEMBER_ATTR = uniqueMember
# LDAP_TLS = No
# LDAP_SSL_VERSION = 3


# Distribution settings. ENABLE_DIST, if set to 'yes' or 'on' or '1',
tells
# the API that the distribution engine can distribute resources within
the
# local application process. If ENABLE_DIST is any other value, it is
assumed
# that the distribution Engine is running elsewhere. The default is '1'
if
# ENABLE_DIST is unspecified. DIST_ATTEMPTS tells the distribution
engine how
# many times to attempt to distribute a resource before giving up. The
default
# is 3. PREVIEW_LOCAL tells Bricolage to preview stories from its own
Apache
# process. If set to 'yes' or 'on' or '1', it will use its own process
for
# previewing. Otherwise, it will use a server from a destination with
the
# "Preview" checkbox checked for previews.
#
# If PREVIEW_LOCAL is active, you must be sure that SYS_USER has write
access
# to MASON_COMP_ROOT/data/preview. The default is "1". PREVIEW_MASON
tells
# Bricolage to use Mason for local previews. Only enable this directive
if
# the files you create with your Templates contain Mason code. This
directive
# has no effect unless PREVIEW_LOCAL is active. Disabled by
# default. DEF_MEDIA_TYPE designates the default media type for assets
where
# Bricolage cannot ascertain the media type. Defaults to "text/html" if
not
# specified.
#
# Set ENABLE_SFTP_MOVER or ENABLE_WEBDAV_MOVER to 'yes' or 'on' or 1, to
tell
# the API that the distribution engine can distribute resources by SFTP
or by
# the WebDAV protocol. Both are disabled by default. Using either the
SFTP or
# the WebDAV mover requires some manual installation; perldoc
Bric::Admin for
# details. If you enable SFTP, set SFTP_HOME to a directory containing
your
# SSH keys and with permisssions appropriate for SYS_USER to access.
Setting
# ENABLE_SFTP_V2 to 'yes' will cause the SFTP mover to try SSH protocol
2
# before protocol 1; otherwise, it first tries protocol 1. Setting
# SFTP_MOVER_CIPHER will force the SFTP mover to use that cipher when
# distributing resources via SFTP. Consult the Net::SSH::Perl
documentation
# for a current list of ciphers. If it is set to 0, the default cipher
will be
# used.
#
# QUEUE_PUBLISH_JOBS tells Bricolage to drop all jobs into the
Distribution
# queue on publish, rather than trying to run them immediately, which is
the
# default.
#
# FTP_UNLINK_BEFORE_MOVE must be set to Yes for some FTP servers (e.g.
# pure-ftpd has been reported to need this) to correctly handle uploads
of
# already existing files: when publishing via FTP, Bricolage first
creates a
# temporary file, than moves this temp file over the existing, older
file,
# overwriting it. Some servers do not support renaming to existing
files, so
# the original one must be deleted first.

ENABLE_DIST = Yes
DIST_ATTEMPTS = 3
PREVIEW_LOCAL = No
PREVIEW_FRAME = 0
PREVIEW_MASON = No
DEF_MEDIA_TYPE = text/html
ENABLE_SFTP_MOVER = Yes
SFTP_HOME = /home/bric
ENABLE_SFTP_V2 = Yes
#SFTP_MOVER_CIPHER = 0
SFTP_MOVER_CIPHER = blowfish-cbc
ENABLE_WEBDAV_MOVER = No
QUEUE_PUBLISH_JOBS = No
FTP_UNLINK_BEFORE_MOVE = Yes

# Alert Settings. ALERT_FROM is the email address that will appear in
the
# 'From' header of alerts emailed to users. ALERT_TO_METH specifies
which
# header to use for identifying alert recipients. Use 'to' if you want
# everyone who receives the same alert to see who else received it. Use
'bcc'
# if you don't want anyone to see who else got an alert, or if you just
want
# to save the bandwidth. Defaults to 'bcc'.

ALERT_FROM = webmaster@localhost
ALERT_TO_METH = bcc # Can also be 'to'

# SMTP setting. This is just the address for an SMTP server through
which alerts
# can be sent. Defaults to "localhost" if not specified.

SMTP_SERVER = localhost

# Child process size-limits. These settings determine how often the size
of an
# Apache child process is checked, before its mortality is questioned,
and how
# large it may grow before it is killed. Processes that grow to be
larger than
# MAX_PROCESS_SIZE will be killed after CHECK_FREQUENCY requests are
handled
# by said process. MIN_SHARE_SIZE Indicates the minimum amount of shared
# memory the process must employ to not be considered a candidate for
# termination. MAX_UNSHARED_SIZE Sets a limit on the amount of unshared
memory
# a process may consume to not be a candidate for termination. Set
# MIN_SHARE_SIZE or MAX_UNSHARE_SIZE to "No" or "Off" or "0" to disable
either
# respective test. See the Apache::SizeLimit manpage for additional
info. All
# sizes are in KB.

CHECK_PROCESS_SIZE = No
MAX_PROCESS_SIZE = 56000
CHECK_FREQUENCY = 1
MIN_SHARE_SIZE = 0
MAX_UNSHARED_SIZE = 0

# Full search setting. By default, Bricolage looks for search strings in
the
# database only at the beginning of the fields. The reason for this is
that,
# if it looks for the search string anywhere within the result fields,
it
# cannot use any database indexes, and therefore could be much slower.
But it
# depends on how many records there are. Set this configuration
directive to
# "On" or "Yes" or "1" if you wish to enable the slower subsearch
approach --
# if, for example, you don't have many records in your database.

FULL_SEARCH = No

# Workflow desk transfers. By default, a desk that is shared between
workflows
# appears in both workflows, but any asset on that desk can only be
transfered
# to other desks in the workflow from which the asset originated. To
allow
# assets to optionally be able to move to desks in any of the workflows
a desk
# is a member of, set this directive to "Yes", "On" or "1".

ALLOW_WORKFLOW_TRANSFER = No

# Workflow desk permission enforcement. By default, a
non-administrative user's
# permissions on an asset are determined by taking the highest
permission available on
# any permissionable aspect of the asset (category, element type, etc.),
# including permissions on the assets current desk within a workflow. A
side
# effect of this highly trusting and collaborative approach is that a
user can
# search for and edit an asset with the "Find" feature even though the
user has
# no permission to the assets current desk. Some customers might prefer
to enforce
# the workflow permissions separately from asset permissions, thereby
taking the
# LESSER of the highest permission allowed by the asset and the hightest

# permission allowed by the desk in the assets current workflow. This
provides an
# effective way to 'protect' an asset once it reaches a certain desk.
# To enable this feature, set this directive to "Yes", "On", or "1".

ENFORCE_DESK_PERMS_DISTINCTLY = Yes

# All Sites context. By default, users must select a site context from
the
# menu in their UI, and they will see the workflows for that site only
in the
# side navigation. If this option is set to "Yes", "On", or "1", then
another
# option will be added to the site context menu, allowing them to see
the
# workflows for all the sites to which they have at least READ
permission.

ALLOW_ALL_SITES_CX = No

# These directives enable you to control how many years before and after
the
# current year to display in the list of years in the date and time
select
# widget. The default values are 10 for each, meaning that if the
current year
# is 2003, then the date span will be from 1993 to 2013.

YEAR_SPAN_BEFORE = 10
YEAR_SPAN_AFTER = 10

# RELATED_MEDIA_UPLOAD allows users to upload media files directly into
a
# related element profile if they have permission to create media and to
# access a media workflow.

RELATED_MEDIA_UPLOAD = Yes

# Output Channel file naming settings. All files burned to the file
system
# must be named (of course!), and they're named for the "File Name" and
"File
# Extension" properties of the Output Channel they're getting burned to.
You
# can give these properties whatever values you want (as long as they're
legal
# on your file system!), but here you can set some defaults that all
Output
# channels will start with. DEFAULT_FILENAME will default to "index" and
# DEFAULT_FILE_EXT will default to "html" if you don't set them here.

DEFAULT_FILENAME = index
DEFAULT_FILE_EXT = html

# Publishing settings. Set PUBLISH_RELATED_ASSETS to no/off/0 so that,
# when publishing from a publish desk, related assets will not be
# published. Defaults to 'yes'.

PUBLISH_RELATED_ASSETS = Yes

# When PUBLISH_RELATED_ASSETS is enabled, the publish process will fail
if any
# of the related assets cannot be published automatically, due to being
# checked out or not on a publish desk. If you want the process to just
supply
# warnings but allow the publish then set PUBLISH_RELATED_FAIL_BEHAVIOR
to
# "warn" rather than "fail".

PUBLISH_RELATED_FAIL_BEHAVIOR = fail

# Output Channel asset association. Story and Media profiles contain an
# 'Output Channels' section which lets you associate output channels
# with a particular story or media object, separate from the association
# set in the Element profile for all stories or media of that type.
# Setting this directive to Off will remove the 'Output Channels'
section,
# and thus remove the ability to associate OCs to individual assets.
# On by default.

ENABLE_OC_ASSET_ASSOCIATION = Yes

# Business Asset save callback. If defined, the method below will be
invoked
# every time any business asset is saved. This provides a mechanism
for developers
# to hook into the asset save process without having to tweak the
bricolage
# source tree
BIZASSET_SAVE_CB = NGAWWW::cacheEventScheduleOnSave

# Output Channel URI format. Occasionally it may be required to allow
the uri
# of Output Channels not have a %{categories} section. This is not the
# recommended behavior and should be used with caution if required.

ALLOW_URIS_WITHOUT_CATEGORIES = No

# Relateds POD Tag. This directive controls the type of related media
and
# related story POD tags that will be generated by the
C<serialize_to_pod()>
# method of Bric::Biz::Element::Container and therefore the "Bulk Edit"
# interface in the UI. The tags have the format of '=related_story_*' or
# '=related_media_*', where "*" is drawn from this directive and can be
any
# one of: "uuid", "uri", "url", or "id". Defaults to "uuid."

RELATED_DOC_POD_TAG = uuid

# URI setting. Enable this directive if you wish for story URIs to
always
# include their file names. This is useful for allowing stories to be in
the
# same category and date but have different file names and still be
# unique. Disabled by default and not generally recommended.

STORY_URI_WITH_FILENAME = Yes

# Story slugs. Disable ALLOW_SLUGLESS_NONFIXED if you want to prevent
# non-fixed (i.e. non-Cover) stories from being slugless. Enabled by
default.
# Enable AUTOGENERATE_SLUG if you want new stories without a slug to
have
# a slug automatically generated from the title. Note that if you enable
# AUTOGENERATE_SLUG, you won't be able to create a new slugless story,
but
# you can later set it to slugless (assuming it doesn't cause a URI
conflict).
# Disabled by default.

ALLOW_SLUGLESS_NONFIXED = No
AUTOGENERATE_SLUG = No

# old output channel "uri format" used to be:
/%{categories}/%Y/%m/%d/%{slug}/
# and "fixed uri format" used to be: /%{categories}/

# Template loading. Add a line of arbitrary perl code to this directive,
and
# that code will be executed at startup time in the context of your
templates.
# That is, if any of the code you add here exports functions or
variables,
# they'll be available in your Mason, Template Toolkit, and PHP
templates.

PERL_LOADER = use HTML::Entities; use Bric::Util::Burner qw(:modes); use
Schedule; use NGAWWW;
# PERL_LOADER = use HTML::Entities; use Bric::Util::Burner
qw(:modes);

# FTP settings. ENABLE_FTP_SERVER enables the Bricolage virtual server,
which
# can be used to edit, update, and deploy templates by uploading them
via
# FTP. This requires running the bin/bric_ftpd script, as well. Disabled
by
# default. FTP_DEPLOY_ON_UPLOAD forces the FTP server to deploy
templates as
# soon as they're uploaded to the FTP server. By default, this is not
the
# behavior; temlates are simply put into the user's workspace and
template
# sandbox when uploaded, unless they're uploaded with ".deploy" appended
to
# their file names. Assign an IP address to FTP_ADDRESS to force the FTP
# server to listen only on that address; by default the FTP server will
listen
# on all local IP addresses. FTP_PORT is the port that the FTP server
will
# listen on. Defaults to 2121 if not specified. FTP_DEBUG forces the FTP
# server to write a lote of debugging data to its log. Enable this
directive
# and tail the log if your FTP server is acting up. FTP_LOG specifies
the
# location of the FTP log. Defaults to $BRICOLAGE_ROOT/ftp.log if not
# specified. FTP_PID_FILE specifies the location of the file storing the
FTP
# server's PID, which will then be used to shut down the FTP server.
Defaults
# to $BRICOLAGE_ROOT/ftp.pid if not specified. For more information on
the
# Bricolage virtual FTP server, perldoc Bric::Admin and bric_ftpd.

ENABLE_FTP_SERVER = Yes
FTP_DEPLOY_ON_UPLOAD = No
#FTP_ADDRESS = 127.0.0.1
FTP_PORT = 2100
FTP_DEBUG = No
FTP_LOG = /usr/local/bricolage/log/ftp.log
FTP_PID_FILE = /tmp/bricolage_ftp_daemon.pid

# Category browser setting. Enabling this directive makes the Media and
Story
# profiles use the category browser. This is useful if you have a lot of
# categories, so they won't all be loaded into a big select list each
time you
# edit a Media or Story document. It also simplifies changing a
category.
# Disabled by default.

ENABLE_CATEGORY_BROWSER = No

# Content compression setting. Enabling this directive makes the
Bricolage UI
# Apache process use mod_gzip to compress the UI pages. This leads to a
# significant reduction in page size (five to fifteen times), which is
good
# especially if users work over the Internet rather than only a LAN.
# Disabled by default.

ENABLE_GZIP = No

# Tell Bricolage which languages and character sets to pre-load. If you
plan
# on using multiple languages and/or character sets, you can save some
memory
# by pre-loading them at server startup. Otherwise, they will be loaded
on
# demand. Multiple entries should be separated by spaces.

LOAD_LANGUAGES = en_us
LOAD_CHAR_SETS = UTF-8

# Tell Bricolage which time zones to pre-load. If you plan to use any
time
# zones other than UTC, you can save some memory by pre-loading them at
# server startup. Otherwise, they will be loaded on # demand. Multiple
entries
# should be separated by spaces.

LOAD_TIME_ZONES = UTC
#LOAD_TIME_ZONES = EST5EDT

##
## MEDIA CONFIGURATION
##

# AUTO_PREVIEW_MEDIA determines whether files uploaded to
# Media documents are automatically distributed to all relevant preview
# servers when the media document is saved, or whether they must be
previewed
# manually after they're uploaded.
#
# MEDIA_UNIQUE_FILENAME tells Bricolage to assign system-wide unique
names to
# media files. When this directive is enabled Bricolage will generate a
unique
# eight-character MD5 hash for the file name instead of the file name as
# uploaded. The file name suffix will be retained as it was loaded.
#
# MEDIA_FILENAME_PREFIX specifies that all file names have a prefix
prepended
# to their file names.
#
# MEDIA_UPLOAD_LIMIT sets a Media upload file size limit. Set it to a
number,
# so that no files larger than that number of kilobytes can be
# uploaded. Defaults to 0, which means no limit.

AUTO_PREVIEW_MEDIA = No
MEDIA_UNIQUE_FILENAME = No
# MEDIA_FILENAME_PREFIX =
MEDIA_UPLOAD_LIMIT = 0

# Use thumbnails when displaying search results of media that are
"Image"
# types. This will result in the first column of the results having a
# thumbnail displayed in it with the longest side being set to
THUMBNAIL_SIZE.
# Note that this requires the Perl module Imager to be installed from
CPAN and
# the relevant image library for each format you wish to display; gifs
require
# giflib, jpeg requires libjpeg, png requires libpng, etc. Consult
Imager's
# README for more information.

USE_THUMBNAILS = No
THUMBNAIL_SIZE = 75

##
## WYSIWYG CONFIGURATION
##

# Bricolage supports several "what you see is what you get" (WYSIWYG)
text
# editors, which can be used in place of traditional textareas. These
fields
# allow word processor-like editing, but introduce HTML formatting into
the
# content, which some consider to be a Bad Thing. Due to the licenses
of these
# editors, you will need to download and install (read: untar) the
editors
# yourself. Download the latest version from the URLs below and extract
them
# into the corresponding folders.
#
# The currently supported editors are "htmlArea" (discontinued) and
# "Xinha" (recommended). Each editor has configuration options below.
#
# Xinha - Download: http://www.xinha.org/
# Unzip into: comp/media/wysiwyg/xinha/
#
# htmlArea - Download: http://www.dynarch.com/projects/htmlarea/
# Unzip into: comp/media/wysiwyg/htmlarea/

ENABLE_WYSIWYG = Yes
WYSIWYG_EDITOR = Xinha # or "htmlArea"

#
# Xinha Configuration
#

# Available Xinha plugins (must appear on one line):
# ['CharacterMap','ContextMenu','FullScreen','ListType','SpellChecker',
# 'Stylist','SuperClean','TableOperations']

#XINHA_PLUGINS = ['SpellChecker']
XINHA_PLUGINS = []

# Available Xinha toolbar buttons (must appear on one line):
# [
# ["popupeditor","separator"],
#
["formatblock","fontname","fontsize","bold","italic","underline","strike
through","separator"],
# ["forecolor","hilitecolor","textindicator","separator"],
# ["subscript","superscript"],
#
["linebreak","justifyleft","justifycenter","justifyright","justifyfull",
"separator"],
#
["insertorderedlist","insertunorderedlist","outdent","indent","separator
"],
#
["inserthorizontalrule","createlink","insertimage","inserttable","separa
tor"],
# ["undo","redo"], (HTMLArea.is_gecko ? [] :
["cut","copy","paste"]),["separator"],
# ["killword","removeformat","toggleborders","lefttoright",
"righttoleft", "separator","htmlmode","about"]
# ]

XINHA_TOOLBAR =
[["bold","italic","underline","strikethrough","separator"],["subscript",
"superscript","separator"],(HTMLArea.is_gecko ? [] :
["cut","copy","paste"]),["space","undo","redo","separator"],["createlink
","separator"],["killword","removeformat","separator","htmlmode"]]

#
# htmlArea Configuration
#

# Available htmlArea toolbar buttons (must appear on one line):
#
# 'fontname', 'fontsize', 'formatblock', 'bold', 'italic', 'underline',
# 'strikethrough', 'subscript', 'superscript', 'copy', 'cut', 'paste',
'undo',
# 'redo', 'linebreak', 'justifyleft', 'justifycenter', 'justifyright',
# 'justifyfull', 'lefttoright', 'righttoleft', 'insertorderedlist',
# 'insertunorderedlist', 'outdent', 'indent', 'forecolor',
'hilitecolor',
# 'inserthorizontalrule', 'createlink', 'insertimage', 'inserttable',
# 'htmlmode', 'popupeditor', 'showhelp', 'about'

HTMLAREA_TOOLBAR =
[['bold','italic','underline','strikethrough','separator','subscript','s
uperscript','separator','copy','cut','paste','space','undo','redo','sepa
rator','createlink','separator','htmlmode','separator','showhelp']]

##
## HACKER SETTINGS
##

# Uncomment these for debugging and profiling. See Bric::Hacker for more

# details on these directives.

NO_TOOLBAR = 0
# QA_MODE = 1
# DBI_DEBUG = 0
# DBI_CALL_TRACE = 0
# PROFILE = 0
Re: stories losing their workflow -- more info [ In reply to ]
On Apr 6, 2009, at 12:36 PM, Beaudet, David wrote:

> AUTH_TTL = 28800 # Seconds.
> AUTH_SECRET = randomstringgoeshere
> AUTH_ENGINES = Internal
> AUTH_APACHE_TRIM = @example.com

WTF is that?

> # Workflow desk permission enforcement. By default, a
> non-administrative user's
> # permissions on an asset are determined by taking the highest
> permission available on
> # any permissionable aspect of the asset (category, element type,
> etc.),
> # including permissions on the assets current desk within a
> workflow. A
> side
> # effect of this highly trusting and collaborative approach is that a
> user can
> # search for and edit an asset with the "Find" feature even though the
> user has
> # no permission to the assets current desk. Some customers might
> prefer
> to enforce
> # the workflow permissions separately from asset permissions, thereby
> taking the
> # LESSER of the highest permission allowed by the asset and the
> hightest
>
> # permission allowed by the desk in the assets current workflow. This
> provides an
> # effective way to 'protect' an asset once it reaches a certain desk.
> # To enable this feature, set this directive to "Yes", "On", or "1".
>
> ENFORCE_DESK_PERMS_DISTINCTLY = Yes

This might have something to do with it. Where do I find the patch?

> # Business Asset save callback. If defined, the method below will be
> invoked
> # every time any business asset is saved. This provides a mechanism
> for developers
> # to hook into the asset save process without having to tweak the
> bricolage
> # source tree
> BIZASSET_SAVE_CB = NGAWWW::cacheEventScheduleOnSave

This, too, is unfamiliar. Are you holding out on us with patches? ;-)

Gonna see if I can replicate the issue without those patches now.
Progress tracked [here](http://bricolage.lighthouseapp.com/projects/29601-bricolage/tickets/98-stories-losing-their-workflow
).

Best,

David
Re: stories losing their workflow -- more info [ In reply to ]
On Nov 2, 2009, at 3:49 PM, David E. Wheeler wrote:

>> ENFORCE_DESK_PERMS_DISTINCTLY = Yes
>
> This might have something to do with it. Where do I find the patch?

Actually, I suspect this patch, given its name. None of your other
config options seem remotely related. So…PONG!

David