go to http://oracle.in.th
Showing posts with label google. Show all posts
Showing posts with label google. Show all posts

Friday, January 15, 2010

Oracle CRM Gadgets สำหรับ Google Desktop

คุณรู้ไหมว่า เคล็ดลับที่จะทำให้พนักงานของบริษัทของคุณทำงานได้อย่างมีประสิทธิภาพมากยิ่งขึ้น ทำได้อย่างไร...??

ดูจากตัวอย่างที่ดิฉันได้ไปอ่านมา ของ CRM Product Marketing Blog เค้าบอกว่า พนักงานขายของ บริษัทกลุ่ม Alexander ใช้เวลาเพียง 22% ของพวกเค้าในการขายของ ซึ่งถือว่าใช้เวลาน้อยมากในการขายของ ยิ่งใช้เวลาขายน้อย ก็สามารถนำเวลาที่เหลือ ไปขายของให้ลูกค้าได้อีกหลายราย

ว่าแต่...ถ้าเกิดคุณอยากจะทำให้พนักงานที่บริษัทของคุณ มีศักยภาพในการขายเหมือนพนักงานของ Alexander บ้าง คุณจะทำได้อย่างไรล่ะ??

วิธีการที่ บริษัทกลุ่ม Alexander ใช้กับพนักงานขายของเค้าคือ...เค้าให้พนักงานขาย ใช้ "Oracle CRM Gadgets" นั่นเอง

แล้ว Oracle CRM Gadgets for Google Desktop มันคืออะไร?

Oracle CRM Gadgets คือ แอปพลิเคชั่นขนาดเล็กที่ช่วยรักษาความปลอดภัยในการเข้าถึงข้อมูลและบริการในแอปพลิเคชั่นขององค์กร

โดยที่เจ้าตัว Oracle CRM Gadgets นี้ มันสามารถแสดงข้อมูลของผู้ใช้งานเช่น ข้อมูลส่วนตัว เนื้อหาในอินเทอร์เน็ต บทสนทนาทางโทรศัพท์ และ ข้อมูลขององค์กร ได้อย่างมีประสิทธิภาพ ซึ่งการรวบรวมข้อมูล CRM ต่างๆขององค์กรและข้อมูลที่สามารถอัพเดทตลอดเวลาจากทางอินเทอร์เนต มาแสดงในแอปพลิเคชั่นตัวนี้ จะทำให้พนักงานขายสามารถจัดการข้อมูลของลูกค้าและข้อมูลต่างๆได้ง่ายขึ้นและสะดวกขึ้น

แอปพลิเคชั่นตัวนี้ จะเน้นไปที่การแสดง Activities และข้อมูล ที่พนักงานขายต้องใช้ในการขาย ซึ่งพนักงานขายจะเข้าไปดูข้อมูลต่างๆได้อย่างรวดเร็วโดยไม่ต้องผ่านเบราว์เซอร์เลย ยิ่งไปกว่านั้น แอปพริเคชั่นนี้ยังง่ายต่อการใช้งาน ซึ่งผู้ใช้งานไม่จำเป็นจะต้องมีความรู้ด้าน Programming มาก่อน ก็สามารถใช้ได้อย่างสบายๆ หไรือ ถ้าผู้ใช้งานมีความรู้ด้าน Programming อยู่บ้าง ก็สามารถเข้าไป Modify หรือ Developแอปพลิเคชั่นนี้เพิ่มเติมได้ด้วยตัวเอง ทั้งใน iGoogle หรือ Desktop อีกด้วย



ส่วนฟังก์ชั่นการใช้งานของ แอปพลิเคชั่นตัวนี้ มี 6 อย่างคือ
  • My Contacts Gadget
  • Top Accounts Gadget
  • Top Deals Gadget
  • Search Gadget
  • Quota Gadget
  • Oracle Gadget Wizard
เห็นไหมคะว่า จริงๆแล้ว การที่พนักงานขายสามารถ เข้าถึงข้อมูลได้อย่างง่ายและรวดเร็ว จะทำให้การทำงานของพนักงานเหล่านั้น มีประสิทธิภาพมากยิ่งขึ้นอีกด้วย

อยากทราบรายละเอียดเพิ่มเติม สามารถเข้าไปดูได้ที่นี่เลยค่ะ

สุดท้ายนี้ ถ้าใครสนใจและอยาก Download แอปพลิเคชั่นตัวนี้มาใช้งาน ก็สามารถกด Download ได้ตาม Link ข้างล่างนี้เลยค่ะ
ถ้าใครได้ลองใช้แล้วดียังไง อย่าลืมมาเล่าให้ฟังนะคะ ^^
ข้อเขียนนี้ช่วยฉัน:  

