Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Configuration Management for production


Sam Hobbs

Recommended Posts

For those not familiar with the term, "Configuration Management" is commonly used by software professionals to refer to the process of tracking changes to software, documentation and related things such as test data. Probably the osCommerce developers are familiar with the term. I think they use CVS for Configuration Management of osCommerce.

 

Now that I have installed and modified osCommerce for my use, I wish I had a way to track the changes I have applied to it. Has anyone done that? That is, track the changes applied to an implementation of osCommerce? For example, "Contributions" are typically applied by copying PHP files. It would help to have a list of those changes; what files were added, replaced or deleted. Of those files that are replaced, configuration management typically tracks the changes within those files, but often (usually?) that is not important for "Contributions".

 

Related to that, I think it would help to have an automatic implementation system for things such as "Contributions".

Link to comment
Share on other sites

Sam,

 

Since you seem to understand CM, why aren't you just using a CM tool like CVS to track the changes made by adding contributions?

 

While some contributions come as files to be copied in to place, most users of contributions must learn cut and paste. First, many contributions do not come as completed files ready to be copied. Only cut and paste directions are provided.

 

Second, once you install the first contribution that affects a specific file, you can never integrate another contribution that affects that same file again except by cut and paste. Copying a new version of a file that was modified by an earlier contrib will destroy the changes made by the first contrib.

 

ed

Link to comment
Share on other sites

Since you seem to understand CM, why aren't you just using a CM tool like CVS to track the changes made by adding contributions?
If I gave the impression I know as much as you assume I do, I am sorry. I was trying to help people understand what I was talking about and to reduce the possibility of getting irrelevant comments. I don't know how to use CVS, but I can figure it out. However I was asking if someone has any experience that would save me time. Do you have such experience?

 

While some contributions come as files to be copied in to place, most users of contributions must learn cut and paste.? First, many contributions do not come as completed files ready to be copied.? Only cut and paste directions are provided.?
We are not "most users". As far as I know, it is possible for us to use a tool such as CVS to track changes such as that, even if most people do not. Are you saying you know it is not possible?

 

Second, once you install the first contribution that affects a specific file, you can never integrate another contribution that affects that same file again except by cut and paste.? Copying a new version of a file that was modified by an earlier contrib will destroy the changes made by the first contrib.
Again, as far as I know, it is possible for us to use a tool such as CVS to track changes such as that, even if most people do not. Are you saying you know it is not possible?
Link to comment
Share on other sites

Sam,

 

I did think you were coming in knowing CM tools already. Apologies are mine for not understanding.

 

I have been a CM manger and work with CM tools as a developer, although I have not applied them to osCommerce. :blush: I should work on that myself.

 

We are not "most users". As far as I know, it is possible for us to use a tool such as CVS to track changes such as that, even if most people do not. Are you saying you know it is not possible?

No, I'm saying many contribs come as cut and paste directions (not as whole files to be copied) and a CM tool would be a great idea. Whether a contrib modifies existing files, replaces files, or adds new files, a good CM tool can handle all of that.

 

Also, you'll note many contribs have Backup as step 1. With a CM tool, step 1 would be mark current code base as a release. Then, changes made as part of the contrib integration can be removed by a roll back, not by blowing away the site and reloading the backup.

 

ed

Link to comment
Share on other sites

I began as a programmer about 15 years before the PC existed. I was an IBM "mainframe" programmer. In those environments, Configuration Management tools traditionally managed files but not source code within files. In other words, software such as SCCS, CVS and Visual SourceSafe were typically not used. The applications I developed just managed the files; that is, moving source code and compiled executables from test to production.

 

I learned about SCCS in about 1980 and I did really like the idea, but I did not have the opportunity to use it. I know that CVS is an improvement compared to SCCS. I have Visual SourceSafe but I am not sure how to use it. Visual SourceSafe seems to also track files but not changes within files. As an individual programmer, I am more interested in tracking changes within my source files.

 

I know that CVS is used for most open-source projects and projects such as that, so I am eager to learn how to use it. This osCommerce system might be the thing that gets me going.

 

