NuSphere Forums Forum Index
NuSphere Forums
Reply to topic


Joined: 14 Aug 2009
Posts: 35
Reply with quote
I am very interested in this topic - I just visited the forums to ask a similar question.

I am used to working straight from a live FTP, and I am happy to change the way I work, but I want to do all I can to make my life easy.

Here is my frustration with what I currently understand about this topic, I'm sure a situation many people are in:

- Working with SVN controlled files I normally have to check out a new version of a project on to the dev server before I start work.
- Depending on who else has been working there could be a large number of changed files.
- As I understand it, when I start work, as well as checking out the latest version of the project to the dev server, I now introduce an extra step where I download the complete set of changed files from the dev server to my local machine. Otherwise I might make changes to a local file which is out of date. - Even if not many files have changed the sync feature can take several minutes just reading the remote files checking for changes before I can do any other ftp transactions.

So there are new time sinks in my development. I must download an entire project the first time I work on it. Generally hundereds of files. Most of which I wont use. And I must download all the changed files everytime I checkout the project when I start work, even though most of the files I will not be editing. If I tell it to omit syncing certain directories, I could well end up needing them, and only being able to see 'part' of the directory tree makes the job really confusing. Adding / removing directories from the "omit" list is another potential time sink / thing to manage.

Also, to work like this I am relying heavily on the project auto-sync feature. Can I rely on this to just get on with its job in the background and trust that when I open a local file it will have definately updated it from the newer version on the server, or do I have to check manually each time?

Also, I don't see the advantage that is mentioned in previous posts with having everything on the local machine. I have set up the debugger to run on a remote development server, which is one of the options when setting up the project, so surely every file has to be uploaded to the server every time I save it anyway? So with this method and system I see only disadvantages and more time sinks.

Are there any comments / suggestions based on my concerns?

I am new to phpEd (as of yesterday) and I really want it to work for me - I am even prepared to change some of the ways I work - but realising these issues does leave me slightly worried.


Last edited by cr0wn3r on Sat Aug 15, 2009 7:38 pm; edited 1 time in total
View user's profileFind all posts by cr0wn3rSend private message


Joined: 14 Aug 2009
Posts: 35
Reply with quote
Just had a run in with the auto sync that leaves me even more confused...

Having managed to download a good chunk of my project, in the workspace I renamed mysubdir to mysubdir.bac, then I recreated a new directory called mysubdir and set about refactoring the original code that was in the original mysubdir (now called mysubdir.bac). When I was done I had fewer files in the refactored mysubdir.

Then I clicked to sync the folder that both mysubdir and mysubdir.bac were in. Rather than copying my changes and realising that files had been removed from the newer version (my local copy) of mysubdir, it uploaded the new mysubdir.bac (which was what I wanted) but then populated my local copy of mysubdir with the old files from the remote servers older version of the directory. It didnt overwrite my changed files, but did download all the files that I had refactored in to other code and so didnt need anymore.

Is this behaviour by design? Obviously it's not a show stopper as I knew which files I had got rid of so I deleted them again using the Explorer ftp view, but it doesnt seem that my local copy and remote versions were updated as they should be. Am I doing something wrong?
View user's profileFind all posts by cr0wn3rSend private message


Joined: 14 Aug 2009
Posts: 35
Reply with quote
Ive investigated this a bit further and it seems that:
- if I delete a file locally and sync, the auto sync feature re-downloads the server version
- if I delete a file remotely in explorer the auto sync feature re-uploads my local version

So it seems that the only way to remove a file is to delete my local copy and then go in to the explorer and find the file and delete it remotely as well. Is this right? Or am I missing something?
View user's profileFind all posts by cr0wn3rSend private message


Joined: 14 Aug 2009
Posts: 35
Reply with quote
I know I'm kind of having a conversation with myself here, but wanted to post again in case anyone reads and spends ages repying to my long post a couple of lines above.

Having spent a few days teething I'm now discovering the remarkable value that phpEd brings to having an entire local copy of the project. The ease of finding declarations of functions and classes in a huge project is astounding. And when I called one of my own functions from a library several includes away, and got a pop-up with my own comment code in documenting the function, my jaw hit the floor... I'm converted.

