Drupal showcase Uit in Vlaanderen

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Drupal showcase Uit in Vlaanderen - Presentation Transcript

    1. Drupal showcase Davy Van Den Bremt dotProjects Monday, February 9, 2009
    2. I am... • Davy Van Den Bremt • 2 years full time Drupal stubru.be, donna.be, p-magazine.com, idf.org, uzleuven.be, ... • drupalcoder.com • administration theme, instant search, thumb, dodge, ... Monday, February 9, 2009
    3. What’s this about ? • Event site • Built on top of API (data not in Drupal) • Modules (contributed and custom) • Extend block visibility • Service attachments • Theming and performance tips Monday, February 9, 2009
    4. introducing... uitinvlaanderen.be (under construction ;)) Monday, February 9, 2009
    5. Browsing events Monday, February 9, 2009
    6. Still browsing... Monday, February 9, 2009
    7. ... and filtering Monday, February 9, 2009
    8. Get details Monday, February 9, 2009
    9. Crosslinks Monday, February 9, 2009
    10. Enriched info Monday, February 9, 2009
    11. User interaction Monday, February 9, 2009
    12. Editorial content Monday, February 9, 2009
    13. Who was it built for? Monday, February 9, 2009
    14. Cultuurnet Vlaanderen • Gathers events • Publishes events • To partners • On their own website (uitinvlaanderen.be) • Has an API now Monday, February 9, 2009
    15. Who was involved? Monday, February 9, 2009
    16. Team • Cultuurnet : concept / API • Amplexor : PM • Gonzales : graphical design and slicing • dotProject : Drupal integration • AG Consult : usability testing Monday, February 9, 2009
    17. When was it built? Monday, February 9, 2009
    18. Timing • Concept • Design + Usability • Drupal integration • Usability testing • Design + Drupal integration Monday, February 9, 2009
    19. How it was built Monday, February 9, 2009
    20. Feature 1 Editorial content and user interaction Monday, February 9, 2009
    21. Editorial content • CCK • Views • Imagecache • FCKEditor • IMCE • Webform • Scheduler Monday, February 9, 2009
    22. User interaction • Flag • Fivestar • Comment • LoginToBoggan • Forward • AddToAny (no module) Monday, February 9, 2009
    23. Feature 2 Browsing events Monday, February 9, 2009
    24. Cultuurnet API • Access to in-house events database • REST • Methods • Get list of events what, where, when + facets • Get details for event • Get detail for location Monday, February 9, 2009
    25. PHP API on REST API • Provides PHP level functions cnapi_get_events(array(‘query’ => ‘Madonna’)); cnapi_get_events(array(‘zip’ => ‘9000’)); cnapi_get_event(array(‘cdbid’ => ‘123ABC’)); • Returns objects representing events • Built as Drupal module with administration interface Monday, February 9, 2009
    26. Params • Canonical representation of request array(‘action’ => ‘events/search’, ‘query’ => array(‘zip’ => 9000, ‘query’ => ‘Animal Collective’)); • Get out quirks • Remove defaults • Arrays are easier to work with then strings Monday, February 9, 2009
    27. URL translation • translation between • params • API url • Drupal url • clean url handling • counterparts for l and url • Get current context : cnapi_get_request_params Monday, February 9, 2009
    28. Syncing events • To enrich events, we need them as nodes • Creating a node for each event • Offline syncing Every x hours incremental • Realtime syncing • As soon as requested • custom_url_rewrite Monday, February 9, 2009
    29. Feature 3 Service attachments Monday, February 9, 2009
    30. What was needed ? • Finding videos, photos, restaurants, ... on third party webservices • Youtube • Flickr • Wikipedia • Resto.be • .... Monday, February 9, 2009
    31. What was developed ? • “Framework” • Define a service and its parameters • Define how to query a service for a “keyword” (one request only!) • Multiple “candidates” per node. Monday, February 9, 2009
    32. Example : Wikipedia Monday, February 9, 2009
    33. Defining service Monday, February 9, 2009
    34. Defining request Monday, February 9, 2009
    35. Walkthrough Monday, February 9, 2009
    36. Run parameters Monday, February 9, 2009
    37. Service without options Monday, February 9, 2009
    38. Service with options Monday, February 9, 2009
    39. Blacklisting candidates Monday, February 9, 2009
    40. Per content type settings Monday, February 9, 2009
    41. Candidates Monday, February 9, 2009
    42. Results found Monday, February 9, 2009
    43. How flexible is this ? Monday, February 9, 2009
    44. Media service (1) Problem: Gathering more info on nodes from RSS feeds. Newspapers, magazines, blogs, ... Monday, February 9, 2009
    45. Media service (2) • Solution • Second site(uhm... drupal) • feed_aggregator (contributed module!!!) • service_attachments • OpenSearch Feed (contributed module!!!) • hook_service_attachments Monday, February 9, 2009
    46. Related nodes • Find relations between nodes • Define a service that does a query via drupal search • So it’s not limited to remote services Monday, February 9, 2009
    47. Feature 4 Block visibility Monday, February 9, 2009
    48. Block visibility (1) • Show a block only on event listings that have parameter X • Example Show a block “Popular events in Brussel” only if someone has filtered on “Brussel” Monday, February 9, 2009
    49. Block visibility (2) • Candidate Drupal solutions • PHP block visbility (too hard) • Hooks (not available this time) • Solution • Some jQuery magic • hook_form_alter • multiple submits Monday, February 9, 2009
    50. Block visibility (3) Monday, February 9, 2009
    51. Feature 5 API Views Monday, February 9, 2009
    52. Cultuurnet API Views • Allows editors to create listings of events • Pages and blocks • NOT built on THE views module • Works directly on API, not on nodes Monday, February 9, 2009
    53. Monday, February 9, 2009
    54. Monday, February 9, 2009
    55. Monday, February 9, 2009
    56. Some tips & tricks Monday, February 9, 2009
    57. Theming • Ask for a PHP click through model • Allows to test if regions/blocks are well understood • Get a head start on theming • Discover HTML mistakes Monday, February 9, 2009
    58. Performance detection • Devel • Detect slow queries • Detect queries you hadn’t expected • YSlow • Client side optimisations • Profiler • Detect slow parts • Detect weird flows Monday, February 9, 2009
    59. Performance optimisation • cache_set, cache_get • page cache and block cache • mod_deflate (only on css, js, ...) • page compression • opcache • mod_expires Monday, February 9, 2009
    60. What got contributed? Monday, February 9, 2009
    61. Contributed modules • Administration theme • Thumb • Service attachments (coming soon) Monday, February 9, 2009
    62. The end Monday, February 9, 2009
    63. Questions ? Monday, February 9, 2009

    + davyvdbdavyvdb, 9 months ago

    custom

    1610 views, 1 favs, 2 embeds more stats

    Building an event site
    Drupal site built on top of more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1610
      • 1391 on SlideShare
      • 219 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 30
    Most viewed embeds
    • 215 views on http://www.drupalcoder.com
    • 4 views on http://audience.damusic.be

    more

    All embeds
    • 215 views on http://www.drupalcoder.com
    • 4 views on http://audience.damusic.be

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories