Add On to upload changes to the site as one develops under a local copy of Apache?

Permalink 1 user found helpful
I got a question for you all.

Is there a market for an Add On to developers that will allow them to hit a button (placed into the Dashboard somewhere) that will automatically and completely upload to a host site any changes made to a site locally?

By locally I mean where one is developing a site under a local copy of Apache before uploading to a host server.

I presently use a PHP script along with public/private key authentication at my host server to upload changes.

I just run the script and presto. As quickly as the script runs...any changes I have made appear at the site.

No need to run instances of phpmyadmin and dump and transfer things manually. Login to the SSH shell to import an SQL file. Or any other such thing.

I still must go and find the file representing a photo I have placed into my site through the C5 File Manager and upload that numbered directory to the host site through FTP but running my script saves me a boatload of time.

Incidentally I found a far better and much, much faster MySQL administration GUI front end than phpMyAdmin (which now seems positively clutzy to me). It's called Adminer. I highly recommend it.

Carlos

PS. My script is not available for public consumption as is. I must change some parameters in it and make it more general but I was thinking of creating an Add On to run the script automatically for whatever page one is editing and was just wondering if something like that might be worth trying to sell in the Marketplace.

 
jordanlev replied on at Permalink Reply
jordanlev
If it was stable and proven to work and was very clear about telling me ahead of time what it was going to change and give me a chance to review that list and approve it before happening, then yes I would absolutely love something like this.
I would not, however, be willing to pay for it on a per-site basis (which is the only way you can license addons in the marketplace) -- I would consider purchasing it for a one-time fee though.

Just my 2 cents.

-Jordan
carlos123 replied on at Permalink Reply
Thanks for the input Jordan. I can see where paying for it on every site one builds would a no-win (I had not yet thought about it far enough to realize that such might not be a good Marketplace fit here). I wouldn't want to do that either.

How much do you think such an Add On could be reasonably priced at Jordan?

Trust me when I say that I can create such an Add On given that I already do just what I am talking about in a separate script.

It would just be a matter of encasing the script in a nice Add On type of functionality and building up the Add On to allow for various items of input through an Add On form (items such as host server name and other such things).

The SSH public/private keys would need to be set up though and I don't think I could automate that at all (there may be a way though...I'll have to look into that). If I am not mistaken setting up the keys between local host and the server would need to be done manually but it's really not hard. Just step 1, step 2, and so forth.

This is assuming of course that one's shared host (if that is what they have) allows SSH public/private key authentication (which not all of them do).

I just found out a few days ago that Hostgator does allow that now (they didn't use to before a few weeks ago apparently). As soon as I found out they did...I went ahead and finalized the automatic logging into my shared host through SSH access to automatically create a dump of my C5 local MySQL database, transfer that dump to my host by FTP, and then import that dump into the C5 database at my host.

It takes just a few seconds to do all that. Automatically. All I do is run the script whenever I have changes to upload to the hosted version of the site I am working on.

Carlos
JohntheFish replied on at Permalink Reply
JohntheFish
Sounds interesting. Does it cater for windows/linux case changing of table names, and can it work bi-directionally? ie. A workflow of sync a development site to an area of the online site, do some work on the development site, then sync the online site to the updated area of the development site.
carlos123 replied on at Permalink Reply
Hi JohntheFish (interesting name...you must like fish :)),

Not sure what you mean by "windows/linux case changing of table names". I assume you mean changing table names just not sure about the case changing as in changing the case in which the table names are found in MySQL?

The script I have does not work bi-directionally from the host server to the local development environment on your own computer. To do that your computer would have to run as a server I think, accepting connections from off the internet.

While that is certainly doable...most ISP's don't allow that. I wouldn't want to fiddle around with trying to get around such policies.

So it presently only works one way. From the local development environment running MySQL to the host server instance of the C5 MySQL database at the host.

As far as syncing goes John, my script does indeed sync the host with the local development copy of a site. But again the syncing is from one's local computer TO the host server and does not truly sync between the two in the sense that if you make a change at the host, that change will not be reflected in the local copy of the site automatically.

Still...come to think of it I could set it up to access the host server via SSH shell, automatically create a dump of the C5 database, download that dump to my local computer, and then automatically import that dump into the local C5 MySQL database. Never thought about that but it sounds perfectly doable though I am not sure why anyone would want to do that other than as a backup I guess.

The script I have created is really not that big of a deal by itself. I mean there aren't many lines to it. What was a big deal was my having had to make the time to figure out how to do this automatically and then testing various approaches until I found one that worked well. It took a number of hours of plugging away at the problem and making calls to my host provider until I figured out how to do what I wanted to do.

Just trying to figure out if there a way to make money from such a script is all :).

Carlos
jordanlev replied on at Permalink Reply
jordanlev
re: pricing: if it were packaged up nicely, and "just worked" without resorting to lots of configuration and tweaking, I could see paying $40 or $50 (for a per-developer license, not per-site). That's just me, though.
carlos123 replied on at Permalink Reply
That's a very reasonable price if you ask me Jordan given that the script itself is really not that big of a deal (at least to me). It just took a while to figure out how to do it is all and I had to scour the internet for bits and pieces of knowledge for the different actions involved.

I'll have to see if Frz is willin to sell it here somehow as part of a new category of Add On comprising one time deals. Hopefully that's possible as I sure don't want to hassle with trying to sell it from my own site (I don't use PayPal and unfortunately they are becoming the merchant of choice for many with few if any alternatives).

If you are willing to give me further input Jordan both for your own sake in possibly ending up with a script that is more suitable to you as well as mine (if I actually go through and create a sellable version of my script)...

Can you be more specific on what you mean by having it packaged up nicely?

What minimum set of parameters would you want to be able to change with such a script? The server hostname is a given. The name of the C5 MySQL database and it's associated username and password of course. The name of the C5 MySQL database and it's associated login credentials at the server host for sure (though I normally use the same names and login credentials between the host server and my own). Any others?

Would you be adverse to having this script run outside C5 altogether such that one could activate it by going to a URL of the form -> domain.com/script.php?

Using an Add On for this kind of script is really unnecessary and much slower in that one would have to login to the C5 administrative interface for every run of the script.

Though I could, I suppose, create an Add On that could be put on a page like a block and then run by visiting a particular website page but that's more complicated than it needs to be.

Any further thoughts?

Carlos
carlos123 replied on at Permalink Reply
Jordan,

I have been thinking about this some and it seems best for me to release it for free (after making it nice and user friendly mind you).

Mostly as a way to get traffic to my site and hopefully make some Hostgator affiliate income.

I think I stand to make more money in the long run that way than trying to charge for it up front.

I can also try and sell other scripts to those who might sign up for free updates to a list type of thing.

If I do decide to do that are you interested in receiving a copy and giving me your honest feedback on what could be made better in it?

If you use Windows to develop locally with on your own copy of Apache that would be even better for testing purposes (since I operate strictly under Linux).

Carlos
jordanlev replied on at Permalink Reply
jordanlev
Sending you a PM