values for web bugs squasher
[mir.git] / source / default.properties
index be0990c..be6f795 100755 (executable)
@@ -1,37 +1,10 @@
 #
-# Sample config for Mir
-# by Matthias <mjordan@code-fu.de> 2001-09-12
-#
-# The Mir software realizes a semi-dynamic web service:
-# The web server that is accessed by users has pure static
-# pages. These pages are generated by the Mir software that
-# consists of a collection of Java servlets and HTML templates.
-# Mir uses a database server to store the data that is needed to
-# build the static site.
-# So there are basically three parts in this config file:
-#
-# a) general setup
-# b) static site config
-# c) dynamic admin site
-# d) database config
-#
-# edit this to suit your needs (here with sampleuser idfx)
-# After you edited this file, build.sh has to be invoked.
-# To be sure, also restart Tomcat.
-#
-# Note that for Mir to work, Tomcat has to be set up to handle all
-# URLs that begin with /servlet. All other URLs are handled by Apache.
-#
-# The setup uses the following assumptions:
-# The URL to reach the site is http://indy.code-fu.de
-# The StorageRoot of this URL is /pub/Dokumente/Indymedia/de-tech/Mir
-# All data is located below this directory, including the servlets.
-
-
-#
-#
 # GENERAL SETUP
 #
+# This is a full list of defaults options. To configure your site
+# do NOT change this file. You can override all of these values in
+# your etc/config.properties
+#
 
 ### mir/imc information
 Mir.Name=mir.indymedia.org
@@ -43,8 +16,7 @@ Mir.Tech-email.name=mir-coders mailinglist
 Mir.Public-email.address=mir-coders@lists.indymedia.org
 Mir.Public-email.name=mir-coders mailinglist
 
-Mir.Version=1.1beta
-DirectOpenposting=yes
+Mir.Version=1.1.0rc0
 
 # The name of the abuse config file (relative to the WEB-INF dir)
 Abuse.Config=abuse.properties
@@ -61,7 +33,7 @@ Abuse.CookieMaxAge=168
 
 
 #where to put the lucene index
-IndexPath=/tmp/index
+IndexPath=index
 
 TempDir=/tmp
 
@@ -91,26 +63,44 @@ Mir.Admin.ShowLoggedinUsers=1
 # Log admin activity?
 Mir.Admin.LogAdminActivity=0
 
+# Limit the length of text shown in lists (-1 means no limit)
+Mir.Admin.ListTextLengthLimit=-1
+
 # Which usernames have admin priviliges (, seperated usernames)
 AccessControl.SuperUsers = admin
 
+# Locking enabled?
+AccessControl.LockingEnabled = 0
+
+# If locking enabled, should users lock articles before they
+#    can edit?
+AccessControl.LockingOptional = 1
+
 # the templates
 Mir.Localizer.Producer.GeneratorLibrary= default=freemarker(etc/producer/)
-Mir.Localizer.Admin.GeneratorLibrary= default=freemarker(templates/admin/)
+Mir.Localizer.Admin.GeneratorLibrary= default=freemarker(templates/admin/),preview=freemarker(etc/producer)
 Mir.Localizer.OpenPosting.GeneratorLibrary= default=freemarker(etc/open/)
 
+# Should an XSS preventing interceptor be used by the producer subsystem?
+Mir.Producer.UseInterceptor=1
+
 # How should the custom operations (hide etc) in article and comment lists
 # be presented?
 # 0 = links, 1 = checkboxes, 2 = a listbox
-Mir.Localizer.Admin.ListOperationsFlavor=1
-
+Mir.Localizer.Admin.ListOperationsFlavor=2
 
+# Article previews, a comma seperated list of name = generator
+Mir.Localizer.Admin.ArticlePreview = \
+  default = preview::article.template
+Mir.Localizer.Admin.ArticlePreviewLanguage=en
 
 # How should the topics be presented on the article edit page?
+#
 # <key>:<listtype>:<listparameter>:<condition>:<order>
+# multiple entries can be specified, can be seperated by a ,
 #
 # key:
-#     a unique key per topic category
+#     the bundle key to use for the field label
 # listtype:
 #     0 = in a multiselect list box, 1 = checkboxes, 2 = a dropdown listbox
 # listparameter:
