ewiki

tools/ewikictl

ewikictl integrates a lot functionality of the web based tools/,
some of them less flexible and others more powerful than in the
other tools. It, for example, allows to generate database backups
automatically and is often easier to use. On the other hand it
will be of little use if you don't have a shell account on the
WebServer+ running your wiki (because most times one cannot make
remote mysql server connections).

The most important feature is to make backups using the 
--backup switch:

    All pages from the database will be saved into backup files
    in the directory given by --dest (or if not given into
    './backup-<currentdate>').

    The --format of the backup files can be: plain, fast, flat
    or xml, meta, xmlmeta, sql, mysql. But remember that only
    the first three mentioned formats can be reinserted using the
    ewikictl utility.

    You really should give the --all parameter too, whenever you
    make a backup, because else only the very last version of each
    page will get saved (and think of a garbaged last version, this
    would be a bad idea). So USE --all ALLWAYS!

Backups can be reread into the database using the 
--insert switch:

    The --dest or --source parameter says where to search for the
    save page files, and the --format option again tells the
    correct backup format (you will get a garbaged database if you
    get it wrong).

    The --all option is of course necessary again if you gave it
    when doing the --backup, and ewikictl will complain if it
    believes the --all option was required.

    You can also use --insert to initially fill a database, or to
    add just a few new pages, as pages inside the database will
    never be overwritten by the ones added with --insert.

    The --insert switch also allows to be used to load just one
    file into the database.  --insert <WikiPageFileName+>

Another function is to speed up the database, by creating version
--holes:

    If you utilize the db_flat_files and you have hundreds of
    versions for one page, things may get slow at some point of
    time, so you may wish to remove some of the unneeded versions.
    That is what the --holes is for, it strips some of the page
    versions from the database. Please keep in mind, that the
    very first version of each page may contain special control
    data, which is not available in the following ones (this is
    especially true for db_flat_files).

    Per default the 2nd version of a page until the 10th before
    the last page version will be removed. You can however specify
    this range yourself:
        --holes 2..-10       (default)
        --holes 5..-5        (5th until 5th before last version)

    Please also keep some versions at the end, as the very last
    one may contain mangled text (if someone backspaced around).

    The --all option is implied for --holes, but you can and you
    should combine --holes also with --backup. This special
    feature will save a backup into the --dest directory ('./holes'
    per default) before the page version is removed from the
    database.

--format
    The default backup/insert format is the 'plain' one - which
    means just a pages content will be saved into the files.

    It is however recommended to use the "--format flat"  or
    "--format fast" instead, as both can contain the complete meta
    data of a page.             

--ls
    Will print a directory-listing like list of all pages from
    the database.
    You can add a pagename as parameter, so only that one will
    get shown.

--reset <pagename>
--disable <pagename>
--enable <pagename>
--html <pagename>
--readonly <pagename>
--writable <pagename>
    Will set the according page flags for the given page. You can
    give the page name also by using the --page or --file or --id
    switch.

--chmod <flags>
    Will set the page flags to the given decimal value. The
    pagename must be given using --page, --file or --id. This
    option of course requires knowledge of the flag/option values
    and their numeric/decimal representations.

--unlink <filepattern>
    Can be used to delete a page. You can use the asterisk to
    remove more than one page, just an '*' would for example delete
    all pages.


NOTE that you can also use this utility without a shell account on
your WebServer+, if you create temporary .php wrapper scripts, that
contain nothing more than:
<pre><?php  echo `./tools/ewikictl -ll`;  ?>

Please search google or freshmeat.net for one of those shell faking CGI scripts, to ease this, so can get the most out of ewikictl. </pre>

prev << "tools/setup"
next >> "tools/wiki2html"


You cannot modify the README.fragments file, but anyhow any ideas or suggestion should as usually get filed on BugReports, UserSuggestions or even better the README.fragments.Discussion.