O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

SkinMuseum: a museum collection management software

2.639 visualizações

Publicada em

At SKINSOFT, we dedicate in building a flexible framework ready to address any collection management business requirements on top of Nuxeo. SkinMuseum is a business application example based on our framework addressing the museum collection standards. One component of our framework is the ExtJS player. This talk will be the occasion to present it and announce its open source release.

Publicada em: Tecnologia, Educação
  • Seja o primeiro a comentar

SkinMuseum: a museum collection management software

  1. 1. SkinMuseum : a museum collection management software <ul><ul><li>Nel Taurisson </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>Nuxeo Dev Day 2008 </li></ul></ul><ul><ul><li>01/12/2008 </li></ul></ul>
  2. 2. SKIN-SOFT <ul><li>Young innovative R&D organisation </li></ul><ul><li>Focuses on developing collection inventory and publishing softwares </li></ul><ul><li>First application : SkinMuseum dedicated to museum inventories </li></ul><ul><li>More to come... </li></ul>
  3. 3. SKIN-SOFT <ul><li>No one-shot-application development </li></ul><ul><li>A framework instanciated in multiple applications </li></ul><ul><li>Naturally, we turned to the Open Source community </li></ul><ul><li>Naturally, we wish to participate </li></ul>
  4. 4. Agenda <ul><li>Museum collection management : Constraints </li></ul><ul><li>SkinMuseum snapshots </li></ul><ul><li>The SKPlayer </li></ul><ul><ul><li>ExtJS client </li></ul></ul><ul><ul><li>Google Gears integration </li></ul></ul><ul><ul><li>Nuxeo Action / View / Layout player </li></ul></ul><ul><ul><li>Open Source release: first semester 2009 </li></ul></ul>
  5. 5. Constraints (1) <ul><li>Very complex document structure </li></ul><ul><ul><li>lots of fields </li></ul></ul><ul><ul><li>deep fields </li></ul></ul>
  6. 6. Constraints (2) <ul><li>Huge structured thesauri and controlled vocabularies, i.e., huge directories </li></ul><ul><ul><li>tree directories </li></ul></ul><ul><ul><li>unpredictable tree depth </li></ul></ul>
  7. 7. Constraints (3) <ul><li>The audience : no IT gurus seen yet ! </li></ul><ul><li>Articulate collaboration in the museum </li></ul><ul><ul><li>this is a new feature / existing software </li></ul></ul><ul><li>Web Based </li></ul>
  8. 8. Constraint (4) <ul><li>WebBased BUT should be able to work partly offline : </li></ul><ul><ul><li>The « récollement » need </li></ul></ul><ul><ul><ul><li>Can be used to align the inventoried objects (the data in the software) with the objects that really are in the museum </li></ul></ul></ul>
  9. 9. Dealing with the constraints <ul><li>Complex Document Structure / Rich and Simple UI </li></ul><ul><ul><li>ExtJS / SeamRemoting </li></ul></ul><ul><li>Huge structured directories </li></ul><ul><ul><li>Gears : client side directory replication with a dedicated implementation of SQLDirectories </li></ul></ul><ul><li>Offline mode </li></ul><ul><ul><li>Gears : document replication / locking / update </li></ul></ul>
  10. 10. SkinMuseum Snapshots
  11. 11. SkinMuseum Snapshots
  12. 12. SkinMuseum Snapshots
  13. 13. SkinMuseum Snapshots
  14. 14. SkinMuseum Snapshots
  15. 15. SkinMuseum Snapshots
  16. 16. SKPlayer overview <ul><li>Javascript / SeamRemoting Client </li></ul><ul><li>Acts as a player for the Standard Nuxeo Action / View / Template mechanisms </li></ul><ul><ul><li>Widgets are written in Javascript (With ExtJS) </li></ul></ul><ul><ul><li>UI designed through the standard xml contribs </li></ul></ul><ul><li>Our goal : </li></ul><ul><ul><li>Business code only lives in workflows and event listeners </li></ul></ul><ul><ul><li>UI design is only a configuration issue (xml / css) </li></ul></ul><ul><ul><li>JS only used to develop reusable UI components </li></ul></ul>
  17. 17. SKPlayer mechanisms (1) <ul><li>UI described in layout contribs </li></ul>
  18. 18. SKPlayer mechanisms (2)
  19. 19. SKPlayer Mechanisms (3) <ul><li>Properties are applied to Underlying ExtJS Widgets </li></ul>
  20. 20. SKPlayer mechanisms (4) <ul><li>A widget library </li></ul><ul><ul><li>Base widgets : text, textarea, int, float, layout... </li></ul></ul><ul><ul><li>Composed widgets : list, complex </li></ul></ul><ul><ul><li>Container widgets : border container, column container, tabs container </li></ul></ul><ul><ul><li>Rich widgets : repository explorer, selected document view, media management widgets ... </li></ul></ul><ul><ul><li>Workflow widgets : worflow layout, work item layout... </li></ul></ul>
  21. 21. SKPlayer mechanisms (5) <ul><li>Client side message bus </li></ul><ul><ul><li>Some widgets broadcast messages (ex: selection widgets) </li></ul></ul><ul><ul><li>Any widget can react to messages (react code added in the layout) </li></ul></ul>
  22. 22. TODOs (before public release) <ul><li>Complete l10n </li></ul><ul><li>Code cleaning / refactoring </li></ul><ul><li>Improving documentation </li></ul><ul><li>Demo App </li></ul><ul><li>LGPL Release: end of first semester 2009 </li></ul>
  23. 23. SkinMuseum : a museum collection management software <ul><ul><li>Nel Taurisson </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>Nuxeo Dev Day 2008 </li></ul></ul><ul><ul><li>12/01/2008 </li></ul></ul>
  24. 24. SKPlayer overview <ul><li>Gears integration : </li></ul><ul><ul><li>Layout caching </li></ul></ul><ul><ul><li>Client side directory replication </li></ul></ul><ul><ul><li>Document caching (coming soon...) </li></ul></ul><ul><ul><li>Offline mode (coming soon to...) </li></ul></ul>
  25. 25. SKPlayer Engine / Theme <ul><li>The ExtJS engine : </li></ul><ul><ul><li>Bootstraps the JS framework </li></ul></ul><ul><li>Theme fragments : </li></ul><ul><ul><li>contribute ExtJS building block (base UI : document views, repository explorer tree, etc...) </li></ul></ul>