Another bug: FTP Upload causing broken link?

hi, i have a file that has multiple parent(created using create link option).
When i update the file via WCP in drive O:,
changes to this file was reflected to other parent, which was correct, ofcourse.
But when i try to update the file via FTP,
only file in the corresponding/current folder was updated,
and link to other folders was gone,
and other parent folders still refering to the old file.
is this a bug? has anybody else notice this problem?
I also noticed inconsistent behaviour between deleting files via WCP and via FTP.
when i deleted files via FTP, it seems that the file was completely freed, removing the file from current folder and from all other related/linked folder.
but when i use WCP to delete file, it only delete file from current folder, and the same file in other related folder is still preserved.
another bug?
btw i'm using IFS 9.0.1,Windows 2000

1. Updating documents with multiple parents.
     The behaivor you describe is expected. Here is why.
     WCP updates the content of the document using RACI while
     FTP put creates a new document, replacing the existing document, and thus
     the link to other parents do not exist for the new document, and the other
     parents still point to the old document.
     One way around this problem is to have the folder containing the
     document have the multiparents, instead of the document itself. This
     would maintain the links if the docment content is changed or if the document
     is replaced.
2. Deleting documents with multiple parents
     This does apear to be a bug. The correct behaiver is to only delete the
     file from current folder, and the same file in other related folders
     is still preserved.
     This is fixed in the next iFS release 9.0.3 for FTP.
hope this helps!
Bob