@@ -121,18 +111,7 @@ Mir.Localizer.Admin.ListOperationsFlavor=1
 #     what sql order should the topics be ordered by
 
 Mir.Localizer.Admin.TopicLists = \
-   topic:1:3:archiv_url='bla':title   ,\
-   rest:1:3:archiv_url<>'bla':title   \
-
-# How should the topics be presented on the article edit page?
-# 0 = in a multiselect list box, 1 = checkboxes
-Mir.Localizer.Admin.TopicListFlavor=1
-
-# For the checkboxes flavour, how many columns should there be?
-Mir.Localizer.Admin.TopicListColumns=3
-
-# In which order should the topic appear?
-Mir.Localizer.Admin.TopicListOrder=title
+   content.topic:1:3::title
 
 # enable deletion of comments/articles?
 Mir.Localizer.Admin.AllowDeleteComment=1
@@ -140,26 +119,20 @@ Mir.Localizer.Admin.AllowDeleteArticle=1
 
 # Article Preview Link URL (Link to produced articles from within admin)
 Comment.PublicUrl=/en/${date.formatted.yyyy}/${date.formatted.MM}/${id}.shtml
-Article.PublicUrl=/en/${co_content.date.formatted.yyyy}/${to_content.date.formatted.MM}/${to_content.id}.shtml
+Article.PublicUrl=/en/${to_content.date.formatted.yyyy}/${to_content.date.formatted.MM}/${to_content.id}.shtml
 
-# enable deletion of comments/articles?
+# which 'quick' operations should be available in the top-left box?
 Mir.Localizer.Admin.AdministerOperations= \
    comments:module=Comment&do=list
 
-
 # Which producers need to be called after an article (resp. a comment) is posted
 Mir.Localizer.OpenPosting.ContentProducers= media.new;articles.changed;startpage.generate;synchronization.run
 Mir.Localizer.OpenPosting.CommentProducers= articles.changed;synchronization.run
 
 # Which producers need to be called after the "produce all new" link is clicked from admin
-Mir.Localizer.Producer.AllNewProducers= media.new;articles.changed;startpage.run;synchronization.run
-
+Mir.Localizer.Producer.ProducerRecipes= \
+  allnew = media.new;articles.changed;startpage.run;synchronization.run
 
-#note that you can't make pdf's without making fo's
-#this is actually now set in producers.xml
-#but these summarize what is said in there for the benefit of OpenMir
-GenerateFO=yes
-GeneratePDF=yes
 
 #use rsync to mirror the website to a remote-host
 Rsync=no
@@ -192,7 +165,7 @@ Producer.StorageRoot=/pub/Dokumente/Indymedia/de-tech/Mir/produced
 
 # FileEdit module
 #   a list of directories to edit
-#   format: 
+#   format:
 #      <name>:<path>:<file filter>:<0|1 (recursion off or on)> [, ....]
 
 ServletModule.FileEdit.Configuration= \
@@ -217,6 +190,11 @@ Producer.ActionServlet=/servlet/Mir
 # will be linked to.
 Producer.ImageRoot=/img
 
+# path to ImageMagick executables. Default is "" (nothing), which
+# means executables will be searched using the default system PATH
+# example:Producer.Image.ImageMagickPath=/usr/local/ImageMagick/bin
+#
+Producer.Image.ImageMagickPath=
 
 # the url of the video-server
 Producer.Video.Host=http://indy.code-fu.de/video
@@ -238,6 +216,15 @@ Producer.RealMedia.Host=rtsp://some.media.server/somedir/
 # absolute directory, where the images are saved
 Producer.Image.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/images/
 
+# absolute directory where image originals are saved if image resizing is enabled
+# this can be ignored if image scaling is not being used
+#
+Producer.ImagesOriginalDir.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/images/raw
+
+# relative path from the site root where the templates can find raw (unresized) images:
+# this can be ignored if image scaling is not being used
+Producer.ImagesOriginalDir.RelPath=/images/raw
+
 # images will be scaled down so that the size (both widht and height) are below:
 Producer.Image.MaxSize = 640
 
@@ -282,11 +269,11 @@ Producer.Icon.BigText=text_big.gif
 Producer.HTML2FOStyleSheet=/some/dir/mir/etc/producer/html2fo.xsl
 
 # the following lines are used to construct PDFs on the fly from one or more articles
