TEXT CACHING

------------

I have a site which really needs this, so I went ahead with it already.

This add-on will cache formatted texts in the database and use them
for a specified timeperiod.

By default it is disabled.   Enable it with:

  $CFG->cachetext = 600;   // in seconds
This commit is contained in:
moodler 2004-02-09 12:27:34 +00:00
parent 6579224b6a
commit d363047eb0
6 changed files with 53 additions and 1 deletions

View File

@ -154,6 +154,14 @@ $CFG->admin = 'admin';
// Prevent scheduled backups from operating (and hide the GUI for them)
// Useful for webhost operators who have alternate methods of backups
// $CFG->disablescheduledbackups = true;
//
// On busy sites that use filters (such as the glossary autolinking) this
// may help - it specifies time in seconds to keep copies of formatted texts.
// $CFG->cachetext = 600;
// It has some disadvantages:
// 1) Texts will take this long to regenerate, so changes to the glossary
// will not be evident immediately.
// 2) It won't work with filters that use user settings eg: multilang

View File

@ -643,6 +643,17 @@ function main_upgrade($oldversion=0) {
table_column("course", "", "lang", "varchar", "5", "", "", "", "groupmodeforce");
}
if ($oldversion < 2004020902) {
modify_database("", "CREATE TABLE `prefix_text_cache` (
`id` int(10) unsigned NOT NULL auto_increment,
`md5key` varchar(32) NOT NULL default '',
`formattedtext` longtext NOT NULL,
`timemodified` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `md5key` (`md5key`)
) TYPE=MyISAM COMMENT='For storing temporary copies of processed texts';");
}
return $result;
}

View File

@ -155,6 +155,23 @@ CREATE TABLE `prefix_event` (
KEY `courseid` (`courseid`),
KEY `userid` (`userid`)
) TYPE=MyISAM COMMENT='For everything with a time associated to it';
# --------------------------------------------------------
#
# Table structure for table `text_cache`
#
CREATE TABLE `prefix_text_cache` (
`id` int(10) unsigned NOT NULL auto_increment,
`md5key` varchar(32) NOT NULL default '',
`formattedtext` longtext NOT NULL,
`timemodified` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `md5key` (`md5key`)
) TYPE=MyISAM COMMENT='For storing temporary copies of processed texts';
# --------------------------------------------------------
#
# Table structure for table `group`

View File

@ -389,6 +389,15 @@ function main_upgrade($oldversion=0) {
table_column("course", "", "lang", "varchar", "5", "", "", "", "groupmodeforce");
}
if ($oldversion < 2004020902) {
modify_database("", "CREATE TABLE prefix_text_cache (
id SERIAL PRIMARY KEY,
md5key varchar(32) NOT NULL default '',
formattedtext text,
timemodified integer NOT NULL default '0'
);");
}
return $result;
}

View File

@ -165,6 +165,13 @@ CREATE TABLE prefix_scale (
timemodified integer NOT NULL default '0'
);
CREATE TABLE prefix_text_cache (
id SERIAL PRIMARY KEY,
md5key varchar(32) NOT NULL default '',
formattedtext text,
timemodified integer NOT NULL default '0'
);
CREATE TABLE prefix_user (
id SERIAL PRIMARY KEY,
confirmed integer NOT NULL default '0',

View File

@ -5,7 +5,7 @@
// database to determine whether upgrades should
// be performed (see lib/db/*.php)
$version = 2004020900; // The current version is a date (YYYYMMDDXX)
$version = 2004020902; // The current version is a date (YYYYMMDDXX)
$release = "1.2 development"; // User-friendly version number