Thursday, November 19, 2009

การใช้งาน Google Contact Data API

Google มี API ให้เราสามารถนำมาใช้ในการติดต่อกับ Application ต่างๆของ Google ได้ เช่น Google Contact, Google Calendar การใช้ Contact Data API ทำได้ไม่อยาก โดยสามารถทำตามได้จากวิธีการดังนี้

1. ตรวจสอบว่าในเครื่องมีการติดตั้ง Eclipse และ Java Compiler ไว้เรียบร้อยแล้ว

2. Google Contact จะสามารถดึงข้อมูลจาก Google Account โดยที่จะต้องมี Account ของ Google ก่อน

3. จากนั้นให้ดาวน์โหลด Java Client Library จาก http://code.google.com/p/gdata-java-client/ ให้ดาวน์โหลดไฟล์ ชื่อ "gdata-samples.java-1.39.0.zip" มาทำการแตกไฟล์ไว้ใน "/eclipse/gdata"

4. จากนั้นให้ทดสอบการใช้ API โดยการทดลองรันโปรแกรมตัวอย่าง จาก "data/java/sample/contacts/ContactsExample.java"

5. โดยการ Compile โปรแกรมตัวอย่างจำเป็นต้อง import library ที่จำเป็นดังต่อไปนี้
import com.google.gdata.client.*;

import com.google.gdata.client.contacts.*;

import com.google.gdata.data.*;

import com.google.gdata.data.contacts.*;

import com.google.gdata.data.extensions.*;

import com.google.gdata.util.*;

import java.io.IOException;

import java.net.URL;
6. หลังจากทดสอบด้วยโปรแกรมตัวอย่างแล้ว ต่อไปจะเป็นขั้นตอนการใช้ Contact API ในขั้นตอนแรกเราจะต้องทำการเซ็ต
ContactsService myService = new ContactsService("exampleCo-exampleApp-1");

myService.setUserCredentials("your_account@gmail.com", "password");
7. ต่อไปเป็นการจัดการกับ Google Contact ที่สามารถทำได้ คือ Add New Contact, Update Contact และการ Delete Contact อันดับแรกคือ การ Add new Contact สามารถทำตามจาก source code ต่อไปนี้
public static ContactEntry createContact(ContactsService myService,

String fullName, String givenName, String familyName, String notes)

throws ServiceException, IOException {

// Create the entry to insert

ContactEntry contact = new ContactEntry();

Name name = new Name();

final String NO_YOMI = null;

 name.setFullName(new FullName(fullName, NO_YOMI));

 name.setGivenName(new GivenName(givenName, NO_YOMI));

name.setFamilyName(new FamilyName(familyName, NO_YOMI))

contact.setName(name);

contact.setContent(new PlainTextConstruct(notes));

 

Email primaryMail = new Email();

primaryMail.setAddress("liz@gmail.com");

primaryMail.setRel("http://schemas.google.com/g/2005#home");

 primaryMail.setPrimary(true);

contact.addEmailAddress(primaryMail);

 

Email secondaryMail = new Email();

secondaryMail.setAddress("liz@example.com");

 secondaryMail.setRel("http://schemas.google.com/g/2005#work");

secondaryMail.setPrimary(false);

contact.addEmailAddress(secondaryMail);

 

ExtendedProperty favouriteFlower = new ExtendedProperty();

favouriteFlower.setName("favourite flower");

favouriteFlower.setValue("daisy");

 contact.addExtendedProperty(favouriteFlower);

 

ExtendedProperty sportsProperty = new ExtendedProperty();

sportsProperty.setName("sports");

XmlBlob sportKinds = new XmlBlob();

sportKinds.setBlob(new String(""));

sportsProperty.setXmlBlob(sportKinds);

contact.addExtendedProperty(sportsProperty);

 

// Ask the service to insert the new entry

URL postUrl = new URL("http://www.google.com/m8/feeds/contacts/liz@gmail.com/full");

return myService.insert(postUrl, contact);

}
8. ต่อไปคือการ Update Contact โดยการที่จะ Update Contact นั้นจำเป็นที่จะต้องเรียก Contact ทั้งหมดออกมาเพื่อนที่จะรู้ว่าจะสามารถ Update Contact ใดได้บ้าง โดยการเรียก Contact ทั้งหมดออกมาสามารถทำได้จากการใช้ source code ดังต่อไปนี้
public static void printAllContacts(ContactsService myService)

