Referenced photo directory tree - refresh import?

Okay, maybe I need to completely change the way I do things, but I can't figure this out.
I just did a full import of a multi-level directory tree into Aperature, and it works great (although it took a while). There are multiple levels, and thousands of photos. They are stored on a NAS on an NFS share.
Photos can be added to the NAS from lots of places, including a PC or another Mac.
What I want to be able to do, manually or automatically, is update Aperture with new photos. Auto seems unlikely, but manual seems like it should be possible.
The problem is, it always imports everything again. I've tried reimporting the directory at the top level, and Aperture creates a second tree with a "(1)" after it, rather than updating the original. I've tried dragging all the files from the NAS into Aperture, but it imports all duplicates, and they are no longer by reference. I've tried importing files, but the weird interface that pops up doesn't show NFS mounts or support soft-links.
Any ideas? Am I missing something obvious here?
Thanks in advance for any help!
-Mark

Edit: I guess every import is a project. I think the issue is that this only works at the lowest level project. So, if I have "/Photos/Husband/Year 1/2010-07-30 - Party", if I try a reimport at, for example, "Husband", it duplicates everything?
Edit again: Nope, I just added a few new pictures to an existing lowest level folder, and it added only the new pictures, but added a new project with a (1) after it. In the above example, it created a "/Photos/Husband/Year 1/2010-07-30 - Party (1)" project in Aperture with just the new photos.
What the heck?
Message was edited by: AbMagFab