-# for the moment, if you want to change anything else about your pdfs, you 
+# for the moment, if you want to change anything else about your pdfs, you
 # will have to learn some java!
 #
-# keep in mind that there may not be enough room for all the text you enter as the 
-# value of one these options, if text doesn't appear, the only easy thing to do is 
+# keep in mind that there may not be enough room for all the text you enter as the
+# value of one these options, if text doesn't appear, the only easy thing to do is
 # use less text!
 #
 # also, be sure to adjust the corresponding line height if you change a font size...
@@ -312,12 +299,14 @@ PDF.Title.FontSize=24
 PDF.Title.LineHeight=28
 PDF.Title.FontFamily=courier
 
-# footer is about two lines of small text which will appear at the bottom of every page 
+# Source will be expanded to come to a URL to the article
+PDF.Source=${config["Producer.PublicationHost"]}${config['Mir.Login.DefaultLanguage']}/${article.date.formatted['yyyy/MM']}/${article.id}.shtml
 
+# footer is about two lines of small text which will appear at the bottom of every page
 PDF.Footer.String=Indymedia does blah.  Content is good, and free to use for non-commercial purposes under the Open Content license. if you have questions, email someone.
 PDF.Footer.Height=54
 PDF.Footer.FontSize=12
-PDF.Footer.FontFamily=helvetica 
+PDF.Footer.FontFamily=helvetica
 
 # how to format the index, i.e. the newsletter table of contents
 
@@ -329,7 +318,7 @@ PDF.Index.FontFamily=helvetica
 
 PDF.Meta.Height=36
 PDF.Meta.FontSize=14
-PDF.Meta.FontFamily=helvetica 
+PDF.Meta.FontFamily=helvetica
 RDF.Meta.DateFormat=yyyy-MM-dd HH:mm
 
 # how to format the article description
@@ -411,8 +400,23 @@ Mir.DefaultTimezone= UTC
 # Default date/time format
 Mir.DefaultDateTimeFormat = yyyy-MM-dd HH:mm
 
+# Compatibility feature: updated posting forms can
+# support persistent uploads (that is, uploads remainig
+# valid after validation errors). To support existing
+# forms, by default it is off.
+Localizer.OpenSession.PersistentUploadedFiles = 0
+
+# Should support for ftp-like uploads (uploads done
+# outside of mir, but included into postings) be
+# supported at all?
+Localizer.OpenSession.AllowFTPUploads = 0
 
+# When uploading ftp files, should a list of available
+# files be displayed?
+Localizer.OpenSession.AllowFTPUploadSelection = 0
 
+# What is the place where files are uploaded?
+Localizer.OpenSession.FTPDirectory = /somewhere
 
 Localizer.OpenSession.article.EditTemplate = editarticle.template
 Localizer.OpenSession.article.DupeTemplate = dupearticle.template
@@ -429,10 +433,26 @@ Localizer.OpenSession.comment.DefaultCommentStatus=normal
 Localizer.OpenSession.comment.DefaultMediaFolder=openposting
 Localizer.OpenSession.ErrorTemplate = sessionerror.template
 
+Localizer.OpenSession.translation.EditTemplate=edittranslation.template
+Localizer.OpenSession.translation.DupeTemplate=dupearticle.template
+Localizer.OpenSession.translation.UnsupportedMediaTemplate=unsupportedmediatype.template
+Localizer.OpenSession.translation.DoneTemplate=donetranslation.template
+
+
 Localizer.OpenSession.email.PrepareTemplate = preparemail.template
 Localizer.OpenSession.email.MailTemplate = email_article.template
 Localizer.OpenSession.email.DoneTemplate =/sent_mail.template
 