Similar Messages

  • [CS5.5/CS6] what causes a kImportAndPlaceCmdBoss to throw an exception with broken links?

    I have a problem in both CS5.5 and CS6 on MacOS X.
    During a drag operation onto an InDesign document, I import and place some images onto a page. This normally works without issue except in one case. The problem case is when I'm trying to import an image that is the same file path as a broken link on the document. This will crash InDesign everytime.
    Let me provide some details.
    First, I create an InDesign document, drag some images from the Finder and place them on the page and save the InDesign document to file. Now I go to the Finder and delete the images (or just move them to a different Folder). I then go back to InDesign and look at the Links panel where the red stop signs now appear near the images to show that the links are broken.
    Next I go to a panel that I'm working on where I can drag an item from the panel and onto the InDesign document page. In this I have a ProcessDragDropCommand method that over rides the method in the CDragDropTargetFlavorHelper class, and during that method it copies the images that I just deleted back into their original locations on the file system.
    After copying the files, the process then tries to import one of the images into a new frame using the PlaceFileInFrame method from the InDesign SDK file SDKLayoutHelper.cpp. This method creates a kImportAndPlaceCmdBoss and when executing the line:
    if (CmdUtils::ProcessCommand(importAndPlaceCmd) != kSuccess) {
    causes an exception that appears in the crash report as:
    Exception Type: EXC_BAD_ACCESS (SIGBUS)
    Exception Codes: KERN_PROTECTION_FAILUE at 0x0000000000000000
    Crashed Thread: 0 Dispatch queue: com.apple.main-thread
    with a stack trace that points to the CmdUtils::ProcessCommand() line mentioned above.
    I've tried relinking the images before the import and place, but that still doesn't work. If I break the process up so that in one drag event I copy the missing files back into place and relink them, then in a second drag event I then do an import and place it all works okay. It's just when I try the full task of copy images into place in the file system, relink the images on the InDesign document and then import and place an image in a new frame on the InDesign page that the exception is appearing.
    Instead of the kImportAndPlaceCmdBoss I've also tried the kImportAndLoadPlaceGunCmdBoss with the same problem.
    Interestingly, in the SDKLayoutHelper method PlaceFileInFrame that I'm using, there's a pragma message:
    #pragma message("LINKREWORK: Temporary, fix this up later!")
    // TODO: LINKREWORK fix.
    From the wording I'm wondering if this is related to the problem that I'm seeing. In which case does anyone know what this fix might entail?
    I've tried tried relinking using ReinitResource and UpdateLinks methods that are a part of the ILkniFacade but that doesn't seem to help stop the crash.
    Oddly, I can generate a strange and maybe related error (that doesn't use my plugins and just the raw InDesign functionality) if I do something like:
    In InDesign, create an InDesign document.
    From the Finder, drag some images onto the InDesign document page.
    In InDesign, save the document.
    In the Finder, rename the folder containing the images.
    In InDesign, check that the links really are broken with the red stop signs appearing.
    In the Finder, rename the folder containing the images back to what it was before.
    (Extra Step)
    In the Finder, redrag the same images that you did before onto the InDesign page.
    This will cause InDesign to throw up the following error message:
    Either the file does not exist, you do not have permission, or the file may be in use by another application
    Of course, if in the above you introduce an Extra Step where you just go back to InDesign and do nothing. InDesign will relink the once missing images, so that when you go back to the Finder to drag the images there's now no problem.
    This is almost like InDesign needs a few IdleTasks in order to sort out its perception of the file system. If that's the case then I'm a bit stuck as I'm trying to do everything during a single drag operation and there's no chance of any IdleTasks occuring.
    Any ideas?

    I have checked the Tomcat log, which does not give
    much information:
    ----- Root Cause -----
    org.apache.artimus.message.exceptions.MessageDAOSysExce
    tion: Error executing SQL in
    ThreadHandler.createThread.
    at
    org.apache.artimus.message.dao.MySQLMessageDAO.createT
    read(MySQLMessageDAO.java:54)
    at
    org.apache.artimus.message.ThreadHandler.insertThread(
    hreadHandler.java:42)
    at
    org.apache.artimus.message.StoreMessage.execute(StoreM
    ssage.java:61)
    at
    org.apache.struts.action.RequestProcessor.processActio
    Perform(RequestProcessor.java:484)Tomcat has more than one log file. The servlet's System.out messages must be going to a different file if this is all you are seeing. Either look in the other log files or change the lines
             se.printStackTrace();
             throw new MessageDAOSysException("Error executing SQL in ThreadHandler.createThread.");  // line 54 where the problem occurredto simply read:
            throw se;and the actual Exception you want to investigate will go in to the file where you found the above. This will be less useful in the long run as you'll have the same problem when you want to query the SQLException further with System.out.println(se.getSQLState()); etc.
    You could add a logging configuration to your servlets context in server.xml so you can define where such messages get logged.
    Alternatively you could use a logging API like log4j.

  • Problems With FTP Upload in Leopard 10.5.3-4

    Hi, I experience a strange problem with ftp upload speed in 10.5.3-4. When I start upload a file to my trusted ftp server the upload speed starts to decrease from 300 kb/sec to 35 -40 kb/sec. It remains normal for 1-2 minutes (about 300 kb/sec) and then smoothly decreases to 35 -40 kb/sec. Pressing Stop and then Resume in Cyberduck makes speed normal for 1-2 minutes and then it starts to decrease again. It does not depend on ftp-client, it does not matter if I use either Cyberduck, Transmit or Fetch. It happens if I use either ethernet or airport connection. I have my old Powerbook with 10.4.11, it's connected to the same router with the same settings and the same time upload speed remains stable about 300 kb/sec.
    But when I transfer files from my Macbook to my old Powerbook via ftp everything is fine. And when I transfer files to ftp server of my local ISP it's also fine.
    Please, help me, I have to upload big 100 Mb files very often and it's significant difference for me 30 or 300 kb/sec
    Boris

    I'm afraid it's not just the Duck or FTP, Boris....It's many many Apps...and protocols... 10.5 appears to have ;broken',a number of file transfer protocols and Apps... (Wired and KDX are two that come to mind- precisely the same symptoms, AND some others) Apple's own 'built-in' FTP appears OK Mac-Mac, oddly enough.
    There's obviously some kind of weird Copy-Paste problem too.
    It's obviously 'fixable' or a workaround is available because several s/w mobs have released 'fixes for 10.5 file transfer Bug'
    The rest of us will just have to wait while another unannounced,unacknowledged, gaping hole in the Mac OS is quietly fixed and our expensive s/w sits unusable...
    Not really good enough, is it ?
    Like: Not being able to automatically detect a part file transfer on FTP and Auto-resume from whence you left off: something we thought was pretty cool- back in about 1984.... and absolutely essential in 86 or so.
    Boris:You will almost certainly find that it happens whatever the client-server server setup and applications or Medium... I've seen precisely what you describe happen with Airport, Cable, 10/100/1000' local' LAN...
    - and watching your throughput drop from 300K to 300 BYTES/Sec is NO FUN.
    I've spent a lot of time and money convincing potential 'Switchers' of the superiority of the Mac way over the last 20 years or so...
    I'm getting pretty tired at defending the indefensible: 'SkoolBoy Misstakes' in a 24 year old 'superior Computer.- Not Good enough, Apple.

  • Iweb publishing - broken links

    When trying to publish my website, a few images show broken links. Then I get an error message: "there was an error communicating with the FTP server. Try again or check with your service provider". I did, and they find everything ok from their part. They suggested it was probably a code problem. The strange thing is that some files (images and web pages) are uploaded, but not all. Any idea what I can do about it? Many thanks, BC

    Are you using the iWeb FTP or another application?
    The iWeb FTP is kind of fussy about files names.
    A good FTP app will give you a list of the names of problem files to save you time searching blindly for them. I use Yummy FTP and they now have a Lite version which only costs $1.99 from the app store...
    http://www.macupdate.com/app/mac/42905/yummy-ftp-lite

  • What went wrong? GoLive CS site uploaded, noes not link

    Hello. I created yet another site in GoLive cs, and uploaded it. On the web, it displays the index page, and you can click a link, which takes you to another page, which is blank, suggesting info is missing.
    The site works great on my mac, just not at all on the web.
    never had this problem b4. site is:
    http://atyourservicetampa.com
    I have put all of the pages and components in one single folder on my host, yet no change.
    Any other recommendations?
    perplexed. I'm sure its really simple, just can't find it, even after 2 days of reading thru all of the GoLive help. any keywords I dream up, do not reveal any troubleshooting tips.
    [email protected]
    Many thanks!

    Make sure you are working in a site window. Check for broken links.
    for example your page http://atyourservicetampa.com/handyman.html
    refers to an image located in
    http://atyourservicetampa.com/NewFiles/handy.jpg
    so the folder 'NewFiles' with the file 'handy.jpg' seems to not be where it is supposed to be.

  • Broken link to Presenter 8 Trial download

    Broken link to trial: 
    https://www.adobe.com/cfusion/tdrc/index.cfm?product=presenter
    How about "Request Information", maybe some one can send me a good link?
    https://www.adobe.com/cfusion/mmform/index.cfm?name=contact_us&sa=elearning
    Another Broken Link.  Hmm.  This is getting complicated.
    OK, diferent approach.  Google "adobe presenter 8 trial".  Ahh, this looks good:
    https://www.adobe.com/go/trypresenter
    Broken Link
    Back to Google.  Second link:
    http://www.adobe.com/support/downloads/product.jsp?product=153&platform=Windows
    Jackpot!  Finally a good link. 
    Download latest full install 7.0.7.  Error during installation: "Error - Unable to detect Microsoft Powerpoint", which is odd, since I have PP installed.
    Google errormessage, and discover 7.0.7 doesn't support 64-bit PP 2010.  Sigh.
    8.0.2 does, apparently, but the only file for that is an upgrade - not an installer.
    Guess I should report those broken links, right?  Maybe if they get those fixed, I'll be able to get the Presenter 8 install?
    So, took the "Broken Link" link from error page I get when accesing first link above, and it takes me to http://www.adobe.com/aboutadobe/contact.html
    No obvious place to report a broken link.  Feedback? OK, I'll try that.
    Report a bug?  Closest thing I see:
    https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform
    Broken Link!
    So I can't download a trial that I can install, even though I have a supported product installed, I can't report thebroken Link, and, of course, it being a weekend, I can't contact Adobe Support.
    Frustrating.  If this is the quality of the web site, what does that say about the quality of the products?
    Anyway, I still want to try the trial, but in the meantime, I guess I'll try Authorpoint.

    delete your adobe.com cookie and retry https://www.adobe.com/cfusion/tdrc/index.cfm?product=presenter

  • Trouble with browser editing FTP upload

    I have been updating a site to a sub-domain of my personal site while working for client. Yesterday when I tried to walk them through the in-browser editing feature I got an error that wouldn't let me login to edit the site. I followed all of the instructions in the error message (use the "upload via FTP" setting, sign in with the same user) but I still can't log in. Is this a bug with how Muse handles sub-domains, or what else am I doing wrong?

    No, everything uploaded correctly. You can see my site properly  
    -Eric
    On August 23, 2014 at 3:37:13 PM EDT, Zak Williamson (Adobe) <[email protected]> wrote:      Trouble with browser editing FTP upload    reated by Zak Williamson (Adobe) in Help with using Adobe Muse CC - View the full discussion   When using File > Upload to FTP Host... do you receive a warning message that the domain name could not be validated?    Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at https://forums.adobe.com/message/6668001#6668001  Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page:   To unsubscribe from this thread, please visit the message page at . In the Actions box on the right, click the Stop Email Notifications link.   Start a new discussion in Help with using Adobe Muse CC by email or at Adobe Community  For more information about maintaining your forum email notifications please go to http://forums.adobe.com/thread/416458?tstart=0.

  • Broken Links is Broken

    DW CS4 is identifying valid links as broken. Most are links
    that were updated in the last few days and they are part of a
    template. The local site was saved and uploaded to the website. The
    links are OK on both the local site and the website. Is there some
    option or setting that needs to be changed?
    For example line 44 on:
    http://www.ironoakconnection.org/index.html
    is identified as broken. It's in the left navbar and works as
    expected.

    On this beautiful Sunday.................
    Hallelujah! 
    Well!  Is  there a way I can send you some virtual electronic champagne????? 
    I did what you said, changed that code. 
    The new broken link check showed this:
    flyingtigress.co.uk/index.html    Info/
    flyingtigress.co.uk/index.html    Music/
    flyingtigress.co.uk/index.html    Paintings/
    flyingtigress.co.uk/index.html    Photos/
    flyingtigress.co.uk/index.html    Books/ 
    Then I manually changed each link again one at a time, and the code returned
    itself to 
    [Music | Music/index.html]
    [Paintings | Paintings/index]
    [Photos | Photos/indexhtml]
    [Books | Books/index.html]
    BUT and this is the great bit, when it returned itself to that the links were
    NOT broken anymore (allegedly!) 
    I did find using the site checker those pesky two image files causing a fuss
    again, but I manually did those again and again this time I got rid of them too! 
    So.......the upshot of all this is that YOU are a genius, and I am so grateful
    to you.  I just wish I had the knowledge base of someone as expert as you....
    but I will learn from these things and hope to deal with problems one by one,
    but this is a great great victory! 
    I bet you will be so happy that you don't see my email again (well at least for
    a while!)
    Hahahaha!  Seriously thanks so much, I cannot answer the one about the fact that
    the link seems to be checking the remote server, I don't know what all that is
    about either, but it seems to be sorted and that is what really matters! 
    Yipeeeeeeeeeeeeeeeee!  I need to go and record a song to celebrate!  I think
    Lawdy Miss Claudy will remind me of this episode!  Don't ask me why! 
    Many many thanks
    Barb

  • How to check for broken links on my remote site?

    How can I check for broken links on my _remote_ site using DW10 (i.e. DWCS4)?
    I know of the Link Checker tab so as to check the local site.
    I've been using the app Integrity to do this, but it would be convenient to be able to also do this in DW.
    Running OS X 10.8.2.
    Thanks for any advice.
    Ron

    Over the years I've had both happen.
    I'm not saying this happens often... it doesn't... but it does happen.
    And this is with my site links working fine locally.
    So it is either happening on upload or on the servers.
    I can't tell you the number of times I've asked webhosts (I've had many) why a site is not working at all... and they have told me that they are either doing work on their servers or that they're 'upgrading' and moving my sites to another server. So perhaps this is part of the problem.
    Again... rarely happens but it does happen.

  • The broken link error

    Hi,
    Please help me with this broken link error in Office Excel 2010. Thank you.
    The problem is: a broken link cannot be removed from the file. The link was used in data validation, which refers to a list of values. After the path was corrected, it still shows there’s a broken link. Here are the details:
    I have 4 files named “000TVA_Test – 3”, “000TVA_Test – 4”, “000TVA_Test – 5”, and “000TVA_Test – 6”. The posterior files were developed based on the previous files.
    In Test-3, sheet “Template “, cell “L4”, “O4”, “R4”… were built as dropdown list using data validation. The list source is in the “Library” worksheet. There’s no problem so far.
    Test-4 was firstly copied from Test-3. In this file I renamed the worksheet from “Library” to “Setting” and the link was broken from here. I can also fix the broken link in this file. (While I didn’t realize there was a broken link.)
    In Test-5 I fixed the path, but every time when opening the file, the broken link still shows.
    In Test-6 I’ve removed the data validations. The broken link is still there.
    I tried to find solutions online. I tried common methods, cannot find anything in the files is still using links. I also tried the “findlink.xla” add-in, but it only worked for Test-4, and couldn’t find the link in other files.
    Please help. Thank you!
    I uploaded files here: https://onedrive.live.com/redir?resid=1A97736E0ABBAA41!113&authkey=!AF5wAd9rwUPnYyE&ithint=folder%2cxlsm
    Thanks again!

    Hi,
    Based on my tested the files downloaded, I found that Test-5 & Test-6 included the "A defined name that refers to an external workbook", Test-4 had not. (Please click Formula Tab>Name Manage, you'll see them.)
    However, the Break Links command cannot break the following types of links:   
    A defined name that refers to an external workbook
    A ListBox control with an input range that refers to an external workbook.
    A DropDown control with an input range that refers to an external workbook.
    http://support2.microsoft.com/kb/291984/en-us (It also applies to Excel 2010)
    Thus, we'd better try the workaround: re-build the Test-5 & Test 6.
    Regards,
    George Zhao
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.

  • Help with ftp upload problem

    Hi I am using a ftp class (known as FTPConnection) that i found on this site: http://www.nsftools.com/tips/JavaFtp.htm , and they only have an example of how to download a File through FTP and not upload one. I am in the proccess of making an FTP upload applet, and need some help on getting upload to work. I also need it to work on both a Pc and mac, so that may be attributing to the problem becuase i am currently on a mac which uses file:// instead of C:\\. Ill post the ftp class, and a snippet of my code that tries to upload a selected file.
    FTPConnection
    /* <!-- in case someone opens this in a browser... --> <pre> */
    * File:   FTPConnection.java
    * Author: Bret Taylor <[email protected]>
    * URL: http://www.stanford.edu/~bstaylor/cs/ftpconnection/FTPConnection.java.shtml
    * see also <a href="http://www.nsftools.com/tips/JavaFtp.htm">http://www.nsftools.com/tips/JavaFtp.htm</a>
    * $Id$
    * Parts of this code were adopted from a variety of other FTP classes the
    * author has encountered that he was not completely satisfied with.  If you
    * think more thanks are due to any particular author than is given, please
    * let him know.  With that caveat, this class can be freely distributed and
    * modified as long as Bret Taylor is given credit in the source code comments.
    * Modified by Julian Robichaux -- http://www.nsftools.com
    * Added constructors, logout(), listFiles(), listSubdirectories(), getAndParseDirList(),
    * processFileListCommand(), and overloaded getFullServerReply().
    * Also added StringBuffer parameter options to transferData() and executeDataCommand()
    * and did a few other little things.
    import java.io.*;
    import java.net.*;
    import java.util.*;
    * <p>A wrapper for the network and command protocols needed for the most common
    * FTP commands.  Standard usage looks something like this:</p>
    * <pre> FTPConnection connection = new FTPConnection();
    * try {
    *     if (connection.connect(host)) {
    *         if (connection.login(username, password)) {
    *             connection.downloadFile(serverFileName);
    *             connection.uploadFile(localFileName);
    *         connection.disconnect();
    * } catch (UnknownHostException e) {
    *     // handle unknown host
    * } catch (IOException e) {
    *     // handle I/O exception
    * }</pre>
    * <p>Most FTP commands are wrapped by easy-to-use methods, but in case clients
    * need more flexibility, you can execute commands directly using the methods
    * <a href="#executeCommand(java.lang.String)">executeCommand</a> and
    * <a href="#executeDataCommand(java.lang.String,
    * java.io.OutputStream)">executeDataCommand</a>,
    * the latter of which is used for commands that require an open data port.</p>
    * @author Bret Taylor
    * @author Julian Robichaux
    * @version 1.01
    public class FTPConnection extends Object {
         * If this flag is on, we print out debugging information to stdout during
         * execution.  Useful for debugging the FTP class and seeing the server's
         * responses directly.
        private static boolean PRINT_DEBUG_INFO = false;
         * The socket through which we are connected to the FTP server.
        private Socket connectionSocket = null;
         private String username;
         private String password;
         private String host;
         * The socket output stream.
        private PrintStream outputStream = null;
         * The socket input stream.
        private BufferedReader inputStream = null;
         * The offset at which we resume a file transfer.
        private long restartPoint = 0L;
         * Added by Julian: If this flag is on, we're currently logged in to something.
        private boolean loggedIn = false;
         * Added by Julian: This is the line terminator to use for multi-line responses.
        public String lineTerm = "\n";
         * Added by Julian: This is the size of the data blocks we use for transferring
         * files.
        private static int BLOCK_SIZE = 4096;
         * Added by Julian: After you create an FTPConnection object, you will call the
         * connect() and login() methods to access your server. Please don't forget to
         * logout() and disconnect() when you're done (it's only polite...).
        public FTPConnection ()
             // default constructor (obviously) -- this is just good to have...
         * Added by Julian: Allows you to specify if you want to send debug output to
         * the console (true if you do, false if you don't).
        public FTPConnection (boolean debugOut)
             PRINT_DEBUG_INFO = debugOut;
         public FTPConnection (String user, String pw, String host_)
             username=user;
              password=pw;
              host=host_;
              PRINT_DEBUG_INFO = false;
         * Prints debugging information to stdout if the private flag
         * <code>PRINT_DEBUG_INFO</code> is turned on.
        private void debugPrint(String message) {
            if (PRINT_DEBUG_INFO) System.err.println(message);
         * Connects to the given FTP host on port f, the default FTP port.
        public boolean connect(String host)
            throws UnknownHostException, IOException
            return connect(host, 21);
         * Connects to the given FTP host on the given port.
        public boolean connect(String host, int port)
            throws UnknownHostException, IOException
            connectionSocket = new Socket(host, port);
              connectionSocket.setSoTimeout(10000);
            outputStream = new PrintStream(connectionSocket.getOutputStream());
            inputStream = new BufferedReader(new
                           InputStreamReader(connectionSocket.getInputStream()));
            if (!isPositiveCompleteResponse(getServerReply())){
                disconnect();
                return false;
            return true;
         * Disconnects from the host to which we are currently connected.
         static boolean URLexists(String URLName)
              try
                   HttpURLConnection.setFollowRedirects(false);
                   // note : you may also need
                   // HttpURLConnection.setInstanceFollowRedirects(false)
                   HttpURLConnection con =
                   (HttpURLConnection) new URL(URLName).openConnection();
                   con.setRequestMethod("HEAD");
                   return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
              catch (Exception e)
                   e.printStackTrace();
                   return false;
         public String getSimpleFileName(File f)
              String path=f.getPath();
              String fileName=path.replace("\\", "/");
              int slashPos = fileName.lastIndexOf("/");
              fileName=fileName.substring(slashPos+1);
              return fileName;
         public String verifyFileName(String name)
              int count=0;
              //String url="http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20");
              while (URLexists("http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20"))==true)
              count++;
              name=FileExt(name)[0]+"-"+count+"."+FileExt(name)[1];
              return name;
         public String[] FileExt(String fileName)
            int dotPos = fileName.lastIndexOf(".");
              fileName=fileName.replace("\\", "/");
              int slashPos = fileName.lastIndexOf("/");
              String extension, name;
              if (slashPos==fileName.length()-1)
                   fileName=fileName.substring(0, fileName.length()-1);
                   slashPos=fileName.lastIndexOf("/");
                   extension="/";
                   name=fileName.substring(slashPos+1);
              else if(dotPos==-1)
                   name=fileName.substring(slashPos+1);
                   extension="";
              else
                   extension = fileName.substring(dotPos+1);
                   name=fileName.substring(slashPos+1, dotPos);
                   String[] output={name, extension};
                   return output;
              String[] output={name, extension};
              return output;
        public void disconnect()
            if (outputStream != null) {
                try {
                      if (loggedIn) { logout(); };
                    outputStream.close();
                    inputStream.close();
                    connectionSocket.close();
                } catch (IOException e) {}
                outputStream = null;
                inputStream = null;
                connectionSocket = null;
         * Wrapper for the commands <code>user [username]</code> and <code>pass
         * [password]</code>.
        public boolean login(String username, String password)
            throws IOException
            int response = executeCommand("user " + username);
            if (!isPositiveIntermediateResponse(response)) return false;
            response = executeCommand("pass " + password);
            loggedIn = isPositiveCompleteResponse(response);
            return loggedIn;
         * Added by Julian: Logout before you disconnect (this is good form).
        public boolean logout()
            throws IOException
            int response = executeCommand("quit");
            loggedIn = !isPositiveCompleteResponse(response);
            return !loggedIn;
         * Wrapper for the command <code>cwd [directory]</code>.
        public boolean changeDirectory(String directory)
            throws IOException
            int response = executeCommand("cwd " + directory);
            return isPositiveCompleteResponse(response);
         * Wrapper for the commands <code>rnfr [oldName]</code> and <code>rnto
         * [newName]</code>.
        public boolean renameFile(String oldName, String newName)
            throws IOException
            int response = executeCommand("rnfr " + oldName);
            if (!isPositiveIntermediateResponse(response)) return false;
            response = executeCommand("rnto " + newName);
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>mkd [directory]</code>.
        public boolean makeDirectory(String directory)
            throws IOException
            int response = executeCommand("mkd " + directory);
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>rmd [directory]</code>.
        public boolean removeDirectory(String directory)
            throws IOException
            int response = executeCommand("rmd " + directory);
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>cdup</code>.
        public boolean parentDirectory()
            throws IOException
            int response = executeCommand("cdup");
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>dele [fileName]</code>.
        public boolean deleteFile(String fileName)
            throws IOException
            int response = executeCommand("dele " + fileName);
            return isPositiveCompleteResponse(response);
         * Wrapper for the command <code>pwd</code>.
        public String getCurrentDirectory()
            throws IOException
            String response = getExecutionResponse("pwd");
            StringTokenizer strtok = new StringTokenizer(response);
            // Get rid of the first token, which is the return code
            if (strtok.countTokens() < 2) return null;
            strtok.nextToken();
            String directoryName = strtok.nextToken();
            // Most servers surround the directory name with quotation marks
            int strlen = directoryName.length();
            if (strlen == 0) return null;
            if (directoryName.charAt(0) == '\"') {
                directoryName = directoryName.substring(1);
                strlen--;
            if (directoryName.charAt(strlen - 1) == '\"')
                return directoryName.substring(0, strlen - 1);
            return directoryName;
         * Wrapper for the command <code>syst</code>.
        public String getSystemType()
            throws IOException
            return excludeCode(getExecutionResponse("syst"));
         * Wrapper for the command <code>mdtm [fileName]</code>.  If the file does
         * not exist, we return -1;
        public long getModificationTime(String fileName)
            throws IOException
            String response = excludeCode(getExecutionResponse("mdtm " + fileName));
            try {
                return Long.parseLong(response);
            } catch (Exception e) {
                return -1L;
         * Wrapper for the command <code>size [fileName]</code>.  If the file does
         * not exist, we return -1;
        public long getFileSize(String fileName)
            throws IOException
            String response = excludeCode(getExecutionResponse("size " + fileName));
            try {
                return Long.parseLong(response);
            } catch (Exception e) {
                return -1L;
         * Wrapper for the command <code>retr [fileName]</code>.
        public boolean downloadFile(String fileName)
            throws IOException
            return readDataToFile("retr " + fileName, fileName);
         * Wrapper for the command <code>retr [serverPath]</code>. The local file
         * path to which we will write is given by <code>localPath</code>.
        public boolean downloadFile(String serverPath, String localPath)
            throws IOException
            return readDataToFile("retr " + serverPath, localPath);
         * Wrapper for the command <code>stor [fileName]</code>.
        public boolean uploadFile(String fileName)
            throws IOException
            return writeDataFromFile("stor " + fileName, fileName);
         * Wrapper for the command <code>stor [localPath]</code>. The server file
         * path to which we will write is given by <code>serverPath</code>.
        public boolean uploadFile(String serverPath, String localPath)
            throws IOException
            return writeDataFromFile("stor " + serverPath, localPath);
         * Set the restart point for the next download or upload operation.  This
         * lets clients resume interrupted uploads or downloads.
        public void setRestartPoint(int point)
            restartPoint = point;
            debugPrint("Restart noted");
         * Gets server reply code from the control port after an ftp command has
         * been executed.  It knows the last line of the response because it begins
         * with a 3 digit number and a space, (a dash instead of a space would be a
         * continuation).
        private int getServerReply()
            throws IOException
            return Integer.parseInt(getFullServerReply().substring(0, 3));
         * Gets server reply string from the control port after an ftp command has
         * been executed.  This consists only of the last line of the response,
         * and only the part after the response code.
        private String getFullServerReply()
            throws IOException
            String reply;
            do {
                reply = inputStream.readLine();
                debugPrint(reply);
            } while(!(Character.isDigit(reply.charAt(0)) &&
                      Character.isDigit(reply.charAt(1)) &&
                      Character.isDigit(reply.charAt(2)) &&
                      reply.charAt(3) == ' '));
            return reply;
         * Added by Julian: Returns the last line of the server reply, but also
         * returns the full multi-line reply in a StringBuffer parameter.
        private String getFullServerReply(StringBuffer fullReply)
             throws IOException
            String reply;
            fullReply.setLength(0);
            do {
                reply = inputStream.readLine();
                debugPrint(reply);
                fullReply.append(reply + lineTerm);
            } while(!(Character.isDigit(reply.charAt(0)) &&
                      Character.isDigit(reply.charAt(1)) &&
                      Character.isDigit(reply.charAt(2)) &&
                      reply.charAt(3) == ' '));
              // remove any trailing line terminators from the fullReply
              if (fullReply.length() > 0) 
                   fullReply.setLength(fullReply.length() - lineTerm.length());
            return reply;
         * Added by Julian: Gets a list of files in the current directory.
         public String listFiles()
              throws IOException
              return listFiles("");
         * Added by Julian: Gets a list of files in either the current
         * directory, or one specified as a parameter. The 'params' parameter
         * can be either a directory name, a file mask, or both (such as
         * '/DirName/*.txt').
         public String listFiles(String params)
              throws IOException
              StringBuffer files = new StringBuffer();
              StringBuffer dirs = new StringBuffer();
              if (!getAndParseDirList(params, files, dirs))
                   debugPrint("Error getting file list");
              return files.toString();
         * Added by Julian: Gets a list of subdirectories in the current directory.
         public String listSubdirectories()
              throws IOException
              return listSubdirectories("");
         * Added by Julian: Gets a list of subdirectories in either the current
         * directory, or one specified as a parameter. The 'params' parameter
         * can be either a directory name, a name mask, or both (such as
         * '/DirName/Sub*').
         public String listSubdirectories(String params)
              throws IOException
              StringBuffer files = new StringBuffer();
              StringBuffer dirs = new StringBuffer();
              if (!getAndParseDirList(params, files, dirs))
                   debugPrint("Error getting dir list");
              return dirs.toString();
         * Added by Julian: Sends and gets the results of a file list command,
         * like LIST or NLST.
        private String processFileListCommand(String command)
            throws IOException
            StringBuffer reply = new StringBuffer();
            String replyString;
            // file listings require you to issue a PORT command,
            // like a file transfer
              boolean success = executeDataCommand(command, reply);
              if (!success)
                   return "";
            replyString = reply.toString();
            // strip the trailing line terminator from the reply
            if (reply.length() > 0)
                 return replyString.substring(0, reply.length() - 1);
            }  else  {
                 return replyString;
          * Added by Julian: Gets a directory list from the server and parses
          * the elements into a list of files and a list of subdirectories.
         private boolean getAndParseDirList(String params, StringBuffer files, StringBuffer dirs)
              throws IOException
              // reset the return variables (we're using StringBuffers instead of
              // Strings because you can't change a String value and pass it back
              // to the calling routine -- changing a String creates a new object)
              files.setLength(0);
              dirs.setLength(0);
              // get the NLST and the LIST -- don't worry if the commands
              // don't work, because we'll just end up sending nothing back
              // if that's the case
              String shortList = processFileListCommand("nlst " + params);
              String longList = processFileListCommand("list " + params);
              // tokenize the lists we got, using a newline as a separator
              StringTokenizer sList = new StringTokenizer(shortList, "\n");
              StringTokenizer lList = new StringTokenizer(longList, "\n");
              // other variables we'll need
              String sString;
              String lString;
              // assume that both lists have the same number of elements
              while ((sList.hasMoreTokens()) && (lList.hasMoreTokens())) {
                   sString = sList.nextToken();
                   lString = lList.nextToken();
                   if (lString.length() > 0)
                        if (lString.startsWith("d"))
                             dirs.append(sString.trim() + lineTerm);
                             debugPrint("Dir: " + sString);
                        }  else if (lString.startsWith("-"))  {
                             files.append(sString.trim() + lineTerm);
                             debugPrint("File: " + sString);
                        }  else  {
                             // actually, symbolic links will start with an "l"
                             // (lowercase L), but we're not going to mess with
                             // those
                             debugPrint("Unknown: " + lString);
              // strip off any trailing line terminators and return the values
              if (files.length() > 0)  {  files.setLength(files.length() - lineTerm.length());  }
              if (dirs.length() > 0)  {  dirs.setLength(dirs.length() - lineTerm.length());  }
              return true;
         * Executes the given FTP command on our current connection, returning the
         * three digit response code from the server.  This method only works for
         * commands that do not require an additional data port.
        public int executeCommand(String command)
            throws IOException
            outputStream.println(command);
            return getServerReply();
         * Executes the given FTP command on our current connection, returning the
         * last line of the server's response.  Useful for commands that return
         * one line of information.
        public String getExecutionResponse(String command)
            throws IOException
            outputStream.println(command);
            return getFullServerReply();
         * Executes the given ftpd command on the server and writes the results
         * returned on the data port to the file with the given name, returning true
         * if the server indicates that the operation was successful.
        public boolean readDataToFile(String command, String fileName)
            throws IOException
            // Open the local file
            RandomAccessFile outfile = new RandomAccessFile(fileName, "rw");
            // Do restart if desired
            if (restartPoint != 0) {
                debugPrint("Seeking to " + restartPoint);
                outfile.seek(restartPoint);
            // Convert the RandomAccessFile to an OutputStream
            FileOutputStream fileStream = new FileOutputStream(outfile.getFD());
            boolean success = executeDataCommand(command, fileStream);
            outfile.close();
            return success;
         * Executes the given ftpd command on the server and writes the contents
         * of the given file to the server on an opened data port, returning true
         * if the server indicates that the operation was successful.
        public boolean writeDataFromFile(String command, String fileName)
            throws IOException
            // Open the local file
            RandomAccessFile infile = new RandomAccessFile(fileName, "r");
            // Do restart if desired
            if (restartPoint != 0) {
                debugPrint("Seeking to " + restartPoint);
                infile.seek(restartPoint);
            // Convert the RandomAccessFile to an InputStream
            FileInputStream fileStream = new FileInputStream(infile.getFD());
            boolean success = executeDataCommand(command, fileStream);
            infile.close();
            return success;
         * Executes the given ftpd command on the server and writes the results
         * returned on the data port to the given OutputStream, returning true
         * if the server indicates that the operation was successful.
        public boolean executeDataCommand(String command, OutputStream out)
            throws IOException
            // Open a data socket on this computer
            ServerSocket serverSocket = new ServerSocket(0);
            if (!setupDataPort(command, serverSocket)) return false;
            Socket clientSocket = serverSocket.accept();
            // Transfer the data
            InputStream in = clientSocket.getInputStream();
            transferData(in, out);
            // Clean up the data structures
            in.close();
            clientSocket.close();
            serverSocket.close();
            return isPositiveCompleteResponse(getServerReply());   
         * Executes the given ftpd command on the server and writes the contents
         * of the given InputStream to the server on an opened data port, returning
         * true if the server indicates that the operation was successful.
        public boolean executeDataCommand(String command, InputStream in)
            throws IOException
            // Open a data socket on this computer
            ServerSocket serverSocket = new ServerSocket(0);
            if (!setupDataPort(command, serverSocket)) return false;
            Socket clientSocket = serverSocket.accept();
            // Transfer the data
            OutputStream out = clientSocket.getOutputStream();
            transferData(in, out);
            // Clean up the data structures
            out.close();
            clientSocket.close();
            serverSocket.close();
            return isPositiveCompleteResponse(getServerReply());   
         * Added by Julian: Executes the given ftpd command on the server
         * and writes the results returned on the data port to the given
         * StringBuffer, returning true if the server indicates that the
         * operation was successful.
        public boolean executeDataCommand(String command, StringBuffer sb)
            throws IOException
            // Open a data socket on this computer
            ServerSocket serverSocket = new ServerSocket(0);
            if (!setupDataPort(command, serverSocket)) return false;
            Socket clientSocket = serverSocket.accept();
            // Transfer the data
            InputStream in = clientSocket.getInputStream();
            transferData(in, sb);
            // Clean up the data structures
            in.close();
            clientSocket.close();
            serverSocket.close();
            return isPositiveCompleteResponse(getServerReply());   
         * Transfers the data from the given input stream to the given output
         * stream until we reach the end of the stream.
        private void transferData(InputStream in, OutputStream out)
            throws IOException
            byte b[] = new byte[BLOCK_SIZE];
            int amount;
            // Read the data into the file
            while ((amount = in.read(b)) > 0) {
                out.write(b, 0, amount);
         * Added by Julian: Transfers the data from the given input stream
         * to the given StringBuffer until we reach the end of the stream.
        private void transferData(InputStream in, StringBuffer sb)
            throws IOException
            byte b[] = new byte[BLOCK_SIZE];
            int amount;
            // Read the data into the StringBuffer
            while ((amount = in.read(b)) > 0) {
                sb.append(new String(b, 0, amount));
         * Executes the given ftpd command on the server and writes the results
         * returned on the data port to the given FilterOutputStream, returning true
         * if the server indicates that the operation was successful.
        private boolean setupDataPort(String command, ServerSocket serverSocket)
            throws IOException
            // Send our local data port to the server
            if (!openPort(serverSocket)) return false;
            // Set binary type transfer
            outputStream.println("type i");
            if (!isPositiveCompleteResponse(getServerReply())) {
                debugPrint("Could not set transfer type");
                return false;
            // If we have a restart point, send that information
            if (restartPoint != 0) {
                outputStream.println("rest " + restartPoint);
                restartPoint = 0;
                // TODO: Interpret server response here
                getServerReply();
            // Send the command
            outputStream.println(command);
            return isPositivePreliminaryResponse(getServerReply());
         * Get IP address and port number from serverSocket and send them via the
         * <code>port</code> command to the ftp server, returning true if we get a
         * valid response from the server, returning true if the server indicates
         * that the operation was successful.
        private boolean openPort(ServerSocket serverSocket)
            throws IOException
            int localport = serverSocket.getLocalPort();
            // get local ip address
            InetAddress inetaddress = serverSocket.getInetAddress();
            InetAddress localip;
            try {
                localip = inetaddress.getLocalHost();
            } catch(UnknownHostException e) {
                debugPrint("Can't get local host");
                return false;
            // get ip address in high byte order
            byte[] addrbytes = localip.getAddress();
            // tell server what port we are listening on
            short addrshorts[] = new short[4];
            // problem:  bytes greater than 127 are printed as negative numbers
            for(int i = 0; i <= 3; i++) {
                addrshorts[i] = addrbytes;
    if (addrshorts[i] < 0)
    addrshorts[i] += 256;
    outputStream.println("port " + addrshorts[0] + "," + addrshorts[1] +
    "," + addrshorts[2] + "," + addrshorts[3] + "," +
    ((localport & 0xff00) >> 8) + "," +
    (localport & 0x00ff));
    return isPositiveCompleteResponse(getServerReply());
    * True if the given response code is in the 100-199 range.
    private boolean isPositivePreliminaryResponse(int response)
    return (response >= 100 && response < 200);
    * True if the given response code is in the 300-399 range.
    private boolean isPositiveIntermediateResponse(int response)
    return (response >= 300 && response < 400);
    * True if the given response code is in the 200-299 range.
    private boolean isPositiveCompleteResponse(int response)
    return (response >= 200 && response < 300);
    * True if the given response code is in the 400-499 range.
    private boolean isTransientNegativeResponse(int response)
    return (response >= 400 && response < 500);
    * True if the given response code is in the 500-5

    ok i tried explaining th eproblem in the previous post, but i apologize if my explanation was poor. anyways, i tried to look into it further by doing a printStackTrace() and believe it may be a read error. here is my new updated snippet, and also a link to a screenshot ([click here for screenshot|http://img143.imageshack.us/my.php?image=picture4qr0.png]) of what the error looks like on my end. it seems like a socket is not being read, or maybe it is initialized properly. Again I apologize if my problem is vague, but I do appreciate your input. thanks.
    updated code snippet
    public void uploadFiles()
              statusLabel.setVisible(true);
              errorLabel.setVisible(true);
              uploadButton.setVisible(false);
              footer.setVisible(false);
              holdingPanel.setVisible(false);
              pbar.setVisible(true);
              pbar = new JProgressBar();
              pbar.setMinimum(0);
              float Total=0;
              for (int i=0; i<fileLengths.size(); i++)
                   if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
                        Total+=Float.parseFloat((String)fileLengths.get(i));
              pbar.setMaximum((int)Total);
              String info="";
              try
                   ftp=new FTPConnection(false);
                   ftp.connect("ftp.chris-malcolm.com");
                   if (ftp.login("chrismal", "***"))
                        statusLabel.setText("Status: Connected.");
                        info+="Successfully logged in!\n";
                        info+="System type is: " + ftp.getSystemType()+"\n";
                        info+="Current directory is: " + ftp.getCurrentDirectory()+"\n";
                        if (ftp.changeDirectory("/www/images/"))
                             info+="directory changed to: " + ftp.getCurrentDirectory()+"\n";
                                                 try
                             for (int i=0; i<allFiles.size(); i++)
                                  if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
                                       String f=client.verifyFileName((String)model.getValueAt(i,0));
                                       String f2=""+((File)allFiles.get(i)).getPath();
                                       info+="filename: "+f2+"\n";
                                       if (ftp.uploadFile(f2))
                                            statusLabel.setText("Status: Uploading "+f+" - "+i+" of "+calculateTotalFiles()+" files(s)");
                                            pbar.setValue(Integer.parseInt((String)fileLengths.get(i)));
                                       else
                                            errorLabel.setText("Error occured while uploading"+f2+"\n");
                        catch(Exception de) 
                             StringWriter sw = new StringWriter();
                                  PrintWriter pw = new PrintWriter(sw);
                                  de.printStackTrace(pw);
                                  pw.close();
                                  //errorLabel.setText("<html>ERROR:"+sw.toString().replace("\n", "<br>")+"</html>");
                                  info+="Error: "+de.getMessage()+"\n";
                                  info+="Trace: "+sw+"\n";
                             try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");}  catch(Exception e2)  {};
                        else
                             info+="could not change directory\n";
                   else
                        info+="could not login";
              catch (Exception e)
                   StringWriter sw = new StringWriter();
                                  PrintWriter pw = new PrintWriter(sw);
                                  e.printStackTrace(pw);
                                  pw.close();
                                  info+="Error: "+e.getMessage()+"\n";
                                  info+="Trace: "+sw+"\n";
                   try { ftp.disconnect();  statusLabel.setText("Status: disconnected.");}  catch(Exception e2)  {};
              errorLabel.setText("ERROR:"+info);
              JOptionPane.showMessageDialog(this, info, "test", JOptionPane.PLAIN_MESSAGE);
              try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");}  catch(Exception e2)  {};
         Edited by: cjm771 on Jul 13, 2008 7:23 PM

  • Help! Just copied iTunes media to second external drive and now have broken links in the original drive??

    Hi everyone
    I wonder if anyone can offer me some advice to rectify the problems I'm experiencing in my itunes?
    I have been saving my media to an external hard drive since rebuilding my itunes collection, while keeping the library on the hard drive of my MBP.  This was working well with no problems but as my media reached 300GB on my external I thought I would copy it to another external hard drive as back up, and after that I decided to also make a copy of my library data to the same second external drive so I would have a full back up of itunes in case of failure of my main hard drive...
    So after copying my media from my first external drive to the second, and then copying the library data from my MBP hard drive it seems the copy of my media and the copied library are working fine on my second external hard drive, but now when I open the first external drive where I originally was saving my media files I am suffering quite a lot of broken links???...I followed the copy process as I have done in the past although I did not tick the check box for renaming and moving my media as it was about to be copied,and I thought that was correct as I used the consolidate function to copy it..
    Been trying to figure out how to rectify the problem tonight and am getting nowhere fast.  Can anyone offer suggestions as to how I can sort the issue on my original external hard drive as it's the one I prefer to store my media on and it was functioning perfectly before?? from having a tidy and clearly functioning itunes I now have a mass of problems....
    I hope this is clear to someone.....as I was hoping to have it fixed in readiness for a new MBP...am I missing something obvious?

    OK, this should sort you out...
    Move the following files and folders from /Volumes/Backup/iTunes  up to /Volumes/Backup/
    Album Artwork (folder)
    iTunes Library.itl
    iTunes Library Extras.itdb
    iTunes Library Genius.itdb
    iTunes Library.xml
    sentinel (hidden)
    Launch iTunes. It should warn that the library is missing. Browse to the file /Volumes/Backup/iTunes Library.itl and open it.
    Go to iTunes > Preferences > Advanced and change the media folder location to /Volumes/Backup/Music. Let iTunes consolidate files if it asks, if not use File > Library > Organize Library... Tick Consolidate files and click OK.
    Close iTunes. Rename /Volumes/Backup/Music as /Volumes/Backup/iTunes Media. Start iTunes.
    Go to iTunes > Preferences > Advanced, check that the media folder location now reads /Volumes/Backup/iTunes Media. If necessary, change and then close and reopen iTunes.
    Go to File > Library Organize Library... and, if not greyed out, tick Rearrange files in the folder iTunes Media, then click OK.
    Delete /Volumes/Backup/iTunes/iTunes Media which now contains redundant copies.
    Move the following files and folders from /Volumes/Backup/ into /Volumes/Backup/iTunes
    Album Artwork (folder)
    iTunes Media (folder)
    iTunes Library.itl
    iTunes Library Extras.itdb
    iTunes Library Genius.itdb
    iTunes Library.xml
    sentinel (hidden)
    Launch iTunes. It should warn that the library is missing. Browse to the file /Volumes/Backup/iTunes/iTunes Library.itl and open it.
    Go to iTunes > Preferences > Advanced, check that the media folder location now reads /Volumes/Backup/iTunes/iTunes Media. If necessary, change and then close and reopen iTunes.
    Each time you change something and start iTunes just check that a track will play. If not, close iTunes and undo your last action.
    That should be it. You can clone this iTunes folder to any other drive and the clone is a functioning copy of your library.
    tt2

  • Base filtering engine is preventing FTP uploads

    Using win 8.1. Ftp uploads (from any ftp program, filezilla, winscp and with knowhow cloud backup) stalls after 2-3 files have been uploaded.  A single large file will upload but not multiple small files. If I boot into windows safe mode the problem
    does not occur, ftp works fine, always.  In normal mode by eliminating one running component at a time I found that the base filtering engine appeared to be the only problem.  If base filtering was running the ftp problem occurred, if not then ftp
    was fine.
    Can one repair or replace the base filtering engine?.    I found this as it relates to win 7
    FROM ONE OF YOUR OTHER THREADS:
    you may download and apply the BFE service registry fix (#11) in this page: Miscellaneous Registry Fixes for Windows 7/XP/Vista - The Winhelponline Blog: LINK REMOVED (could not submit, Body text cannot contain images or links until we are able to verify
    your account.)
    Is that applicable for this problem in win 8.1?
    I do understand the BFE is an important security issue.  I have also scanned my system for viruses, I use defender (computer associates) anti virus and firewall, and spybot for malware.  I can't specifically pinpoint the occurrence of the problem with
    the installation of any specific new software program.  I have disabled the defender  firewall and virus software and that does not solve the problem. Disabling base filtering engine results in a functioning ftp, enabling results in
    a stalled ftp.
    Any help would be appreciated.

    Try this suggestion
    http://social.technet.microsoft.com/Forums/en-US/d8e59632-fca9-4bbd-b748-881af144706a/access-denied-base-filter-engine?forum=winservergen
    1. Browse to the location for the BFE service in the registry (HKLM\System\CurrentControlSet\Services\BFE\Parameters\Policy), right click and select permissions.
    2. In the "Permissions for Policy" window, click advanced | Add.
    3. Once the "Select Users, Computers or Group" box appears, change the "From this location:" to point to the local machine name.
    4. After changing the search location, enter "NT Service\BFE" in the "Enter the object name to select" box and click "Check names" - this will allow you to add the BFE account.
    5. Give the following privileges to the BFE account:
    Query Value
    Set Value
    Create Subkey
    Enumerate Subkeys
    Notify
    Read Control
    After adding the BFE account to the registry key, please try to start the Base Filtering Engine service.

  • A LOT of iTunes broken links/tracks after Music folder move...

    So yeah, I'm getting a TON of broken links / dead track links in iTunes after having to do two things to my iTunes install recently and I'm at wits end trying to fix it.
    I keep my iTunes Music Folder on an external and share the iTunes library between my work Macbook Pro and my home Macbook. Every Friday I drag my iTunes folder and all contents from my MBP onto an external and replace the iTunes folder on the 'weekend' MB, then do the same back on Monday. I keep my iTunes music 'View' as 'Date Added' so that I can always be listening to whatever is newest. It's how I roll.
    Well, this week I had some data problems during the transfer and had to use a previous week's iTunes Music Folder, which was fine as I hadn't added much this week.
    I also got a new external because the old one was getting a little shady, so after doing the iTunes Music Folder replacement I moved my music all over to a new external drive, told iTunes where it all was at. iTunes did it's thing, 'organized' my stuff and all seemed good - until I got back deeper into the catalogue of music and started getting a LOT of broken tracks. The songs are still there, in the correct folders and all, but for some reason iTunes isn't finding them.
    When I say a LOT, I mean so far it's hundreds of my 13,000 songs.
    Now I COULD use the 'Super Remove Dead Tracks' script from Doug's to find all the broken files then re-add the whole library, but it will add all the old songs out of order because they will get a new 'Added' date.
    I could also manually move thru my whole library holding down the arrow key for 'Next' to find all the broken links then go thru, select them, and use the 'iTunes Track CPR' script from Doug's to re-add them to the library with ratings intact, but still they will be out of order time-wise.
    I cannot find a script that will parse my library, find broken links, and re-associate them with their tracks, nor can I figure out why this happened and any other way to fix it. Repairing permissions hasn't helped. Any other ideas?

    Just to follow up with a more comprehensive example of looping through a Library to detect & repair "missing" file-tracks:
    <pre>
    property kErrAENoSuchObject:(-1728)
    on run
    tell (application "iTunes")
    set theLibraryPlaylist to (first library playlist)
    tell theLibraryPlaylist
    set theNumCandidateFileTracks to (count (every file track))
    repeat with i from 1 to theNumCandidateFileTracks by 1
    -- Get a reference to this file-track
    set thisFileTrackRef to (file track i)
    -- Get this file-track's info (useful for debugging, etc.)
    set thisArtist to (artist of thisFileTrackRef)
    set thisAlbum to (album of thisFileTrackRef)
    set thisName to (name of thisFileTrackRef)
    set thisFileTrackInfo to (thisArtist & " > " & thisAlbum & " > " & thisName)
    -- Display a diagnostic message every 500th file-track
    if ((i mod 500) = 0) then
    tell me
    display dialog ("Checking file-track #" & i & ": " & ¬
    return & return & thisFileTrackInfo) ¬
    buttons {"Cancel", "•"} giving up after 2.5
    end tell -- me
    end if
    -- Retrieve this file-track's target file (an AS 'alias' object), if any
    -- {!!! NOTE: Due to a bug in iTunes 7.x+ (esp. when downloading), AS might
    -- be unable to access the 'location' field of some file-tracks !!!}
    try
    set thisFileTrackTargetFile to (location of thisFileTrackRef)
    on error errMsg2 number errNum2
    -- Check whether it's that bizarre error: (-1728) "Can't get location of …"
    if (errNum2 = (kErrAENoSuchObject of me)) then
    -- Set up to just skip this track (assume it's being downloaded)
    set thisFileTrackTargetFile to (anything) -- (Other than 'missing value')
    else (* Re-signal all other errors *)
    error errMsg2 number errNum2
    end if
    end try
    -- Check whether this file-track is "missing" its target file
    if (thisFileTrackTargetFile = (missing value))
    -- Inform the user
    tell me
    display dialog ("Repairing this missing file-track: " & ¬
    return & return & thisFileTrackInfo) ¬
    buttons {"Cancel", "•"} giving up after 2.5
    end tell -- me
    -- Set up this target file's new pathname (e.g., via explicit user input, or
    -- better yet automatically reconstructed from this file-track's tags such
    -- as Artist, Album, Name, Kind, etc.)
    -- ... Translate this file-track's kind into a filename-extension
    set thisKind to (kind of thisFileTrackRef)
    set thisNameExt to "m4a" -- ... Default
    if ({thisKind} is in {("Protected AAC audio file")}) then -- Older DRM'd file
    set thisNameExt to "m4p"
    else if ({thisKind} is in {("MPEG audio file")}) then -- MP3
    set thisNameExt to "mp3"
    else if (thisKind contains "movie file") then -- E.g., interactive booklet
    set thisNameExt to "mov"
    end -- (thisKind = "MPEG audio file") ... else if ... else ...
    -- ... Auto-build this target file's new pathname
    set thisTargetFileNewPathname to ("New Disk:New Path:" & ¬
    thisArtist & ":" & thisAlbum & ":" & thisName & "." & thisNameExt)
    -- Assign this new target file (as an AS 'alias' object) to this file-track
    -- (This is the crucial step that was impossible in older versions of iTunes!)
    set (location of thisFileTrackRef) to (alias thisTargetFileNewPathname)
    end if -- (thisFileTrackTargetFile = (missing value))
    end repeat -- with i from 1 to theNumCandidateFileTracks by 1
    end tell -- theLibraryPlaylist
    end tell -- (application "iTunes")
    end run
    </pre>
    Regards,
    --P

  • Link checker does not seem to see some broken links-why?

    Hi,
    I have a problem with the link checker, it does not seem to report some broken links. Here is the context in which it happens.
    My site root folder contains (subset) :
    index.php
    Templates/child_userarea.dwt
    user-area/downloads.html
    (The file downloads.html is based on child_userarea.dwt.)
    In the template, I have <a href="../../index.php" title="Home page">Home</a>.
    In downloads.html, this link appears as <a href="file:///M|/Website/index.php" title="Home page">Home</a>.
    According to this post http://forums.adobe.com/message/934203#934203 by Murray, this is because Dreamweaver (CS4 in my case) thinks that index.php is outside the site root folder. I understand it thinks so because indeed ../../index.php points to the folder parent of the root folder. What I don't get is why doesn't the link checker report that ../../index.php does not exist? (And I'm sure it doesn't, there is no file called index.php outside the root folder.)
    Emilie

    That's the thing, it is correct! I have checked many times. Here is what is says:
    and M:\Website\CERC15\ does exist.
    For the time being, I have corrected the paths in the template, so for that particular file, it is now ok. However, I have no idea whether other paths are wrong since I am not sure any longer whether they are spotted by the link checker. I searched for other instances of file:///M|/Website and there is none left.
    I suspect this is just one more problem due to another problem non-identified so far (see e.g.http://forums.adobe.com/thread/506149?tstart=30). Since I renamed a big batch of files, I have had problems after problems: the templates disappearing (see that other post); I also lost all the files in 4 other folders (files for download linked to the pages through <a> tags); and Dreamweaver has become particularly slow (but this seems to have been fixed with erasing the cache and the personal preferences).
    I'd like to start from scratch again (and why not reinstall Dreamweaver), but I don't know how to recreate the site from zero without loosing anything (e.g. links to templates).

Maybe you are looking for