rev |
line source |
pankso@0
|
1 TinyCM - A micro CGI/SHell Content Manager!
|
pankso@0
|
2 ================================================================================
|
pankso@0
|
3
|
pankso@0
|
4
|
paul@8
|
5 * CGI/Shell powered, small Wiki syntax and HTML JS editor helper
|
paul@33
|
6 * Tiny, fast, elegant and easy to install and customize
|
pankso@0
|
7 * No database, flat file storage with diff and log
|
pankso@0
|
8 * Plugins support for any kind of functions such as a blog
|
paul@33
|
9 * Help file with formatting rules, macro and HTML example code
|
paul@8
|
10 * Gettext support and languages support for documents
|
pankso@24
|
11 * Mercurial integration with web and cmdline commits
|
paul@33
|
12 * Shared and secure authentication system
|
paul@33
|
13 * Easily themable and fine desktop integration
|
pankso@0
|
14
|
pankso@0
|
15
|
pankso@0
|
16 Installation
|
pankso@0
|
17 ------------
|
pankso@0
|
18 You must first get TinyCM source code via a tarball on SliTaz mirrors or Hg
|
pankso@0
|
19 repository. You can extract or clone the CM under a web server directory,
|
paul@8
|
20 for security reasons the config file has a .cgi extension and users data are
|
paul@8
|
21 stored outside the web server in the directory /var/lib/slitaz. The user
|
pankso@0
|
22 files paths can be changed via the configuration file.
|
pankso@0
|
23
|
paul@8
|
24 When you have your copy of TinyCM you can then install a web interface under a
|
pankso@0
|
25 CGI/SHell enabled web server such as Busybox HTTPd, LightTPD or Apache. Gettext
|
paul@8
|
26 must be installed for localisation support. So, let's download the Content Manager:
|
pankso@0
|
27
|
pankso@19
|
28 $ wget http://hg.slitaz.org/tinycm/archive/tip.tar.gz
|
pankso@19
|
29 $ tar xzf tinycm-*.tar.gz
|
pankso@0
|
30
|
pankso@0
|
31 Or clone the Mercurial repo:
|
pankso@0
|
32
|
pankso@0
|
33 $ hg clone http://hg.slitaz.org/tinycm
|
pankso@0
|
34
|
pankso@0
|
35
|
paul@8
|
36 Change directory to the CM, check and edit the configuration file config.cgi,
|
pankso@0
|
37 and use make to install:
|
pankso@0
|
38
|
pankso@0
|
39 $ cd tinycm*
|
pankso@0
|
40 $ editor config.cgi
|
pankso@0
|
41 $ make install
|
pankso@0
|
42
|
pankso@0
|
43
|
pankso@29
|
44 Plugins
|
pankso@29
|
45 -------
|
pankso@29
|
46 All plugins are located in plugins/* and consist of a SHell script, a config
|
paul@33
|
47 file and an optional help.txt file. To start a new plugin simply copy and
|
pankso@29
|
48 rename the skel directory and files. Then edit the configuration file and
|
pankso@29
|
49 start coding.
|
pankso@29
|
50
|
pankso@29
|
51
|
pankso@0
|
52 Standalone Server
|
pankso@0
|
53 -----------------
|
paul@8
|
54 On SliTaz you can install a copy of TinyCM anywhere under your $HOME directory
|
pankso@0
|
55 and start the stand alone web server powered by Busybox HTTPd applet. This also
|
paul@8
|
56 helps to debug TazCM since error messages are displayed in the terminal. To
|
pankso@0
|
57 start the server, cd to TinyCM dir and execute:
|
pankso@0
|
58
|
pankso@12
|
59 $ ./tools/serv.sh
|
pankso@0
|
60
|
pankso@0
|
61
|
pankso@0
|
62 Mercurial integration
|
pankso@0
|
63 ---------------------
|
paul@8
|
64 TinyCM can be integrated smoothly with Mercurial, each new document and edit
|
pankso@0
|
65 will be committed. You must first edit you config.cgi configuration to
|
paul@8
|
66 enable Hg with HG="yes" then login to your TinyCM, follow the link to init the
|
pankso@0
|
67 repo or do it manually: cd content && hg init && hg add && hg commit -m "Message"
|
pankso@0
|
68
|
paul@8
|
69 Then all content will be under Hg and people can commit as usual. To make sure
|
paul@8
|
70 we use the latest files on the web interface we use a Hook to update the repo on
|
pankso@0
|
71 each commit. To have the mercurial web interface for the repo you can setup
|
paul@8
|
72 a vhost, TinyCM provides a small web interface to display a Hg log but it can
|
paul@33
|
73 be extended via a plugin. Hook for $content/.hg/hgrc:
|
pankso@0
|
74
|
pankso@0
|
75 [hooks]
|
pankso@0
|
76 incoming = hg update
|
pankso@0
|
77
|
pankso@0
|
78
|
pankso@0
|
79 ================================================================================
|