Transcript
Page 1: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Drupal Services

Page 2: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Gold Sponsor ofDrupalCamp Kyiv 2011

Page 3: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Silver Sponsors ofDrupalCamp Kyiv 2011

Page 4: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Presentation plan

What is Services for? Resources out-of-box. Services API Building REST interface with Services Future of Services

Page 5: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Architechture

Page 6: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x

resource oriented (CRUD = create, retrieve, update, delete, index)

different formatters (php, json, jsonp, xml, ...) separate endpoints (exportable to features)

Page 7: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x resources

Node resource Taxonomy vocabulary resource (getTree) Taxonomy term resource (selectNodes) User resource (login, logout, register) Comment resource (loadNodeComments,

countAll, countNew) System resource (no CRUD) (connect,

get_variable, set_variable)

Page 8: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x resources

File resource (CRUD) (nodeFiles)

Page 9: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x hook_services_resources

Page 10: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x hook_services_resources

Page 11: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Services 3.x REST server formatters

http://<your_domain>/<your_endpoint_path>/<your_resource_path>.<formatter>

Standard: php, json, jsonp, xml, yaml, bencode (see RESTServerViewBuiltIn)

Page 12: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Build REST interface

Implement CRUD functionality. Use actions, relationships

resource/node/X/comments Use aliases if needed. Write unit tests (TDD)

Page 13: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Future of Services

Context objects Entities Views Core

Page 14: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Tools & Resources

Poster https://addons.mozilla.org/en-US/firefox/addon/2691

Services Handbook http://drupal.org/handbook/modules/services

Tests A future for Services. http://goodold.se/blog/tech/future-

services-3x

Groups http://groups.drupal.org/services

Page 15: Yuriy Gerasimov. Drupal Services. Integration with third party applications. iphone, android etc. DrupalCamp Kyiv 2011

Questions

Ваша фотка email: [email protected]

twitter: ygerasimov

skype: yuriy_gerasimov

d.o.: http://drupal.org/user/257311