Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6336931
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T19:09:19+00:00 2026-05-24T19:09:19+00:00

I made a simple CMS with CakePHP to handle a small (but growing) number

  • 0

I made a simple CMS with CakePHP to handle a small (but growing) number of websites. The CMS is constantly evolving as I regularly add features to a development version on my own machine.

I use SVN to trace the evolution of this development version, and that’s pretty much it. To make a new website, I basically copy/paste the dev folder and modify the necessary files before uploading the new website by FTP.

One problem is in the end, every website installation is independent and if I want to add some new features to existing websites, I have to copy files by hand.

Another problem is that some websites have modified versions of the CMS because of specific needs: some controller classes have specific methods not present on the local version.

To sum it up:

  • I have one base CakePHP app regularly evolving
  • There are multiple versions (=websites) of this app already installed on different servers
  • Some websites have custom code included not present in the base version
  • I want to be able to easily update all the present and future websites when I improve the base app, without breaking some possible specific parts

Knowing it’s a CakePHP app, what would you do? How should I change my code to manage at the same time the core and the specific code?

Thanks in advance!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T19:09:21+00:00Added an answer on May 24, 2026 at 7:09 pm

    … some controller classes have specific methods not present on the local version.

    You might also consider the option of setting up additional class paths within each of your website applications. You can tell CakePHP to check other directories entirely for files missing from the current application. For example, you could have the following directory structure:

    /app1 - a standard client's website application
    /app2
    /app3 - a custom client's website application (with custom controller)
    /core - the core CMS application
    /cake
    

    By adding the following to your /appN/config/bootstrap.php files, you are telling CakePHP to look for controllers in /core/controllers if it can’t find one it’s looking for in the current application.

    App::build(array(
        'controllers' => array(ROOT . DS . 'core' . DS . 'controllers' . DS),
    ));
    

    This would, for example, allow you to put all your CMS controllers in /core/controllers and delete all your /appN/controllers directories. Only where a client needed a controller customized (ie. /app3 above) would you create a controllers directory, copy the specific controller across and make modifications (adding methods and such).

    (This is the approach the developer of Wildflower CMS took – note the /wildflower directory.)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I made a simple counter, but it increments by 2 instead of 1. $handle
I made a small page ( http://www.ovlu.li ) using CMS Made Simple ( http://www.cmsmadesimple.org/
I'm teaching myself CSS through books and websites. I've made a simple site with
I recently made a small rails3 app to convert an old cms written in
hi im fairly new to cms made simple and ive stumbled upon a problem
hi I've made a simple module with CTLModuleMaker in CMS made simple, in the
I have been using TinyMCE WYSIWYG in CMSMS(CMS Made simple), its working in all
I am quite new to CMS MAde Simple. I am not able to understand
I have a site which I have converted to use cms made simple. It
I am working on a quite simple custom made content management system (CMS). There

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.