FTP, need help to improve my work flow

If I understand you correctly, you want to do the same things I do every day. I have a number of web site customers and I regularly need to FTP upload/download to their individual sites. Instead of the way you are asking for, what I do is to set up a saved layout for each of my customers. To do that, here is what I do:

  1. Put Opus in dual pane mode.

  2. In the left pane manually browse to the offline folder for the customer I want.

  3. In the right pane, log into the FTP server for that customer.

  4. Set my displays to sort the way I want them (I sort by last modified date so the newest files are at the top of the list).

  5. Then go to PREFERENCES/LAYOUT/SAVED LAYOUTS and save your settings with your customer's name.

That's it. Then the next time you want to connect to that customers web site, just go to PREFERENCES/LAYOUT/SAVED LAYOUTS and load that saved layout. Opus should then switch to dual pane mode with your offline folder loaded in the left pane, and it should automatically log into the FTP site for that client. And everything should be sorted the way you want it.

Many thanks John (is it John ?) for your answer.

It's a very nice way to do it, but this is not exactly what i'd like to do.

Let me explain

Let's say I'd like to work on project : 007 James Bond
this is the name of the folder on my computer
to access it, i go to my project folder, enter james or bond whatever in the realtime filter box (yes i forgot the customer number :wink:, and no i did not make the connection between my customer and the actual james bond :wink:)

at some point i want to go on the ftp server, so i use a button with the following command :
Go FTPSITELIST OPENINRIGHT
I click on the button, it opens the ftp list, i then choose the ftp server which is quite quick since i named the ftp server for that particular project : 007 James Bond

What i'd like to do is click on a button and BOOM it's connected to the ftp server

I should add that i'm always working in dual pane mode, and with only one lister opened

am i too lazy ?? :wink:

It's just that i have almost one hundred different ftp accesses, so it's getting longer and longer, the list is not show entirely, so i have to use a little arrow to see all of them...

Basically, i would like to keep the same workflow, whether i have 10 customers or thousands :smiley:

Cheers, Nico

PS: @john, pretty much like you do, one could use tab groups to achieve the same except you can only save a group for one pane.

PS2: the idea of having the panes sorted the right way is a really good one :smiley:

Yes, it's John. :smiley:

I guess I didn't understand you, and I don't think I do yet. Unfortunately I have to leave town for a few hours so I cannot do much until probably tomorrow. At least I can answer one of your questions, in your first message you asked:

[quote]but {sourcepath} is the complete path, the best would be only the name of the folder, is there an external control code for that ?
[/quote]

You can modify {sourcepath} so it only displays the folder name by doing this:

{sourcepath|nopath}

If you still have questions, I'll see if I can help again tomorrow.

John: I think you understood the goal just fine John
Nico: I think your command of the english language is just fine also :slight_smile:.

I think the problem for Nico with the Layout method is that the list of saved Layouts may get just as cumbersome to navigate as his list of saved FTP sites... what with the arrows to cycle through the list and all. It would eliminate the need to first browse to the local source folder though, since that would be saved in the Layout along with its' FTP twin.

Anyway...

The only way I could get something to work like what Nico is looking for was a two-liner that goes like this:

@nofilenamequoting
dopusrt /cmd Go OPENINRIGHT=vert FTPSITE=""{sourcepath|nopath}""

Otherwise, trying to use just the external control code against a sourcepath with spaces in it caused the quote parsing to get a little screwy. The command above also assumes you've actually entered into (rather than simply selected) the local source folder, but I think that's what was technically being asked for anyway. You could easily make the command work based on folder 'selection' though...

Steje : you understood perfectly what i meant, and also put it into words :smiley: much better than me :wink:

Steje, you say that the layout method would eliminate the need to first browse to the local source folder, true but what i really do is using the filter box, so i type in a few letters and i'm in whether there is 10 folders or a thousand (for the moment i have 124 folders in my project folder www, but it grows...)
... and we don't have this filter for ftp sites... yet !

