General jsf question

when is it necessary to do component binding?

When you want to manipulate the component's attributes from the backing bean, for example.

Similar Messages

  • Basic JSF Question

    I've a really simple JSF question which I'm hoping someone can help me with...
    In ASP.NET you have full access to the page tag components from inside the backing (code-behind) bean. Is this possible in JSF? If so, how?
    On a related note, it does seem like the jsp pages have full access to access and write to the managed beans, but not the other way around. How could you change a UI tag component (say the text of an outputText) from inside the managed bean?
    Thanx!
    Max

    First question:
    IBM implementation provides the code behind concept (similar to ASP.net) out of the box with JSF. Or you need to do that yourself by creating a request scope backing bean per page with needed API. Basically backing bean will need to get a handle to root component in view. And then traverse the view to find component your are looking for by name. Really not that complex.
    Second question:
    This is a good thing about JSF. The flow of data is bi-directional between the page and backing bean. Unlike ASP.net where it is one directional. Please study the backing bean concept and how to use the value or binding attribute for a UIcomponent to establish the link between a backing bean and UIComponent properties. 90% of the cases, using value attribute will do. Very specific cases will require using binding attributes.
    Try to do a JSF tutorial to get a better handle on what it provides. If you have an ASP.net background. It will be very easy for you to relate to quickly

  • General dreamwevaer question

    hello dreamweavers.
    im a newbie going to use dreamweaver from next week and beyond,so id like to ask the following:
    should i design the website in photoshop and then import it into dreamwevaer,in order to code it?
    is dreamwevaer flexible in design point of view,or is it mostly getting finished designs such as headers,footers,flash banners,
    and then building up the site where things so and such.
    thank you.

    Hello Nancy.
    seems like an informative website,i can see it is easy to understand the
    basics.
    Στις 23 Μαρτίου 2012 4:29 π.μ., ο χρήστης Nancy O. <[email protected]>έγραψε:
       Re: general dreamwevaer question  created by Nancy O.<http://forums.adobe.com/people/Nancy+O.>in
    Dreamweaver - View the full discussion<http://forums.adobe.com/message/4283588#4283588

  • J2EE, JSTL and JSF questions

    I am trying to learn J2EE/JSTL/JSF and have quite a few general questions. Any help on any of these is appreciated.
    1) Is there a way, just by using J2EE/Java to "manipulate" an XML file. Not just parse and read it's data but actually add nodes to the file?
    2) I've been reading quite a bit on JSTL and JSF recently. Is JSF supposed to be an alternative to Struts and JSTL an alternative to scriptlet coding?
    3) I am also working on creating a message board but throwing around a couple of ways to implement it. Either (a) using a database to store posts and a JSP interface or (b) using an XML document to store postings. Which of these two seem best or is there a better option?
    4) Is there an easy way to call Php from a Java program? I need to invoke a php program when a user clicks on a link on a JSP page I have.

    1) The SDK provides JAXP (Java API for XML Processing) in javax.xml package.
    2) I wouldn't call it 'alternative'.
    3) Your choice. I'd to use a RDBMS. Less overhead, better suited, (much) more functions and better performance.
    4) If that program is available on the web, then just invoke a HTTP request. If not, I'd rather to rewrite it to Java.

  • A few general agent questions

    We've been asked some general questions by our agents that I have been unable to find answers for, (although 4 and 5 are likely working as designed). We are running IPCC Express 7.0(1)SR05_Build504 and these are all phone agents. We do not run the agent desktop client. Any assistance in answering these questions would be greatly appreciated.
    1. TransfertoVM softkey "grayed out" while on a CSQ call. Can it be enabled?
    2. While logged in to CSQ, is there a way to start dialing prior to
    lifting the receiver?
    3. Is it possible to handle more than one CSQ call at a time, e.g. put a call on hold and answer
    another CSQ call.
    4. Upon selecting Agent Login (single-button login), can the agent automatically be put into Ready?
    5. Upon Logout, can the phone be returned to the main screen, rather than getting the manual agent login screen?
    Again, any assistance in answering these questions would be greatly appreciated.
    Thanks,
    Roger

    Hi
    1) Isn't that an IPMA softkey? Never tried it, but whilst it's not in the 'unsupported' list, I wouldn't expect using any IPMA features in conjunction with CAD would get you good results. If it doesn't cause you stuck/ghost calls, I would expect erroneous reports...
    2) Being logged into a CSQ doesn't affect the way the phone works.
    - You can dial the number then either lift the handset or hit dial (for speakerphone)
    - You can press speakerphone or headset then dial
    I guess what you are referring to is if you are using the IP Phone Agent in conjunction with a headset? If you are, then the IPPA usually obscures the 'new call' and 'end call' softkeys that you might use if you leave the headset button lit. I guess this isn't the case, as you refer to lifting the receiver? Unless you have motorized lifters.. If that's what you have, you can try getting users to either :
    - Manage their onhook/offhook state using the headset key as if it was the speakerphone key (i.e. press it to hang up or pickup)
    - Use a headset/phone combination that supports HHC
    - Switch to CAD, or CAD-BE if you can't install PC software for some reason.
    3) No. The system is designed specifically so that this should never happen.
    4) No.
    5) Again, no... you can't customize the BIPPA service... If you use CAD or CAD-BE this wouldn't be an issue.
    Regards
    Aaron
    Please rate helpful posts...

  • Workflow and General Use Questions

    Hello,
    I'll apologize right off the bat for these novice question because I'm sure the information is probably somewhere in the forum, I just haven't been able to find it. I just purchased Aperture after completing the demo as my library is getting too large to manage using standard file folders. I'm now trying to figure out the best practices for workflow and general use before I invest some serious time into importing and keywording all my pictures.
    1) Store files in the there current location, or in the Aperture Library? It seems to me that once they are moved to the Aperture library, you can only access them from within Aperture. I'm thinking I would be better off leaving them in their current location. For one, if I want to quickly grab a picture as an attachment to an email or something it seems easier to grab it from the standard folders. Second (and more important) I do not have room to keep all my pictures on my Macbook, thus most of them are stored on the Time Capsule.
    So... Keeping photos in their current location appears to be the best choice for me even though it adds an additional step every time I bring in new photos from my camera. Does this sound right?
    2) Is there a way to mark the photos that I have uploaded to my website (Smugmug)? Ideally, I would like to badge photos that have already been uploaded so I can quickly recognize them and ensure I'm not duplicating. I've considered using the rating, or keywords to indicate that a photo has been uploaded but both methods have disadvantages.
    3) Any suggestions for general workflow and organization resources (tutorials, books, websites, etc.)? I've looked at the videos on Apple's site but they obviously didn't get that detailed.
    Thanks for the help, sorry for the length.

    I recommend to Manage by Reference with Master image files stored on external hard drives (note that Aperture defaults to a Managed-Library configuration rather than a Referenced-Masters Library). Especially important for iMacs and laptops with a single internal drive. The workflow as described below in an earlier post of mine uses a Referenced-Masters Library.
    I feel pretty strongly that card-to-Aperture or camera-to-Aperture handling of original images puts originals at unnecessary risk. I suggest this workflow, first using the Finder (not Aperture) to copy images from CF card to computer hard drive:
    • Remove the memory card from the camera and insert it into a memory card reader. Faster readers and faster cards are preferable.
    • Finder-copy images from memory card to a labeled folder on the intended permanent Masters location hard drive.
    • Eject memory card.
    • Burn backup hard drive or DVD copies of the original images (optional strongly recommended recommended backup step).
    • Eject backup hard drive(s) or DVDs.
    • From within Aperture, import images from the hard drive folder into Aperture selecting "Store files in their current location." This is called "referenced images." During import is the best time to also add keywords, but that is another discussion.
    • Review pix for completeness (e.g. a 500-pic shoot has 500 valid images showing in Aperture).
    • Reformat memory card in camera, and archive originals off site on hard drives and/or on DVDs.
    Note that the "eject" steps above are important in order to avoid mistakenly working on removable media/backups.
    Also note with a Referenced-Masters Library that use of the "Vault" backup routine backs up the Library only, not the Masters. Masters should be separately backed up, IMO a good thing from a workflow and data security standpoint.
    Max out RAM in your MB and keep the internal drive less than 70% full.
    Good luck!
    -Allen Wicks

  • JSF question

    We have simple template, which have four �c:import� directive to dynamically include pages which present different areas on the screen.
    On one from the imported JSF pages, let�s say <c:import url="/pages/tiles/tree.jsp"/>
    we have a tree leaf selected listener attached to the tree element WGF.
    In listener code we need dynamically add elements to other JSF page, let�s say it�ll be
    <c:import url="/pages/index.jsp"/>
    The question is: how could we make it?
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1251"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib uri='/WEB-INF/security.tld' prefix='security'%>
    <security:enforceLogin loginPage='/faces/pages/wrapper/registrationWR.jsp'
    errorPage='/faces/pages/wrapper/registrationWR.jsp'/>
    <f:view>
    <h:panelGrid columns="1" width="100%" border="1" frame="none">
    <f:facet name="header">
    <f:subview id="header">
    <c:import url="/pages/tiles/top.jsp"/>
    </f:subview>
    </f:facet>
    <f:facet name="footer">
    <h:panelGroup>
    <af:panelHorizontal halign="center">
    <f:subview id="footer">
    <c:import url="/pages/tiles/bottom.jsp"/>
    </f:subview>
    </af:panelHorizontal>
    </h:panelGroup>
    </f:facet>
    <afh:tableLayout width="100%" borderWidth="3" cellSpacing="10"
    halign="center">
    <afh:rowLayout>
    <afh:cellFormat height="100%" width="30%">
    <af:panelHorizontal halign="center">
    <f:subview id="tree">
    <c:import url="/pages/tiles/tree.jsp"/>
    </f:subview>
    </af:panelHorizontal>
    </afh:cellFormat>
    <afh:cellFormat width="70%">
    <af:panelHorizontal halign="center">
    <f:subview id="body">
    <c:import url="/pages/index.jsp"/>
    </f:subview>
    </af:panelHorizontal>
    </afh:cellFormat>
    </afh:rowLayout>
    </afh:tableLayout>
    </h:panelGrid>
    </f:view>
    Currently we could get access only elements inside template JSF page, using next simple code:
    try {
    ArrayList paramList = myObject.getparamlist();
    FacesContext context = FacesContext.getCurrentInstance();
    List list = context.getViewRoot().getChildren();
    Iterator itr = list.iterator();
    while (itr.hasNext()) {
    HtmlPanelGrid panel = (HtmlPanelGrid)itr.next();
    list = panel.getChildren();
    itr = list.iterator();
    while (itr.hasNext()) {
    Object object = itr.next();
    Class cl = object.getClass();
    System.out.println(cl.getName());
    } // while
    } // while
    Also it�ll be very nice if it�ll be possible not only add elements to the same screen but make navigation to other JSF template and add elements to one from JSF pages that template use.

    This guy seemed to have a rough solution:
    http://forum.java.sun.com/thread.jspa?forumID=427&threadID=558772
    Illu
    (And please don't pretend to be someone else - ie Dravid - to bump your posts up the forum. Thanks.)

  • Java Script and JSF question

    Hello,
    I have a JSF component like this that has a pageSize attribute. It shows a grid with 5 elements.
    <x:gridView id="#{tab}GridView" pageSize="5">
    </f:gridView>Then I have a drop down with 5 menu items where the user can select how many elements they want to see visible on the grid. My question is, how do i use Java Script to to change the pageSize attribute above with what the user selected in the menu below? I have been looking at java script code and online docs for an hour and cant come up with anything that seems to work. Any help will be appriciated. Thank you!!!
    <x:selectOneMenu id="myMenu" onclick="">
      <f:selectItem id="perPage1" itemValue="1" itemLabel="1" />
      <f:selectItem id="perPage2" itemValue="2" itemLabel="2" />
      <f:selectItem id="perPage3" itemValue="3" itemLabel="3" />
      <f:selectItem id="perPage4" itemValue="4" itemLabel="4" />
      <f:selectItem id="perPage5" itemValue="5" itemLabel="5" />
    </x:selectOneMenu>

    [...]how it was never designed to be used for
    such large applications[...]All I can say is that if this is true, then it doesn't show. Yes, I know it (oak) was originally designed for embedded systems, but Java and Oak aren't identical.
    My assembly teacher
    always makes fun of Java, saying java gives you far
    less control, it prevents you from making mistakes.
    No control over unsigned/ signed values, pointers
    etc. Yes. But broadly speaking that's the point. Java sacrifices control over such things. The return, however, is that programmers are able to be more productive because of the great swathes of problems that can no longer arise.
    The mistake is in assuming that Java is the best tool for everything. It isn't, and in fact no language us. As it turns out, Java is just great for building enterprise systems. It has a few other strengths, some of which (applets for example) have been more important in its original uptake but are now relatively minor features.
    You don't write an enterprise website in Intel assembly, and you don't write device drivers in Java.
    Not saying its not good but its good for
    smaller applications like cell phones and
    mini-computers.I think you mean something different by mini-computers to what I mean...
    Its portability is actually the main point in its favour for use in cell phones. If it weren't for that, I think C or C++ would probably have sole ownership of that space.
    Now i'm not saying any thing against it just
    confused on why a class like data-structures at my
    University [...] would be taught using java when C would
    probably be a lot better for Very Large ADTS.You and Joel Spolsky:
    http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html
    I disagree, because I don't think it much matters what language you learn - experience trumps any particular initial language choice. If you're still using Java in 15 years I'll be fairly surprised.

  • General BADi question:Call BADi in background job/batch input. Possible?

    Hi out there,
    i'm using thoe following BADi: /SAPSLL/CTRL_SD0C_R3 (Global Trade Service).
    But also, this question is a general question.
    If we are calling on screen the transaction VF01, the BADi is called correctly.
    But unfortunately it seemes that the BADi is NOT called (im not really sure, cause i can't debug the background task) when we are calling a batch input sequence wth f.e. form bdc_transaction VF01 nothing happens.
    Maybe BADi cannot be called in a background task? If it's possible, how could it be monitored. Thare isw no spool entry or anything like that!
    Any answer can help.
    Thank you in advance!
    Regards,
    Timo
    Edited by: Timo Ehl on Apr 14, 2009 7:27 PM

    Hi,
    generally BADIs are called in background mode. You can use the following trick to debug your BADI. You just need to create an infinite loop in your BADI implementation. Something like this.
    DATA: l_a TYPE c.
    WHILE l_a IS INITIAL.
    ENDWHILE.
    Obviously when your BADI is called in background mode then program will get into infinite loop. You can easily connect and debug running programs from transaction SM50. You need to select your background process and go to Program/Session -> Program -> Debugging. You will jump directly into your BADI methos with infinite loop. Then you will just set value to l_a and you will start debugging your BADI. If you can not find any process then your BADI is not called in background mode.
    Cheers

  • Simple JPA - JSF question

    Welcome!
    I Have simple question regarding updating JPA entities from JSF application
    One option is to directly invoke entity manager code from JSF managed bean action, but in this case we must explicitly deal with transactions (and we don't get other EJB benefits).
    Other approach is to create EJB as a stateless session bean. And delegate all the operations on entities to the EJB. In this case container create transactions for us.
    Please correct me if I wrongly understand this topic.
    My key question is how to update entity bean, which I have persiteted earlier. I assume it's illegal to issue manager .find method in EJB class, return managed entity as an object to JSF backing been and then modify it. Normally entity bean should be managed, but in this case there is no transaction support in JSF backing bean and hence we cannot modify the object directly.
    I assume that correct way is to detach entity in EJB, pass this object to JSF backing bean. In this case entity will not be managed, then edit it in JSF and finally update in EJB by .merge method.
    I assume multi-user environment (currently I am using glassfish if it does matters)
    Best regards
    Pawel

    Thanks for responding r035198x (this place has some memorable usernames :) ).
    You were absolutely right about flagging me up for not catching the exception (at the time I didn't know how to handle exceptions as im still learning). I am now using:
    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Error deleting record: "+ex.getMessage()));and am now getting the following when pressing the delete button:
    Error deleting record: Internal Exception: java.sql.SQLIntegrityConstraintViolationException: DELETE on table 'MBUSER' caused a violation of foreign key constraint 'USERPOST_OWNER_ID' for key (4). The statement has been rolled back. Error Code: -1 Call: DELETE FROM MBUSER WHERE (ID = ?) bind => [4] Query: DeleteAllQuery(name="messageboard.entity.MBUser.deleteUser" referenceClass=MBUser sql="DELETE FROM MBUSER WHERE (ID = ?)")
    This is probably getting out of the realm of JSF, but in case your interested I can delete a user which does not have any child posts or threads (this is a messageboard), but if that user owns any threads or posts then it shows the above error. At this stage I am guessing its because I am not deleting joined child objects which are in persistence, and therefore will not allow the parent to be deleted without first the children being deleted. I was hoping that the cascade tag in the @OneToMany annotation would do it for me, but that doesn't seem to be the case:
        @OneToMany(mappedBy = "owner", cascade = CascadeType.ALL)
        private List<UserPost> ownedPosts = null;
        @OneToMany(mappedBy = "owner", cascade = CascadeType.ALL)
        private List<UserThread> ownedThreads = null;Therefore I guess i'll have to construct a NamedQuery a bit more complicated than the current one im using. Still, at least im making progress :) Thanks...

  • A general OOP question

    Hi
    I have a general OOP design question, and am wondering if someone could relate an answer to the following design?
    I have a class called MediaFolderImport(); - it's designed to build a window with various editing tools in it.
    Within it's constructor, I'm calling a bunch of functions to build the window...
       createTitle();
       createInstructions();
       createToolPanel();
       createDataGrid ();
       createOpen();
       createSave();
    In my document class, I instantiate it...
    public var File_Folder_Import:MediaFolderImport=new MediaFolderImport();
    and then...
    addChild(File_Folder_Import);
    Voila! - the window appears. I WAS very proud of myself.
    Now I want to access something inside the window.  Specifically, there's a radio button that was created in createToolPanel(); - I want to update it to be selected or not selected when I receieve the user's preference from an xml settings file at start up (xml is loaded into the doc class).
    General question:
    What is the best practice, smart way to have designed this?
    - call createToolPanel(); from the doc class instead of within MediaFolderImport();, and somehow (magically) have access to the radio button?
    - leave the design as is, but add some sort of listener within MediaFolderImport that listens for changes to the xml in the doc class, and updates accordingly?
    - do it the way I'm trying to, ie try to access the radio button directly from the doc class (which isn't working):
    File_Folder_Import.myRadioButton.selected = true;
    - a better way someone can briefly explain the concept of?
    Another way to explain my design is...
    - a bunch of different windows, each created by a different class
    - xml file loads preferences, which need to be applied to different tools (radio buttons, check boxes, text fields etc) in the different windows
    I read a lot of posts that talk about how public vars are mostly bad practice.  So if you are making your class vars private, what is the best way to do the kind of inter-class communicating I'm talking about here?
    I think someone throwing light on this will help me solidify my understanding of OOP.
    Thank you for your time and help.

    You're already very used to using properties for the built-in AS classes and that's the best practice means of configuring your class. It's a "state" that you want to simply expose. The get/set method moccamaximum mentioned is the ideal route.
    The main reason you want to use get/set functions is validation. You want your class to act properly if you send an invalid value. Especially if anyone else besides yourself is going to use the class. Plan for the worst.
    The general concept is, make a private variable for any 'state' you want to remember using an underscore in the variable name to easily identify it as a private var, then make get/set functions with the same name with any required validation without the underscore.
    e.g.
    package
         public class MyClass
              // property called 'mode' to track something with an int
               private var _mode:int = 0;
              public function MyClass() {} // empty constructor
              // get (type enforced)
              public function get mode():int { return mode; }
              // set, requiring a value
              public function set isChecked(modeVal:int):void
                   // if no value is sent, ignore
                   if (!modeVal) { return; }
                   _mode = modeVal;
    Your validation will go a long way to easily debugging your classes as they grow in size. Eventually they should throw exceptions and errors if they're not valid. Then you will be best practice. Do note that if your validation requires quite a bit of logic it's common to upgrade the property to a public method. get/set should be reserved for simple properties.

  • Best Font for Subtitles? and other General Subtitling questions?

    I've never had to use subtitles, until my current project, so I am looking for some general advice and suggestions.
    I will be using PPCS3 (on XPpro) as the subtitles (as in the kind that translate a foreign language) will be permanent.
    So here are my questions:
    1. What is the best font and or what is the most standard font for subtitles? (Font size and other characteristics may be worth mentioning here too.)
    2. Is it possible to have an outline around the text as opposed to shadow?
    3. What are some general rules of thumb for subtitles that apply to broadcast and cinematic productions?
    Thank you.

    See also:
    FAQ:Why are my titles blurry/wrong?
    Cheers
    Eddie
    PremiereProPedia   (
    RSS feed)
    - Over 300 frequently answered questions
    - Over 250 free tutorials
    - Maintained by editors like
    you
    Forum FAQ

  • Writing games for US wireless carriers - general newbie question

    I am a newbie to kvm and j2me so excuse me if these question are very basic or if i'm asking the wrong questions.
    I have been asked to quickly research writing games in java for US wireless carriers. Ideally I'd like to pick a carrier (e.g. Verizonwireless) and find out more about writing for them. How should I go about researching this?
    My research so far has found:
    General j2me info:
    I did some initial searching in the forum and found that the following link will give me a basic guide to j2me:
    http://access1.sun.com/SRDs/access1_srds.html.
    If I look at the documentation for -
    - Java 2 Micro Edition (J2ME)
    - Mobile Information Device Profile 1.0.1 (MIDP)
    Is this still the best place to look at online?
    Specific wireless carrier info:
    I had no luck finding where I should look for information on specific
    wireless carriers. Any suggestions? Also am I approaching this the right way or should I be looking at the specific java enabled mobile phones rather than the wireless carrier? Or is it a combination of the two?
    Thanks for any help.

    If the games are going to be networked then you should find out what type of network the carrier has (TDMA,CDMA,GSM with or without GPRS, etc. what bandwidths.... WAP or I-Mode). Regardless, you should be also concerned with what are the phones available on the carrier and what is their Java support.
    shmoove

  • NEWBIE: help with simple JSF question

    Hi, I'm having trouble wrapping my head around how JSF is supposed to be used for something.
    Let's say I have a list of people on the left, and I want to show the selected person in an editor on the right (so you can change the name and phone number and click 'save changes', for example).
    So I have a <h:selectOneListbox> with a <f:valueChangeListener>. Something like this:
    <h:selectOneListbox value="#{personController.selectedPerson}">
    <f:selectItems value="#{personController.listOfPersons}" />
    <f:valueChangeListener type="PersonSelectionListener" />
    </h:selectOneListbox>
    So in Java I have 2 objects.
    1. PersonController which maintains the list of persons and the selected person and is identified as a session bean in the faces-config.xml
    2. PersonSelectionListener which listens for selection changes and does something with the selection, let's say it writes the selected person's name to a log file just for sake of example.
    My question is, when the PersonSelectionListener detects that a selection change has occurred, how should I get the selected person from the person controller so I can, say, write the name to a log file?
    (Note: I'm pretty sure I can make the PersonController and the PersonSelectionListener the same object and just reference the selectedPerson member variable -- but I'm trying to wrap my head around how objects are supposed to interact in a JSF application, so let's assume they have have to be separate objects.)
    Any information is greatly appreciated. Thanks!

    Normally I would tell you to inject the PersonController bean into the PersonSelectionListener bean as a managed property. Then drill into the bean to get the data you need.
    However, in this case you are dealing with a value change listener. Value change events are fired at the end of the Process Validations phase, before the Update Model Values phase. So in this case, the PersonController bean will not contain the selected person from the request. This is not a problem however, since the new value is passed via the ValueChangeEvent object.

  • Some general photo questions

    I will be undertaking a major project soon that involves scanning all (and I mean every single one) of my family's photographs so that we have digital copies in case something bad happens to the originals. I plan on using iPhoto to store and catalog the photos. But my question is, when I scan the photos, what file format should I use? My scanner (HP Scanjet 3970) can scan to jpeg, tiff, tiff (compressed), bmp, and gif. which of those should I use? Also, I read somewhere that tiff for macs are different from tiff in windows. Is this true?
    Also, what resolution is optimal for keeping an archive of photos? File size is not really an issue since I'll be using an external hard drive that's plenty big.

    baldrambutan
    what file format should I use? My scanner (HP Scanjet 3970) can scan to jpeg, tiff, tiff (compressed), bmp, and gif. which of those should I use?
    iPhoto will handle any of those formats. My suggestion for maximum compatibility is to choose between tiff (uncompressed) and jpeg. Why? they're pretty universal, regardless of computer. As to choosing between them? Well jpeg is a lossy compressed format, tiff isn't. The files sizes are huge with tiff, quite acceptable with jpeg. How much editing will you do? IF not much, then there is little re-saving and jpeg will be absolutely fine.
    http://en.wikipedia.org/wiki/TaggedImage_FileFormat
    http://en.wikipedia.org/wiki/JPEG
    Also, I read somewhere that tiff for macs are different from tiff in windows. Is this true?
    Not that I know of.
    Also, what resolution is optimal for keeping an archive of photos
    The general rule of thumb is 300 dpi is what's required for printing. Screen images require less.
    Regards
    TD

Maybe you are looking for