Custom basic CMS update automation

Marco Gasi
Marco Gasi used Ask the Experts™
on
So I buld dynamic websites. As CMS I use something I have built by myself because I wanted to offer something very simple and easy to use to my client: they are small clent and they can't spend time to learn how to use Wordpress, OpenCart or other complex CMS. They just have to add, delete and modify some products data, or even just add some news to publish in the homepage.
So I have developed my own CMS. My problem is that I always work on it to improve it and everytime I change somewthing I have to manually upload changed files to the clients websites in order to always be sure I have the same code running in the various Control Panels.

As you guess, this becomes soon a crazy task, subject to errors and confusion. I would like to automate this process but I'm not sure how to do it.

Let me say that the develpment version of the code uses Git as Version control system. I also have to specify that between the various versions of the Control Panel, only one file is specific to that specific client, a configuration file in json format which my classes read to do the various tasks.

This config files holds specific settings and many times, as I improve the doce and some new features, the config file itself needs to be changed and I have some doubt this can be automated because here I need to preserve orginal specifi settings whil I add new sections with new settings and their default values.

So I think I could manually update only this file, but how can I make the other core components "self-update" when I change the "matrix"?

Any idea or suggestion?

Thank you in advance for any idea :)
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Fractional CTO
Distinguished Expert 2018
Commented:
You're basically talking about duplicating updates, similar to how WordPress handles updates.

Your primary consideration here will be whether your income will be higher working on your own CMS or selling WordPress services.

This consideration came up for me years ago. I opted to go with providing hosting + other WordPress related services, to leverage all the dev work which goes on inside the WordPress ecosystem, because I can leverage a multi-million/month dev ecosystem for free.

You can manage your update process however seems best + you're still writing code (zero money) rather than adding new clients (money).

Tip: If you're using GitHub, you can simply tag updates to be one file or many files. This way an update from... say your latest/master branch... will pull either one file or many files.
Scott FellDeveloper & EE Moderator
Fellow 2018
Most Valuable Expert 2013
Commented:
only one file is specific to that specific client
It sounds like you may just need to split up your config file.  For instance, you probably don't want to over write database connections or where the CMS is installed on the users server.  But other parts of the config file do need to get written over when you make updates.  Perhaps your config file can contain two separate config files. One global and one local (db connections).
Marco GasiFreelancer
Top Expert 2010

Author

Commented:
Hi and sorry fir the delay.
@David: I understand your point about business, but I love to write code :) I'll check about tagging updates

@Scott: that's sounds good too. Maybe I can use both...

Thank you all
Bootstrap 4: Exploring New Features

Learn how to use and navigate the new features included in Bootstrap 4, the most popular HTML, CSS, and JavaScript framework for developing responsive, mobile-first websites.

Marco GasiFreelancer
Top Expert 2010

Author

Commented:
Thank you again
Scott FellDeveloper & EE Moderator
Fellow 2018
Most Valuable Expert 2013

Commented:
Marco, for what it is worth, I run into the same thing as you.   A client finds WP too hard to use when they just want to create a calendar or manage some products.  I do the same thing as you where I create a simple cms for title, description(s), categories, images etc.  I have tried duplicating and the issue I run into is the needs from one to the other are not identical.  I just try and give them objective reasons for using a custom cms or WP.  Most are happy to pay more for something custom that just works.  I have tried to create a CMS on my own site to do what you want thinking I could use for multiple people and just keep the code in one spot. The issue is the same. The reason somebody wants a custom CMS is to be tailored to their own system.  I have just went with that and kept custom code for each individual.

If you are doing this for shopping carts, it may be interesting to check out opencart where you do the initial set up and have your code access the api for managing product in what you will make a simple interface http://docs.opencart.com/en-gb/system/users/api/  You end up presenting something easy to your client, but it is built on something proven that you don't have to manage to the extent you are doing.

Good luck!
Marco GasiFreelancer
Top Expert 2010

Author

Commented:
Scott, thank you for still giving help:) About OpenCart API: are you saying that I can install OpenCart and then, using the API, I can use whatever I want for the frontend? I mean, we are not linked to OPenCart themes? Really interesting. In effect I've just ended to setup a small ecommerce system whith a bunch of classes in their namespace and it works nicely, but OpenCart offers much more so this is definitely a useful info you gave me. Thank you.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial