Reading in data from IPTC keywords from a CSV and writing those keywords to TIFF images

Hi All,
I have a client that I'm working with that has a specific request for a script, or possibly a plugin.  I'm interested in both hearing if folks here think it is feasible, and also if anybody here would be interested in doing the work on this.
I have never done PhotoShop scripting and I think it would be the best use of resources to subscontract this out, unless it proves exceedingly easy.  The kind of thing someone can do in a single forum post.  In which case, if you do that for me, I'll be sure to get you something for your time as a thank you :-)
Here's the situation: my client runs a niche stock photography business and deals with tens of thousands of hi-res TIFF images.  Each of those images is assigned a list of keywords, a serial number, the photographer who took the picture, the date, the location, etc.  Lots of information.  He's got a FileMaker Pro database where he stores all that information.
Some of those bits of information he also wants in the IPTC data for the TIFF image.  The keywords in particular are the main field he's interested in getting into the TIFF images.
He has been dealing with this process manually so far in Bridge CS4.  He goes to each image, and copy/pastes the keywords into the IPTC data.  But he's interested in figuring out a better way to do this.  He can get a spreadsheet that has all the keywords and filenames out of his database, and what we'd like to do is have a Photoshop script that can read in that CSV file, and then scan a directory for TIFF images with those filenames, and write the appropriate keywords onto those TIFF images.
Is this possible?  I'm eager to hear feedback on this.  Right now he's got a slew of 1800 images that he got on slide film from photographers, and has scanned, but hasn't written the IPTC keywords to yet.  If we can use this process on those, that would be great.
  -Josh

Hi Paul and Mark,
That link Paul posted looks very promising.  I'll have to test it out.
One question: is there anywhere I can get Adobe Bridge CS4?  Since that's what my client has, that's what I'd like to test with.  I've been looking but can't find anything but the most recent version (CS5) for trial download.
  -Josh