So i tried you two-liner and it works ! awesome ! thank you so much

i still have a request :blush: is it possible to have something like this :
@nofilenamequoting
dopusrt /cmd Go OPENINRIGHT=vert FTPSITE=""{first_3_characters_of_the_folder_i'm_in}""

Why do i need that ?

  • if i can't do that, i need to rename almost all my ftp sites so that they match local folder names.
  • it would be more robust just having to specify the first 3 characters for the "system" to work
  • and i also add the name of the account to the ftp name (for instance : 007 James Bond - on 1and1 account bond)

This is the french way of doing things, critics first then congratulations
so if i was not clear enough :
Thanks again John and Steje for the nice feedback !!!
and Steje i hope you have a three liner for my request :wink:

Cheers, Nico

[Edit]
is there a {clipboard} control code ?
where {clipboard} is the same as the FROMCLIPBOARD for the CreateFolder command
i can't find anything in the documentation but i really think this would be a very interesting feature.
with that control code
with Nudel's setclip (to get the folder name i'm in)
and with a little prog to remove all except the first three character of the clipboard content
I could achieve my goal...!
setclip.exe {sourcedest|nopath}
keep_first_3_characters.exe
dopusrt /cmd Go OPENINRIGHT=vert FTPSITE=""{clipboard}""

I just submitted an enhancement request which I think is closely related to this topic.

See this thread:

[url]Sync Pairs (or maybe Sync Queues or Copy Queues)]

You folks would probaly have things to add to it.

Well... in the meantime, I think JohnZ understood the goal just fine and maybe just didn't take Nico's aversion to scrolling lists fully into account. But anyhow, if ALL of your local folders start with a series of digits followed by a 'space', then you could exploit the way batch files parse variables without renaming your ftp sites OR trying to come up with some sort of character parsing wizardry (of which John is our resident guru on :slight_smile:). The Opus button would do something like:

@nofilenamequoting
sync:setclip.bat "{sourcepath|nopath}"
dopusrt /cmd Go OPENINRIGHT=vert FTPSITE="{clip}"

...where setclip.bat would be a batch file in your search path that would run:

setclip.exe %1

Thanks Steje,

I'm sorry i made a big mistake in my last request ... it was getting too late !

