The objectives of this script (which I think may differ from the original definition of TikiLite) are to reduce Tiki down to its bare minimum of modules. The installation is already 21MB from the original 44MB. The objectives as I see them are:
- isolate features so that dependencies become more obvious, leading on to creation of TikiPackager and other TikiCore work
- create a Tiki application framework for integration and development of new applications
- implement changes for WYSIWYCU coding
- There are probably more, feel free to add to the list.
Maintenance and configuration of the script is fairly easy - I've tried to group features together, so should you require a feature, you comment it and its dependencies out of the file, do a 'cvs up' and re-run the script to activate changes. This is the first step to isolating features for automated installation scripting.
I've already made a few discoveries of dependencies - such as commentslib.php is dependent on webmail (who would have thought ).
With regard to WYSIWYCU, I've already started making changes to Tiki HEAD code, with an introduction of $lib_libraryname variables, which validate that a library exists and any features dependent on this library are enabled or disabled accordingly. If the library is missing, the checkbox is replaced with a 'Not Installed'. See $lib_spellcheck in tiki-setup.php and tiki-admin-include-wiki.tpl. I know that tiki-setup.php is not the correct place for library checking and will change it later when I find where.
The name of the script is doc/devtools/tikilite.sh. Execute it from the top of you tiki installation.
There is a TikiLite script which can be found at doc/devtools/tikilite.sh. The following are instructions on how to use it.
The current defaults are english language and Moreneat theme. These can be modified from the script.
- Check out a new installation of Tikiwiki into a directory of your choice.
- Move to the top of your Tikiwiki installation
- Modify doc/devtools/tikilite.sh to set your defaults.
- Execute doc/devtools/tikilite.sh - this will remove all non-core files and directories.
- Do a cvs up in your TikiLite directory
- Execute doc/devtools/tikilite.sh script again
Its that simple.
Some users with limited resources (be it hosting with a specified disk and/or file quota) often wonder how they could get rid of all those features they do not need. Even if the features are nice and cool, they are often not anything everybody needs. An end-user installing tiki would nowadays install many 1000's of files, as well as several 100 tables for every database they install.
This page would be a documented guide to help them determine what they can easily remove, where to do it and what tables it uses. Please feel free to add to this page. Add to it a versioning scheme ...
It may become a resouce also for further development and for crossreferencing all files related to certain pieces of tiki, should something like TikiCoreWishlist or TikiCorePrototype be developed in the future and step by step conversion of the existing features would need to be done. It would also give us a picture of how intertwined some features are with others in contrary to distinct features.
How this page is to be edited/read:
for every feature, add the database tables it needs. Then add the files that are theirs solely. Then add the files they depend on that are files belonging to other features. As well as database tables that belong to others.
Also make sure that any library used (besides Smarty/adodb) is also mentioned, every img for a theme, ...
- Depends on feature(s)
- Files it depends on
- Tables it depends on for that feature
- Files it depends on
- Other actions
- Remove entire Feature block from main/application menu
- Remove checkbox 'myFeature' in features page
Warning: some themes have their own set of images in img or other dirs. Please see the templates in $tikidir/templates/styles/<themename> you are about to remove to know which ones.