Similar Messages

  • My optical drive will not read any music cds now or recognize a blank cd in the drive. it might read some data discs. what is wrong with it and how do i fix it?

    My optical drive will not read any music cds or recognize a blank cd. it might read some data cds. what is wrong with it and how can i fix it?

    The optics might be dirty. Try running a cleaning CD through it and see if that makes a difference.
    If not, it will have to be replace.
    Allan

  • How to protect read-only data in Swing app from tampering?

    First off I am new to cryptography and trying to find the best approach for a problem.
    We have a Swing application that uses xml-based template files to display complex forms and validate data entry. Based on the size and complexity of the forms it was deemed better to have a distributed stand-alone application instead of a web-based solution. However, we want to ensure users do not tamper with the template rules in order to pass the validation checks. All of the xml-based template files are distributed within a single jar file.
    The first thought was to build a list of check-sums of the template files and to compare the template to the approariate check-sum from within the list before loading a template. This would prevent the more casual user from tampering with the file but not someone knowledgeable in check-sum who could recalculate the CRC and update the list after making changes.
    Another thought was to use a private key to encrypt the CRC list before distribution and a public key to decrypt it during execution with the keys maintained in a keystore. However, once again, an adventurous user could weed through the obfuscated code to determine the password to the keystore, create a new keystore with the same password and use its private key to regenerate the CRC list from altered templates.
    I feel like there must be a simpler approach that will provide a bullet prove implementation. Any suggestions?

    I think you have to re-think your design.
    Whether you use Java, C#,C or C++ a hacker can look through the binary (class file, exe file etc) and after working out what is happening he can modify your code.
    It is my opinion that your best bet is to use client/server but even with that you cannot keep any private data or code on the client.
    You will still have to think about 'man-in-the-middle' and 'spoof site' attacks.

  • IPhoto reads wrong date of .mov file from iPhone 3GS...help!

    Hi all
    Need some help/advice please.
    I have a bunch of files I am importing in to iPhoto that were initially downloaded to a windows laptop. I used Graphic Converter (GC) to successfully rotate and align the creation/modified dates so iPhoto reads the correct date. Now GC edits the .jpg and .avi file metadata fine, but wont edit .mov files from my iPhone? So now the iPhone videos are strewn all over the place in iPhoto compared to where they should be date-wise. Any ideas on how to fix this issue?
    The .mov files in GC show the correct creation date, but iPhoto reads the actuals file's modified date instead of the internal creation date? So strange?
    Thanks
    Jared

    iPhoto gets it's date and time from the Photos Exif metadata, not the file creation or modification dates. It will only use those if your photos have no Exif.
    If you subsequently export these files then the created and modification dates a re very likely to change.
    You can adjust the date and time rather more easily in iPhoto (Using either the Photos -> Adjust Date and Time and/or the Photos -> Batch Change commands) You can also write the corrected date and time to the Exif of the oriignals files, and export it along with the file in the future.
    I'm not sure what's up with the dates on these mov files, but Movies don't have an Exif. You might want to check with the makers of Graphic Coverter for help.
    You know that you can move pics and movies around inside iPhoto, right? Drag them from Event to Event?
    Regards
    TD

  • ImageIo: reading and writing a jpeg corrupts the image

    Sometimes, ImageIo manages to read an image wrong. If I simply read() and write() the
    image without any transformations, the image writtten will have its colors all wrong. The
    output image format here doesn't matter.
    An example image is: http://bram.name/~brama/pics/test.jpg
    And output after reading and writing it: http://bram.name/~brama/pics/test_output.jpg
    Is the image io lib to blame, or is it a broken image? The image displays fine in other programs.
    Message was edited by:
    Bram_A

    Use this code to load the image.
    From my experience it is much more stable and also faster.
    My guess is that the problem is related to the ICC profile embeded in the JPEG.
    JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(new URL("http://www.stack.nl/~brama/pics/imageio.jpg").openStream());
    BufferedImage image = decoder.decodeAsBufferedImage();

  • How can I read/write data files (text file) from PL/SQL Script

    I had an oracle forms pl/sql program to read/write a data file (text file). When this code is run on a command line as a PL/SQL script using the SQL*Plus I am getting an error:
    -- sample.sql
    DECLARE
      vLocation                 VARCHAR2(50)  := 'r:\';
      vFilename                 VARCHAR2(100) := 'sample.dat';
      vTio                   TEXT_IO.FILE_TYPE;
      vLinebuf               VARCHAR2(2000);
      vRownum               NUMBER        := 0;
      -- use array to store data FROM each line of the text file     
      TYPE           array_type IS VARRAY(15) OF VARCHAR2(100);
      vColumn      array_type := array_type('');
      PROCEDURE prc_open_file(p_filename IN VARCHAR, p_access IN VARCHAR2) is
      BEGIN
        vTio := TEXT_IO.FOPEN(vLocation||p_filename,p_access);
      EXCEPTION
        WHEN OTHERS then
          --  raise_application_error(-20000,'Unable to open '||p_filename);
          message(sqlerrm);pause;
      END;
      PROCEDURE prc_close_file is
      BEGIN
        IF TEXT_IO.IS_OPEN(vTio) then
           TEXT_IO.FCLOSE(vTio);
        END IF;
      END;
    BEGIN
      --extend AND initialize the array to 4 columns
      vColumn.EXTEND(4,1);
      prc_open_file(vFilename,'r');
      LOOP
          LTEXT_IO.GET_LINE(vTio,vLinebuf);
          vColumn(1)  := SUBSTR(vLineBuf, 1, 3);
          vColumn(2)  := SUBSTR(vLineBuf, 5, 8);
          vColumn(3)  := SUBSTR(vLineBuf,10,14);     
          Insert Into MySampleTable
          Values
            (vColumn(1), vColumn(2), vColumn(3));
          EXIT WHEN vLinebuf IS NULL;
       END LOOP;
       prc_close_file;
    END;
    SQL> @c:\myworkspace\sql\scripts\sample.sql;
    PLS-00201: identifier 'TEXT_IO.FILE_TYPE' must be declaredIt works on the oracle forms but not on the SQL*Plus. Is there an alternative method using a PL/SQL script? A simple sample would help. Thanks.

    Did you ever noticed the search box at the right side of the forum?
    A quick search (limited to this years entries) brought up this thread for example
    Re: UTL_FILE Examples

  • Reading Hex data- how to typecast from string

    Hi,
    I am reading a file having hex data ( say 100 lines).When i read it i think it is being read as a string.
    How can i typecast or convert it to int .
    I am using dis.readLine() to read from file and assigning it to a variable(int).
    Thanks.
    Edited by: Motorcycle on Jun 10, 2009 3:16 PM

    Sorry for that..:)
    ok a few lines of the file are as folloes
    0x004D1202
    0x0002E1E5
    0x004C1202
    0x0002E1EB
    0x004E1202
    I tried reading it as data [indr][indc].tag = ( int ) dis.readLine() ;
    It said " cannot convert from String to int.
    data is a structure having int variables.
    Thanks.

  • Read XML data without name spaces from PL/SQL

    Hi,
    I am trying to upload XML data without namespaces into Oracle tables from PL/SQL. Below is the sample XML data.
    Please let me know,How this is achievable in PL/SQL?
    <?xml version="1.0" ?>
    <insplist ver="2" count="1">
    <insp id="219991" timestamp="134817078" stat="G" operator_id="999999" >
    <data name="TIME CLOCK - PUNCH" val="INNER" type="STRING" />
    </insp>
    </insplist>
    Thanks

    And it's even simpler with the GET method as we just have to pass the url :
    SQL> DECLARE
      2 
      3    v_url      varchar2(200) := 'http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=';
      4    v_address  varchar2(200) := '1 rue Victor Hugo Paris France';
      5 
      6    v_req      utl_http.req;
      7    v_rsp      utl_http.resp;
      8 
      9 
    10 
    11    v_xml      varchar2(32767);
    12 
    13    v_lng      number;
    14    v_lat      number;
    15 
    16  BEGIN
    17 
    18    v_req := utl_http.begin_request(v_url || utl_url.escape(v_address), 'GET', utl_http.HTTP_VERSION_1_1);
    19    v_rsp := utl_http.get_response(v_req);
    20 
    21    utl_http.read_text(v_rsp, v_xml);
    22    utl_http.end_response(v_rsp);
    23 
    24    select longitude, latitude
    25    into v_lng, v_lat
    26    from xmltable(
    27         '/GeocodeResponse/result/geometry/location'
    28         passing xmlparse(document v_xml)
    29         columns longitude number path 'lng'
    30               , latitude  number path 'lat'
    31         )
    32    ;
    33 
    34    dbms_output.put_line('Longitude = ' || v_lng);
    35    dbms_output.put_line('Latitude = ' || v_lat);
    36 
    37  END;
    38  /
    Longitude = 2.2734472
    Latitude = 48.8282741
    PL/SQL procedure successfully completed
    Or, taking shorcuts :
    SQL> select *
      2  from xmltable(
      3       '/GeocodeResponse/result/geometry/location'
      4       passing httpuritype('http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address='
      5                           || utl_url.escape('1 rue Victor Hugo Paris France')
      6                           ).getxml()
      7       columns longitude number path 'lng'
      8             , latitude  number path 'lat'
      9       )
    10  ;
    LONGITUDE   LATITUDE
    2,2734472 48,8282741

  • How to copy keywords from one image to many in Bridge CS6 (workaround)

    I see a few questions about how to do this, but I didn't see this workaround (maybe it's even the workflow Adobe had in mind). Hope it helps others searching for this.
    To copy keywords from one photo, and then apply the same keywords to many, in Bridge CS6:
    Select one image that has the keywords you want to copy.
    Right-click and choose File Info...
    On the IPTC tab, scroll down to find the Keywords field. Select and copy the keywords you want (probably all).
    Click Cancel to exit without making accidental changes.
    Select the files you want to add the keywords to.
    Right-click and choose File Info...
    On the IPTC tab, scroll down to find the Keywords field.
    Click in it and paste your copied keywords.
    Click OK. Keywords are applied to all files. (NOTE: I think this replaces keywords, rather than adding to them).
    I'm using CS6 on OS X 10.6.8.

    Sara,
    Why wouldn't you just use a Windows .bat file with xcopy statements?  You could even schedule it to run with the Windows task scheduler.
    Regards,
    Jeremy Good

  • Reading and writing to and from a file to a form

    Hi there
    I would like somebody to send me a code example,
    showing me how to reading records from a file to a form,
    and writing records to the same file from the same form.
    I know that I have to use sycronize, but I just have not been
    successful. I can constract forms, go from form to a form,
    do buttons, do text fields. I can even read and write from and
    to files. However I cannot do is write from a file to a form and
    from a form to a file.
    could somebody please explain how this done, and could you
    please give me a code example. All the books seem to either
    deal with forms or with files. None seem to combine both.
    I am sure it is very ease to do if ONLY I knew how!!!
    thank you very much in advance for you help.

    I understand that code and I have used it before, however thanks for
    trying to help me, it is really appreciated. However, that is not my
    problem. I can read and write from a file to the console and vice versa.
    what I cannot do, no matter how hard I try, is to write from a file, and
    output it in.
    I will tell you how far I have got.
    I have a MenuFrame class, this is the code for it:
    package WorkflowApp;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    public class MenuFrame extends JFrame {
    JMenuBar menuBar1 = new JMenuBar();
    JMenu menuFile = new JMenu();
    JMenuItem menuFileExit = new JMenuItem();
    JMenu menuHelp = new JMenu();
    JMenuItem menuHelpAbout = new JMenuItem();
    JToolBar toolBar = new JToolBar();
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    JButton jButton3 = new JButton();
    ImageIcon image1;
    ImageIcon image2;
    ImageIcon image3;
    JLabel statusBar = new JLabel();
    Button button2 = new Button();
    Button button3 = new Button();
    Button button4 = new Button();
    Button button5 = new Button();
    Button button6 = new Button();
    Button button7 = new Button();
    Button button1 = new Button();
    //Construct the frame
    public MenuFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
    jbInit();
    catch(Exception e) {
    e.printStackTrace();
    //Component initialization
    private void jbInit() throws Exception {
    image1 = new ImageIcon(WorkflowApp.MenuFrame.class.getResource("openFile.gif"));
    image2 = new ImageIcon(WorkflowApp.MenuFrame.class.getResource("closeFile.gif"));
    image3 = new ImageIcon(WorkflowApp.MenuFrame.class.getResource("help.gif"));
    this.getContentPane().setLayout(null);
    this.setSize(new Dimension(400, 492));
    this.setTitle("MenuFrame");
    statusBar.setText(" ");
    statusBar.setBounds(new Rectangle(0, 0, 3, 17));
    menuFile.setText("File");
    menuFileExit.setText("Exit");
    menuFileExit.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    fileExit_actionPerformed(e);
    menuHelp.setText("Help");
    menuHelpAbout.setText("About");
    menuHelpAbout.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    helpAbout_actionPerformed(e);
    jButton1.setIcon(image1);
    jButton1.setToolTipText("Open File");
    jButton2.setIcon(image2);
    jButton2.setToolTipText("Close File");
    jButton3.setIcon(image3);
    jButton3.setToolTipText("Help");
    toolBar.setBorder(null);
    toolBar.setBounds(new Rectangle(2, 2, 389, 30));
    button2.setBounds(new Rectangle(217, 62, 135, 44));
    button2.setLabel("Staff Details");
    button2.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button2_actionPerformed(e);
    button3.setBounds(new Rectangle(26, 127, 135, 44));
    button3.setLabel("Arange Viewing");
    button3.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button3_actionPerformed(e);
    button4.setBounds(new Rectangle(218, 127, 136, 41));
    button4.setLabel("Valuation");
    button4.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button4_actionPerformed(e);
    button5.setBounds(new Rectangle(28, 196, 135, 41));
    button5.setLabel("Schedule");
    button6.setBounds(new Rectangle(221, 194, 133, 40));
    button6.setName("button6");
    button6.setLabel("Register Interest");
    button7.setBounds(new Rectangle(31, 266, 133, 42));
    button7.setLabel("Register Offers");
    button1.setBounds(new Rectangle(27, 62, 131, 42));
    button1.setLabel("New Client");
    button1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button1_actionPerformed(e);
    menuFile.add(menuFileExit);
    menuHelp.add(menuHelpAbout);
    menuBar1.add(menuFile);
    menuBar1.add(menuHelp);
    this.setJMenuBar(menuBar1);
    this.getContentPane().add(statusBar, null);
    this.getContentPane().add(toolBar, null);
    toolBar.add(jButton1);
    toolBar.add(jButton2, null);
    toolBar.add(jButton3, null);
    this.getContentPane().add(button3, null);
    this.getContentPane().add(button5, null);
    this.getContentPane().add(button7, null);
    this.getContentPane().add(button2, null);
    this.getContentPane().add(button4, null);
    this.getContentPane().add(button6, null);
    this.getContentPane().add(button1, null);
    //File | Exit action performed
    public void fileExit_actionPerformed(ActionEvent e) {
    System.exit(0);
    //Help | About action performed
    public void helpAbout_actionPerformed(ActionEvent e) {
    MenuFrame_AboutBox dlg = new MenuFrame_AboutBox(this);
    Dimension dlgSize = dlg.getPreferredSize();
    Dimension frmSize = getSize();
    Point loc = getLocation();
    dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
    dlg.setModal(true);
    dlg.show();
    //Overridden so we can exit on System Close
    protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if(e.getID() == WindowEvent.WINDOW_CLOSING) {
    fileExit_actionPerformed(null);
    void button2_actionPerformed(ActionEvent e) {
    StaffDetails myFrame = new StaffDetails();
    myFrame.show();
    void button3_actionPerformed(ActionEvent e) {
    ArrangeViewing myFrame = new ArrangeViewing();
    myFrame.show();
    void button1_actionPerformed(ActionEvent e) {
    NewClientFrame myFrame = new NewClientFrame();
    myFrame.show();
    // System.exit(1);
    void button4_actionPerformed(ActionEvent e) {
    Valuation myFrame = new Valuation();
    myFrame.show();
    then I have a new form class, this is the code for it
    package WorkflowApp;
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class NewClientFrame extends JFrame {
    Label label1 = new Label();
    Label label2 = new Label();
    Label label3 = new Label();
    Label label4 = new Label();
    Label label5 = new Label();
    Label label6 = new Label();
    Label label7 = new Label();
    Label label8 = new Label();
    Label label9 = new Label();
    Label label10 = new Label();
    TextField textField1 = new TextField();
    TextField textField2 = new TextField();
    TextField textField3 = new TextField();
    TextField textField4 = new TextField();
    TextField textField5 = new TextField();
    TextField textField6 = new TextField();
    TextField textField7 = new TextField();
    TextField textField8 = new TextField();
    TextField textField9 = new TextField();
    TextField textField10 = new TextField();
    Button button1 = new Button();
    Button button2 = new Button();
    //Construct the frame
    public NewClientFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
    jbInit();
    catch(Exception e) {
    e.printStackTrace();
    //Component initialization
    private void jbInit() throws Exception {
    this.getContentPane().setLayout(null);
    this.setSize(new Dimension(411, 488));
    this.setTitle("NewClientFrame ");
    this.addWindowListener(new java.awt.event.WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    this_windowClosing(e);
    label1.setBounds(new Rectangle(21, 23, 110, 23));
    label1.setAlignment(2);
    label1.setText("Assign Number");
    label2.setBounds(new Rectangle(23, 57, 108, 25));
    label2.setAlignment(2);
    label2.setText("Name");
    label3.setBounds(new Rectangle(40, 91, 94, 24));
    label3.setAlignment(2);
    label3.setText("Address 1");
    label4.setBounds(new Rectangle(21, 124, 112, 29));
    label4.setAlignment(2);
    label4.setText("Address 2");
    label5.setBounds(new Rectangle(20, 159, 116, 29));
    label5.setAlignment(2);
    label5.setText("PoscCode");
    label6.setBounds(new Rectangle(18, 197, 119, 26));
    label6.setAlignment(2);
    label6.setText("Telephone");
    label7.setBounds(new Rectangle(25, 228, 112, 26));
    label7.setAlignment(2);
    label7.setText("Other Telephone");
    label8.setBounds(new Rectangle(12, 261, 125, 24));
    label8.setAlignment(2);
    label8.setText("Email Address");
    label9.setBounds(new Rectangle(6, 301, 138, 25));
    label9.setAlignment(2);
    label9.setText("Staff Assigned (Name)");
    label10.setBounds(new Rectangle(22, 341, 124, 23));
    label10.setAlignment(2);
    label10.setText("Staff Assigned (No.)");
    textField1.setBounds(new Rectangle(155, 19, 80, 26));
    textField2.setBounds(new Rectangle(155, 58, 193, 24));
    textField3.setBounds(new Rectangle(156, 90, 192, 25));
    textField4.setBounds(new Rectangle(157, 126, 192, 23));
    textField5.setBounds(new Rectangle(157, 159, 195, 25));
    textField6.setBounds(new Rectangle(157, 194, 195, 26));
    textField7.setBounds(new Rectangle(157, 230, 192, 24));
    textField8.setBounds(new Rectangle(157, 263, 193, 25));
    textField9.setBounds(new Rectangle(157, 303, 196, 24));
    textField10.setBounds(new Rectangle(158, 337, 95, 24));
    button1.setBounds(new Rectangle(23, 398, 144, 34));
    button1.setLabel("Staff Available");
    button2.setBounds(new Rectangle(211, 396, 148, 34));
    button2.setLabel("Submit Record");
    button2.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    button2_actionPerformed(e);
    this.getContentPane().add(label1, null);
    this.getContentPane().add(label2, null);
    this.getContentPane().add(label3, null);
    this.getContentPane().add(label4, null);
    this.getContentPane().add(label5, null);
    this.getContentPane().add(label6, null);
    this.getContentPane().add(label7, null);
    this.getContentPane().add(label8, null);
    this.getContentPane().add(label9, null);
    this.getContentPane().add(label10, null);
    this.getContentPane().add(textField1, null);
    this.getContentPane().add(textField2, null);
    this.getContentPane().add(textField3, null);
    this.getContentPane().add(textField4, null);
    this.getContentPane().add(textField5, null);
    this.getContentPane().add(textField6, null);
    this.getContentPane().add(textField7, null);
    this.getContentPane().add(textField8, null);
    this.getContentPane().add(textField9, null);
    this.getContentPane().add(textField10, null);
    this.getContentPane().add(button1, null);
    this.getContentPane().add(button2, null);
    public void fileExit_actionPerformed(ActionEvent e) {
    System.exit(0);
    // exit(this);
    // close();
    //Overridden so we can exit on System Close
    protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if(e.getID() == WindowEvent.WINDOW_CLOSING) {
    System.exit(0);
    void button2_actionPerformed(ActionEvent e) {
    // myFrame.close();
    this.dispose();
    void this_windowClosing(WindowEvent e) {
    this.dispose();
    I also have an about box, staff details, and valuation forms.
    what I am trying to do is for the New client form to be able to read and write from and to a file, and display the info.
    I am working in JBuilder3, a bit out of date I know, but it is the best I can do. Any Ideas how to do this.

  • Retrieve data passed in session from another application in visual jsf

    hi,
    I'm using jboss 4.2.2, visual jsf, etbeans 6.0.1
    My application needs to read the data passed in session from the calling application.
    i try to get it using the below in init()
    HttpServletRequest request=(HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
    String value=(String) request.getAttribute("id");
    System.out.print(value);
    But it always prints null.
    any idea??
    Thanks.

    Hi,
    My value is still null.
    I created a simple web application. In the jsp page, ==>
    <form method="post" action="http://localhost:8080/MyApp/">
    <input type="hidden" name="username" value="ME"/>
    <input type="submit" value="Submit" name="Submit"/>
    </form>
    In MyApp, which is a Web application with Visual JSF, in the welcome file init() method, i get the values ==>
    String value = (String) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("username");
    System.out.print("request value in welcome page init() = " + value);
    Fearing loss of data by request, i tried in session too. But no luck.

  • How to read the date of ZL table in schema

    Dear all,
    I want to read the record of the ZL table,and I wanted to read the date of every record in ZL table, and then choose which wage type should be used.
                                                                                    Thank you.

    Hi Simon,
    You need to write a custom function.
    Please refer to the following wiki of mine:
    http://wiki.sdn.sap.com/wiki/display/ERPHCM/CreateaCustomPayrollFunctionUpdatingZL+Table
    Regards,
    Dilek

  • 2 identical sets of photos in LR4, one set shows as missing but has all keywords attached; photos not missing are missing keywords

    I had to move photos and LR4 catalog from one external storage to another. I now have two identical sets of photos in the catalog but one full set is shown as missing. Easy enough to delete these but they have all my hours and hours of work on keywords attached to them. The other set of photos, the one that actually exists on the drive, has no keywords attached. I gotta have those keywords! Is there a way that won't take the rest of my life to get photos and keywords connected again?

    Thanks for helping!
    Your suggestion didn't work, but it did get me tinkering around and led me to a solution that's not necessarily quick but definitely easier than re-entering all the keywords.
    I was smart enough to not have deleted the photos from the thumb drive they were first saved on, so I plugged it back in. Then I went to the folders list in LR and deleted the existing, missing-keyword photos, folder by folder. Then I just dragged the images from the original drive to the the new one. Well, I'm still doing it to 1500 photos but it's working and it saves me lots of work. So thank you for helping me think of the problem and its solution in a different way. I appreciate your time.

  • Read keywords from file but not develop settings?

    Is there any way to read IPTC Core metadata, but not develop settings, from a file? I'm still figuring out my Lightroom workflow and made some errors that I'd like to recover from. Here's the situation:
    In Lightroom 2.x I selected images, gave them star ratings, and made initial Develop module adjustments. I did NOT write the metadata back to the files (my mistake). Later, my keywording assistant opened the files in another program (Breeze Browser) and added extensive keywords using a controlled vocabulary that works very well and very fast in Breeze. Now I have extensive caption and keyword data in the XMP sidecars, but develop settings in Lightroom's database. I need to merge them.
    The slow and tedious workaround in Lightroom is to select the photo, copy the develop settings, read the metadata from the file, then paste the develop settings back in. It works, but is repetative and slow. There's not even a keyboard shortcut for reading metadata. The other tedious workaround is to export the keywords to a text file (using Breeze) and copy & paste them into Lightroom's keywords field. But that's even slower.
    Is there a way to write only the develop settings to the files?
    Any other suggestions on how to proceed? I have several hundred images that need to be fixed.
    In the future, I know I need to write the metadata to the files after making any adjustments in Lightroom so the data travels with the files themselves and isn't just in Lightroom's database.
    -- Mark Turner

    Ok, thanks for the reply.
    I feel a bit ashamed now, because my topic title contains the function i needed...
    So, assuming that i would have
    String content = "458,304,0,345,432";i could split this and put this in an array string using a code like
    String[] arry = null;
    array = content.split("\\.");I haven't tested the code yet, cause i'll go to bed soon, but will this split all at once and put it in the array or do i have to create a loop or something ?
    And is it possible to put number one using split in the array[x][v] on the x location and the others at the [v] location ? (the first number of each five has to be added to [x] and the other 4 to [v] )
    Again thanks for your reply, cause im a bit further this way in accomplishing what i want to reach :)

  • Stuck with date from IPTC core

    I usually change date from template when not corresponding to real one, and succesfully. Now doesn't work, daTE  is stuck at date at IPTC core, and I can actually change from there but I prefer to change from template
    (small icon top right)
    I did tools/purge cache for folder, and restarted B holding down option key.
    Also in accounts language and tex>region, I am in correct country
    Problem is I dont like date format from the IPTC core, I prefer 6/6/11 to 11-06-06
    thanks

    1.   The question about batch rename was not about changing the date, but changing the format. In other words, if I select a picture,
    select DDMMYYYY, click on "rename" and nothing changes in the date order, how do you use it if you want to actually change the date order?
    If you read my previous post, it says: the option of date format is interesting, but I can't apply it. In other words, it doesn't work.
    Just try it: select a picture in B, give it a date format different from 2011-06-19 which is the (for me at least) default format, click on rename, and NOTHING changes, that's why I was wondering what else I had to click on.
    2.   As far as changing the date created, yes, I need that: If I have pictures taken in Libya in june 2011, during a fight in Misrata, and
    all the world knows that Misrata had the Arab spring in 2011 and they show may 2012, which is the day that I fixed them or
    who knows why, that is ridiculous, right?
    So I have to change the date back. Can somebody tell me how that happened, or I will make a post for that.
    Pease keep the 2 issues separate.

Maybe you are looking for