Just a little post to let you know that FrogCMS Source Code is now on GitHub.com at: .
I've planed to update the current version 0.9.5 with the last version I currently use for my client witch is a multilingual version of 0.9.4. File structure has all been reorganized to fit under one folder "frog". I will keep you up to date with all that. For people that can't wait to have a official release they will be able to try the one on git.
Hope you like your experience with Frog.
Note: need a redesign of the backend to fit a vertical menu on the left instead of the top menu currently used. (not enough place with many plugins)
Lately, Frog CMS has been a huge slowdown in development. But today, I got fired from my job at OLA (no enough work for me anymore). This is good news in a sense, because it means I'll restart using Frog CMS and there will be a lot of big development in the next months.
For those that was asking if Frog CMS still alive, that was a answer for you too.
Have a good day everyone and do not forget to always be ready for any change in your life and in your job. ()
Since the release of 0.9.5 (stable), this blog has been a bit quiet — the devs are away! But the community has been as active as ever.
Here, for example, are four recent user-contributed plugins. They are in differing states of development, but worth checking out if they suit your needs:
– gives designers and developers the power of “custom fields” for pages in Frog’s backend;
– provides a single-click theme switching facility;
– is an events-management plugin (which is not yet in general release); and
– adds the well-known for authoring in the backend.
All of these plugins, and many more, can be discussed in the . Many thanks to these plugin developers, as well as others who have done so much to enhance Frog and enrich the user community!
The Frog development team is pleased to announce that we’ve released Frog 0.9.5 stable. Some major changes went into this release which make this a significant step towards a 1.0 release.
We would like to highlight some items in the changelog:
For plugin developers, it will be interesting to note that a number of API calls were added that will simplify the work of creating a plugin and should generally speed up development. These are:
Plugin::isEnabled($plugin_id) (allows for basic plugin dependancies.)
getSetting($var_name, $plugin_id)
setSetting($var_name, $value, $plugin_id)
getAllSettings($plugin_id)
setAllSettings($array, $plugin_id)
We also added a new core plugin called “skeleton” to help out new plugin developers by setting up a basic plugin as an example.
In other news, we’ve added a translation template generator to help out translators with translating Frog core and plugins. Please see the comment & link on the right side of the Language selector in the Settings tab of the Administration section in Frog.
We’ve also removed the split that existed between the frontend and backend in Frog 0.9.4. We also fixed a long standing problem with GET variables not being available in Frog’s frontend.
Lastly but certainly not least, we’ve changed the license to GNU General Public License version 3 for Frog and all of its core plugins. Frog uses the GNUGPL with an exception for plugins which allows plugin developers to choose a different license for their plugin under certain conditions. Please see exception.txt in Frog’s root directory for the full text.
Fixed issue with ‘title’ attribute in link(). Removed auto-generation of attribute for accessibility purposes. – issue 154
Fixed issue with Comment plugin where leave off http:// in website link would cause malformed url – issue 151
Fixed issue where using ‘..’ would allow access to files outside public directory – issue 148
Fixed issue where saving page layout without title did not result in error – issue 146
Fixed setAllSettings failing to update settings with SQLite – issue 145
Fixed issue with page_requested event parameter not being backwards compatible – issue 141
Fixed USE_MOD_REWRITE is undefined in case of system not yet being installed – issue 132
Fixed issue with failed login redirecting to admin section once logged in. – issue 131
Fixed issue with settings table. Changed table setting’s field value to TEXT instead of VARCHAR.
Fixed GET variables not being available in Frog’s frontend. – issue 75
Fixed issue where AutoLoader did not find file for ‘PageArchiveMonthIndex’ – issue 101
Fixed issue where saving a page without title results in loss of entered content – issue 68
Fixed issue with filename lowercasing during upload of files. Thanks david – issue 113
Fixed previous()/next() functions to work for all levels. Thanks rid – issue 109
Fixed “Add child” tooltip for browsers not picking up the alt value of the icon.
Fixed broken View Site link for TLDs starting with ‘a’ – issue 116
Fixed XHTML compatibility problem with Comment plugin.
Fixed issue where only the last addJavascript was accepted.
Fixed admin CSS so that foreground colours are declared – issue 137
Fixed MOD_REWRITE test which produced double slashes – issue 150
Removed two nbsp statements from layout\edit.php – issue 168
Updated license statements to reflect change to GNU GPLv3 with an exception.
Improved replacement of letters like ö in the slug
Improved default 404 message for useability. – issue 163
Updated chinese translation – thanks westup
Updated comment plugin to make use of statistics_api plugin if available and enabled.
Restricted access to backend to roles administrator, developer and editor – issue 122
Updated readme.txt with requirements detail for MySQL server.
Updated file_manager plugin translations to conform to new template.
Updated comments in preparation for PHPDoc documentation.
Renamed root dir text files to avoid name conflicts and accomodate Windows users.
Renamed style.css into screen.css for more consistency with print.css in Normal layout.
Simplified Comment plugin to make use of Plugin::getAllSettings() and friends.
Commented .htaccess file for new users.
Removed slug field from Homepage metadata (and initial code fixed).
Enhanced comments in config.php template
Upgrading to Frog 0.9.5
Please be aware that we only support single version upgrades. That means you upgrade from 0.9.3 to 0.9.4 and only then to 0.9.5.
If you’re upgrading from a pre-0.9.4 release, consider installing from scratch.
Please be aware that all Frog 0.9.4 plugins except the core plugins will require some minor updates to work with Frog 0.9.5. Please check with the plugin authors for updated plugins.
Upgrade steps from 0.9.4 to 0.9.5
WARNING – The split between frontend and backend in the Frog code has been removed in this version. This has led to significant code and path changes. You will need to update ALL files and directories.
Please remember to MAKEBACKUPS of Frog and your DB before trying to update! The upgrade sequence described below will remove all the old files. Be sure to
have a full backup!
Note: consider testing this upgrade process on a local test system before upgrading your production system.
PLEASEREADTHROUGHALL OF THESTEPSBEFORESTARTINGTHEPROCEDURE.
1. Create a FULL backup of your database. (structure and data)
2. Create a FULL backup of your all your files. (including config.php)
3. Download and unzip Frog 0.9.5 to a temporary directory.
4. Remove the following files/directories from your temporary 0.9.5 directory:
– The “public” directory.
– The config.php file.
5. Login to the admin section of your 0.9.4 installation and disable all plugins.
(plugins generally shouldn’t remove data from the database when being
disabled, so this shouldn’t be a problem.)
6. Remove ALL the files of your old Frog 0.9.4 installation EXCEPT the “public”
directory. (and except any custom files you may have added of course)
7. Copy/upload ALL files from the temporary directory to your old 0.9.4 Frog
installation’s directory.
8. Copy the original config.php file to your new installation.
9. Run the following SQL commands on your Frog database after adding a prefix to
the table names if necessary:
### NOTE: MYSQL commands, but SQLite commands should be almost the same.
CREATE TABLE `plugin_settings` (
`plugin_id` varchar(40) NOT NULL,
`name` varchar(40) NOT NULL,
`value` varchar(255) NOT NULL,
UNIQUE KEY `plugin_setting_id` (plugin_id,name)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE `page`
ADD `needs_login` tinyint(1) NOT NULL DEFAULT '0' COMMENT '' AFTER is_protected;
ALTER TABLE `setting`
MODIFY `value` text NOT NULL DEFAULT '' COMMENT '' COLLATE utf8_general_ci;
10. Enable the new htaccess file by removing the underscore.
11. Check the new htaccess file settings against your old htaccess file.
12. Lastly, you need to add some options to the config.php file that were added
in Frog 0.9.5:
// Should Frog check for updates on Frog itself and the installed plugins?
define('CHECK_UPDATES', true);
// The number of seconds before the check for a new Frog version times out in case of problems.
define('CHECK_TIMEOUT', 3);
13. Re-install any old plugins that your Frog installation were using.
14. Re-enable the plugins one-by-one, each time checking your site remains working.
15. That should be it! Test out your new Frog 0.9.5 system.
Remember to remove the write permissions from config.php, otherwise, Frog
will complain.
Troubleshooting / notes
- If you don’t see your old comments in the administration area, try disabling and
then re-enabling the comment plugin.
- The plugin system was changed in Frog 0.9.5 so try to download and install
plugins that are compatible with Frog 0.9.5. Older plugins may or may not work.
- The public directory now contains a themes subdirectory in a default installation.
It is advised that all themes for Frog follow the same approach as the
Normal theme.
- It is advised to always use the htaccess file. You can dis/enable the url
rewriting by setting RewriteEngine to On/Off.
- Please be very aware that this upgrade procedure DIDNOTTOUCH or upgrade your
“public” directory. It also DIDNOTALTER or upgrade any data in the database.
This means you’re still using a pre-0.9.5 Normal theme.
The Frog development team is pleased to announce that we've released Frog 0.9.5 RC2
Please see the download page if you want to help us test RC2. Assuming no major hurdles are found, 0.9.5. final should be released next week.
About this release
This release of Frog sees some major changes in the structure of the system. The backend/frontend split was removed which of course severely affected paths of files. There were some database schema changes as well, but there were mostly additions.
We would like to suggest that you read through the changes list carefully.
About Release Candidates
Most if not all stable releases of Frog will be preceded by one or more "Release Candidates". A release candidate is a version of Frog which we feel could be stable enough for normal use, but which we want to keep testing first. Once any issues that came up during testing of an RC release have been corrected, a stable release will be made available.
The intention of the RC releases is to give you, the user, a chance to help us test an upcoming release.
List of changes in 0.9.5 RC2
Added advisory about removing changelog.txt to install screen.
Added output buffering around main() - issue 114
Added option to choose administrator name in install screen. - issue 149
Added function that generates administrator password during install routine. - issue 149
Added check to make sure config.php isn't writable.
Added inheritence to hasContent() function. - issue 142
Added icon to directories in file_manager plugin - issue 140
Added Plugin::isEnabled($plugin_id) to Plugin class for plugin devs. (allows for basic plugin dependancies.)
Added getSetting(), setSetting(), getAllSettings() and setAllSettings() to Plugin class for plugin devs - issue 128
Added comments plugin option to display to-be-moderated comments on plugin tab (default true)
Added MySQL port to install screen. Thanks gilles.doge - issue 107
Added new events - issue 94
Added site identifiers to login screens (both login.php and forgot.php) based on Admin screen title setting.
Added front-end login feature similar to layout selector. (login required, not required, inherit)
Added drag-to-copy feature for better multi-language support. Thanks tuupola.
Added a new core plugin called skeleton to help out new plugin developers.
Added translation template generator to help out translators with translating Frog core and plugins.
Added Norwegian and Swedish core translations.
Added updated Chinese translation.
Removed split between frontend and backend.
Added an ID to the "view this page" link so it can be styled.
Added Danish translation for admin and file manager. Thanks Kenan.
In the up-and-coming Frog 0.9.5, a number of changes were made to the plugin API/system of which plugin developers should be aware.
Path changes
Due to the removal of the split between front-end and back-end in Frog 0.9.5, a lot of functionality has become available. However, the paths to files have also changed. Plugin developers that want to use their 0.9.4 plugins on 0.9.5 should update their paths with regards to views. For example:
$this->assignToLayout('sidebar', new View('../../../plugins/comment/views/sidebar'));
becomes:
$this->assignToLayout('sidebar', new View('../../plugins/comment/views/sidebar'));
Skeleton plugin
To allow for a quick start on plugin development, a simple skeleton plugin was added to the core.
Basic inter-plugin dependency support
To allow plugin developers to modify their plugin’s behaviour depending upon the availability of other plugins, a new function was added:
Plugin::isEnabled($plugin_id)
Easily retrieve and store plugin settings
To enable a plugin developer to just work on his plugin and not re-invent the settings wheel, a couple of functions were added:
/**
* Returns the value for a specified setting.
* Returns false when unsuccessful in retrieving the setting.
*
* @param <type> $name
* @param <type> $plugin_id
*/
static function getSetting($name=null, $plugin_id=null)
/**
* Retrieves all settings for a plugin and returns an array of name-value pairs.
* Returns empty array when unsuccessful in retrieving the settings.
*
* @param <type> $plugin_id
*/
static function getAllSettings($plugin_id=null)
/**
* Allows you to store a single setting in the database.
*
* @param string $name Setting name
* @param string $value Setting value
* @param string $plugin_id Plugin folder name
*/
static function setSetting($name=null, $value=null, $plugin_id=null)
/**
* Stores all settings from a name<->value pair array in the database.
*
* @param array $settings Array of name-value pairs
* @param string $plugin_id The folder name of the plugin
*/
static function setAllSettings($array=null, $plugin_id=null)
New events
A number of new events were added in 0.9.5, the complete list is:
Thanks to forum member “windrider07”, the Frog CMS community can now enjoy real-time chat via the wonders of IRC. If you would like to join in, point your chat client to:
The Frog development team is pleased to announce that we've released Frog 0.9.5 RC1
Please see the download page if you want to help us test RC1.
About this release
This release of Frog sees some major changes in the structure of the system. The backend/frontend split was removed which off course severely affected paths of file. There were some database schema changes aswell, but there were mostly additions. We would like to suggest that you read through the changes list carefully since there are some small gems in there.
A couple of examples:
Added front-end login feature similar to layout selector. (options: login required, not required, inherit)
Added drag-to-copy feature for better multi-language support.
Added a new core plugin called skeleton to help out new plugin developers.
Added translation template generator to help out translators with translating Frog core and plugins.
About Release Candidates
Most if not all stable releases of Frog will be preceded by one or more "Release Candidates". A release candidate is a version of Frog which we feel could be stable enough for normal use, but which we want to keep testing first. Once any issues that came up during testing of an RC release have been corrected, a stable release will be made available.
The intention of the RC releases is to give you, the user, a chance to help us test an upcoming release.
List of changes in 0.9.5 RC1
Added getSetting(), setSetting(), getAllSettings() and setAllSettings() to Plugin class for plugin devs - issue 128
Added comments plugin option to display to-be-moderated comments on plugin tab (default true)
Added MySQL port to install screen. Thanks gilles.doge - issue 107
Added new events - issue 94
Added site identifiers to login screens (both login.php and forgot.php) based on Admin screen title setting.
Added front-end login feature similar to layout selector. (login required, not required, inherit)
Added drag-to-copy feature for better multi-language support. Thanks tuupola.
Added a new core plugin called skeleton to help out new plugin developers.
Added translation template generator to help out translators with translating Frog core and plugins.
Added Norwegian and Swedish core translations.
Added updated Chinese translation.
Removed split between frontend and backend.
Added an ID to the "view this page" link so it can be styled.
Fixed GET variables not being available in Frog's frontend. - issue 75
Fixed issue where AutoLoader did not find file for 'PageArchiveMonthIndex' - issue 101
Fixed issue where saving a page without title results in loss of entered content - issue 68
Fixed issue with filename lowercasing during upload of files. Thanks david - issue 113
Fixed previous()/next() functions to work for all levels. Thanks rid - issue 109
Fixed "Add child" tooltip for browsers not picking up the alt value of the icon.
Fixed broken View Site link for TLDs starting with 'a' - issue 116
Fixed XHTML compatibility problem with Comment plugin.
Fixed issue where only the last addJavascript was accepted.
Restricted access to backend to roles administrator, developer and editor - issue 122
Updated backend layout to make error and success messages automatically dissappear after 1.5 sec.
Updated readme.txt with requirements detail for MySQL server.
Updated file_manager plugin translations to conform to new template.
Updated comments in preparation for PHPDoc documentation.
Renamed root dir text files to avoid name conflicts and accomodate Windows users.
Renamed style.css into screen.css for more consistency with print.css in Normal layout.
Simplified Comment plugin to make use of Plugin::getAllSettings() and friends.
Frog has been getting some good press recently. In an article for , Jason Mosely offered some sage advice for those looking for . Having listed some criteria for what to avoid, as well as what to look for in identifying the right CMS “tool” for the job, Jason gave Frog CMS pride-of-place as one of the most promising CMS’s to “keep an eye on”.
A couple of designers have done just that, both of them switching over their sites from one of the market leaders to Frog CMS:
The portfolio site of , a freelance webdesigner in Minnesota, has
been “reborn” in Frog. Bedrich has blogged on .
Similarly, the Pigmata Media team have launched their in Frog. They too that led them to using Frog not only for clients, but for their own corporate site, too.
As Frog moves towards a 1.0 release, it is gratifying to see the user-base and the community growing so significantly!
The expectation is that a beta version of Frog 0.9.5 will be made available before mid February. Due to the large number of big changes in the Frog core system, we are planning to release 0.9.5. in at least three steps:
Release 0.9.5 Beta – This will allow users to help test for bugs.
Release 0.9.5 RC1 – A Release Candidate is planned to make sure we don’t encounter anymore severe issues.
Release 0.9.5 Final
We would like to invite our users to help us test the beta release when the time comes and to log the issues in the .
As you can see, the changelog has grown considerably since version 0.9.4. We’ve taken the liberty to highlight some interesting items:
Added MySQL port to install screen. Thanks gilles.doge – issue 107
Added new events – issue 94
Added site identifiers to login screens (both login.php and forgot.php) based on Admin screen title setting.
Added front-end login feature similar to layout selector. (login required, not required, inherit)
Added drag-to-copy feature for better multi-language support. Thanks tuupola.
Added a new core plugin called skeleton to help out new plugin developers.
Added translation template generator to help out translators with translating Frog core and plugins.
Added Norwegian and Swedish core translations.
Added updated Chinese translation.
Removed split between frontend and backend.
Added an ID to the “view this page” link so it can be styled.
Fixed issue with filename lowercasing during upload of files. Thanks david – issue 113
Fixed previous()/next() functions to work for all levels. Thanks rid – issue 109
Fixed “Add child” tooltip for browsers not picking up the alt value of the icon.
Fixed broken View Site link for TLDs starting with ‘a’ – issue 116
Fixed XHTML compatibility problem with Comment plugin.
Fixed issue where only the last addJavascript was accepted.
Updated readme.txt with requirements detail for MySQL server.
Updated file_manager plugin translations to conform to new template.
Updated comments in preparation for PHPDoc documentation.
Renamed root dir text files to avoid name conflicts and accommodate Windows users.
Renamed style.css into screen.css for more consistency with print.css in Normal layout.