throws ServiceException, IOException {

// Request the feed

URL feedUrl = new URL("http://www.google.com/m8/feeds/contacts/liz@gmail.com/full");

ContactFeed resultFeed = myService.getFeed(feedUrl, ContactFeed.class);

// Print the results

System.out.println(resultFeed.getTitle().getPlainText());

for (int i = 0; i < resultFeed.getEntries().size(); i++) {

ContactEntry entry = resultFeed.getEntries().get(i);

if (entry.hasName()) {

Name name = entry.getName();

if (name.hasFullName()) {

String fullNameToDisplay = name.getFullName().getValue();

        if (name.getFullName().hasYomi()) {

          fullNameToDisplay += " (" + name.getFullName().getYomi() + ")";

        }

        System.out.println("\t\t" + fullNameToDisplay);

      } else {

        System.out.println("\t\t (no full name found)");

      }

      if (name.hasNamePrefix()) {

        System.out.println("\t\t" + name.getNamePrefix().getValue());

      } else {

        System.out.println("\t\t (no name prefix found)");

      }

      if (name.hasGivenName()) {

        String givenNameToDisplay = name.getGivenName().getValue();

        if (name.getGivenName().hasYomi()) {

          givenNameToDisplay += " (" + name.getGivenName().getYomi() + ")";

        }

        System.out.println("\t\t" + givenNameToDisplay);

      } else {

        System.out.println("\t\t (no given name found)");

      }

      if (name.hasAdditionalName()) {

        String additionalNameToDisplay = name.getAdditionalName().getValue();

        if (name.getAdditionalName().hasYomi()) {

          additionalNameToDisplay += " (" + name.getAdditionalName().getYomi() + ")";

        }

        System.out.println("\t\t" + additionalNameToDisplay);

      } else {

        System.out.println("\t\t (no additional name found)");

      }

      if (name.hasFamilyName()) {

        String familyNameToDisplay = name.getFamilyName().getValue();

        if (name.getFamilyName().hasYomi()) {

         familyNameToDisplay += " (" + name.getFamilyName().getYomi() + ")";

        }

        System.out.println("\t\t" + familyNameToDisplay);

      } else {

        System.out.println("\t\t (no family name found)");

      }

      if (name.hasNameSuffix()) {

        System.out.println("\t\t" + name.getNameSuffix().getValue());

      } else {

        System.out.println("\t\t (no name suffix found)");

      }

    } else {

      System.out.println("\t (no name found)");

    }

 

    System.out.println("Email addresses:");

    for (Email email : entry.getEmailAddresses()) {

      System.out.print(" " + email.getAddress());

      if (email.getRel() != null) {

        System.out.print(" rel:" + email.getRel());

      }

      if (email.getLabel() != null) {

        System.out.print(" label:" + email.getLabel());

      }

      if (email.getPrimary()) {

        System.out.print(" (primary) ");

      }

      System.out.print("\n");

    }

 

    System.out.println("IM addresses:");

    for (Im im : entry.getImAddresses()) {

      System.out.print(" " + im.getAddress());

      if (im.getLabel() != null) {

        System.out.print(" label:" + im.getLabel());

      }

      if (im.getRel() != null) {

        System.out.print(" rel:" + im.getRel());

      }

      if (im.getProtocol() != null) {

        System.out.print(" protocol:" + im.getProtocol());

      }

      if (im.getPrimary()) {

        System.out.print(" (primary) ");

      }

      System.out.print("\n");

    }

 

    System.out.println("Groups:");

    for (GroupMembershipInfo group : entry.getGroupMembershipInfos()) {      

      String groupHref = group.getHref();

      System.out.println("  Id: " + groupHref);

    }

 

    System.out.println("Extended Properties:");

    for (ExtendedProperty property : entry.getExtendedProperties()) {

      if (property.getValue() != null) {

        System.out.println("  " + property.getName() + "(value) = " + 

            property.getValue());

      } else if (property.getXmlBlob() != null) {

        System.out.println("  " + property.getName() + "(xmlBlob)= " + 

            property.getXmlBlob().getBlob());

     }

    }

 

    String photoLink = entry.getContactPhotoLink().getHref();

    System.out.println("Photo Link: " + photoLink);

 

    if (photoLink.getEtag() != null) {

      System.out.println("Contact Photo's ETag: " + photoLink.getEtag());

    }

 

    System.out.println("Contact's ETag: " + entry.getEtag());

  }

}
9. หลังจากที่รับทุก Contact มาแล้วจากนั้นจำเป็นการ Update Contact ที่ต้องการโดยใช้ Source code ต่อไปนี้ โดยในตัวอย่างนี้จะเป็นการ Update เฉพาะ ชื่อของ Contact นั้นเท่านั้น
public static ContactEntry updateContactName(

    ContactsService myService, ContactEntry entryToUpdate, String newName)

    throws ServiceException, IOException {

  entryToUpdate.setTitle(new PlainTextConstruct(newName));

  URL editUrl = new URL(entryToUpdate.getEditLink().getHref());

  return myService.update(editUrl, entryToUpdate);

}
10. และสุดท้ายคือการลบ Contact ซึ่งการจะลบ Contact จะต้องรู้ว่าต้องการลบ Contact ใด แล้วจึงทำการลบ Contact ออกจาก Account โดยใช้ Source Code ดังต่อไปนี้
public static void deleteContact(ContactEntry entryToDelete)

    throws ServiceException, IOException {

 entryToDelete.delete();

}
ข้อเขียนนี้ช่วยฉัน:  