You probably understand very well my feeling that it is sloppy to modify production application software directly without tracking the modifications. It is also sloppy to make modifications directly, such as copy and paste and moving/copying modules.

 

A lot of the problem is that since osCommerce is open-source (or like open-source) software. It has been very easy to customize it by modifying the source, and customizations have been shared in the form of source code modifications. In other words, commercial software would typically package the customizations in a manner that would be easier to implement and manage. Related to that is the fact that PHP is translated, not compiled.

 

I think that if we lead the way, it is possible to develop a common implementation mechanism for osCommerce customizations. That will likely be limited for use when the modifications are a few lines of source code within a file, but when the changes are at the file level, it should be practical to apply changes automatically or semi-automatically.

 

I can imagine that many people will have a lot of work and frustration implementing a new version of osCommerce. Perhaps it would help if some consideration were put into the design of the next version to decide if something could be done to assist with CM.

 

For me, the problem is a bit more complicated than most CM environments, although it is very common for osCommerce environments. My osCommerce implentation is not in my server; it is in a hosting company's server. So I am not sure how to use CVS in such an environment. Must I have CVS installed by them? I assume so. Alternatively, I could try using CVS in my system and use a copy of my osCommerce from a backup copy of my production system. However what about the situation where I have already modified osCommerce? Do I need to install osCommerce on my system to have an unmoidified version as a base? (If "base" is not the correct term, then I hope you understand.)

 

I can also imagine that many other PHP systems have essentially the same problems, but I am not sure if there is anything that could be done at the PHP level.

Link to comment
Share on other sites

I have tried to edit my previous reply, but there seems to be an error in the system.

 

In the first paragraph, I changed:

 

From: software such as SCCS, CVS and Visual SourceSafe were typically not used

To: software such as CVS were typically not used

 

In the second paragraph, I changed:

 

From: Visual SourceSafe seems to also track files but not changes within files. As an individual programmer, I am more interested in tracking changes within my source files.

To: Visual SourceSafe tracks files but as far as I see it does not track changes within files. I am more interested in tracking changes within my source files.

 

In the fifth paragraph, I changed:

 

From: A lot of the problem is that since osCommerce is open-source

To: A lot of the problem is that osCommerce is open-source

 

I was able to edit this post, so the problem probably has been fixed already.

Link to comment
Share on other sites

Sam,

 

My experience is that you can edit for a short time after submitting a post and then the ability to edit is lost.

 

Comments on your post later tonight. Good discussion.

 

ed

Link to comment
Share on other sites

Sam,

 

I am also using hosted servers. I did some looking around and most CM tools require a server piece that would require getting the host admin to install. Another option is to host the repository on your local PC. There's a module that supports ftping files when they are checked in. That would allow you to develop locally and only ftp to the hosted server when ready.

 

It would be nice if osCommerce supported modules that can be uploaded and then turned on or off in admin as necessary. Mambo (a CMS) supports that. It really needs to be built into the core of the app.

 

It is a lofty and worth while goal but I'm not sure how to get there.

 

ed

Link to comment
Share on other sites

Yes, I did think about FTP after I posted my reply.

 

As for other possibilities, hopefully something can and will develop and our identification of it as something worthwhile will get things started.

 

I would like to develop this further, but I am in a position similar to what I assume you are in; I really should give a higher priority to many other things.

Link to comment
Share on other sites

For those not familiar with the term, "Configuration Management" is commonly used by software professionals to refer to the process of tracking changes to software, documentation and related things such as test data. Probably the osCommerce developers are familiar with the term. I think they use CVS for Configuration Management of osCommerce.

 

Now that I have installed and modified osCommerce for my use, I wish I had a way to track the changes I have applied to it. Has anyone done that? That is, track the changes applied to an implementation of osCommerce? For example,  "Contributions" are typically applied by copying PHP files. It would help to have a list of those changes; what files were added, replaced or deleted. Of those files that are replaced, configuration management typically tracks the changes within those files, but often (usually?) that is not important for "Contributions".

 

Related to that, I think it would help to have an automatic implementation system for things such as "Contributions".

Have you had a look at the Admin Notes Contribution? Would this help?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...