tinycm annotate README @ rev 33

Tiny edits
author Paul Issott <paul@slitaz.org>
date Mon Jan 06 21:22:04 2014 +0000 (2014-01-06)
parents a8bb593bd803
children 5ddec5a1e5bc
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 ================================================================================