Wednesday, November 11, 2009

Google App Engine บน iPhone

มีเครื่องมือหนึ่งที่ช่วยให้เราพัฒนา Application ของเราให้แสดงบน iPhone ได้ในรูปแบบที่สวยงาม ชื่อว่า iWebkit โดยมีวิธีการง่ายๆดังนี้
  1. สร้างโปรเจค Web Application Project บน Eclipse ขึ้นมาใหม่ ถ้าหากมีโปรเจคอยู่แล้วก็ให้เปิดโปรเจคที่ต้องการให้แสดงผลบน iPhone ได้ ขึ้นมา

  2. ดาวโหลด iWebKit เวอร์ชั่นล่าสุดจาก http://iwebkit.net/download
  3. จะได้ไฟล์ที่ชื่อ iwebkit x.x.x (x คือเลขเวอร์ชั่น) มา ให้แตกไฟล์แล้วจะเห็นไฟล์ดังรูป
  4. ทำการคัดลอกโฟลเดอร์ css, images, javascript, และ thumbs ที่อยู่ใน iWebKit_x.x.x/Framework ไปใส่ในโปรเจคของเราที่ war/. ดังรูป
    1. ทำการแก้ไขโค๊ด html ของเรา (war/index.html) ให้เป็นรูปแบบ html ของ iWebKit ซึ่งดูรูปแบบคำสั่งได้จากไฟล์ iWebKit_x.x.x/UserGuide.pdf และดูตัวอย่างได้จาก iWebKit_x.x.x/Demo/index.html
    2. หากต้องการดูผลรันApplication ให้ดูผ่าน Web Browser ที่ชื่อ Safari ซึ่งดาวโหลดได้จาก http://www.apple.com/safari/download/ ซึ่งจะแสดงผลคล้าย iPhone มากกว่า Web Browser ตัวอื่น หรือจะทำการ Deploy ไปที่ Google แล้วค่อยดูผ่านเครื่อง iPhone จริงๆก็ได้
    ข้อเขียนนี้ช่วยฉัน:  

    Friday, November 6, 2009

    การติดตั้ง Google App Engine และ Google Plugin สำหรับ Eclipse

    1. เริ่มต้นด้วยการดาวน์โหลด "Java SE Development Kit (JDK)" และติดตั้งลงในเครื่อง โดย Google App Engine จะรองรับกับ Java 5 และ Java 6 เท่านั้น

    2. จากนั้นให้ทำการดาวน์โหลดโปรแกรม Eclipse จาก "http://www.eclipse.org/" และติดตั้งลงในเครื่อง

    3. ดาวน์โหลด Google Plugin for Eclipse โดยจะมี Plugin สำหรับ Eclipse อยู่ 3 เวอร์ชั่น คือ 3.3, 3.4 และ 3.5 โดยสามารถดาวน์โหลด Plugin สำหรับเวอร์ชั่นต่างๆ จากลิงค์ด้วยล่าง

    - The Google Plugin for Eclipse, for Eclipse 3.3 (Europa):

    http://dl.google.com/eclipse/plugin/3.3

    - The Google Plugin for Eclipse, for Eclipse 3.4 (Ganymade):

    http://dl.google.com/eclipse/plugin/3.4

    - The Google Plugin for Eclipse, for Eclipse 3.5 (Galileo):

    http://dl.google.com/eclipse/plugin/3.5

    4. ทำการติดตั้ง App Engine Java SDK โดยใช้ โปรแกรม Eclipse โดยไปที่ เมนู Help > Install New Software
    Step 4 - Install

    5. ในช่อง Work with ให้ใส่ location สำหรับเวอร์ชั่น 3.5 ให้ใส่ “http://dl.google.com/eclipse/plugin/3.5” ดังรูป

    Step 5 - Add location

    6. จากนั้นให้ Enable Check Box ที่ Plugin และ SDKs จากนั้น Click Next รอจนโปรแกรมทำการดาวน์โหลดและติดตั้งจนเสร็จแล้ว Click Finish

    Step 6 - Enable Plugin Check Box

    อ้างอิง
    ข้อเขียนนี้ช่วยฉัน: