2 # Sample config for Mir
3 # by Matthias <mjordan@code-fu.de> 2001-09-12
5 # The Mir software realizes a semi-dynamic web service:
6 # The web server that is accessed by users has pure static
7 # pages. These pages are generated by the Mir software that
8 # consists of a collection of Java servlets and HTML templates.
9 # Mir uses a database server to store the data that is needed to
10 # build the static site.
11 # So there are basically three parts in this config file:
14 # b) static site config
15 # c) dynamic admin site
18 # edit this to suit your needs (here with sampleuser idfx)
19 # After you edited this file, build.sh has to be invoked.
20 # To be sure, also restart Tomcat.
22 # Note that for Mir to work, Tomcat has to be set up to handle all
23 # URLs that begin with /servlet. All other URLs are handled by Apache.
25 # The setup uses the following assumptions:
26 # The URL to reach the site is http://indy.code-fu.de
27 # The StorageRoot of this URL is /pub/Dokumente/Indymedia/de-tech/Mir
28 # All data is located below this directory, including the servlets.
36 ### mir/imc information
37 Mir.Name=mir.indymedia.org
39 Mir.Contact-email.address=mir-coders@lists.indymedia.org
40 Mir.Contact-email.name=mir-coders mailinglist
41 Mir.Tech-email.address=mir-coders@lists.indymedia.org
42 Mir.Tech-email.name=mir-coders mailinglist
43 Mir.Public-email.address=mir-coders@lists.indymedia.org
44 Mir.Public-email.name=mir-coders mailinglist
49 # The name of the abuse config file (relative to the WEB-INF dir)
50 Abuse.Config=abuse.properties
51 # The name of the cookie that can be used to thwart trolls
52 # (The name is deliberately misleading)
53 Abuse.CookieName=SessionIdentifier
55 # If equal to 1, the IP log can't be used
56 Abuse.DisallowIPLogging=0
58 # The time the cookie will remain active in hours
60 Abuse.CookieMaxAge=168
63 #where to put the lucene index
68 Log.LogClass = mir.log.log4j.LoggerImpl
69 Log.log4j.ConfigurationFile = etc/log4j.properties
72 Mir.Localizer=mircoders.localizer.basic.MirBasicLocalizer
74 # The location of the producer specifiations
75 Mir.Localizer.ProducerConfigFile=etc/producer/producers.xml
77 # Settings for the admin login:
78 # If the default language is left empty, it will set the accept-language of
79 # the client browser as the default.
80 Mir.Login.DefaultLanguage=en
82 # The available languages in the login form:
83 Mir.Login.Languages=en;de;fr;nl;es;pt;eu;sv;tr;zh;gz
85 # For missing values, the FallbackLanguage is used as default
86 Mir.Admin.FallbackLanguage=en
88 # Show who's logged in?
89 Mir.Admin.ShowLoggedinUsers=1
92 Mir.Admin.LogAdminActivity=0
94 # Which usernames have admin priviliges (, seperated usernames)
95 AccessControl.SuperUsers = admin
98 Mir.Localizer.Producer.GeneratorLibrary= default=freemarker(etc/producer/)
99 Mir.Localizer.Admin.GeneratorLibrary= default=freemarker(templates/admin/)
100 Mir.Localizer.OpenPosting.GeneratorLibrary= default=freemarker(etc/open/)
102 # How should the custom operations (hide etc) in article and comment lists
104 # 0 = links, 1 = checkboxes, 2 = a listbox
105 Mir.Localizer.Admin.ListOperationsFlavor=1
109 # How should the topics be presented on the article edit page?
111 # <key>:<listtype>:<listparameter>:<condition>:<order>
112 # multiple entries can be specified, can be seperated by a ,
115 # the bundle key to use for the field label
117 # 0 = in a multiselect list box, 1 = checkboxes, 2 = a dropdown listbox
119 # number of rows for multiselect list box, number of columns for checkboxes
121 # what sql condition should the topics of this category be of
123 # what sql order should the topics be ordered by
125 Mir.Localizer.Admin.TopicLists = \
126 content.topic:1:3::title
128 # enable deletion of comments/articles?
129 Mir.Localizer.Admin.AllowDeleteComment=1
130 Mir.Localizer.Admin.AllowDeleteArticle=1
132 # Article Preview Link URL (Link to produced articles from within admin)
133 Comment.PublicUrl=/en/${date.formatted.yyyy}/${date.formatted.MM}/${id}.shtml
134 Article.PublicUrl=/en/${to_content.date.formatted.yyyy}/${to_content.date.formatted.MM}/${to_content.id}.shtml
136 # which 'quick' operations should be available in the top-left box?
137 Mir.Localizer.Admin.AdministerOperations= \
138 comments:module=Comment&do=list
140 # Which producers need to be called after an article (resp. a comment) is posted
141 Mir.Localizer.OpenPosting.ContentProducers= media.new;articles.changed;startpage.generate;synchronization.run
142 Mir.Localizer.OpenPosting.CommentProducers= articles.changed;synchronization.run
144 # Which producers need to be called after the "produce all new" link is clicked from admin
145 Mir.Localizer.Producer.ProducerRecipes=
146 allnew = media.new;articles.changed;startpage.run;synchronization.run
149 #use rsync to mirror the website to a remote-host
151 Rsync.Script.Path=/var/www/bin/rsync-copy
153 # the maximum allowed size of an uploaded media file in KB.
154 MaxMediaUploadSize=20000
156 # the maximum number of allowed media items to upload at once.
157 ServletModule.OpenIndy.MaxMediaUploadItems=20
159 # the default number of media items to upload at once
160 ServletModule.OpenIndy.DefaultMediaUploadItems=1
168 # the url of the static site
169 Producer.ProductionHost=http://indy.code-fu.de
171 # the url of the public site
172 Producer.PublicationHost=http://indy.code-fu.de
174 # Produrce.StorageRoot is the directory, in which
175 # the generated HTML pages will be stored
176 Producer.StorageRoot=/pub/Dokumente/Indymedia/de-tech/Mir/produced
179 # a list of directories to edit
181 # <name>:<path>:<file filter>:<0|1 (recursion off or on)> [, ....]
183 ServletModule.FileEdit.Configuration= \
184 includes:/pub/Dokumente/Indymedia/de-tech/Mir/produced/inc:.*\\.inc:1
188 # DYNAMIC SITE CONFIG
191 # the url of the openposting-servlet
192 Producer.OpenAction=http://indy.code-fu.de/Mir/servlet/OpenMir
194 # use this property if the pages are not produced under the docRoot
195 # of the webserver. all links in the produced pages are prepended
196 # with Producer.DocRoot
199 Producer.ActionServlet=/servlet/Mir
201 # this is the name of the subdirectory where the image-dir
203 Producer.ImageRoot=/img
206 # the url of the video-server
207 Producer.Video.Host=http://indy.code-fu.de/video
209 # the url of the audio-server
210 Producer.Audio.Host=http://indy.code-fu.de/audio
212 # the url of the image-server
213 Producer.Image.Host=http://indy.code-fu.de/images
215 # the url of the media-server
216 Producer.Media.Host=http://indy.code-fu.de/media
218 # the url of the real-media-server
219 Producer.RealMedia.Host=rtsp://some.media.server/somedir/
222 # image specific storage directories
223 # absolute directory, where the images are saved
224 Producer.Image.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/images/
226 # images will be scaled down so that the size (both widht and height) are below:
227 Producer.Image.MaxSize = 640
229 # icons will be generated so that the size (both width and height) are below:
230 Producer.Image.MaxIconSize = 120
232 # descaling will only occur if at least the following percentage of either
233 # the width or the height needs to be removed:
234 Producer.Image.MinDescalePercentage=10
236 # descaling will only occur if at least the following number of pixels needs
237 # to be removed from either the width or the height:
238 Producer.Image.MinDescaleReduction=10
241 # media specific storage directories
242 # absolute directory, where the media files are saved
243 Producer.Media.Path=/pub/Dokumente/Indymedia/de-tech/Mir/produced/media
245 # absolute directory, where the realmedia data files(ra and rm) are saved
246 # the ram files which point to the RealMedia.Host get saved in the regular Media dir
247 # this should make rsyncing to a separate streaming server much easier
248 Producer.RealMedia.Path=/pub/Dokumente/rtsp
250 # relativ directory, where the thumbnails will be saved
251 Producer.Image.IconPath=/icon
253 # Tiny Icons for the media types on the newswire summary.
254 # (right hand side of start page)
255 Producer.Icon.TinyImage=photo_small.gif
256 Producer.Icon.TinyAudio=audio_small.gif
257 Producer.Icon.TinyVideo=video_small.gif
258 Producer.Icon.TinyText=text_small.gif
260 #Medium sized icons used at various places
261 Producer.Icon.BigImage=photo_big.gif
262 Producer.Icon.BigAudio=audio_big.gif
263 Producer.Icon.BigVideo=video_big.gif
264 Producer.Icon.BigText=text_big.gif
266 #the style sheet used to turn html into xsl:fo
267 Producer.HTML2FOStyleSheet=/some/dir/mir/etc/producer/html2fo.xsl
269 # the following lines are used to construct PDFs on the fly from one or more articles
270 # for the moment, if you want to change anything else about your pdfs, you
271 # will have to learn some java!
273 # keep in mind that there may not be enough room for all the text you enter as the
274 # value of one these options, if text doesn't appear, the only easy thing to do is
277 # also, be sure to adjust the corresponding line height if you change a font size...
278 # this may require some trial and error to get right
280 # Available font families are helvetica, courier, and times
284 # an image which will appear at the top of the first page
287 PDF.Header.ImageHeight=0
289 #PDF.Header.Image=/home/john/mir/web/img/pdfbanner.png
290 #PDF.Header.ImageHeight=70
292 # a single line of big text which will appear at the top of the first page of all generated pdfs
293 # if you set the String to nothing, this will be skipped
295 PDF.Title.String=INDYMEDIA SOMEWHERE
296 PDF.Title.FontSize=24
297 PDF.Title.LineHeight=28
298 PDF.Title.FontFamily=courier
300 # footer is about two lines of small text which will appear at the bottom of every page
302 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.
304 PDF.Footer.FontSize=12
305 PDF.Footer.FontFamily=helvetica
307 # how to format the index, i.e. the newsletter table of contents
309 PDF.Index.FontSize=12
310 PDF.Index.LineHeight=16
311 PDF.Index.FontFamily=helvetica
313 # how to format the meta-data, i.e. title, author, date
317 PDF.Meta.FontFamily=helvetica
318 RDF.Meta.DateFormat=yyyy-MM-dd HH:mm
320 # how to format the article description
322 PDF.Description.FontSize=12
323 PDF.Description.LineHeight=16
324 PDF.Description.FontFamily=helvetica
326 # how to format the article content
328 PDF.Content.FontSize=10
329 PDF.Content.LineHeight=16
330 PDF.Content.FontFamily=helvetica
332 # the formatting for images in gallery mode
334 PDF.BigImageCaption.FontSize=16
335 PDF.BigImageCaption.FontFamily=helvetica
337 # the formatting for the article source
339 PDF.Source.FontSize=12
340 PDF.Source.LineHeight=16
341 PDF.Source.FontFamily=courier
347 # the size paper your target audience will likely have in their printers. pick one of A4 or LETTER
352 # the number of Objects which can fit in your MRUCache
354 Global.Cache.Items=15
357 # edit with caution below this line
358 ######################################################################
367 Database.poolResetTime=1.0
368 Database.PoolLog=log/pool.log
370 Database.Username=postgres
372 Database.Host=localhost
375 Database.Driver=org.postgresql.Driver
379 # Servlet / Module configurations
382 # don't change this unless you really know your i18n.
383 # The default encoding charset used in the written html files as well
384 # as the dynamic output html.
385 # also used for the HTML charset meta tag.
386 Mir.DefaultEncoding=UTF8
388 # this encoding is used for the HTML charset meta tag.
389 # it must be the html charset equivalent of the Java encoding above
390 # don't change this unless...
391 Mir.DefaultHTMLCharset=UTF-8
393 # Default timezone to display times in in admin, producers
394 Mir.DefaultTimezone= UTC
396 # Default date/time format
397 Mir.DefaultDateTimeFormat = yyyy-MM-dd HH:mm
402 Localizer.OpenSession.article.EditTemplate = editarticle.template
403 Localizer.OpenSession.article.DupeTemplate = dupearticle.template
404 Localizer.OpenSession.article.DoneTemplate = donearticle.template
405 Localizer.OpenSession.article.UnsupportedMediaTemplate = unsupportedmediatype.template
406 Localizer.OpenSession.article.DefaultArticleType=newswire
407 Localizer.OpenSession.article.DefaultMediaFolder=openposting
409 Localizer.OpenSession.comment.EditTemplate = editcomment.template
410 Localizer.OpenSession.comment.DupeTemplate = dupecomment.template
411 Localizer.OpenSession.comment.DoneTemplate = donecomment.template
412 Localizer.OpenSession.comment.UnsupportedMediaTemplate = unsupportedmediatype.template
413 Localizer.OpenSession.comment.DefaultCommentStatus=normal
414 Localizer.OpenSession.comment.DefaultMediaFolder=openposting
415 Localizer.OpenSession.ErrorTemplate = sessionerror.template
417 Localizer.OpenSession.email.PrepareTemplate = preparemail.template
418 Localizer.OpenSession.email.MailTemplate = email_article.template
419 Localizer.OpenSession.email.DoneTemplate =/sent_mail.template
424 # config used for OpenIndy
426 ServletModule.OpenIndy.CommentTemplate=comment.template
427 ServletModule.OpenIndy.CommentDoneTemplate=comment_done.template
428 ServletModule.OpenIndy.CommentDupeTemplate=comment_dupe.template
429 ServletModule.OpenIndy.PostingTemplate=posting.template
430 ServletModule.OpenIndy.PostingDoneTemplate=posting_done.template
431 ServletModule.OpenIndy.PostingDupeTemplate=posting_dupe.template
432 ServletModule.OpenIndy.PostingDisabledTemplate=posting_disabled.template
433 ServletModule.OpenIndy.SearchResultsTemplate=search_results.template
434 ServletModule.OpenIndy.PrepareMailTemplate=prepare_mail.template
435 ServletModule.OpenIndy.SentMailTemplate=sent_mail.template
436 ServletModule.OpenIndy.MailableArticleTemplate=email_article.template
437 ServletModule.OpenIndy.EmailIsFrom=mailer@somewhere.org
438 ServletModule.OpenIndy.SMTPServer=localhost
439 ServletModule.OpenIndy.ErrorTemplate=error.template
440 ServletModule.OpenIndy.UserErrorTemplate=usererror.template
444 Mir.TemplateDir=templates/admin/
446 Mir.LoginTemplate=login.template
447 Mir.StartTemplate=start_admin.template
449 Mir.ErrorTemplate=error.template
450 Mir.UserErrorTemplate=usererror.template
452 ServletModule.Default.ListSize = 30
454 ServletModule.Topics.DeleteConfirmationTemplate=confirm.template
455 ServletModule.Topics.EditTemplate=topic.template
456 ServletModule.Topics.ListTemplate=topiclist.template
458 ServletModule.Users.DeleteConfirmationTemplate=confirm.template
459 ServletModule.Users.EditTemplate=user.template
460 ServletModule.Users.ListTemplate=userlist.template
462 ServletModule.Images.DeleteConfirmationTemplate=confirm.template
463 ServletModule.Images.EditTemplate=image.template
464 ServletModule.Images.ListTemplate=imagelist.template
466 ServletModule.Audio.DeleteConfirmationTemplate=confirm.template
467 ServletModule.Audio.EditTemplate=audio.template
468 ServletModule.Audio.ListTemplate=audiolist.template
470 ServletModule.Video.DeleteConfirmationTemplate=confirm.template
471 ServletModule.Video.EditTemplate=video.template
472 ServletModule.Video.ListTemplate=videolist.template
474 ServletModule.OtherMedia.DeleteConfirmationTemplate=confirm.template
475 ServletModule.OtherMedia.EditTemplate=other.template
476 ServletModule.OtherMedia.ListTemplate=medialist.template
478 ServletModule.Content.DeleteConfirmationTemplate=confirm.template
479 ServletModule.Content.EditTemplate=content.template
480 ServletModule.Content.ListTemplate=contentlist.template
482 ServletModule.Mediafolder.DeleteConfirmationTemplate=confirm.template
483 ServletModule.Mediafolder.EditTemplate=mediafolder.template
484 ServletModule.Mediafolder.ListTemplate=mediafolderlist.template
486 ServletModule.Comment.DeleteConfirmationTemplate=confirm.template
487 ServletModule.Comment.EditTemplate=comment.template
488 ServletModule.Comment.ListTemplate=commentlist.template
490 ServletModule.Hidden.ListTemplate=hiddenlist.template
492 ServletModule.Breaking.DeleteConfirmationTemplate=confirm.template
493 ServletModule.Breaking.EditTemplate=breaking.template
494 ServletModule.Breaking.ListTemplate=breakinglist.template
496 ServletModule.FileEdit.DeleteConfirmationTemplate=confirm.template
497 ServletModule.FileEdit.EditTemplate=fileedit.template
498 ServletModule.FileEdit.ListTemplate=fileeditlist.template
500 ServletModule.Message.DeleteConfirmationTemplate=confirm.template
501 ServletModule.Message.EditTemplate=message.template
502 ServletModule.Message.ListTemplate=messagelist.template
504 ServletModule.Language.DeleteConfirmationTemplate=confirm.template
505 ServletModule.Language.EditTemplate=language.template
506 ServletModule.Language.ListTemplate=languagelist.template
508 ServletModule.ArticleType.DeleteConfirmationTemplate=confirm.template
509 ServletModule.ArticleType.EditTemplate=articletype.template
510 ServletModule.ArticleType.ListTemplate=articletypelist.template
512 ServletModule.CommentStatus.DeleteConfirmationTemplate=confirm.template
513 ServletModule.CommentStatus.EditTemplate=commentstatus.template
514 ServletModule.CommentStatus.ListTemplate=commentstatuslist.template
516 ServletModule.MediaType.DeleteConfirmationTemplate=confirm.template
517 ServletModule.MediaType.EditTemplate=mediatype.template
518 ServletModule.MediaType.ListTemplate=mediatypelist.template
526 ServletModule.Abuse.EditFilter.Template = abuse.filter.template
527 ServletModule.Abuse.ListFilters.Template = abuse.filters.template
528 ServletModule.Abuse.ViewLog.Template = abuse.log.template
529 ServletModule.Abuse.Main.Template = abuse.template
532 # producer-related configs below
535 Producer.ExtLinkName=extlink.gif
536 Producer.IntLinkName=intlink.gif
537 Producer.MailLinkName=maillink.gif