testing extratable selectByWhereClause
[mir.git] / doc / README
1 last changed $Date: 2003/11/24 19:57:54 $
2 -----------------------------------------
3
4 GENERAL INFO
5 ============
6
7 Mir is an Open-Source java servlet based content managment system, designed to
8 run an indymedia(type) website. Besides powering several indymedia sites, a
9 number of progessive organizations use Mir customized for their own needs. Mir
10 aims to provide sophisticated functionality, for example, complete
11 multi-lingual content production, editing, administration, and presentation,
12 while retaining the ability to be run on less than top of the line hardware
13 through extensive static caching.
14
15 Mir uses technologies such as Apache Tomcat and the Freemarker template engine.
16
17 more info at: http://mir.indymedia.org
18
19 development and general questions/discussion happens on the mir-coders mailing
20 list: mir-coders at lists.indymedia.org
21
22 for archives or to subscribe:
23
24 http://lists.indymedia.org/mailman/listinfo/mir-coders
25
26 mailing list for cvs commits:
27
28 http://lists.indymedia.org/mailman/listinfo/Mir-cvs
29
30 LICENSING
31 =========
32
33 Mir is licensed under the GNU GPL.
34
35 FEATURES
36 ========
37
38 * Static publishing: Mir produces static HTML files for easy mirroring and so
39   that the site can be viewed without creating a high load on servers. No fancy
40   caching mechanisms are necessary. The presentation and production are
41   completely independent from each other.
42 * Very configurable (see the config.properties file)
43 * Written in Java using standard servlet API and popular tools like those from
44   the Apache Jakarta project (http://jakarta.apache.org)
45 * Uses the Freemarker template engine to allow easy modification of
46   site design without programming knowledge.
47 * Structured Object oriented 4 layer design. Servlet modules, Entity/Database
48   (the persistance layer), Media handlers (an abstraction layer for
49   manipulating different media formats) and the Producer layer (for creating
50   the static html pages). see doc/CODESTRUCTURE for more details.
51 * The persistance layer uses the poolman package for caching Database
52   connections. 
53 * Entity object caching is integrated into the persistance layer.
54 * Meta-data/Database schema and classification based on the Dublic Core
55   standard. Media folders, topics, features.
56 * supports displaying the dynamic part of the site in multiple languages using
57   the Java Locale/language bundle standard (.properties files). Bundles exist
58   for spanish, english, dutch, quechua, turkish, german and aymara. The
59   upcoming 1.1  version (in CVS) supports producing the static site in several
60   languages.
61 * Media abstraction layer to cleanly and easily handle/add different Media
62   formats like mp3, realmedia, video, etc.. uses mime-types to map to the
63   correct handler
64 * Supports categorization into topics and media folders (eg. different folders
65   for different events), features, breaking news, newswire, etc..
66 * Production of xml RDF syndication. e.g for the indymedia global newswire.
67 * Powerful and rich admin/editor interface with features like the ability to
68   change the event date of an article, multiple ways to search.. help and much
69   more.
70 * Ability to edit some static site files such as CSS, html include files
71   through a basic web based text editor.
72 * Filtering of uploaded articles to remove unwanted HTML tags.
73 * Can output articles into PDF (upcoming 1.1 version has better text wrapping
74   support).
75 * Search via HTdig index of static files.  (upcoming 1.1 CVS version uses
76   integrated Jakarta Lucene for indexing the static files.)
77 * Automatic thumbnail generation using Java Advanced Imaging (JAI). (1.1 will
78   probably use Jmagick)
79
80 In the upcoming 1.1 release
81 ===========================
82
83 * completely rewrite of the producer layer. Runs in it's own thread.
84   Configurable via an XML file to dynamically choose the structure the site
85   should take, what should be archived...
86 * Introduction of the Localization infrastructure to allow easy low-level
87   customization of Mir.
88