+Localizer.HTML.Whitelist=a;img;h1;h2;h3;h4;h5;h6;br;form;input;hr;strong;font;b;i;em;p;table;tr;td;th;ul;ol;li
+
+Localizer.HTML.BadAttributeValuePrefixes=javascript;vbscript;about;wysiwyg;data;view-source;ms-its;mhtml;shell;lynxexec;lynxcgi;hcp;ms-help;help;disk;vnd.ms.radio;opera;res;resource;chrome;mocha;livescript
+
+Localizer.HTML.BadAttributes=onabort;onblur;onchange;onclick;ondblclick;onerror;onfocus;onkeydown;onKeypress;onkeyup;onload;onmousedown;onmousemove;onmouseout;onmouseover;onmouseup;onreset;onselect;onsubmit;onunload;onload;onclick;onfocus;onblur;FSCommand;onAbort;onActivate;onAfterPrint;onAfterUpdate;onBeforeActivate;onBeforeCopy;onBeforeCut;onBeforeDeactivate;onBeforeEditFocus;onBeforePaste;onBeforePrint;onBeforeUnload;onBegin;onBlur;onBounce;onCellChange;onChange;onClick;onContextMenu;onControlSelect;onCopy;onCut;onDataAvailible;onDataSetChanged;onDataSetComplete;onDblClick;onDeactivate;onDrag;onDragEnd;onDragLeave;onDragEnter;onDragOver;onDragDrop;onDrop;onEnd;onError;onErrorUpdate;onExit;onFilterChange;onFinish;onFocus;onFocusIn;onFocusOut;onHelp;onKeyDown;onKeyPress;onKeyUp;onLayoutComplete;onLoad;onLoseCapture;onMediaComplete;onMediaError;onMouseDown;onMouseEnter;onMouseLeave;onMouseMove;onMouseOut;onMouseOver;onMouseUp;onMouseWheel;onMove;onMoveEnd;onMoveStart;onOutOfSync;onPaste;onPause;onProgress;onPropertyChange;onReadyStateChange;onRepeat;onReset;onResize;onResizeEnd;onResizeStart;onResume;onReverse;onRowEnter;onRowExit;onRowDelete;onRowInserted;onScroll;onSeek;onSelect;onSelectionChange;onSelectStart;onStart;onStop;onSynchRestored;onSubmit;onTimeError;onTrackChange;onUnload;onURLFlip;seekSegmentTime;style;height;width
+
+# don't let external content get loaded
+Localizer.HTML.KillWebBugs=0
+Localizer.HTML.ExternalLocationAttributeValuePrefixes=http://;https://;ftp://;gopher://
+Localizer.HTML.WhitelistedExternalLocationAttributeValuePrefixes=http://media.de.indymedia.org/;https://media.de.indymedia.org/
 
 
 #
@@ -528,16 +548,35 @@ ServletModule.CommentStatus.DeleteConfirmationTemplate=confirm.template
 ServletModule.CommentStatus.EditTemplate=commentstatus.template
 ServletModule.CommentStatus.ListTemplate=commentstatuslist.template
 
+ServletModule.MediaType.DeleteConfirmationTemplate=confirm.template
+ServletModule.MediaType.EditTemplate=mediatype.template
+ServletModule.MediaType.ListTemplate=mediatypelist.template
+
+
+#
+# Object store configuration
+#
+
+StoreContainer.EntityDefaultSize= 45
+StoreContainer.EntityListDefaultSize= 15
+StorableObjectEntity.Entity.DefaultSize= 300
+StorableObjectEntity.EntityList.DefaultSize= 100
+EntityTopics.Entity.DefaultSize=200
+EntityTopics.EntityList.DefaultSize=20
+
+
 
 
 
 
 #
 # config for abuse
-ServletModule.Abuse.EditFilter.Template = abuse.filter.template\r
-ServletModule.Abuse.ListFilters.Template = abuse.filters.template\r
-ServletModule.Abuse.ViewLog.Template = abuse.log.template\r
-ServletModule.Abuse.Main.Template = abuse.template\r
+ServletModule.Abuse.EditFilter.Template = filter.template
+ServletModule.Abuse.ListFilters.Template = filterlist.template
+ServletModule.Abuse.EditFilterGroup.Template = filtergroup.template
+ServletModule.Abuse.ListFilterGroups.Template = filtergrouplist.template
+ServletModule.Abuse.ViewLog.Template = abuse.log.template
+ServletModule.Abuse.Main.Template = abuse.template
 
 #
 # producer-related configs below
@@ -547,3 +586,6 @@ Producer.ExtLinkName=extlink.gif
 Producer.IntLinkName=intlink.gif
 Producer.MailLinkName=maillink.gif
 
+# should the <Bundle producer tag be backwards compatible
+# (this means that old bundle paths get mapped to new ones)
+Producer.BundleCompatibility=1