[edit: though I'd still appreciate some comment on the deleting files confusion in the above two posts.... ]
View user's profileFind all posts by cr0wn3rSend private message


Joined: 28 Aug 2009
Posts: 2
Reply with quote
cr0wn3r wrote:
Ive investigated this a bit further and it seems that:
- if I delete a file locally and sync, the auto sync feature re-downloads the server version
- if I delete a file remotely in explorer the auto sync feature re-uploads my local version

So it seems that the only way to remove a file is to delete my local copy and then go in to the explorer and find the file and delete it remotely as well. Is this right? Or am I missing something?


from support:
Quote:
Smart sync will work both ways to sync local computer and the server. If you need to upload so you'll sync your server with the local machine (only one-way) please use "upload" instead of sync, smart upload will sync the server but will not download files from the server.
And in any case we will not delete files from the server.
View user's profileFind all posts by BlackfireSend private message


Joined: 14 Aug 2009
Posts: 35
Reply with quote
Hey Blackfire. Thought I'd already replied to this but I must have been dreaming.

Youve outlined pretty much exactly what the problem is Smile

from support:
Quote:
And in any case we will not delete files from the server


I refactor my libraries and classes locally, and extract functionality from other large libraries in to streamlined ones. A common task I think in large projects. But when I publish to the testing server, the redundant files and directories are not removed on the test server. Doesnt matter what combination of upload or download or auto sync I use. Causes a major problem as we use the symfony framework, which is heavily dependent on autoloading all contents of certain lib directories. So redundant files are still loaded and that can be troublesome. And even if they werent autoloaded, having 'dead' files within the project isn't good practice.

Someone else on the team refactors code and commits to the svn, then when I check out the latest version on to my test server and sync locally my local directory structure is not kept up to date with the removed files and directories. This means that when Ive done working and publish to the test server, and then check in my code, I reintroduce old directories and files to the project svn without knowing.

I think there needs to be a way to fully sync a local copy with the remote debuging server, even if it is a seperate option to the current ones. PhpEd allows me to set up a remote server for debugging so I assume this is an acceptable way to work - but if the sync tools can't be relied on to sync then it doesnt seem feesable to me.

I don't think I can be the only one working in this way?

My conversation with support though yielded a good idea - using sftp / expandrive or similar to trick phpIDE in to thinking it is working locally. Means you can use the full range of project / debugging functionality, while effectivley still working over an ftpconnection

I'm testing it at the moment.

I still think there should be an 'actual' sync button though for publishing, that does actually sync. While the sftp thing might work, it is a bit of a clumsy work around and performance is definately reduced compared to real local coppies.
View user's profileFind all posts by cr0wn3rSend private message


Joined: 09 Jul 2009
Posts: 13
Reply with quote
Signe wrote:
None of that should be required to be on my machine if I could simply just retrieve the file that I need, edit it, and save it back to the server directly. The only thing that needs to be maintained on the local machine is the list of files on the server.

For one thing, it means never having to worry about the files being out of sync between your desktop and the server. I edit from several locations on any given day. At home on the desktop, in the office on the laptop, linux commandline in vi... and every time I sit down, I have to completely resync the project.

It's a waste of time and energy.


Just to contradict you and show how this is - in fact - better for you in the long run.

Firstly, it sounds like you are editing files on the production server directly. This is very bad practice. Files should always always be modified and tested in a testing environment first (whether on your local machine or a remote testing server first - I use both) before going to production. Not having the ability to directly upload to a server gives you the ability to test it on your local machine and make sure the changes don't break anything before pushing them up. This can save you untold heartache in the end.

As for files being out of sync, have you ever heard of wonderful tools commonly looped into the group of "version control". These are some of the most useful tools I use. My favorite flavors are Subversion and Git. They allow you to make changes from many location (and multiple people to make changes) to the same file and have all the changes gracefully (in theory) merged together in the end. As long as you commit your code changes after making them.

Yes, you still have to "upload" (commit) and "download" (update) all the changes on all the different machines, but it allows you to accurately track changes - as well as removing bad changes (very quickly) that you didn't want. Another tool that can save you a lot of grief - or your job.

You may think version control sounds like a waste of time and energy, but just wait. Some day, it'll save your life.


As for me, and myself, I use NuSphere's FTP functions for my releases to production. I dev/test locally, use subversion to sync to a remote testing server, and once I'm ready to release, use the NuSphere Smart Sync functionality to push the files to the production server. It works like a charm.
View user's profileFind all posts by killermonkSend private message


Joined: 28 Sep 2009
Posts: 2
Reply with quote
Still can not open/save expandriven remote disk. Create project from this disk is ok, but can not save/open files directly to/from it. phpEd says 'Path not found'.
View user's profileFind all posts by DrewxSend private message


Joined: 28 Sep 2009
Posts: 2
Reply with quote
FIXED in 5916. Thanks.
View user's profileFind all posts by DrewxSend private message


Joined: 12 Aug 2009
Posts: 3
Reply with quote
Drewx wrote:
Still can not open/save expandriven remote disk. Create project from this disk is ok, but can not save/open files directly to/from it. phpEd says 'Path not found'.


I have this exact problem with WebDrive 8.21 on Windows 7 Home Premium, although it works with the same setup on another machine (apart from the OS being Ultimate, not Home Premium). I am using phpEd 5.9.5919.
View user's profileFind all posts by ordo.dkSend private message
Work off FTP site?
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT - 5 Hours  
Page 2 of 2  

  
  
 Reply to topic