Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime. presentation at Plone Conference 2012

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

  1. Next generation multilingual story
  2. Ramon Navarro Bosch CTO at Developing Plone sites since 2003 Part time musician - Ramons blog / @bloodbare
  3. Víctor Fernández de AlbaLead web developer at Universitat Politècnica de Catalunya - Barcelona TechAuthor of Plone 3 Intranets (2010, Packt)Developing Plone sites since 2004 - Víctors Blog / @sneridagh
  4. HistoryProject started at Girona (Catalonia) sprint in 2005Gathered some of the Plone Rock StarsDesign decisions, base infrastructureOnly for AT, DX doesn’t even exist yet
  5. LinguaPloneGreat product created by Jarn“De facto” standard multilingual story for PloneOnly supports ATNow in “legacy” statusUsed (literally) in every Plone site (Ive) deployedLots of experience embedded
  6. LinguaPlone design factsStores translation relations into objectsUses catalog patches to hide content depending on current languageRelies in class inheritance to extend standard AT functionalitiesNot compatible with dexterity content types
  7. Enter PAMUses ZCA technologiesAT and DX compatibleManage translations via unified UI
  8. (UI)plone.multilingual (core)plone.multilingualbehavior (DX support)archetypes.multilingual (AT support)
  9. Rules of design1. There is no canonical content object2. Strict language root folders3. Neutral support outside LRF
  10. Features
  11. Language root foldersCreated on PAM setup
 (Language control panel)Plone folders implementing INavigationRootSubscribers in place...... to guarantee integrity... so each language is “jailed” inside its own LRF
  12. Babel viewUnified edit form either for AT and DXNot forced every time you edit a contentLP like, but with vitaminsInstant access (ajaxified) to other available translations in the left panel
  13. Language independent fieldsNo canonical implies changes in LIFs behaviorUsers can change the content inside a LIF and it gets replicated to othertranslation objects
  14. Marking LIFs in AT Same way as in LPaaiSrnFed tp.tigil( yil mFed, wde=tp.tigigt igtaaiSrnWde( .. .. ), lnugIdpnetTu agaeneedn=re),
  15. Marking LIFs in DX Grok directive In content type declaration classfo poemliigabhvo ipr drcie rm ln.utlnuleair mot ietvsdrcie.agaeneedn(fed) ietvslnugidpnetil
  16. Marking LIFs in DX Supermodel In your content type XML file declaration<il nm=mFed fed ae"yil" tp=zp.ceaTxLn" ye"oeshm.etie lnu:needn=tu" igaidpnet"re> <ecito / dsrpin > <il>yil<tte ttemFed/il><fed /il>
  17. Marking LIFs in DX Native In your codefo poemliigabhvo.nefcsipr IagaeneednFed rm ln.utlnuleairitrae mot LnugIdpnetilasPoie(Shm[mFed] IagaeneednFed lorvdsIceayil, LnugIdpnetil)
  18. Marking LIFs in DX Through the webVia the content type definition in the Dexterity Content Types control panel.
  19. Language selector policyThere are two policies in place in case the translation of a specific language doesnot exist (yet):LP way, the selector shows the nearest translated containerShows the user an informative view that shows the current available translationsfor the current content
  20. Neutral root folder support As a necessity due to LRFs There are use cases where “neutral” content is a must Assets, resources, media, documents...
  21. Translation mapAid for mental sanity of site editorsGraphical way to show content and its related translationsList of untranslated content (for mirror-translated sites)
  22. Google Translation service Integration with GTS (paid service) Icon in Babel view Setup API key in Language control panel
  23. LinguaPlone migrationMigration tab in Languages control panelNon-destructiveLookup your code for LP dependencies before migratingStill rough edges, should be addressed in sprint
  24. Internals
  25. Translatable marker interfacepoemliiga.nefcsIrnltbe ln.utlnulitrae.Tasaal
  26. AdaptersITranslationManagerITranslationLocatorITranslationClonerIt’s easy to create “policies” with more specific adapters (translation locator,selector, etc.)
  27. SubscribersLanguage integrity checkers Add to container Copy/paste Modify
  28. Storage
  29. Why?Modify translation without waking objectsDirect translation mapEasier to work on all translations (import/export)Too much catalog!!
  30. Unified get/set language Unified adapter for AT and DXfo poemliiga.nefcsipr Iagae rm ln.utlnulitrae mot Lnuglnug =Iagaecnet.e_agae) agae Lnug(otx)gtlnug(lnug =Iagaecnet.e_agaea) agae Lnug(otx)stlnug(c
  31. DEMO!
  32. RoadmapXLIFF export/importRemoving catalog patchIterate supportLinguaPlus/Linguatools set of useful toolsLocator translation policyOutdated translations alerts and translation workflows support
  33. supportAdd support for Deco layouts and tiles
  34. Sprint!LinguaPlone Migration improvementsUI Rough edgesMore Testing and use casesLocator translation policyJoin us on PC Sprint!

  35. Special thanks to... Anne Walter Jonathan Lewis Martijn Pieters Martin Aspeli David Glick Patrick Gerken Thomas Masmann Jean Carel Brand Mikel Larreategui
  36. Thank you! Questions? Ramon Navarro Bosch (@bloodbare) Víctor Fernández de Alba (@sneridagh)

    Be the first to comment

    Login to see the comments presentation at Plone Conference 2012


Total views


On Slideshare


From embeds


Number of embeds