What i need is the equivalent of :
@nofilenamequoting
dopusrt /cmd Go OPENINRIGHT=vert FTPSITE=""{first_3_characters_of_the_folder_i'm_in}*""

i forgot the star meaning any characters after the first three, so i guess i need character parsing wizardry, but i don't have the impression it's possible to achieve a least with ftp sites

For exemple i use :
Rename PATTERN "{dlgstring|Search}" TO "{dlgstring|Replace}" AUTORENAME
to change prefix quickly

Cheers, Nico

I don't think you can use * to match a name from the FTP site list.

Maybe an alternative approach would make sense. Something like a button you can click which asks for a site address, user and password and then writes a .bat file into the current folder (or with the same name as the selected folder) which you can double-click to open that site in Opus?

Of course, the passwords will then be in plain-text in the file so this may not be ideal, but if you don't care about that then it would give you a quick way to create something you can click, near or in the folder, which opens the FTP site you need.

Hi Nudel,

thanks for your thoughts.

Similarly, if i'm in this situation

left pane : local folder
right pane : ftp site

is it possible to create a button that :
add the ftp site to my adress book, the name of the connection being the name of the local folder

maybe something close to :
Prefs ADDFTPSITE NAME="{leftpanepath|nopath}" ??

I tried the simple Prefs ADDFTPSITE command with no luck, the button is greyed out, what am i missing ?

Cheers, Nico

PS: i would love to see real life exemples in the documentation, for control codes, predefined commands, etc.

I don't think you can specify a name with ADDFTPSITE.

Here's something that seems to work, though. This button will create a new Layout from the current lister, naming it after the directory in the Source side. (You could change it to use the Destination side if you want.)

As far as I can tell this works with FTP sites and remembers the username and password needed to connect to them.

@nofilenamequoting dopusrt /CMD Prefs LAYOUTSAVE=single LAYOUTNAME="{sourcepath|nopath}"
(If you get a "Press F5 to read" message in the FTP site when opening the layout you just need to switch off the FTP checkbox under Prefs / Layout / Default Folders / Prevent automatic loading...)

With that you can select the appropriate layout from the list (e.g. by right-clicking the desktop), or you could make a button which loads the layout based on the current or selected folder. There's a "LAYOUTTHISLISTER" argument you can add to the "Prefs" command which loads just the paths from the layout into the current window, instead of creating a new window.

Does that sort of thing do the job? Let us know if you need help setting up the 2nd part.

Thanks Nudel for all your feedback

So here is what i did :

for the first part saving the lister
i had to add quotes for your code to work (space pb, i guess):

@nofilenamequoting dopusrt /cmd Prefs LAYOUTSAVE=single LAYOUTNAME=""{sourcepath|nopath}""

for the second part loading the lister

[quote]@nofilenamequoting
Go /desk OPENINRIGHT NEWTAB
dopusrt /cmd Prefs LAYOUT=""{sourcepath|nopath}"" LAYOUTTHISLISTER=paths[/quote]

the Go /desk OPENINRIGHT NEWTAB is to open a new tab (is there a blank tab alias by the way?) in the right pane, so that when it loads the saved lister it does not remove any folder tabs already opened (that's also because when i save the lister i only have one tab per pane, my local folder on the left pane, and the ftp site on the right)

I still think this is a bit complex, and i would think there are drawbacks :
-it's less flexible than having a real entry in the ftp adress book (when you want to open it, etc.)
-the settings for the ftp site are the default settings
-will it be robust with 500 different saved layouts ?

Other thoughts : maybe it's possible to use the favorite system, but i don't see how to make a button to get the right favorite based on the {sourcepath|nopath}

Cheers, Nico

PS: i really don't manage to make this work :
Prefs ADDFTPSITE
it is greyed out all the time (the active tab of my active lister is a ftp folder), any ideas ???

Go NEWTAB will open a new, empty tab.

Not sure why Prefs ADDFTPSITE is always greyed out for you. For me it's available when I'm showing an FTP site in the active tab. I tried with ftp://ftp.demon.co.uk

I've never tried having 500 layouts in Opus so I don't know if you'll run into problems but I expect it'll work fine.

Of course, none of this is an ideal solution for what you want. If you/we can come up with a good solution there's always a chance that GPSoft will add whatever's needed to do the job, so long as it's not too esoteric.

Well, for people who do work with alot of different FTP sites requesting the ability to do something like what he was trying to do with Prefs ADDFTPSITE NAME="xyz" is pretty reasonable.

But even so, I still see a problem with Nico's whole approach now. Maybe I've misunderstood the relevance - but if he's periodically changing the names of local folder prefixes after already defining FTP site entries, how is initially naming an FTPSITE after the local folder (automatically or manually) ever going to preserve any sort of workflow? There's no 'function' to rename FTP site entries to keep changing names synced up...

How about simply dragging an FTPSITE entry from the Prefs->FTP page to the local folders... This will create a .URL file that will always call up the FTP site associated with the local folder no matter what you change the name of the folder to.

Note- I tried dragging the Opus lightbulb icon from the file display border of a lister tab I'd opened an FTP site to (from a .url file dragged from the FTP address book incidentally). I was hoping this would create a useable .URL file the same as dragging an entry from Prefs does... but it did not. Buggette?

I'm being puzzled with the opus syntax

this works :

@nofilenamequoting dopusrt /cmd Prefs LAYOUT=""{sourcepath|nopath}""
but i'd like to keep the same lister, unfortunately this does not work at all! :

@nofilenamequoting dopusrt /cmd Prefs LAYOUT=""{sourcepath|nopath}"" LAYOUTTHISLISTER=paths
i suspect the "dopusrt /cmd" command...

Considering the ADDFTPSITE :

ftp.demon.co.uk does work for me too, unfortunately it does not work for my existing connections, which is too bad since i have many ftp accesses which are on the same account but with a different root folder, so i'd like to add those different connections (host, username, password, root)

I'm still searching for other ways to do it : using tab groups could be one of them

Saving a group based on the opposite pane current folder name (my local folder)

@nofilenamequoting dopusrt /cmd Go TABGROUPSAVE ""{destpath|nopath}""

Loading the group based on the current folder name

@nofilenamequoting dopusrt /cmd Go TABGROUPLOAD=""{sourcepath|nopath}"" OPENINRIGHT

This solution is not perfect either, since it removes any tabs already opened by default (this can be changed in the preferences) and it's only in one of the pane
but it seems much lighter (no cpu peaks like with the layout method)

The Tab documentation is somewhat light :smiley: , do you know any tips ??

Cheers, Nico

Steje, i've just seen realized i've missed your post

Steje, i am not periodically changing prefix, the folder i use are folders for my customer and it goes as follows
001 Customer #1 name
002 Customer #2 name
003 Customer #3 name
etc.
I can sometimes change a folder name (never the 3 digits) but in very very rare occasion.

My goal is really, to keep the same workflow whether i have 10 customers or 10 thousands (once again i use the filter box in my local projects folder to find my way)

[quote]
How about simply dragging an FTPSITE entry from the Prefs->FTP page to the local folders... This will create a .URL file that will always call up the FTP site associated with the local folder no matter what you change the name of the folder to. [/quote]
This is a really good idea, do you know if it's possible to create a button, that would use this .url file (assuming it's always the same name, let's say ftp.url) to open the ftp site in the right pane and in a new tab :wink:
tried this with no luck : dopusrt /cmd Go {sourcepath}\ftp.url OPENINRIGHT NEWTAB, any idea ?

Cheers, Nico

PS: thanks again for your time :smiley:

Darn...

Sorry, I guess I was mislead by your previous post concerning renaming:[quote="nitrix-ud"]
For exemple i use :
Rename PATTERN "{dlgstring|Search}" TO "{dlgstring|Replace}" AUTORENAME
to change prefix quickly[/quote]This suggested you were indeed renaming the first three digits. But either way, renaming anything (first three digits or no) still means you'd have to manually update the FTP site names for any sort of {sourcepath} usage to continue working since there is no way to use FTP site names with wildcards... Maybe another feature request?

Yeah, you could make a button to select a .URL file then open it, but I don't see a way to make it open in the current lister - never mind in a new tab or on a left or right lister display. So... sorry I even mentioned it, I didn't think that one through considering your needs. Sounds like another reasonable feature request though... maybe an enhancement to the Go command to accept URL files to be opened with a FROMSEL argument (when applicable/i.e. FTP URLs) along with any of the other standard 'Go' facilities (OPENINXXXX, NEWTAB, ETC).

Also, it seems the Prefs ADDFTPSITE function is greyed out when you're at a site 'opened from or already saved' in your Opus FTP site list. It might be worth yet ~another~ feature request to GPSoft to allow this sort of 'auto-detection' to be disabled - particularly for cases like yours where you might like to duplicate most of an existing FTP site entries information with a different site name directly from your lister. You can already basically do this kinf of thing in Prefs by clicking RMB on a site entry and selecting duplicate... but it's no good for the sort of automation you're looking for if you had a Prefs ADDFTPSITE NAME="xyz" type of capability.

I wouldn't use much of this type of stuff myself (at least 'today')... but they all seem like worthy enhancements. Did you happen to take a look at the feature idea posted by Ken and do you have any thoughts there? It's a pretty well thought out solution to the kind of work you have in mind... and something I was thinking of AFTER he already laid it all out :slight_smile:.

Sorry for my example... that misled you
i was only refering to the PATTERN command ! :smiley:
It has nothing to do with the rest...

It's too bad, we can't do anything with this .url file, it would indeed fit my needs

In the meantime, i made a button to open the local website corresponding to the active folder in dopus as follows :

C:\__path__to__my_app\openwebsite.exe {sourcepath|nopath}

openwebsite.exe being done with autohotkey (highly recommended)

#NoTrayIcon Run, http://localhost/%1%

Easy enough, but it's really nice, hard to believe i've never thought of that before...

I think there is something to dig for anyone who works on many projects
(not only web designers :wink:)

Now, my ideal work flow would be as follows, once i'm in the "project main folder", i can then in one single click either :
-open the corresponding local website in my browser (done!)
-open the ftp server (partly done! but not ideal)
-open an asset folder, containing high definition photographs for example (new idea)

side note : why a folder for photographs? to have all photographs in one big asset folder !

  • easier back up
  • easier to set up a photo manager (only one big folder...with only high definition photographs, see the point ?)

I hear collections coming, but i may not be what i'm looking for

Cheers, Nico

Ouf !

I found a solution to my problem, let me share it with you :smiley:

I have one big folder named www with many many project folders as follows :
001_Customer1
002_Customer2
and so on...

When i'm in one of those folder, i want a dynamic button to go to the ftp server of that particular customer

Inital set up (for Customer7)
left pane : 007_Customer7 folder
right pane : ftp server of Customer7 website

I drag and drop the tab name of the right pane into the left pane, to create a .url file, i just rename it to ftp.url

now whenever i'm in the 007_Customer7 folder
if i want to open the ftp server, i click on the following button:

__path__to__my__prog\openftp.ahk {sourcepath|noterm}

it passes the path of the ftp.url file to a small script done with autohotkey :

#NoTrayIcon FileRead, Contents, %1%\ftp.url ;read content of the ftp.url file StringReplace, Contents, Contents, [InternetShortcut]`r`nURL=, FTP://, All ;remove bad formatting StringReplace, Contents, Contents, `r`n, , All ;remove bad formatting if ErrorLevel = 0 ; Successfully loaded. { Run, dopusrt /cmd Go %Contents% NEWTAB OPENINRIGHT ;send command to dopus Contents = ; Free the memory. }
The script keeps the important part of the url file which is :
username:password@host//initialdirectory
and send it to the Go command of dopus

I does the job :

-the initial setup is very fast
-it's flexible (newtab, openinright, etc.)
-no sync between ftp address book entries and folders

drawbacks :

-password are in clear texts
-be careful not to send the ftp.url file in the wild :wink:
-others i don't know about yet

Thanks again for all your help, and i'm sure i'll be back soon, since i'm "refactoring" my work flow :unamused:

Cheers, Nico

[quote="nudel"] I've never tried having 500 layouts in Opus so I don't know if you'll run into problems but I expect it'll work fine.

Of course, none of this is an ideal solution for what you want. If you/we can come up with a good solution there's always a chance that GPSoft will add whatever's needed to do the job, so long as it's not too esoteric.[/quote]
As I mentioned earlier, I submitted an enhancement request to GPSoftware, that I believe would be an ideal solution :bulb: to this type of business requirement going forward. Obviously, it will not help in the current Opus version.

Again, I invite everyone who has participated in this thread to please read through the enhancement request here:

[url]Sync Pairs (or maybe Sync Queues or Copy Queues)]

I further invite people to add their insight to that request. Opus, after all, should work for the entire user community. I may have already submitted that request, but I do not have any illusions that my idea is as entirely thought out as it could or should be, or that it speaks to what other users will find useful. So please go participate in that thread.

If enough people add their insight and support of a prospective new feature (i.e. we all work together to suggest the most ideal and reasonable solution), it will be more likely that GPSoftware will agree that it is a viable feature worthy of their development time.