tinycm view README @ rev 32

Warning on first install if content is not writable
author Christophe Lincoln <pankso@slitaz.org>
date Mon Jan 06 20:48:49 2014 +0000 (2014-01-06)
parents a944149de641
children 4521322899ee
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, elegent 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 formating 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 authentification system
13 * Easilely 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 optionnal 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 extented via a plugin. Hook for $content/.hg/hgrc:
75 [hooks]
76 incoming = hg update
79 ================================================================================