Similar Messages

  • Cannot import from NFS directory: tree not expandable

    I am using Lightroom 4.3 on Mac OS X Mountain Lion (10.8.1).
    I am unable to import files from an NFS-mounted directory because the folders lack rocker nodes, so I can't navigate through the tree to my existing Photos directory.  It isn't practical or desirable to import the entire NFS filesystem.
    I originally had the filesystem mounted with these options:
    freenas:/mnt/vol_home/nfs_home on /Volumes/home (nfs, nodev, nosuid, automounted, nobrowse)
    And while I can see the root of the filesystem in the left side of the import window, and while the directories have little folder icons next to them, the little triangular rockers next to them are greyed out.  If I picked a directory, and checked "include subfolders", then Lightroom would recurse through the tree and show me all of the pictures.  But I don't want to import my entire filesystem.  I need to navigate down the tree to my photo directory, but the rockers are "greyed out".  It's difficult to see them greyed out when the background is grey too, but they are there, faint as they are.
    So, I thought maybe the "nobrowse" option had something to do with the inability to navigate.  I used "NFS Utility" to remove the "nobrowse"option, and remounted the filesystem.  It is now mounted with these options:
    freenas:/mnt/vol_home/nfs_home on /Volumes/home (nfs, nodev, nosuid, noatime)
    And while I can see the root of the filesystem in the left side of the import window, and while the directories have little folder icons next to them, [most of] the rockers next to them are still greyed out.  Here is a screenshot of the import window, alongside a Finder window, which of course lets me open the rockers and navigate just fine.  The fact that Finder works implies to me that it isn't a permissions problem.  Of course I can also "cd" using the terminal commandline.  The navigation problem appears to be limited to the Lightroom application.
    Hopefully you can see from this screenshot, that only the "rbrown" folder has a working rocker.  The other rockers are greyed out (which is really difficult to see).  I need to navigate below "rbrown", but cannot.   Finder can open the "family" rocker, and can open the subfolders under "rbrown" just fine.
    Why does lightroom refuse to let me open these folders?
    Thanks in advance.

    I have discovered a way to get Lightroom to navigate my NFS directory!  Using the help I learned here:
    http://feedback.photoshop.com/photoshop_family/topics/lightroom_4_3_import_from_and_to_nfs _mounted_filesystem_does_not_work
    I discovered that not only did I need to use a nonstandard mount point (I ultimately chose "/nas"), but that I also needed to mount with the "rdirplus" option (aka "Use ReaddirPlus NFSv3 feature").  I was using the German 3rd party package "NFS Manager" to help me mount and unmount quickly, while enabling and disabling options left and right to try to figure this problem out.  It also allows me to specify it as an "automount".  Prior to Mac OS X 10.8 (mountain lion), there was a GUI in Disk Utility to allow me to specify NFS mounts, but as of mountain lion, the button is gone, for reasons unclear.
    Anyway, I got lightroom to navigate my NFS server by mounting on /nas, and by specifying the 'rdirplus' option in the mount command.

  • LR 5.2 Import directory tree

    Guys,
    is it just me or is there no setting in LR that forces it to "remember" the last directory files were imported from?
    I am currently reorganising my catalogs and also importing a whole bunch of new files. It really slows the work flow down if you have to click through the directory tree over and over again... I have a 2TB hard drive dedicated to my photos and drawings, with a highly structured directory tree.

    Lr doesn't remember last folder used but doesn have the facility to importing directly into a specific folder. This is achieved by right clicking on the destination folder in Folder panel then chossing Import to this folder... from context menu (screenshot below). The Lr team can be contacted at http://feedback.photoshop.com/photoshop_family/products/photoshop_family_photoshop_lightro om
    I don't know anything about Google+

  • How to move referenced photos to external hard drive and maintain "faces"

    I created an iphoto library on an external hard drive.  I chose not to copy imported photos to iphoto (reference instead) under iphoto preferences.   I dragged a large folder of photos from my internal hard drive to iphoto and spent countless hours adding faces to all the photos.  I now decide i want these pictures referenced from the external drive too, not the internal.   I moved the file of folders to my external drive and of course iphoto now cant find these referenced pictures.   I do "find photo" and point to where i moved these photos on the external drive and all works, until i close iphoto and restart it.  (in other words, iphoto doesnt remember the new location i pointed to)
    Is there a way to move the referenced photos to the external drive and still have iphoto faces work correctly?
    thanks

    This is just one of the many reasons that a referenced library is not recommended with iPhoto
    it has been reported that File Buddy - http://www.skytag.com/ - can help resolve the broken aliases - I have not used - as always backup before messing with your iPhoto library
    LN

  • Best practice for designing a directory tree

    Hello all,
    I wanted to know what you all think about what is the best way to design a directory tree. Again it seems to me that experience makes the man perfect and I wanted to know what you all think about how to design directory tree model.
    Here is my view; I believe that keeping at least Users/ Employee information flat make more sense to me. I know it’s a good idea that one should consider an organizational hierarchy when designing a tree. But there seems to be some problem too. If employee moves from one department to another within the same organization then directory administrator has to change the location/department of the user. However, if all users are under the same namespace i.e. ou=Users, administrator does not have to change or move users location in the directory to another location.
    Also, while designing a directory there could be several hierarchy, one is organizational hierarchy another could be organizing user info based on job roles i.e. CEO->VPs-Managers->Consultant.... and so on so. So which one should consider. So by considering ou=Users namespace, we are avoiding risk on favoring one type of hierarchy.
    The trade-off in using ou=Users a flat namespace is that browsing of the directory looks less interesting.
    Anyway, this is my view, I would like to know your views too and hope this thread will help other in building their own directory Tree.
    Thanks
    Syed Suhail Ahmad

    Honestly it really depends on what you need your system to do and how you want to handle administration. I have read the argument about keeping things simple with using ou=USERS and seems like the best situation for administration purposes. Currently my client is wanting all identity management to be handled in OID so I am in the process of doing our hierarchy also. I still have to explore the abilities of OID to see how I can set things up.
    There are a few good books and websites that are good for referencing ldap. One book I use is LDAP Programming, Management, and Integration by Donley. For websites, just search on google or check out www.ldapguru.com or www.openldap.org(possibly).
    Hope this helps a little. I honestly can speak on the best way since I haven't implemented my own yet nor do I think one way will always be best for every situation.

  • Method for copying a directory tree from production server to test server

    I have DSEE 6.3 running on Solaris 10 (servers A, B & C are multi-mastered and replicating successfully) in production. I have the same arrangement on a test set of servers (D, E, F). Could someone explain what is the best method for zapping the entire directory tree on test servers D, E, F ... and creating a complete copy of the tree on production servers A, B, C ... and then loading that copy on test servers D, E, F?
    Thanks very much!

    Could someone explain what is the best method for zapping the entire directory tree on test servers D, E, F...dsadm delete
    dsadm create
    ...and creating a complete copy of the tree on production servers A, B, C ... and then loading that copy on test servers D, E, F?dsconf export
    dsconf import
    [http://docs.sun.com/app/docs/doc/820-2767/dsadm-1m]
    [http://docs.sun.com/app/docs/doc/820-2767/dsconf-1m]

  • Search a Directory Tree For a Directory

    Hello All,
    Alright, the backround first. I am working on a system for managing photos for cases. So, the top photos dir has 5 dirs represnting the years. In each of those, are months, in those are days, and in the days there are dir named for the casenumber. This may sound confussing but...Say for Case number 05-00001 which happened January 1st 2005, the photos would be in ./photos/2005/1/1/05-00001/Now I cant change the dir structure because this is how the system uploads them, but I need a program to search this dir tree when the person enters a case number and return the photos. Everything works great (from a logic standpoint) but the problem is that there are about 20,000+ cases a year and if the case is toward the end it takes FOREVER to search through them all.
    What I am looking for is suggestions on how to most efficently search for these cases...
    Thanks,
    Matt

    a particular string. I was able to read one file in
    a single directory but not in any other directory.
    How would I go about writing code to be able to
    access all files in directory that has multiple sub
    folders.
    You can do that several ways.
    Most likely you'll end up with some sort of recursive iteration over the directory tree.
    Not hard to write, somewhat harder to prevent memory problems if you end up with a lot of data.
    Also, when I started to write my program I tried to
    use the DOM XML Parser to parse my html page. My
    logic behind this decision was that if you look at
    html code it is an xml document. But as I was
    trying to run my program I noticed that I had to
    convert my html document into xml format. I really
    don't want to have to build my own html parser. Is
    there a html parser that is included in Java. Oh my
    program is just your basic text program. No
    interfaces.
    A VALID xhtml document is a valid XML document.
    Problem is that most HTML isn't xhtml.
    Another problem is that most HTML is fundamentally broken even to its own standards (which have always been based on SGML on which XML is also based).
    Browsers take that into account by being extremely lax on standards compliance and effectively making up tags as they go along to fill in the missing ones in the trees they parse.
    That's however not a standardised process and each browser handles it differently (and as a result most html will render differently in different browsers).
    Java contains a simple HTML parser in Swing, but it's primitive and will only parse a subset of HTML 2.0.
    There are almost certainly 3rd party libraries out there that can do better, both free and/or commercial.

  • Simplifiying a directory tree

    hello... how can i simplify these codes below to a simpler version with minimum features possible? is it possible to eliminate the title bar?
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    public class DirTree
            extends JFrame {
            public static final String APP_NAME = "Directories Tree";
            public static final ImageIcon ICON_COMPUTER = new ImageIcon("computer.gif");
            public static final ImageIcon ICON_DISK =
                    new ImageIcon("disk.gif");
            public static final ImageIcon ICON_FOLDER =
                    new ImageIcon("folder.gif");
            public static final ImageIcon ICON_EXPANDEDFOLDER =
                    new ImageIcon("expandedfolder.gif");
            protected JTree  m_tree;
            protected DefaultTreeModel m_model;
            protected JTextField m_display;
            public DirTree() {
                    super(APP_NAME);
                    setSize(400, 300);
                    DefaultMutableTreeNode top = new DefaultMutableTreeNode(
                            new IconData(ICON_COMPUTER, null, "Computer"));
                    DefaultMutableTreeNode node;
                    File[] roots = File.listRoots();
                    for (int k=0; k<roots.length; k++) {
                            node = new DefaultMutableTreeNode(new IconData(ICON_DISK,
                                    null, new FileNode(roots[k])));
                            top.add(node);
                node.add( new DefaultMutableTreeNode(new Boolean(true)));
                    m_model = new DefaultTreeModel(top);
                    m_tree = new JTree(m_model);
                    m_tree.putClientProperty("JTree.lineStyle", "Angled");
                    IconCellRenderer renderer = new
                            IconCellRenderer();
                    m_tree.setCellRenderer(renderer);
                    m_tree.addTreeExpansionListener(new
                            DirExpansionListener());
                    m_tree.addTreeSelectionListener(new
                            DirSelectionListener());
                    m_tree.getSelectionModel().setSelectionMode(
                            TreeSelectionModel.SINGLE_TREE_SELECTION);
                    m_tree.setShowsRootHandles(true);
                    m_tree.setEditable(false);
                    JScrollPane s = new JScrollPane();
                    s.getViewport().add(m_tree);
                    getContentPane().add(s, BorderLayout.CENTER);
                    m_display = new JTextField();
                    m_display.setEditable(false);
                    m_display.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
                    getContentPane().add(m_display, BorderLayout.NORTH);
            DefaultMutableTreeNode getTreeNode(TreePath path) {
                    return (DefaultMutableTreeNode)(path.getLastPathComponent());
            FileNode getFileNode(DefaultMutableTreeNode node) {
                    if (node == null)
                            return null;
                    Object obj = node.getUserObject();
                    if (obj instanceof IconData)
                            obj = ((IconData)obj).getObject();
                    if (obj instanceof FileNode)
                            return (FileNode)obj;
                    else
                            return null;
        // Make sure expansion is threaded and updating the tree model
        // only occurs within the event dispatching thread.
        class DirExpansionListener implements TreeExpansionListener {
            public void treeExpanded(TreeExpansionEvent event) {
                final DefaultMutableTreeNode node = getTreeNode(
                    event.getPath());
                final FileNode fnode = getFileNode(node);
                Thread runner = new Thread() {
                                    public void run() {
                                            if (fnode != null && fnode.expand(node)) {
                                                    Runnable runnable = new Runnable() {
                                                            public void run() {
                                                                    m_model.reload(node);
                                                    SwingUtilities.invokeLater(runnable);
                runner.start();
            public void treeCollapsed(TreeExpansionEvent event) {}
            class DirSelectionListener
                    implements TreeSelectionListener {
                    public void valueChanged(TreeSelectionEvent event) {
                            DefaultMutableTreeNode node = getTreeNode(
                                    event.getPath());
                            FileNode fnode = getFileNode(node);
                            if (fnode != null)
                                    m_display.setText(fnode.getFile().
                                            getAbsolutePath());
                            else
                                    m_display.setText("");
            public static void main(String argv[]) {
                    DirTree frame = new DirTree();
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setVisible(true);
    class IconCellRenderer
            extends    DefaultTreeCellRenderer {
            public IconCellRenderer() {
                    setLeafIcon(null);
                    setOpenIcon(null);
            public Component getTreeCellRendererComponent(JTree tree,
                    Object value, boolean sel, boolean expanded, boolean leaf,
                    int row, boolean hasFocus) {
                    // Invoke default implementation
                    Component result = super.getTreeCellRendererComponent(tree,
                            value, sel, expanded, leaf, row, hasFocus);
                    DefaultMutableTreeNode node =
                            (DefaultMutableTreeNode)value;
                    Object obj = node.getUserObject();
                    setText(obj.toString());
            if (obj instanceof Boolean)
                            setText("Retrieving data...");
                    if (obj instanceof IconData) {
                            IconData idata = (IconData)obj;
                            if (expanded)
                                    setIcon(idata.getExpandedIcon());
                            else
                                    setIcon(idata.getIcon());
                    else
                            setIcon(null);
                    return result;
    class IconData {
            protected Icon   m_icon;
            protected Icon   m_expandedIcon;
            protected Object m_data;
            public IconData(Icon icon, Object data) {
                    m_icon = icon;
                    m_expandedIcon = null;
                    m_data = data;
            public IconData(Icon icon, Icon expandedIcon, Object data) {
                    m_icon = icon;
                    m_expandedIcon = expandedIcon;
                    m_data = data;
            public Icon getIcon() {
                    return m_icon;
            public Icon getExpandedIcon() {
                    return m_expandedIcon!=null ? m_expandedIcon : m_icon;
            public Object getObject() {
                    return m_data;
            public String toString() {
                    return m_data.toString();
    class FileNode {
            protected File m_file;
            public FileNode(File file) {
                    m_file = file;
            public File getFile() {
                    return m_file;
            public String toString() {
                    return m_file.getName().length() > 0 ? m_file.getName() :
                            m_file.getPath();
            // Alternatively we copud sub-class TreeNode
            public boolean expand(DefaultMutableTreeNode parent) {
                    DefaultMutableTreeNode flag =
                            (DefaultMutableTreeNode)parent.getFirstChild();
                    if (flag==null)       // No flag
                            return false;
                    Object obj = flag.getUserObject();
                    if (!(obj instanceof Boolean))
                            return false;      // Already expanded
                    parent.removeAllChildren();  // Remove Flag
                    File[] files = listFiles();
                    if (files == null)
                            return true;
                    Vector v = new Vector();
                    for (int k=0; k<files.length; k++) {
                            File f = files[k];
                            if (!(f.isDirectory()))
                                    continue;
                            FileNode newNode = new FileNode(f);
                            boolean isAdded = false;
                            for (int i=0; i<v.size(); i++) {
                                    FileNode nd = (FileNode)v.elementAt(i);
                                    if (newNode.compareTo(nd) < 0) {
                                            v.insertElementAt(newNode, i);
                                            isAdded = true;
                                            break;
                            if (!isAdded)
                                    v.addElement(newNode);
                    for (int i=0; i<v.size(); i++) {
                            FileNode nd = (FileNode)v.elementAt(i);
                            IconData idata = new IconData(DirTree.ICON_FOLDER,
                                    DirTree.ICON_EXPANDEDFOLDER, nd);
                            DefaultMutableTreeNode node = new
                                    DefaultMutableTreeNode(idata);
                            parent.add(node);
                            if (nd.hasSubDirs())
                                    node.add(new DefaultMutableTreeNode(
                                            new Boolean(true) ));
                    return true;
            public boolean hasSubDirs() {
                    File[] files = listFiles();
                    if (files == null)
                            return false;
                    for (int k=0; k<files.length; k++) {
                            if (files[k].isDirectory())
                                    return true;
                    return false;
            public int compareTo(FileNode toCompare) {
                    return  m_file.getName().compareToIgnoreCase(
                            toCompare.m_file.getName() );
            protected File[] listFiles() {
                    if (!m_file.isDirectory())
                            return null;
                    try {
                            return m_file.listFiles();
                    catch (Exception ex) {
                            JOptionPane.showMessageDialog(null,
                                    "Error reading directory "+m_file.getAbsolutePath(),
                                    DirTree.APP_NAME, JOptionPane.WARNING_MESSAGE);
                            return null;

    I'm not sure what you want, butimport java.awt.*;
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    public class Test2 extends JFrame {
      public Test2() {
        super(DirTree.APP_NAME);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container content = getContentPane();
        content.add(new DirTree(), BorderLayout.CENTER);
        setSize(400,300);
      public static void main(String argv[]) { new Test2().setVisible(true); }
    class DirTree extends JPanel {
      public static final String APP_NAME = "Directories Tree";
      public static final ImageIcon ICON_COMPUTER = new ImageIcon("computer.gif");
      public static final ImageIcon ICON_DISK = new ImageIcon("disk.gif");
      public static final ImageIcon ICON_FOLDER = new ImageIcon("folder.gif");
      public static final ImageIcon ICON_EXPANDEDFOLDER = new ImageIcon("expandedfolder.gif");
      protected JTree m_tree;
      protected DefaultTreeModel m_model;
      protected JTextField m_display;
      public DirTree() {
        setLayout(new BorderLayout());
        DefaultMutableTreeNode top = new DefaultMutableTreeNode(
            new IconData(ICON_COMPUTER, null, "Computer"));
        DefaultMutableTreeNode node;
        File[] roots = File.listRoots();
        for (int k = 0; k < roots.length; k++) {
          node = new DefaultMutableTreeNode(new IconData(ICON_DISK,
              null, new FileNode(roots[k])));
          top.add(node);
          node.add(new DefaultMutableTreeNode(new Boolean(true)));
        m_model = new DefaultTreeModel(top);
        m_tree = new JTree(m_model);
        m_tree.putClientProperty("JTree.lineStyle", "Angled");
        IconCellRenderer renderer = new IconCellRenderer();
        m_tree.setCellRenderer(renderer);
        m_tree.addTreeExpansionListener(new DirExpansionListener());
        m_tree.addTreeSelectionListener(new DirSelectionListener());
        m_tree.getSelectionModel().setSelectionMode(
                              TreeSelectionModel.SINGLE_TREE_SELECTION);
        m_tree.setShowsRootHandles(true);
        m_tree.setEditable(false);
        JScrollPane s = new JScrollPane();
        s.getViewport().add(m_tree);
        add(s, BorderLayout.CENTER);
        m_display = new JTextField();
        m_display.setEditable(false);
        m_display.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
        add(m_display, BorderLayout.NORTH);
      DefaultMutableTreeNode getTreeNode(TreePath path) {
        return (DefaultMutableTreeNode) (path.getLastPathComponent());
      FileNode getFileNode(DefaultMutableTreeNode node) {
        if (node == null) return null;
        Object obj = node.getUserObject();
        if (obj instanceof IconData) obj = ((IconData)obj).getObject();
        if (obj instanceof FileNode) return (FileNode) obj;
        else return null;
    // Make sure expansion is threaded and updating the tree model
    // only occurs within the event dispatching thread.
      class DirExpansionListener implements TreeExpansionListener {
        public void treeExpanded(TreeExpansionEvent event) {
          final DefaultMutableTreeNode node = getTreeNode(event.getPath());
          final FileNode fnode = getFileNode(node);
          Thread runner = new Thread() {
            public void run() {
              if (fnode != null && fnode.expand(node)) {
                Runnable runnable = new Runnable() {
                  public void run() {
                    m_model.reload(node);
                SwingUtilities.invokeLater(runnable);
          runner.start();
        public void treeCollapsed(TreeExpansionEvent event) {}
      class DirSelectionListener implements TreeSelectionListener {
        public void valueChanged(TreeSelectionEvent event) {
          DefaultMutableTreeNode node = getTreeNode(
              event.getPath());
          FileNode fnode = getFileNode(node);
          if (fnode != null) {
            m_display.setText(fnode.getFile().
                              getAbsolutePath());
          } else {
            m_display.setText("");
    class IconCellRenderer extends DefaultTreeCellRenderer {
      public IconCellRenderer() {
        setLeafIcon(null);
        setOpenIcon(null);
      public Component getTreeCellRendererComponent(JTree tree,
                                                    Object value, boolean sel,
                                                    boolean expanded, boolean leaf,
                                                    int row, boolean hasFocus) {
    // Invoke default implementation
        Component result = super.getTreeCellRendererComponent(tree,
            value, sel, expanded, leaf, row, hasFocus);
        DefaultMutableTreeNode node =
            (DefaultMutableTreeNode) value;
        Object obj = node.getUserObject();
        setText(obj.toString());
        if (obj instanceof Boolean) {
          setText("Retrieving data...");
        if (obj instanceof IconData) {
          IconData idata = (IconData) obj;
          if (expanded) setIcon(idata.getExpandedIcon());
          else setIcon(idata.getIcon());
        } else setIcon(null);
        return result;
    class IconData {
      protected Icon m_icon;
      protected Icon m_expandedIcon;
      protected Object m_data;
      public IconData(Icon icon, Object data) {
        m_icon = icon;
        m_expandedIcon = null;
        m_data = data;
      public IconData(Icon icon, Icon expandedIcon, Object data) {
        m_icon = icon;
        m_expandedIcon = expandedIcon;
        m_data = data;
      public Icon getIcon() { return m_icon; }
      public Icon getExpandedIcon() {
        return m_expandedIcon != null ? m_expandedIcon : m_icon;
      public Object getObject() { return m_data; }
      public String toString() { return m_data.toString(); }
    class FileNode {
      protected File m_file;
      public FileNode(File file) { m_file = file; }
      public File getFile() { return m_file; }
      public String toString() {
        return m_file.getName().length() > 0 ? m_file.getName() : m_file.getPath();
    // Alternatively we copud sub-class TreeNode
      public boolean expand(DefaultMutableTreeNode parent) {
        DefaultMutableTreeNode flag =
            (DefaultMutableTreeNode) parent.getFirstChild();
        if (flag == null) return false; // No flag
        Object obj = flag.getUserObject();
        if (! (obj instanceof Boolean)) return false; // Already expanded
        parent.removeAllChildren(); // Remove Flag
        File[] files = listFiles();
        if (files == null) return true;
        Vector v = new Vector();
        for (int k = 0; k < files.length; k++) {
          File f = files[k];
          if (! (f.isDirectory())) continue;
          FileNode newNode = new FileNode(f);
          boolean isAdded = false;
          for (int i = 0; i < v.size(); i++) {
            FileNode nd = (FileNode) v.elementAt(i);
            if (newNode.compareTo(nd) < 0) {
              v.insertElementAt(newNode, i);
              isAdded = true;
              break;
          if (!isAdded) v.addElement(newNode);
        for (int i = 0; i < v.size(); i++) {
          FileNode nd = (FileNode) v.elementAt(i);
          IconData idata = new IconData(DirTree.ICON_FOLDER,
                                        DirTree.ICON_EXPANDEDFOLDER, nd);
          DefaultMutableTreeNode node = new
              DefaultMutableTreeNode(idata);
          parent.add(node);
          if (nd.hasSubDirs()) node.add(new DefaultMutableTreeNode(new Boolean(true)));
        return true;
      public boolean hasSubDirs() {
        File[] files = listFiles();
        if (files == null) return false;
        for (int k = 0; k < files.length; k++) {
          if (files[k].isDirectory()) return true;
        return false;
      public int compareTo(FileNode toCompare) {
        return m_file.getName().compareToIgnoreCase(toCompare.m_file.getName());
      protected File[] listFiles() {
        if (!m_file.isDirectory()) return null;
        try { return m_file.listFiles(); }
        catch (Exception ex) {
          JOptionPane.showMessageDialog(null,
                          "Error reading directory " + m_file.getAbsolutePath(),
                          DirTree.APP_NAME, JOptionPane.WARNING_MESSAGE);
          return null;
    }

  • Data loss -- managed photos mis-badged as missing referenced photos

    I always import all photos as managed photos, and never use referenced photos. Yesterday, I noticed that the last 29 photos from a group of 96 photos imported Feb 18 were badged as "The referenced image’s master file has not been found."
    Indeed, although I had worked on many of these images in Aperture shortly after importing them, I could now only view a large but low-res thumbnail.
    Weirdly, when I right-click on one of these images and select "Manage Referenced Files..." I get a message that "The selection doesn't use any referenced files." I get the same message when I select "Manage Referenced Files..." from the File menu with the entire project selected.
    Using the Finder, as well as the find and locate commands in the terminal, I have verified that the missing images are not on my main or backup hard drives (unfortunately, I use a simple rsync script for backup, and I didn't discover this problem until after the deletions had propagated to my backup).
    The other 67 photos imported at the same time (same import group) seem fine, and, using the Finder, I can locate all of them in the Aperture library.
    To test one user error scenario, I imported some test photos into the Aperture library and then relocated the masters to the desktop. I then quit Aperture, deleted the photos on the desktop, and relaunched Aperture. As expected, the test photos had the same "The referenced image’s master file has not been found" badge, but when I right clicked and selected "Manage Referenced Files..." I got the expected dialog, unlike when I select the same option for the missing 29 photos.
    Any ideas what went wrong?
    G5 iMac   Mac OS X (10.4.8)  

    Thanks for responding...
    It sounds pretty odd. First try to rebuild the
    database...as was suggested (Option>CMD on launch of
    Aperture).
    I will try this eventually. But I want to get some insight first, in case this could create more problems than it solves. I am also holding off on updating to 10.4.9 for the same reason.
    This might help. If not, try to make an
    adjustment on one of the images. This will force the
    thumbnail to redraw. If the adjustments aren't
    available for that particular image, then the image
    is really offline somewhere.
    I am unable to make any adjustments on these images.
    I assume you went into your Library "Show Package
    Contents" to confirm they are missing. If not, try
    that.
    Yes, the images are not in the folder with the other images from that import. Further, I used the unix 'find' and 'locate' commands to search my entire hard drive and backup drive, and the images were not found.
    Can you Export the image?
    That was how I first stumbled on this problem -- I tried to export and got an error message that "Versions with unavailable master images cannot be exported."
    The weird thing is that when I try and get the 'Managed referenced files...' dialog, Aperture claims that "The selection doesn't use any referenced files" -- that tells me this data loss might be the result of a bug and not user error.

  • 2 iPhoto Libraries, one referenced photo source

    I know people have been looking for a safe way (a method that will not corrupt the iPhoto library database) to share libraries for a long time. It appears that until Apple decides to make changes to allow this to happen, its not possible to do it without risking database corruption.
    But is is possible to share a dataset of referenced photos (where the original photos are not stored in iPhoto's library, just links to the photos that are stored elsewhere) using two libraries? In other words, two libraries pointing to the same dataset of original photos?
    I know this would mean that photo edits made using one library would not be available in the other. But this approach would allow multiple members of the family to share the same set of family photos, and have their own libraries, with separate albums, edits, etc.
    I'd appreciate hearing thoughts about this (or better yet, if someone has actually done it!).
    Cheers,
    Bill

    Possible - of course it is
    but it is a really bad idea - at this time iPhoto simply does not handle referenced libraries well
    As you point out this method would only share the originals and not of the edites, metadata changes, projects, etc
    And it means a complicated time and consuming import scheme of different people adding originals to the shared photos library and then notifying all others of what they had done and each and every user importing all of those photos to their library - which means that most likely everyone whould have a different set of photos within a srt time
    But the biggest issue if that the path can n=ever change (unless you hack the database of each iPhoto library that is referencing the photos) so upgrading hardware, computers or replacing defective devices becomes much more difficult
    LN

  • Help with the complexities of a mix of managed and referenced photos

    When I first started using Aperture instead of iPhoto, I elected to keep my iPhoto photos in their existing location (as referenced files) and all subsequent photos that were imported into Aperture were (obviously) managed by Aperture.
    I am hoping to start freeing up some hard drive space by deleting some photos.
    [1] If I delete a referenced photo in Aperture, does the photo also get deleted in iPhoto, or does the reference to it merely get deleted from Aperture?  I'm assuming the latter is true. If I delete the photo in iPhoto, I'm guess in a preview thumbnail remains in Aperture. 
    So, what's the best way to accomplish this?
    [2] I'm ultimately hoping to get a new MacBook Pro and am thinking since I'm now an Aperture afficianado, I'd like to move all my photos to aperture as managed files since I might ultimately put my burgeoning photo collection on an external drive. 
    Is there a way to change the referenced iphoto files to managed Aperture files (thereby completely bypassing iPhoto altogether)?
    Thanks for your help!

    Thanks. That is pretty straightforward.  One follow-up question:
    Do I then select all the photos in Aperture and do Colsolidate Masters (assuming Aperture will skip over those pictures that are already Managed), or do I have to select only my iPhoto referenced files?

  • How to filter / find referenced photos by where they are located

    Ok guys, I have been going round the bend with this one.... I've been through all of the Filter options in Aperture 3.4.3 several times over the last week trying to find for some way to get Aperture to only show referenced photos that are located on a particular external hard drive (EXT1) / within a particular sub-folder.
    In addition to some Originals/Masters being located on EXT1 I also have some referenced photos located on my start-up volume (OSX).
    The desired function: I would like to move all of the photos (and video files) that Aperture is referencing (along with the existing folder structure) from within /EXT1/Photos/ to another folder (either also on EXT1 or maybe on to another drive (EXT2), it doesn't really matter where).
    Why do I want to do this? I want to check whether there are any 'lost' files that shouldn't be inside /EXT1/Photos/ that Aperture is for some reason not referencing. If I move the files that Aperture is referecing away from their current location then the things that are left over would either need importing into Aperture, or moved eslewhere, or maybe even deleted. Some such files might have been put there by other applications, or by me accidentally, or more likely that Versions of them have been deleted from the Aperture library but the Orignals/Masters were not moved to the system Trash...
    I've gone through 5 pages of google results, trying all of the keywords that I think might be relevant, searched many posts in macrumours forums as well as here, but I can't find an answer to what I thought would have been a simple question.
    Under File > Locate Referenced Files Aperture can tell me which files are located on each Volume, but from here there is nothing that can be done with the results :-( being able to search my Volume and file path would be very useful to me.
    If I've missed something obvious then sorry, but I've gone cross eyed with lack of sleep tonight I thought I'd throw the question out there in case someone knows whether this is type or search criteria is not possible, or if I'm just missing something obvious!
    Thanks in advance,
    Adam

    My next question, which I can post a new topic for if it's suggested, is "can you safely delete the RAW file in a previously imported RAW + JPEG pair?". I did some research into this a few weeks ago but didn't uncover a proper way of doing this, but someone suggested that you can simply just set the JPEG to be the Original/Master within Aperture and then delete the RAW file within Finder.
    That is a cumbersome workaround. I cannot really recommend it - I tried it myself. Aperture will complain over and over again about the missing RAW files and even repairing the library will ot fix it. The safer way to remove the raw files from the pair would be to export the jpegs as master and to reimport them, then to delete the older imported versions after lifting and stamping any edits you may have done already.
    Aperture's built-in feature to keep only raw for selected images is to allow to import only the jpegs first, browse the images, and than add the raw later for the images that you want to have at a better resolution.
    From the Aperture Manual:
    If you import only the JPEG files and then later decide you want to download the RAW files as well, you can have Aperture identify and import the RAW files that match the JPEG files in your Aperture library.
    To import the RAW files that match the JPEG files in your Aperture library 
    Choose “Matching RAW files” from the Import pop-up menu.The Include pop-up menu appears below the Import pop-up menu.
    Do one of the following:
    To import all matching RAW files regardless of rating: Choose “All matching files” from the Include pop-up menu.
    To import all RAW files matching JPEG files that are unrated or better: Choose “Unrated or better” from the Include pop-up menu.
    To import all RAW files that match the current rating: Choose “Current filter” from the Include pop-up menu.
    Regards
    Léonie

  • 5272 Referenced Photos NOT LOADING! I'M BEGGIN' PLEASE HELP!

    Yes, all my photos that I have imported (as referenced images) can't be edited.
    The photos are in an external HD where I have all permissions to read and write. As a matter of fact, I could edit them before I upgraded to Aperture 1.5.2. However I must confess that I'm not sure if this is the reason why I can't edit; Aperture only indicates the "Image Loading" message on the Adjustments HUD.
    Is it possible to revert to a previous version in Aperture? Any other ideas as of why this is happening!?!?

    Hi David,
    Thank you for your suggestions. I have partly figured out what is causing this problem. The referenced files are not connected properly so a simple reconnection should solve the problem, right? wrong. If I connect a new volume with or without importing photos, my referenced photos get all jumpled up. Please read along.
    It's weird, but I will try to explain here.
    I work with 4 drives:
    1. Mac HD (MacOS Extended Journaled)
    2. WinXP (NFTS) (not writable)
    3. BackUp1 (FAT32) - External --> I have my ref photos here
    4. BackUp2 (FAT32) - External
    When I import referenced photos from the first time, there's no problem I can see the images and edit them. However, if I disconnect that device and connect another one, the referenced images point to another volume, NOT THE CORRECT ONE.
    For example, yesterday I reconnected all my photos in BackUp1 and everything was fine; images were correctly referenced to this volume. Went home happy and thought my problems were solved. At home, I connected a USB stick and copied some photos in Finder, that's it; didn't open Aperture or anything else. Then later, when I opened Aperture and I connected my BackUp1 drive, the photos that I had just reconnected at the office were referrenced to BackUp2, unable to load them!
    It has happened before that sometimes, instead of referring to BackUp1, the photos are referenced to WinXP!! (where I don't have any photos).
    Any ideas??
    Thank you.

  • Help! Problem with Aperture referenced photos after I updated to iPhoto 09

    I updated my iPhoto library to iPhoto 09. Then I rebuilt my Aperture 2.1.4 Library.
    In Aperture, when I try to edit a referenced photo imported from iPhoto, it cannot be found because it is on an unmounted volume. It is conceivable that I previously moved the original iPhoto Library to "Backup" drive – the one the referenced image is pointing to according to Aperture, then copied it to "Sally" drive – the one that iPhoto has no trouble finding, but Aperture is not pointing to.
    I thought I could "manage" the referenced files and point Aperture to the correct folder within the iPhoto library – I can navigate to the folder and file, but the "Reconnect" and "reconnect All" buttons are disabled.
    Does anyone have any idea how to get Aperture to reconnect to the iPhoto library? I hope I don't have to re-import the library into Aperture - that would be a nightmare!
    Thank you,
    Francis.

    I imported my iPhoto 08 Library a while ago, using the Aperture Import iPhoto tool, choosing to "Store files in their current location" (the iPhoto Library, on Sally drive).
    Much later, I had to re-jig my hard drives, renaming "Sally" to "Backup" and "Backup" to "Sally".
    The iPhoto Library is on the new Sally drive and iPhoto has no trouble accessing it.
    Aperture thinks the iPhoto Library is on Backup drive (which used to be called Sally). I'd like to get Aperture pointing to the iPhoto Library on Sally.
    Sorry about the Sally/Backup madness, I thought I'd be detail things as much as I can.
    Thanks,
    Francis.

  • How do i delete photos which were being imported and are now stored in a folder which i can't access

    how do i delete photos which were being imported and are now stored in a folder which i can't access

    Go to your Pictures Folder and find the iPhoto Library there. Right (or Control-) Click on the icon and select 'Show Package Contents'. A finder window will open with the Library exposed.
    Look there for a Folder called 'Import' or 'Importing'.
    Drag it to the Desktop. *Make no other changes*.
    Start iPhoto. Does that help?
    If it does then look inside that folder on your desktop. Does it contain anything you want? If not you can trash the folder.

Maybe you are looking for

  • Monitor says VIDEO MODE NOT SUPPORTED after changing display settings

    HELP! I am about to have a nervous breakdown with my mac mini! I hooked up the mac to my Philips LCD via DVI. No problem at all. But because the screen is only 15" I wanted to play around with the display settings a bit. So I changed the resolution f

  • TS1398 NO OPTION TO TURN WI FI ON

    I can't switch my wifi on?

  • 8900 Smartphone getting hang after boot

    I had problem with the 8900 Smartphone, All Contacts, Call logs used to get erase after i boot up the bb after removing the battery.  so I upgraded the bb with 8900jEastAsia_PBr5.0.0_rel1168_PL5.2.0.67_A5.0.0.681_Redington__India__Limited.  But after

  • M4r is in "Tones" but NOT in sounds- ringtones

    I'm really regretting this whole iPhone purchase thing. So after hours of reserarch, I finally got an mp3 converted to an m4r. I clicked it and played it with iTunes. I dropped the file into "Automatically Add to iTunes." It made a "Tone" tabe the th

  • How can I calculate disk space/DB space and storage spaces.

    Hi all, How can I calculate space clauses and memory related parameters for tables and table spaces? Updation is not allowed in these tables. I have to create a database also. I expect a reply with examples. [email protected] [email protected] Thanks