Best Method For Parent/Child Form Interaction

Can anyone advise the best way to achieve the following?
* I have two forms
* Form1 creates an instance of Form2
* A user action on Form2 will affect a change on Form1
At the moment, when Form1 creates Form2, it adds an event handler to a method within Form1;
lookupFrame = new accountLookupFrame();
lookupFrame.lookupTable.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                lookupTableMouseClicked(evt);
lookupFrame.setVisible(true);For this to work, Form2 is set for public access. Is there a better way of achieving this effect?

Check out my ParamDialog class (added below). In particular, check out the applyOnChange method. When this is switched on, any changes to the parameter fields will generate an apply() event (ParamDialog must be overridden to specify what happens on apply)
You should also be able to find StandardDialog by searching here; I just linked someone else to it. I think that should be all you need.
You are welcome to use and modify this code, but please do not change the package or take credit for it as your own work
ParamDialog.java
==============
package tjacobs.ui;
import java.awt.Dialog;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import java.awt.HeadlessException;
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.text.Document;
import tjacobs.CollectionUtils;
//import tjacobs.OmniListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputMethodEvent;
import java.awt.event.InputMethodListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.VetoableChangeListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Observable;
import java.util.Observer;
import java.util.Properties;
/** Usage:
* *      ParamDialog pd = new ParamDialog(new String[] {"A", "B", "C"});
* pd.pack();
* pd.setVisible(true);
* Properties p = pd.getProperties();
public class ParamDialog extends StandardDialog {
     public static final String SECRET = "(SECRET)";
     public static final String CHECKBOX = "(CHECKBOX)";
     public static final String BUTTON = "(BUTTON)";
     public static final String BUTTON_SOLO = "(BUTTON_BOTH)";
     //public static final String BLANK = "(BLANK)";
     public static final String COMBO = "COMBO)";
     String[] fields;
     HashMap<String, GetText> mValues = new HashMap<String, GetText>();
     private boolean mShowApplyButton = false;
     //private Observable mObservable;
     //private OmniListener mOmniListener;
     private static interface GetText {
          public String getText2();
          public void setText2(String txt);
     private static class TextField extends JTextField implements GetText {
          public void setText2(String s) {
               setText(s);
          public String getText2() {
               return getText();
     private static class PasswordField extends JPasswordField implements GetText {
          public void setText2(String s) {
               setText(s);
          public String getText2() {
               return getText();
     private static class TextButton extends JButton implements GetText {
          public TextButton(String s) {
               super(s);
          public void setText2(String s) {
               setText(s);
          public String getText2() {
               return getText();
     private static class TextCheckbox extends JCheckBox implements GetText {
          public void setText2(String s) {
               setSelected("true".equals(s));
          public String getText2() {
               return "" + isSelected();
          public void _setText(String s) {
               super.setText(s);
          public String _getText() {
               return super.getText();
          public String getLabel() {
               return "";
     private static class TextCombo extends JComboBox implements GetText {
          public String getText2() {
               return getSelectedItem().toString();
          public void setText2(String str) {
               setSelectedItem(str);
     public ParamDialog(String[] fields) throws HeadlessException {
          this(null, fields);
     public ParamDialog(JFrame owner, String[] fields) {
          this (null, fields, null);
     public ParamDialog(JFrame owner, String[] fields, String[] initialValues) {
          super(owner);
          setModal(true);
          this.fields = fields;
          JPanel main = new JPanel();
          JPanel buttonP = null;
          UniversalChangeListener ucl = null;
          if (applyOnChange()) {
               ucl = new UniversalChangeListener() {
                    public void apply(AWTEvent ev) {
                         ParamDialog.this.apply();
          main.setLayout(new GridLayout(fields.length, 1));
          for (int i = 0; i < fields.length; i++) {
               JPanel con = new JPanel(new FlowLayout(FlowLayout.RIGHT));
/*               if (fields.endsWith(BLANK)) {
                    //add space filler
                    buttonP = null;
                    con.add(new Component(){
                         public Dimension getPreferredSize() {
                              return new Dimension(40, 15);
                    //con.add((Component)null);
               else
               if (fields[i].endsWith(BUTTON_SOLO)) {
                    JLabel l = new JLabel(fields[i].substring(0, fields[i].length() - BUTTON_SOLO.length()));
                    con.add(l);
                    TextButton jb = new TextButton("...");
                    //if (ucl != null) {
                    //     ucl.addComponent(jb);
                    mValues.put(fields[i], jb);
                    con.add(jb);               
               else
               if (fields[i].endsWith(BUTTON)) {
                    TextButton jb = new TextButton(fields[i].substring(0, fields[i].length() - BUTTON.length()));
                    //if (ucl != null) {
                    //     ucl.addComponent(jb);
                    mValues.put(fields[i], jb);
                    if (buttonP != null) {
                         buttonP.add(jb);
                         buttonP = null;
                         continue;
                    else {
                         con.add(jb);
                         buttonP = con;
               else {
                    buttonP = null;
                    if (fields[i].endsWith(CHECKBOX)) {
                         TextCheckbox tb = new TextCheckbox();
                         if (ucl != null) {
                              ucl.addComponent(tb);
                         con.add(new JLabel(fields[i].substring(0, fields[i].length() - CHECKBOX.length())));
                         con.add(tb);
                         //if (initialValues != null && initialValues.length > i) {
                         //     tb.setText(initialValues[i]);
                         mValues.put(fields[i], tb);
                    else if (fields[i].endsWith(COMBO)) {
                         int idx = fields[i].lastIndexOf('(');
                         if (idx == -1) {
                              throw new IllegalArgumentException(fields[i]);
                         String[] args = fields[i].substring(idx + 1, fields[i].length() - COMBO.length()).split(" ");
                         TextCombo combo = new TextCombo();
                         for (int j = 0; j < args.length; j++) {
                              combo.addItem(args[j]);
                         combo.setEditable(false);
                         fields[i] =fields[i].substring(0, idx);
                         JLabel l = new JLabel(fields[i].substring(0, idx));
                         if (ucl != null) {
                              ucl.addComponent(combo);
                         con.add(l);
                         con.add(combo);
                         //mValues.put(idx == -1 ? fields[i] : fields[i].substring(0, idx), combo);
                         mValues.put(fields[i], combo);
                    else if (fields[i].endsWith(SECRET)) {
                         PasswordField tf;
                         con.add(new JLabel(fields[i].substring(0, fields[i].length() - SECRET.length())));
                         tf = new PasswordField();
                         if (ucl != null) {
                              ucl.addComponent(tf);
                         tf.setColumns(12);
                         con.add(tf);
                         if (initialValues != null && initialValues.length > i) {
                              tf.setText(initialValues[i]);
                         mValues.put(fields[i], tf);
                    else {
                         TextField tf;
                         con.add(new JLabel(fields[i]));
                         tf = new TextField();
                         if (ucl != null) {
                              ucl.addComponent(tf);
                         tf.setColumns(12);
                         con.add(tf);
                         if (initialValues != null && initialValues.length > i) {
                              tf.setText(initialValues[i]);
                         mValues.put(fields[i], tf);
               main.add(con);               
          this.setMainContent(main);
     public Component getComponentForField(String name) {
          return (Component)mValues.get(name);
     public boolean showApplyButton() {
          return mShowApplyButton;
     public void setActionListener(String buttonName, ActionListener listener) {
          GetText gt = mValues.get(buttonName);
          if (gt instanceof AbstractButton) {
               AbstractButton ab = (AbstractButton) gt;
               ab.addActionListener(listener);
     public void apply() {
     private boolean mCancel = false;
     public void cancel() {
          mCancel = true;
          super.cancel();
     public void setField(String field, String value) {
          //JTextField tf = mValues.get(field);
          GetText tf = mValues.get(field);
          if (tf != null) {
               tf.setText2(value);
     public Properties getProperties() {
          if (mCancel) return null;
          Properties p = new Properties();
          for (int i = 0; i < fields.length; i++) {
               p.put(fields[i], mValues.get(fields[i]).getText2());
          return p;
     public void setProperties(Properties p) {
          Iterator<Object> _i= p.keySet().iterator();
          while (_i.hasNext()) {
               String key = (String) _i.next();
               String value = (String) p.get(key);
               setField(key, value);
     public void enableLoadAndSave() {
          JMenuBar bar = new JMenuBar();
          FileMenu fm = new FileMenu() {
               public void save(File f) throws IOException {
                    FileOutputStream out = new FileOutputStream(f);
                    getProperties().store(out, null);
               public void load(File f) throws IOException {
                    FileInputStream in = new FileInputStream(f);
                    Properties p = new Properties();
                    p.load(in);
                    setProperties(p);
               public boolean showSaveAs() {
                    return true;
          fm.setPrevSaveFile();
          bar.add(fm);
          setJMenuBar(bar);
     public static void main (String[] args) {
          //ParamDialog pd = new ParamDialog(new String[] {"A", "B", "C"});
          //WindowUtilities.visualize(pd);
          //Properties p = getProperties(new String[] {"A","B","C"});
          //String strs[] = new String[] {"A" + BUTTON, BLANK, "B" + CHECKBOX, "C" + SECRET, "D", "E"};
          String strs[] = new String[] {"A" + BUTTON, "Z" + BUTTON, "B" + CHECKBOX, "C" + SECRET, "D", "E", "F (A B C" + COMBO};
          String initial[] = new String[] {"A", "", "true", "pass", "", ""};
          ParamDialog pd = new ParamDialog(null, strs, initial);
          ActionListener al = new ActionListener() {
               public void actionPerformed(ActionEvent ae) {
                    System.out.println(((JButton) ae.getSource()).getLabel());
          pd.setActionListener("A" + BUTTON, al);
          pd.setActionListener("Z" + BUTTON, al);
//          pd.addObserver(new Observer() {
//               public void update(Observable o, Object obj) {
//                    System.out.println("got update");
          pd.enableLoadAndSave();
          WindowUtilities.visualize(pd);
          Properties p = pd.getProperties();
          //CollectionUtils.printCollection(p);
     public static Properties getProperties(String[] fields) {
          ParamDialog pd = new ParamDialog(fields);
          //pd.setModal(false);
          WindowUtilities.visualize(pd);
          return pd.getProperties();          
     public void setShowApplyButton(boolean b) {
          mShowApplyButton = b;
     public boolean getShowApplyButton() {
          return mShowApplyButton;
     public boolean applyOnChange() {
          return false;
     public void save(File f) throws IOException {
          FileOutputStream out = new FileOutputStream(f);
          getProperties().store(out, "params");
     public void load(File f) throws IOException {
          Properties p = new Properties();
          p.load(new FileInputStream(f));
          setProperties(p);
//     public void dispose() {
//     super.dispose();
//     Iterator _i = mValues.values().iterator();
//     while (_i.hasNext()) {
//          JComponent c = ((JComponent)_i.next());
//          //c.addPropertyChangeListener("value", listener);
//          //c.addVetoableChangeListener(listener2);
//          //c.addInputMethodListener(listener3);
//          mOmniListener.remove(c);

Similar Messages

  • Best method for dynamically populating PDF on the web?

    Hi there,
    I'm trying to find a web-based solution to populate text within an existing PDF with a person's name (using a name variable within the PDF body copy in several spots).  I know that LiveCycle Designer is the best method for creating dynamic PDF's but since I'm on a Mac, LiveCycle Designer wasn't packaged with my CS5 Suite / Acrobat 9 and I'm not eager to run windows in parallel and pay for acrobat pro a second time just to have it on windows for the LiveCycle functionality...CS5 wasn't cheap ha. 
    So I'm trying to find out if there are alternative ways to achieve this without going down that road.  I don't mind writing PHP or using some other programming language to set it up online, but I just seem to be finding many different methods coming up and cannot find the most straightforward solution.
    Any help is greatly appreciated!

    LiveCycle Designer won't do what you want. It requires server software: LiveCycle Forms will do the trick.
    You can find information on it here: http://www.adobe.com/products/livecycle/forms/

  • Best method for duplicating a page layout

    As you may have seen form my other detailed queries I am struggling to relpicate layouts to new pages.
    What is the best method for this?

    Unfortunately, these alternatives have proved less that problem free.
    For more information see:
    http://forums.adobe.com/message/5196194#5196194

  • Best method for UIComponent Initialization?

    I have a custom class that extends Panel and I would like to
    get input on the best method for initializing custom properties
    upon object creation. I currently create an event handler for the
    FlexEvent.CREATION_COMPLETE event and assign my properties then.
    However, I'd like to slim my code down. Is there a place I
    can initialize properties without having to import events? I tried
    overriding some protected methods such as commitProperties, but
    discovered this method gets called again by Flex when effects are
    done playing on the UIComponent. I don't want to initialize my
    custom parameters again because this is essentially reseting any
    interaction the user did with it.
    Is there another super method I can use to initialize my
    method rather than use CREATION_COMPLETE events?
    Thanks.

    The simplest and cheapest option is LifeFlix.  They have more info at www.lifeflix.com or on the Mac app store at https://itunes.apple.com/us/app/lifeflix/id630212114?ls=1&mt=12

  • Populate list from recordset on Parent/Child form

    We have a parent/child form and want to populate several lists from recordsets. We can populate the child canvas by calling a procedure from the WHEN NEW FORM INSTANCE trigger but the same code fails when trying to populate a list on the Parent canvas. If I move the code to a PRE-BLOCK trigger on the parent block, then it works. I just kept moving the code until I found something that works. Can anyone tell me why it wouldn't work from the WHEN NEW FORM INSTANCE trigger? Is PRE-BLOCK the correct place?

    WHEN-NEW-FORM-INSTANCE trigger
    Add_Orgs_Lists('HR_PERSONS.OFFICE_SYMBOL');
    PROGRAM UNIT
    PROCEDURE Add_Orgs_Lists (list_name VARCHAR2) is list_id ITEM;
         col_name VARCHAR2(80) := SUBSTR(list_name, INSTR(list_name, '.')+1);
         sql_stat VARCHAR2(2000);
         BEGIN
         --Find ID for list item.
              list_id := FIND_ITEM(list_name);
              IF ID_NULL(list_ID) THEN
                   MESSAGE('List Item ' ||list_name|| ' does not exist.');
                   RAISE FORM_TRIGGER_FAILURE;
              END IF;
         --Build the SQL statement.
         --     message('In Get_Org');
         sql_stat := 'SELECT Distinct Org_Name, Org_Name FROM HR_Organizations
         ORDER BY 1 ASC';
         Populate_the_List(list_id, sql_stat);
              EXCEPTION
                   WHEN OTHERS THEN
                        MESSAGE('Internal error occurred in Add_Orgs_List.');
                        RAISE FORM_TRIGGER_FAILURE;
    END Add_Orgs_Lists;
    PROCEDURE Populate_the_List (list_id ITEM,
                                                           sql_stat VARCHAR2) is
         group_id RecordGroup;
         outcome NUMBER;
         --List_Elements  VARCHAR2(40);
    BEGIN
              --message('In Populate_the...');     
    --Create temporary record group.
    group_id := CREATE_GROUP_FROM_QUERY('List_Elements', sql_stat);
    IF ID_NULL(group_id) THEN
         MESSAGE('Record Group could not be created in Populate_the_List.');
         RAISE FORM_TRIGGER_FAILURE;
    END IF;
    --Populate record group.
         outcome := POPULATE_GROUP(group_id);
         IF outcome <> 0 THEN
              MESSAGE('Record Group could not be populated in Populate_the_List.');
              RAISE FORM_TRIGGER_FAILURE;
         END IF;
    --Populate list item
         POPULATE_LIST(list_id, group_id);
    --Destroy the temporary record group to release resources
         DELETE_GROUP(group_id);
    EXCEPTION
         WHEN OTHERS THEN
         MESSAGE('Internal error occured in Popluate_the_List.');
         RAISE FORM_TRIGGER_FAILURE;
    END Populate_the_List;
    The error is FRM-41337 Cannot populate the list from record group. It happens when we open the form. We are using the same code to populate the lists on the child form (except the SQL statement is different) and it works correctly.
    I appreciate your help.

  • What is the best method for backing up photos in IPhoto?

    I have over 10,000 photos in IPhoto and am looking for the best method for doing a backup (or an archive?).  I'm now using ICloud and it appears it's just photo streaming and does not have storage capability. External hard drive, copying to a DVD, other suggestions?

    Most Simple Back Up
    Drag the iPhoto Library from your Pictures Folder to another Disk. This will make a copy on that disk.
    Slightly more complex:
    Use an app that will do incremental back ups. This is a very good way to work. The first time you run the back up the app will make a complete copy of the Library. Thereafter it will update the back up with the changes you have made. That makes subsequent back ups much faster. Many of these apps also have scheduling capabilities: So set it up and it will do the back up automatically. Examples of such apps: Chronosync or DejaVu . But are many others. Search on MacUpdate
    My Routine
    My Library lives on my iMac. It’s Backed up to  two external hard disks every day. These disks are permanently attached to the iMac. These back ups run automatically. One is done by Time Machine, one is a bootable back up done by SuperDuper
    It’s also backed up to a portable hard disk when ever new photos are added. This hard disk lives in my car. For security, this disk is password protected.
    I have a second off-site back up at a relative’s house across town. That’s updated every 3 or 4 months.
    My Photos are backed up online. There are many options: Flickr, Picasa, SmugMug etc. However, check the terms of your account carefully. While most sites have free uploading, you will often find that these uploads are limited in terms of the file size or the bandwidth you can use per month. For access that allows you to upload full size pics with no restrictions you may need to pay.
    Every couple of months I test the back ups to make sure they are working correctly. It’s very easy to mis-configure a back up application, and the only way to protect against that is to do a trial restore.

  • When bouncing- what's best method for smallest file size/highest quality?

    I am in the process of embedding 3 mp3's into a PDF to submit as a portfolio. The PDF also has text, and two scores included, and with the 3 embedded mp3's it can't be more than 10mb.
    So my question is: When bouncing a project out of Logic, what is the best method for getting the smallest file size, but retaining the best audio quality? And once it's out of Logic and it is an mp3 or other type of audio file, is there a best format for compressing it further, and still maintaining the relative quality?
    I bounced out the three projects into wav's. Now I am using Switch for Mac to compress them down to smaller Mp3's. I basically need them to be about 3 mb each. Two of the recordings sound OK at that size, but they are just MIDI(one project is piano and string quartet, the other is just piano- all software instruments. The recording that combines MIDI and Audio and has more tracks (three audio tracks and 10 Midi/software instrument tracks)and sounds completely horrible if I get it under 5 mb as an mp3. The problem is that I need all three to equal around 9mb, but still sound good enough to submit as a portfolio for consideration into a Master's program.
    If anyone can help I would really appreciate it. Please be detailed in your response, because I am new to logic and I really need the step by step.
    Thank you...

    MUYconfundido wrote:
    I am in the process of embedding 3 mp3's into a PDF to submit as a portfolio. The PDF also has text, and two scores included, and with the 3 embedded mp3's it can't be more than 10mb.
    So my question is: When bouncing a project out of Logic, what is the best method for getting the smallest file size, but retaining the best audio quality?
    The highest bitrate that falls within your limits. You'll have to calculate how big your MP3's can be, then choose the bitrate that keeps the size within your limit. The formula is simple: bitrate is the number of kilobits per second, so a 46 second stereo file at 96 kbps would be 96 x 46 = 4416 kbits / 8* = 552 kBytes or 0.552 MB. (*8 bits = 1 Byte)
    So if you know the length of your tracks you can calculate what bitrate you need to keep it within 10 MB total.
    I consider 128 kbps the lowest bearable bitrate for popsongs and other modern drumkit based music. Deterioration of sound quality is often directly related to the quality of the initial mix and the type of instruments used in it. Piano(-like) tones tend to sound watery pretty quickly at lower bitrates, as do crash and ride cymbals. But don't take my word for it, try it out.
    And once it's out of Logic and it is an mp3 or other type of audio file, is there a best format for compressing it further, and still maintaining the relative quality?
    You can only ZIP the whole thing after that, but that is just for transport. You'll have to unzip it again to use it. And no, you cannot compress an MP3 any further and still play it.
    I bounced out the three projects into wav's. Now I am using Switch for Mac to compress them down to smaller Mp3's.
    That is silly, you could have done that in Logic, which has one of the best MP3 encoders built in. And how good encoders are will especially come out at bitrates around or below 128, which you might be looking at.
    I basically need them to be about 3 mb each.
    So, one more scrap of info we need here: how long are those three pieces, exactly? I'll calculate the bitrate for you - but please bounce 'm directly out of Logic as MP3's. They will very probably sound better than your WAV-conversions made with Switch.
    !http://farm5.static.flickr.com/4084/4996323899_071398b89a.jpg!
    Two of the recordings sound OK at that size, but they are just MIDI(one project is piano and string quartet, the other is just piano- all software instruments. The recording that combines MIDI and Audio and has more tracks (three audio tracks and 10 Midi/software instrument tracks)and sounds completely horrible if I get it under 5 mb as an mp3. The problem is that I need all three to equal around 9mb, but still sound good enough to submit as a portfolio for consideration into a Master's program.
    Length of the piece? And does the .Wav bounce you have sound OK?

  • Question: Best method for mounting drives at log-in time?

    I would like to know what others consider the best method for mounting drives at log-in time is? I can see a few methods such as start-up items on the client, start-up items on the server to managed users and possibly a start-up script. One wrinkle in the scenario is that users can log-in directly to the server so the method should allow that to happen gracefully. Thanks in advance for your help.

    Hi Bigsky,
    You are asking some really fundamental questions that require quite a lot of explanation. Luckily Apple has some great documentation on their server software.
    You will be able to find your answers here by diggin in a bit:
    http://www.apple.com/server/documentation/
    Good Luck!
    Dual 2.0Ghz G5   Mac OS X (10.4.3)  

  • Best method for flv playback in flash 8

    group,
    i am currently trying to get to grips with flv playback with
    flash 8. i have come across a number of methods for flv playback
    within flash 8 and am curious to know the difference between
    methods and ultimately if there is such a difference discover which
    is best. I have had a few issues with some methods and was
    wondering if it was because that method sucks.
    In particular i am looking for the best method for allowing
    custom skinning of the player with the ability to have a player
    somewhere on stage without it being stapled to the darn flv file.
    METHOD1:
    var nc:NetConnection = new NetConnection();
    nc.connect(null);
    var ns:NetStream = new NetStream(nc);
    theVideo.attachVideo(ns);
    ns.play("testmovie.flv");
    METHOD2:
    import mx.video.*;
    this.attachMovie("FLVPlayback", "my_FLVPlybk", 10,
    {_width:360,_height:240,x:0, y:0});
    my_FLVPlybk.skin = "SteelExternalAll.swf"
    my_FLVPlybk.contentPath = "testmovie.flv";
    my_FLVPlybk.autoSize=true;
    my_FLVPlybk.autoPlay=false;
    what are the differences??
    any help would be much appreciated. Thanks for your time and
    expertises,
    Flash fan.

    Adobe has announced that it has ceased development of Flash for mobile phones (in favour of HTML5, and due to the opposition of both Apple and Microsoft to allow support of Flash for their mobile operating systems), so from that direction neither Microsoft nor Nokia is going to get any help.
    If the Adobe Flash Video format specification is publicly available to use or to license (I don't know if it is), then at least Microsoft could implement support for it, if they wanted to (Nokia might not have sufficient rights from Microsoft to add new codecs to Windows Phone).
    So, you might direct your question primarily to Microsoft, rather than Nokia (of course, a Microsoft representative will probably read this, too, but whether they'll response or not is another matter).

  • SAP Best practice for Material request form

    Hai Sap gurus,
    Do we have any sap best practice for material request form? If so please help me to find this best practice provided by the SAP. I searched through sap help but i was unable to find one.
    Same way i also need to find the sap best practice for Change request form too...
    Thanking you all in advance.

    Hi,
    Check these links
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2b50ac90-0201-0010-d597-8d833833f9e0
    and using the service market place link to down load the best practices
    http://www.sap.com/services/bysubject/servsuptech/index.epx

  • Best method for incremental replication to backup xserve?

    I was just trying to figure out what would be the best method for routinely incrementally replicating a primary xserve. I have a secondary that has the same hardware. I thought about using scheduled tasks with Carbon Copy Cloner over say a Crossover cable to the secondary xserve. However, doing this backup would continually wipe out the network settings for the secondary mac? I could do the replication to a secondary drive and then just make that drive the boot drive in the event of data corruption on the master server?
    Where I'm at now is that the primary server runs Raid1, so in the event of a single drive failure or a hardware failure, I could swap the drives into the backup server. However, I'd like some sort of protection against data corruption on the primary xserve.
    Any general thoughts on a better way to do this? Or is there software that does this well?
    Thanks

    Our primary is an XServe RAID. In addition it has an external 2TB drive that I CCC all the user accounts to every night. I then setup a Mac Mini Server as a replica.
    If the primary XServe has a catastrophic failure, I simply connect the 2TB drive to the Mac Mini and point the replicated user accounts to the cloned data on the 2TB drive.
    I haven't tested it. But this scenario seemed like the best solution.
    Message was edited by: MacTech_09

  • Best method for refreshing a component's data?

    What's better when you want to refresh the content of an object? Should you just replace your JComponent with an entirely new one, or should you try to get access to the data and then remove the items and then re-add them.
    In my example, I have a JTree and am not sure which would be the best method to use. Should I try to remove all the nodes, or sometimes I think it would be easier to just remove the tree component from my panel, create a new tree and re-populate it?
    Thanks for any advice.

    pjbarbour wrote:
    I'm not quite sure what would be the best method for this.  My client is using a 4x3 screen and SD projector at a large meeting, and they want me to just create a DVD that is letterboxed.  I have one Premiere CS5 project that's 1920x1080, and another project that's 720x480 widescreen (1.2).  I created a new sequence in both projects that is 720x480, 4x3 (0.9), and what I do is just scale the timeline down so that it's letterboxed.  Is this the best method for achieving this?  Or would you do something else?  I don't like the idea of scaling my timeline down in Premiere.
    Hello.
    As Jim so rightly points out above, you do not need to do anything.
    Just use your normal 16:9 widescreen footage, and author as normal.
    Your player will letterbox automatically when it is connected to a 4:3 screen in setup (just make sure "Pan & Scan" is not also there)

  • Best method for keyframing with 3d camera 1 shot....

    Hi I have a project I am working on and basically I am finding the key framing a little frustrating because I cant get the camera to do what I want. Ususally I have no problem in FCP but with Motion it doesnt seem as easy. Bascially what I have done is put up 7 of the same clip all in 3d spread down. What I want the camera to do is zoom close to one. Pause while you read what is on the clip then pan and zoom to the next one. The method I am doing is I hit the record button. Start the zoom to the first object then move timeline to where I want the camera to stop the zoom. I hit the record button again..wait a few frames and then hit it again so I can zoom to the next object. What seems to hahppen is the camera just starts moving to the other object and wont pause for those frames. I would like to know the best method for making this possible.Thanks

    hi,
    edit them all! Just select them all and choose linear from the control pop up.
    if that doesnt work, maybe you could try setting keyframes manually, like you would in FCP. You dont turn on the red button at all, but add keframes for the parameters you want to animate in the Inspector window.
    Sometimes I find I have to add two keyframes a frame apart to give that definite stop. This also allows me to play with the timing of the pauses. So set a keyframe where the camera starts to move and one where it stops. Then a frame on set another keyframe without changing the values, then go to the next point you want the camera to move and set another keyframe.... and so on.
    hth
    adam

  • Best Method for transferring projects back and fourth

    Hello. I will soon be purchasing an iMac for home use and would like to get some advice on project transfer. I will be doing a lot of video editing back and fourth between the office and home. What is the best method for doing this? Where can i locate the files to make sure that I have everything and wont be missing anything when I bring it home, etc. Thanks for any advice!
    Brandon

    Use a (Firewire 800 or faster) external HD to keep your media, events and projects on.
    You can then take the drive to work with you and back home. Use FCP X to transfer (or create) the event and projects on this drive and both macs will recognise it.
    The drive must be formatted Mac OS Extended (journaled is not important for video drives).
    Andy

  • Best method for networking with ubuntu linux

    Hi,
    I'm setting up an ubuntu linux fileserver, and I was wondering what the best method for filesharing with my mac is. I'm currently running osx 10.4.11, though I may be upgrading to 10.5 soon. I'll be running SMB networking for a couple of other computers, but I'd prefer something a bit more robust that can handle file permissions etc.

    Mac OS X supports NSF out of the box. Configuration isn't documented.
    I recall Apple got rid of net info manager in Leopard, so the configuration will be different. Perhaps more unix like.
    Mac OS X support the Unix Network File System (NFS). However, it leaves out
    the GUI.
    This page show you how to use NetInfo Manager:
    http://mactechnotes.blogspot.com/2005/09/mac-os-x-as-nfs-server.html#c1168221713 40271068
    NFS Manager can both setup NFS shares and connect to NFS shares.
    http://www.bresink.com/osx/NFSManager.html
    Once you figure out how NFS Manager configures the NFS shares, you can
    use Applications > Utilities > NetInfo Manager to create more shares.
    You will either have to coordinate Unix Userid number and Unix Group Id number or use the mapall option on the share.
    To find out your Mac OS X userid and group id do:
    applications > utilities > terminal
    ls -ln
    ls -l
    # lists the NFS share on your mac
    showmount -e localhost
    #list NFS shares on a remote host
    showmount -e remote-ip-address
    Once you see what NFS Manager does, you will be able to use NetInfo Manager to manage a connection. In Mac OS 10.4 you can configure the /etc/exports control file. See man exports for the details. Before that you had to have the data in NetInfo manager. When Mac OS X came out, many common Unix control files were not present. Instead the data had to be in NetInfo manager. Over time Apple has added more and more standard Unix control files.
    ======
    You do know about the need to match userids & groupids.
    # display uid and gid
    ls -ln
    sudo find / -user short-user-name -exec ls '-l' {} \;
    # on Mac OS X
    you will need to go into NetInfo Manager and select user and find your short-user-name. Change uid and guid.
    #on Linux look in
    /etc/passwd
    /etc/group
    # with care...
    # change 1000:20 to your values for uid:gid
    sudo find / -user short-user-name -exec chown 1000:20 {} \;
    The manual for Tenon MachTen UNIX (which Apple checked when doing Mac OS
    X) says that one should crate the file /etc/exports, which will cause
    portmap, mountd and nsfd to launch at startup via the /etc/rc file. The
    file must not contain any blank lines or comments, and each line has the
    syntax
    directory -option[, option] hostlist
    where 'directory is the pathname of the directory that can be exported,
    and 'hostlist' is a space separated list of hostnames that can access the
    directory. For example
    /usr -ro foo bar
    /etc
    /Applications
    /User/gladys gladys
    The client the uses a command like
    /sbin/mount -t type [-rw] -o [options] server:directory mount_point
    where 'type' is 'nfs', 'server' the name of the server, 'directory' the
    server directory mounted, and 'mount_point' the client mount point. See
    'man mount' for details.
    I haven't tried the above, but it would be nice to know if it works on Mac OS X.
    Hans Aberg
    This will give you some hints on NFS. Post back your questions.
    Robert

Maybe you are looking for

  • Issue to write/execute AT-commands for a 3G modem

    Dear community, For the past month, I'm searching for some help on this topic without success, "you are my last hope" After modification of the PPP parameters under network preferences (according the clear archive from apple support on this topic), t

  • It's official...I bit the big one....

    Thanks to the help of you guyzzzz. I just ordered my 1st Mac. I am quickly leaving behind my 20 year PC PAST! Studio2, 3.0 Dual Quad Core with the 23" monitor. It should be coming Fri or Sat. At that time I will be sliding in 8 more gigs of ram (tota

  • Photoshop CS3 crashes all the time - Please help!

    Hello I didn't find any answer in the forum. I work with Photoshop CS3 Version 10.0.1. on Mac Powerbook 10.4.11. Photoshop quits all the time, no work possible anymore. It quits when I want to open a file or when I want to safe an new file (message P

  • How to restore data files from a purchased app that isn't working

    I recently had to reset my iPad after an ios7 problem with hyperlinks.  The reset fixed the hyperlink problem but now I can't open excel or word files created in a purchased application, productivity suite.  When I click on the file, it starts to ope

  • Can't get to Google

    For several weeks I cannot get to Google. I also can't search on anything within Google Earth. I don't seem to be having this problem with any other search engine, but I really prefer Google and I really NEED Google Earth! help!