คือผมได้รับมอบหมายให้ทำแอพตัวนึงครับ ลักษณะของแอพคือ สามารถ Back up Contact ทั้งหมดในเครื่องไว้บนเซิฟเวอร์ได้ และสามารถ Restore กลับมาได้ในกรณีที่เครื่องมีปัญหา ทีนี้อาจารย์ท่านเคยเปรย ๆ มาว่าให้ใช้ LDAP ช่วย
พอผมหาข้อมูลไปสักพักเริ่มตันครับ ไม่เข้าใจว่า LDAP กับ Contact มันต่างกันยังไง แล้วผมลองหา Library ที่เกี่ยวกับ LDAP บน iPhone ดู ปรากฎว่าส่วนใหญ่มันมแต่ฟังก์ชันสำหรับ Search ครับ ไม่มีสำหรับการ Add ข้อมูลลงไปเลย
ใครพอชี้แนะได้ รบกวนด้วยครับ พอดีเป็นแค่เด็กมือใหม่ตัวน้อย ๆ >.<"
ใช้ ABContact ครับไม่ได้ใช้
aofiee Mon, 09/05/2011 - 16:42
ใช้ ABContact ครับไม่ได้ใช้ LDAP เลยครับ
http://www.redbits.com/iphone
quizer Mon, 09/05/2011 - 16:47
http://www.redbits.com/iphone/abcontacts/ << หมายถึงตัวนี้รึเปล่าครับ
คือผมต้องเขียนขึ้นมาเองตัวนึงน่ะครับ ไม่ใช่หาแอพที่มีอยู่แล้ว (ผมเข้าใจถูกรึเปล่าหว่า)
ไม่ใช่ครับ ใช้ api framework
aofiee Mon, 09/05/2011 - 17:03
ไม่ใช่ครับ ใช้ api framework ของตัว iphone ครับ มีการเรียกใช้งาน contact list ในเครื่อง ไม่ว่าจะเรียกมาดู แก้ไข หรือลบหน่ะครับ
ชื่อ Class Addressbook หน่ะครับ
อ่อ ตรงนั้นพอได้แล้วครับ
quizer Mon, 09/05/2011 - 17:14
In reply to ไม่ใช่ครับ ใช้ api framework by aofiee
อ่อ ตรงนั้นพอได้แล้วครับ เหลือแต่ตอนโยนขึ้นไปเก็บไว้บนเซิฟเวอร์น่ะครับ
ก้อเขียน php ทำเป็น
aofiee Mon, 09/05/2011 - 17:23
ก้อเขียน php ทำเป็น webservice รอรับค่า แล้วเราส่งค่าขึ้น server ไปเป็น xml หรือ json format ครับ
คือท่านบอกให้ใช้ LDAP น่ะครับ
quizer Mon, 09/05/2011 - 20:01
คือท่านบอกให้ใช้ LDAP น่ะครับ เลยไม่รู้จะจับมาชนกันยังไง
ผมว่ามันไม่เกี่ยวกันเลยนะ
lancaster Mon, 09/05/2011 - 23:19
ผมว่ามันไม่เกี่ยวกันเลยนะ LDAP เนี่ย
จริงๆ แล้ว LDAP นี่ออกแบบมา
lew Tue, 10/05/2011 - 16:13
In reply to ผมว่ามันไม่เกี่ยวกันเลยนะ by lancaster
จริงๆ แล้ว LDAP นี่ออกแบบมา "เพื่อการนี้" เลยนะ การออกแบบครั้งแรกของมันคือสมุดหน้าขาวอิเล็กทรอนิกส์ (Lightweight Directory Access Protocol)
LDAP เป็น "หน้าบ้าน" สำหรับการดึงข้อมูล โดยมีการกำหนดชนิดของข้อมูลไว้ล่วงหน้า เช่นว่าถ้าเป็น บุคคลก็จะมี field ต่างๆ เตรียมไว้ให้, ถ้าเป็นพนักงาน ก็จะมี field อีกชุดซึ่ง inherit มาจากบุคคลอีกทีหนึ่ง
LDAP ไม่กำหนดการเก็บข้อมูล การสื่อสารด้วย LDAP อาจจะเก็บข้อมูลด้วย MySQL ได้
บริษัทจำนวนมากเก็บฐานข้อมูลพนักงานเป็น LDAP อยู่แล้ว โดยเฉพาะในกลุ่ม windows server ทั้งหลายที่เก็บข้อมูลผู้ใช้เป็น Active Directory แต่การ sync กับโทรศัพท์มือถือในทุกวันนี้ เราอาจจะใช้การต่อผ่าน Exchange ซึ่งหลังบ้านไปต่อกับ LDAP อีกทีก็ได้ เพราะ "ปรกติ" แล้วการอนุญาตให้เครื่องใดๆ เข้าอ่านฐานข้อมูลใน LDAP ได้มักจะอนุญาตยากมาก
แต่ก็ไม่มีใครห้ามไม่ให้เราค้นข้อมูลจาก LDAP โดยตรง แล้ว Sync ขึ้นมาอยู่บน Contacts ถ้าเราคุยกับ admin ได้
ส่วน LDAP Authen เป็น extension ที่เพิ่มเข้าไปทีหลัง
LDAP ส่วนใหญ่มีไว้สำหรับ
sathdr Tue, 10/05/2011 - 00:16
LDAP ส่วนใหญ่มีไว้สำหรับ authenticate user ครับ พื้นฐานจริงๆมันเก็บข้อมูลแบบ tree ซึ่งจะเก็บอะไรก็ได้ แต่ปกติจะเอาไว้เก็บข้อมูล user ในองค์กรครับ ถ้าจะเก็บ contact ขององค์กรนี่ก็พอได้เหมือนกัน แต่ถ้าเก็บ contact ของแต่ละคน ผมว่ามันแปลกๆนะ ถ้าโดนบังคับให้ใช้จริงๆท่าทางฝั่ง server คงจะซับซ้อนและวุ่นวายมาก แทนที่จะช่วย ผมว่า LDAP มันจะทำให้งานเสร็จช้ามากกว่าครับ ใช้ database ปกติน่าจะดีกว่า
เรื่อง performance นั้น LDAP server ปกติจะ optimize ให้อ่านข้อมูลได้เร็วมากๆ เลยเหมาะใช้สำหรับ authenticate user และเอาไว้ค้นหาข้อมูลบุคคลในองค์กร ถ้าเป็นงานที่ต้องอัพเดทบ่อยๆ เช่นต้องมา sync เพื่ออัพเดททุกวัน ไม่น่าจะเหมาะครับ
ลองหาข้อมูลเกี่ยวกับ LDAP ไปคุยกับอาจารย์ดูนะครับ เทคโนโลยีมันเยอะ บางทีอาจารย์เขาก็รู้แค่คร่าวๆ ก็นึกว่าใช้ได้ ถ้าเราว่าไม่เกี่ยวหรือไม่ดีก็ลองปรึกษาอาจารย์ดูได้ครับ แต่ถ้าจะดันทุรังใช้จริงๆมันก็ได้อยู่นะครับ เพียงแต่ว่ามันไม่เหมาะกับงานนี้ครับ
มีท่านใดพอมี
quizer Tue, 10/05/2011 - 10:08
มีท่านใดพอมี ตัวอื่นแนะนำมั้ยครับ ที่มันเหมาะสมกว่า SQL
XML
PaPaSEK Tue, 10/05/2011 - 11:18
In reply to มีท่านใดพอมี by quizer
XML พอจะได้มั้ยครับ
ส่วนที่อาจารย์ท่านแนะนำมา ก็คือคำแนะนำครับ ใช้เป็นแนวทางไม่จำเป็นต้องทำตามเป๊ะ ถ้าไม่ใช่คำสั่ง
แล้วตอนนี้ทราบหรือวางแผนเอาไว้รึยังครับว่าจะนำขึ้นเก็บบน Server โดยเทคโนโลยีตัวไหน
Web Service?
ตอนนี้กำลังมึนงงมากเลยครับ
quizer Tue, 10/05/2011 - 12:42
In reply to XML by PaPaSEK
ตอนนี้กำลังมึนงงมากเลยครับ ไม่เคยเขียน client-server มาก่อน
แล้วเก็บบน server มันใช้เทคโนโลยีไหนได้บ้างครับ...
project
aofiee Tue, 10/05/2011 - 10:13
project เก่าผมใช้เป็น
1.iphone ดึง contact สร้างเป็น xml หรือ json
2.นำ data ที่ได้ โพสผ่าน http จากตัว app ไปที่ webservice
3.wevservice รับข้อมูลมาบันทึกลง database
ไม่ได้ติดต่อ ldap เลย ก็เลยแนะนำไปเยี่ยงนั้นขอรับ
อาจารย์เคยบอกว่า xml มันไม่
quizer Tue, 10/05/2011 - 12:45
In reply to project by aofiee
อาจารย์เคยบอกว่า xml มันไม่ standard น่ะครับ ตอนนี้เลยดูตัวนี้อยู่ครับ http://calendarserver.org/
แต่ประเด็นคือมันมี code มาให้ แต่ไม่มี manual อะไรเลย...
ถ้าไม่ได้จริง ๆ คงต้อง xml แล้วล่ะครับ
ว่าแต่ถ้าจะใช้ xml ผมต้องทำยังไงบ้างครับเนี่ย...
คือถามก่อนครับว่าจะเก็บข้อมูล
bongikairu Tue, 10/05/2011 - 14:02
In reply to อาจารย์เคยบอกว่า xml มันไม่ by quizer
คือถามก่อนครับว่าจะเก็บข้อมูลอย่างเดียวหรือว่าสามารถดูข้อมูลบน server ได้ด้วย ถ้าเก็บอย่างเดียว XML ก็พอแล้วครับ เพราะ XML คือมาตราฐานการเก็บข้อมูลเชิงวัตถุเข้าไปเป็น text-based หน่ะครับ (เรียกว่า serialize) ซึ่งนอกจาก XML แล้วก็มี JSON อีกตัวที่กำลังได้รับความนิยม
ก็เก็บไว้
quizer Tue, 10/05/2011 - 14:20
In reply to คือถามก่อนครับว่าจะเก็บข้อมูล by bongikairu
ก็เก็บไว้ แล้วก็สามารถดึงลงมาได้ครับ (กรณีเครื่องหาย หรืออะไรทำนองนั้น...) แค่นั้นเองครับ
อ่านจากที่เีขียนมาเข้าใจว่า
duoh Wed, 11/05/2011 - 02:15
อ่านจากที่เีขียนมาเข้าใจว่า ให้นำข้อมูลจาก iphone ขึ้น server ใช่ป่าวครับ
ถ้าใช่ ต้องเกิ่นนิดหนึ่งว่า ldap นั้นเป็นโปรโตคอลที่พื้นฐานมาจาก TCP/IP ครับ
โดยที่ server นั้นต้องมี directory server ไว้คอยเก็บข้อมูลด้วย
ลองใช้ Openldap ดูครับส่วนวิธีใช้งานก็ที่เว็บ official เลย
ขอบคุณครับ
quizer Thu, 12/05/2011 - 10:18
In reply to อ่านจากที่เีขียนมาเข้าใจว่า by duoh
ขอบคุณครับ พอดีผมติดอยู่ตรงวิทีใช้งานนี่แหละครับ ลองไปหา Library จากหลาย ๆ ที่มาดูก็ปรากฎว่ามีแต่ที่เค้าเอาไว้ใช้ Search กัน ไม่มีแบบที่สามารถ add ข้อมูลลงไปได้เท่าไหร่
ตอนนี้ยังไม่คืบเลยครับ.. TT