How to iterate over all relationships?

I try to iterate over all relations in a logical transformation script. That's what I tried:

entities = model.getEntitySet().toArray();
for (var e = 0; e < entities.length; e++) {
  entity = entities[e];
  entity_name = entity.getName();
  relations = entity.getRelations();
  for (var r = 0; r < relations.length; r++) {
    relation = relations[r];
    relation_name = relation.getName();
  }
}

The iteration of the entities but works the iteration of the relationship does not work.

Can someone explain what's not here?

Hello

  1. relations = entity.getRelations ();

This should return a list of relationships that are connected to the entity.

If you want to get all the relationships in your model, you can use

relations = model.getRelationSet () .toArray ();

David

Tags: Database

Similar Questions

  • Iterate over all others (or number) of element in an array using a loop for

    I'm going through a table, but instead of autoindexing I want to ignore all the other elements or perhaps a number of elements that will be specified for the user.

    The basic features I want to reach are the next in C code.

    int temp_var = 10;

    int i = 0;

    for (i = 0; i<=1000; i="">

    {

    }

    I am very new to LabVIEW and I didn't know how to use internal variables.

    Can this be achieved using the registers at offset?

    I enclose the code that I currently have to do this. Let me know what you think.

    Thank you guys.

    You must implement this one a While loop with a shift register to hold the index.  The index must be changed by the step size.  Here is the code:

    I asked for a new style of loop For which would specify start, stop and the conditions of the stage, but it seems that a lot of people is just not this idea.  Don't know why?

    See here.

  • How to iterate through all the controls in a MXML component

    How can browse you a MXML component controls?

    What kind of objects you need for the loop foreach?

    for each {(var child: UIComponent in parent.children)

  • Iterate over all the document layers applescript

    Hi, I have experience as a programmer, but not in applescript or photoshop, scritpting

    Basically, I want to apply certain actions of layers, but only of those named layers ending by '-Climat ' for example ("Layer 1-tick", "Background-tick")

    I try to convert the pseudocode below in applescript

    layer of foreach in CurrentDocument.layers

    If layer.name contains '-tick '

    do something

    end if

    end foreach

    In the pseudocode above, I'm inveting notation, but I hoppe, you get the idea.

    It is posible?

    Thank you!

    Thank you guys for help, I finally managed to combine applescript and javascript, simply awesome.

    -target Photoshop CS6

    say application "Adobe Photoshop CS6.

    make javascript "

    var theLayers = app.activeDocument.layers;

    var LayersName, result;

    var searchString = [/] CLI;

    for (i = 0; i

    LayersName = theLayers [i] .name;

    result = LayersName.search (searchString);

    If (result! = - 1) {}

    Alert (' found in a layer: "+ LayersName);

    or do something else

    }

    }

    "

    end say

  • How a TableView can iterate over the lines and get the cells?

    I need to iterate over all rows in a TableView without using events. I would like to get the total number of lines, TableRow and a cell of a TableColumn specified in the TableRow.

    Something like this:
    for(TableRow tableRow: tableView.getRows()){
        Cell cell = tableRow.getColumn(4).getCell();
        // do something to the cell 
    }
    Is this possible?

    Published by: Conzar on May 19, 2013 23:18

    However, the problem with the checkbox has been resolved so I don't need to iterate over the lines longer.

    Yes, don't use do not research to manage this is a much better solution, I just gave my search for a solution based on because you asked an iterative solution.

    Below (research) code produces no output.

    It works for me, I've included an example of executable, so you can try it.

    My guess is that you are not taking into account the fact that the research is just a glimpse of the cells of the table at a time in time.
    If you do a search for cell before show you the table on a stage, he's not coming back what it is because the cells are generated only on an as needed basis, and there is no need to generate all the cells before displaying the table on a stage.

    I get the following output on Win7 Java8b89:

    NumberedTableViewSample$2$1@344fe46[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@44187690[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@34618adc[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@61eb7609[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@50b006a1[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@307d4153[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@89b7483[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@70ce61fd[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@178969ad[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@e3149ea[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@3683d879[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@589e421f[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@7e26215b[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@69d59720[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@1ad26ff1[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@32b058e4[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@582e254[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@261c4ebd[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@2cb9cfb[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@63c6fe00[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@16a98443[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@58247401[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@34dc3da4[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@78a62ea[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@29e0032e[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@1781c971[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@18b2e479[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@4801295b[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@19e4c622[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@6a766d41[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@572aed5d[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@3bdf71a4[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@524c48c7[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@47b5a3ea[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@6ef8b38b[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@7fd2ee72[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@4994195c[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@49620450[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@246d8751[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@17e90472[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@def00[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@d1aa50a[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@2a7a58ba[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@2675cbd1[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@1c06ee08[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@1685718d[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@6ba1936c[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@61ef15e5[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@6b2ace30[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@3c4d17c7[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@1c3c9aad[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@27eadfe[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@3f83a064[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@579615f1[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@52a9271b[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@1d221557[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@18947d9e[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@537eab32[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@687cc257[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@3d524978[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@44554375[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@22f89594[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@1f891aaf[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@bafcb2f[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@7ddeea8c[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@26023325[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@4b14700f[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@89eb58[styleClass=cell indexed-cell table-cell table-column]
    NumberedTableViewSample$2$1@6a55a4a6[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@7d95454d[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@375592eb[styleClass=cell indexed-cell table-cell table-column]
    TableColumn$1$1@7add3f35[styleClass=cell indexed-cell table-cell table-column]
    

    TestApp:

    import javafx.application.Application;
    import javafx.beans.property.ReadOnlyObjectWrapper;
    import javafx.beans.property.SimpleStringProperty;
    import javafx.beans.value.ObservableValue;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.geometry.Insets;
    import javafx.scene.Group;
    import javafx.scene.Node;
    import javafx.scene.Scene;
    import javafx.scene.control.Label;
    import javafx.scene.control.TableCell;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableColumn.CellDataFeatures;
    import javafx.scene.control.TableView;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.layout.VBox;
    import javafx.scene.text.Font;
    import javafx.stage.Stage;
    import javafx.util.Callback;
    
    public class NumberedTableViewSample extends Application {
    
        private TableView table = new TableView<>();
        private final ObservableList data =
            FXCollections.observableArrayList(
                new Person("Jacob", "Smith", "[email protected]"),
                new Person("Isabella", "Johnson", "[email protected]"),
                new Person("Ethan", "Williams", "[email protected]"),
                new Person("Emma", "Jones", "[email protected]"),
                new Person("Michael", "Brown", "[email protected]")
            );
    
        public static void main(String[] args) {
            launch(args);
        }
    
        @Override
        public void start(Stage stage) {
            Scene scene = new Scene(new Group());
            stage.setTitle("Table View Sample");
            stage.setWidth(470);
            stage.setHeight(500);
    
            final Label label = new Label("Address Book");
            label.setFont(new Font("Arial", 20));
    
            table.setEditable(true);
    
            TableColumn numberCol = new TableColumn("#");
            numberCol.setMinWidth(20);
            numberCol.setCellValueFactory(new Callback, ObservableValue>() {
              @Override public ObservableValue call(CellDataFeatures p) {
                return new ReadOnlyObjectWrapper(p.getValue());
              }
            });
    
            numberCol.setCellFactory(new Callback, TableCell>() {
              @Override public TableCell call(TableColumn param) {
                return new TableCell() {
                    @Override protected void updateItem(Person item, boolean empty) {
                        super.updateItem(item, empty);
    
                        if (this.getTableRow() != null && item != null) {
                          setText(this.getTableRow().getIndex()+"");
                        } else {
                          setText(null);
                        }
                    }
                };
              }
            });
            numberCol.setSortable(false);
    
            TableColumn firstNameCol = new TableColumn("First Name");
            firstNameCol.setMinWidth(100);
            firstNameCol.setCellValueFactory(
                    new PropertyValueFactory("firstName"));
    
            TableColumn lastNameCol = new TableColumn("Last Name");
            lastNameCol.setMinWidth(100);
            lastNameCol.setCellValueFactory(
                    new PropertyValueFactory("lastName"));
    
            TableColumn emailCol = new TableColumn("Email");
            emailCol.setMinWidth(200);
            emailCol.setCellValueFactory(
                    new PropertyValueFactory("email"));
    
            table.setItems(data);
            table.getColumns().addAll(numberCol, firstNameCol, lastNameCol, emailCol);
    
            final VBox vbox = new VBox();
            vbox.setSpacing(5);
            vbox.setPadding(new Insets(10, 0, 0, 10));
            vbox.getChildren().addAll(label, table);
    
            // this lookup set won't print anything as no cells have been generated.
            for (Node r: table.lookupAll(".table-row-cell")){
                for (Node c: r.lookupAll(".table-cell")){
                    System.out.println(c);
                }
            }
    
            ((Group) scene.getRoot()).getChildren().addAll(vbox);
            stage.setScene(scene);
            stage.show();
    
            // now the table has been initially rendered and it's initial set of cells generated,
            // the cells can be looked up.
            for (Node r: table.lookupAll(".table-row-cell")){
                for (Node c: r.lookupAll(".table-cell")){
                    System.out.println(c);
                }
            }
        }
    
        public static class Person {
    
            private final SimpleStringProperty firstName;
            private final SimpleStringProperty lastName;
            private final SimpleStringProperty email;
    
            private Person(String fName, String lName, String email) {
                this.firstName = new SimpleStringProperty(fName);
                this.lastName = new SimpleStringProperty(lName);
                this.email = new SimpleStringProperty(email);
            }
    
            public String getFirstName() {
                return firstName.get();
            }
    
            public void setFirstName(String fName) {
                firstName.set(fName);
            }
    
            public String getLastName() {
                return lastName.get();
            }
    
            public void setLastName(String fName) {
                lastName.set(fName);
            }
    
            public String getEmail() {
                return email.get();
            }
    
            public void setEmail(String fName) {
                email.set(fName);
            }
        }
    } 
    
  • How iterate over the attributes of a single entity?

    I'm working on a script of transformation of the logic model. I take a list of entities:

    var = model.getEntitySet () .toArray () entities;

    iterate over the entities:

    for (var e = 0; e < entities.length; e ++) {}

    var = [e] entities entity;


    and try to get a list of all the attributes of the current entity:

    var attributes = entity.getAttributeSet () .toArray ();

    After that, I try to iterate through the attributes:

    for (var a = 0; a < attributes.length; a ++) {}

    attribute var = attributes [a];

    While performing an iteration on the attributes, I realized that the list is always the same. I always get a list of all the attributes probably of the whole model, even for entities without any attribute.

    How can I get a list of the attributes of a single entity?

    Hello

    Use entity.getAttributes)

  • How can I clear all data on sync and start over?

    When I get my favorites the way I would like it on my computer and delete the ones I don't want that it is messed up. I have 4 computers on my account and every time I sync it evokes the old bookmarks. I deleted all the bookmarks from my computer and set up a new sync account then delete all the bookmarks on my other computers. Then I set up the new account for synchronization on all computers and still evokes bookmarks. Avoid any book mark because I deleted all bookmarks in all computers before setting up the new account. I did it 2 times and it they come back. How can I clear all my accounts and start over?

    To delete all data associated with your Firefox sync account:

    1. Go to Firefox accounts
    2. Sign in using the information associated with your sync account
    3. Delete your account
    4. Sign up for a new account synchronization using the site Firefox accounts or directly from Firefox

    Warning: This cannot be undone and will result in the loss of your data synchronization

  • How do I loop over all the components on a form

    How do I loop over all components on a form to see if they are visible or not?

    Thanks in advance for the help!

    Have an ordinary day...
    KomputerMan ~ |  :-)

    Assume that c is the component that you want to see the children:

    for (var j: int = 0; j< c.numchildren;="">
    {
    var child: UIComponent = c.getChildAt (j) as UIComponent;
    No matter what
    }

  • How can I iterate over the columns of a REF CURSOR?

    I have the following situation:
    DECLARE
       text   VARCHAR2 (100) := '';
       
       TYPE gen_cursor is ref cursor;
       c_gen gen_cursor;
    
       CURSOR c_tmp
       IS
            SELECT   *
              FROM   CROSS_TBL
          ORDER BY   sn;
    BEGIN
       FOR tmp IN c_tmp
       LOOP
          text := 'select * from ' || tmp.table_name || ' where seqnum = ' || tmp.sn;
    
          OPEN c_gen FOR text;
    
          -- here I want to iterate over the columns of c_gen
          -- c_gen will have different number of columns every time,
          --        because we select from a different table
          -- I have more than 500 tables, so I cannot define strong REF CURSOR types!
    
          -- I need something like
          l := c_gen.columns.length;
          for c in c_gen.columns[1]..c_gen.columns[l]
          LOOP
              -- do something with the column value
          END LOOP;
       END LOOP;
    END;
    As you can see from the comments in the code, I couln would find examples on the internet with a REF CURSOR low and selecting from multiple tables.
    What I found was:
    CREATE PACKAGE admin_data AS
       TYPE gencurtyp IS REF CURSOR;
       PROCEDURE open_cv (generic_cv IN OUT gencurtyp, choice INT);
    END admin_data;
    /
    CREATE PACKAGE BODY admin_data AS
       PROCEDURE open_cv (generic_cv IN OUT gencurtyp, choice INT) IS
       BEGIN
          IF choice = 1 THEN
             OPEN generic_cv FOR SELECT * FROM employees;
          ELSIF choice = 2 THEN
             OPEN generic_cv FOR SELECT * FROM departments;
          ELSIF choice = 3 THEN
             OPEN generic_cv FOR SELECT * FROM jobs;
          END IF;
       END;
    END admin_data;
    /
    But they have only 3 tables here and I have like 500. What can I do here?

    Thanks in advance for any help!

    Hope it will help > [Ref Cursor dynamic dynamic Fetch | http://www.oracle.com/technology/oramag/code/tips2003/042003.html]

    See you soon,.
    AA

  • How can I get all my purchases from my Apple accounts when I move in other countries?

    I can't renew everything that I have both in France... 6 years turned to the basket and is really a shame to Apple to make accounts separately.

    I moved from Chicago in Italy, I lost years of purchase, I moved to the Italy in the France, I lost years of buying... Now once again...

    My music all gone... I can't renew applications or whatever it is that I already have both.

    In France, they said to call Apple Italy and bought agreed, you're screwed with apple after all.

    Then you give me any solution...

    I still have accounts in Italy, USA and France, but I can't transfer even if I am the owner of the account... Very sad, after all this year is as coward brand new...

    I have an IPAD - 2 IPHONEs and MACBOOK PRO...

    How can I United all my accounts and stop wasting my purchase?

    As long as you have your ID - you have your purchases

    Now some applications may not be available in some countries

    But simply moving over geographical areas should not cause you to lose the content.

    Can you please give us the exact things you are trying to do - on what device and this error messages if any?

  • How can I get all of the Office to appear above the task bar?

    HOW CAN I STOP ALL THE WAY DOWN MY OFFICE OR WHATEVER PROGRAM TO ADDRESS TO APPEAR BEHIND THE TASKBAR INSTEAD OF ENTIRELY OVER THE TASKBAR, SO THAT ALL PROGRAMS OR DESKTOP IS VISIBLE?

    On Saturday, August 14, 2010 18:36:51 + 0000, Ronnie Vernon [MVP] wrote:

    Ronnie, this isn't my experience. On all my Windows 7 computers, if
    you move a program window open to the taskbar and beyond, she too
    passes under the taskbar.

    Ken Blake

    Hi Ken

    It is also normal, as Nathan described. You can 'move' a window behind the taskbar.

    What I was describing is the default when you open a new window maximized. It should extend from the top of the screen to the top of the taskbar and not behind the taskbar.

    Thank you and sorry for misunderstanding you. Yes, I agree.

    If you have set on auto-hide the taskbar, this means a slightly larger magnified window, because it extends all the way to the bottom of the screen and if you appears the taskbar then it will cover the bottom of the open window.

    Kind regards

    Ronnie Vernon MVP

    --

    Ken Blake

  • [AS] Iterate over a page names thrown exception

    See you soon,.

    Something is wrong with my script to export AS. A loop more pages and get the name

    current page will return '1' for the page [0], but the exception to the following pages:

    Cannot make article 2 name of {'class' page id 179 [snip] of "test.indd" of the application}

    String type "Adobe InDesign CS3"}

    Can you help me the rookie from ACE?

    (* 
         Export all open documents to single PDF documents.
         v1.0 07/2010
         Rasmus Olsen
         
    *)
    -- choose a folder and cast to string
    set myFolder to (choose folder) as string
    -- set timeout to 10 minutes
    with timeout of (10 * 60) seconds
         tell application "Adobe InDesign CS3"
              try
                   -- get PDF export presets as strings
                   set presets to name of PDF export presets
                   -- get selected list item as string
                   set selected to {choose from list presets} as string
                   -- iterate over documents
                   repeat with doc in documents
                        set docname to name of doc
                        -- remove extension via newname
                        set newname to text 1 thru -6 of docname
                        if (count of pages of doc) > 1 then
                             -- doc's got more than one page
                             set docpages to pages of doc
                             -- iterate over pages
                             repeat with aPage in docpages
                                  -- need help with this:
                                  -- get page name as string trows an exception with all pages except page 1
                                  set pagename to name of aPage as string
                                  display dialog pagename
                                  tell doc
                                       -- export page with pagename suffix
                                       export format "Adobe PDF" to (myFolder & newname & "_" & pagename & ".pdf") using selected without showing options
                                       close saving no
                                  end tell
                             end repeat
                        else
                             tell doc
                                  -- export page
                                  export format "Adobe PDF" to (myFolder & newname & ".pdf") using selected without showing options
                                  close saving no
                             end tell
                        end if
                   end repeat
                   -- catch..
              on error e
                   display dialog e
              end try
         end tell
    end timeout
    

    It may need some parens, as in:

    the pagename to (name of the aPage) value as string

    Although the 'as string' is redundant. But you can simplify your loop a bit, using something like:
    Repeat with i from 1 to count pages
    pagename page name value I have
    ...
  • How can I delete all but 2015 to 2016 nigh (ios10.0.2) iPhone photos to free up space, after synchronizing all photos on my Mac (Yosemite 10.10.5)?

    How can I remove all but 2015 to 2016 photos from my iPhone (ios10.0.2) for free space, after synchronizing all the photos on my mac (Yosemite 10.10.5) computer?

    The fastest way I can think of would be to go to the Albums, go to all the Photos tab, highlight the photo you want to delete and press 'Select' in the upper right corner. Place your finger on the first complete line, you want to remove (if you have pictures that do not have a complete row that you want to remove these institutions, select them individually first), slide your finger on the line so that they are all selected, and then slide up so that it starts automatically at your old photos of scrolling. Once the photos you want to delete are selected, press the trash in the lower right. This will move them to your album "Recently deleted", then they will be always on your phone for 30 days, unless you remove them. If you are sure that you have already backed up these photos and does not accidentally still photos you want, feel free to remove them.

  • Me and my dad is from the same Apple ID and I want to set up his own, but how it will get all his contacts, photos etc from my Apple ID? Or he will lose all? or I could keep them saved for him and send more via an application any?

    Me and my dad is from the same Apple ID and I want to set up his own, but how it will get all his contacts, photos etc from my Apple ID? Or he will lose all? or I could keep them saved for him and send more via an application any? I don't know how to resolve this issue, if someone could point me in the right direction.

    Have him create a id Apple here- create and start using a Apple - Apple Support ID, and then both you can create an album-photo sharing Photo Sharing - Apple Support iCloud

  • How can I synchronize all three of my apple products?

    How can I synchronize all three of my apple products?

    What are Apple products (iOS devices, computers, combination of both?), and you want to synchronize, for example is that content sync to iTunes on the computer for them, or keep things such as contacts, Safari bookmarks synchronized between them?

    Content iTunes sync: sync your iPhone, iPad or iPod touch with iTunes on your computer via a USB - Apple Support

    If you mean that the synchronization of the contacts etc. by iCloud: http://www.apple.com/icloud/

Maybe you are looking for