tinycm view README @ rev 38
Add small tools/testsuite.txt
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Wed Jan 08 00:00:29 2014 +0100 (2014-01-08) |
parents | 4521322899ee |
children | 53a267833266 |
line source
1 TinyCM - A micro CGI/SHell Content Manager!
2 ================================================================================
5 * CGI/Shell powered, small Wiki syntax and HTML JS editor helper
6 * Tiny, fast, elegant and easy to install and customize
7 * No database, flat file storage with diff and log
8 * Plugins support for any kind of functions such as a blog
9 * Help file with formatting rules, macro and HTML example code
10 * Gettext support and languages support for documents
11 * Mercurial integration with web and cmdline commits
12 * Shared and secure authentication system
13 * Easily themable and fine desktop integration
16 Installation
17 ------------
18 You must first get TinyCM source code via a tarball on SliTaz mirrors or Hg
19 repository. You can extract or clone the CM under a web server directory,
20 for security reasons the config file has a .cgi extension and users data are
21 stored outside the web server in the directory /var/lib/slitaz. The user
22 files paths can be changed via the configuration file.
24 When you have your copy of TinyCM you can then install a web interface under a
25 CGI/SHell enabled web server such as Busybox HTTPd, LightTPD or Apache. Gettext
26 must be installed for localisation support. So, let's download the Content Manager:
28 $ wget http://hg.slitaz.org/tinycm/archive/tip.tar.gz
29 $ tar xzf tinycm-*.tar.gz
31 Or clone the Mercurial repo:
33 $ hg clone http://hg.slitaz.org/tinycm
36 Change directory to the CM, check and edit the configuration file config.cgi,
37 and use make to install:
39 $ cd tinycm*
40 $ editor config.cgi
41 $ make install
44 Plugins
45 -------
46 All plugins are located in plugins/* and consist of a SHell script, a config
47 file and an optional help.txt file. To start a new plugin simply copy and
48 rename the skel directory and files. Then edit the configuration file and
49 start coding.
52 Standalone Server
53 -----------------
54 On SliTaz you can install a copy of TinyCM anywhere under your $HOME directory
55 and start the stand alone web server powered by Busybox HTTPd applet. This also
56 helps to debug TazCM since error messages are displayed in the terminal. To
57 start the server, cd to TinyCM dir and execute:
59 $ ./tools/serv.sh
62 Mercurial integration
63 ---------------------
64 TinyCM can be integrated smoothly with Mercurial, each new document and edit
65 will be committed. You must first edit you config.cgi configuration to
66 enable Hg with HG="yes" then login to your TinyCM, follow the link to init the
67 repo or do it manually: cd content && hg init && hg add && hg commit -m "Message"
69 Then all content will be under Hg and people can commit as usual. To make sure
70 we use the latest files on the web interface we use a Hook to update the repo on
71 each commit. To have the mercurial web interface for the repo you can setup
72 a vhost, TinyCM provides a small web interface to display a Hg log but it can
73 be extended via a plugin. Hook for $content/.hg/hgrc:
75 [hooks]
76 incoming = hg update
79 Translation
80 -----------
81 To start a new translation please use msginit from the pot file directory.
82 Example for French/France locale (fr_FR):
84 $ msginit -l fr_FR -o fr.po -i tinycm.pot
86 To update all pot files when some new strings have been added (mainly for
87 developers before commit):
89 $ make pot
91 To update all translations from the pot file:
93 $ make msgmerge
95 To compile po files for testing purposes you can use 'make msgfmt' or manually
96 compile your translation. Example for french locale, note that the file must
97 be copied into /usr/share/locale/fr/LC_MESSAGES so gettext can find it:
99 $ msgfmt -o tinycm.mo fr.po
102 ================================================================================