Kamon Ayeva Antipatterns, Patterns, And Rules Of Thumb For Successful Plone Projects

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 Group

    Kamon Ayeva Antipatterns, Patterns, And Rules Of Thumb For Successful Plone Projects - Presentation Transcript

    1. Anti-patterns and Patterns for successful projects
        • Things to avoid and things to do in a difficult content management world !
        • Speaker: Kamon AYEVA
    2. Me
        • Kamon AYEVA
        • Ingeniweb
        • Zope/Plone solutions & training
    3. Introduction ( Why care ?)
        • Any website project is a ”software” project
        • ... at some level !
    4. People
        • User - Project Manager - Developer
    5. Successful project ?
        • Success depends on how the 3 parties work together
    6. The main challenge
        • Each party has his own priorities !
    7. The first tip !
        • Better understand each other !
    8. The Developer
        • It's a though game here !
        • CMS, DMS, Web 2.0
        • Frameworks, Flex, AjaX, JavaFX
        • Python, Java, Ruby, .Net
        • Trying hard to get the CMS right !
    9. The Project Manager
        • Speaks with User... then speaks with Developer... then...
        • Manages the budget.
    10. The User
        • The tool should address my needs.
        • The tool should be easy to use.
        • I don't want to change my habits !
    11. By the way...
        • User should be put first !
    12. When a project works...
        • User is happy.
        • Project Manager can have better sleeps.
        • Developer is creative, and can leave the office early.
    13. Huh ?
        • So it's possible ?
    14. Me thinks so !
        • A way of living:
        • Avoid things that don't work, a.k.a. ”anti-patterns”
        • Apply rules and patterns that work !
    15. Anti-patterns
        • Things to avoid !
    16. #1 Re-inventing the wheel
        • Reinventing systems that are already good at the job: File Server, DMS, Mail Server...
    17. #2 If You Build It, They Will Come
        • What problem are you trying to address ?
        • For who ?
    18. IYBITWC trap
      • Building interesting tools that the Enterprise users are not yet ready for
        • Groupware / Sharing tools
        • Web 2.0
    19. #3 Gaz Factory
        • You really want to avoid this one !
    20. GF example
      • Publishing workflow that maps the organization hierarchy
        • ”I need N reviewing steps because the Author has a boss who has a boss who has a boss...”
          • This is Web - 1.0
    21. #4 The input of the field is a selection
        • Incomplete specification !!!
        • List of values or unique value ?
    22. There are more...
      • Software bloat
      • Design by committee
      • Golden hammer
    23. Principles & Patterns
        • Better live with some principles !
    24. #1 The Pareto principle
        • 80% of the effects come from 20% of the causes
        • a.k.a. the 80-20 rule
    25. The 80-20 rule in action
        • Identify and focus first on delivering your 20% part of the message, content, system...
    26. #2 KISS
        • Keep It Simple Stupid !
    27. Kiss, Kiss, Kiss...
        • Whenever possible, choose a simple solution
    28. KISS' friends
      • Simple is better than complex
        • Flat is better than nested/hierarchical
      • Complex is better than complicated
    29. #3 YAGNI
        • You Ain't Gonna Need It !
    30. Typical ”YAGNI”
        • ” The discussion forum”
    31. Oh my gosh !
        • ” I want a forum within each teamspace”
    32. YAGNI ? BKIS !
        • Better Know It Soon !
        • Avoid potential bugs with non-needed stuff.
    33. #4 The Right Thing
        • The design should be right !
        • (MIT)
    34. #5 Worse is better
        • Simplicity is more important than rightness
    35. Advices
        • Principles and patterns put into action
    36. #1 Don't rethink the CMS
        • Just extend it !
    37. Extending ?
      • Focus on UI : Tweak things for your needs
      • Make compromises !!!
      • Adapt existing logic...
      • Plug additional logic
    38. #2 Standardize or perish !
        • Use the tools/approaches adopted by others
    39. The Community's best practices
      • Infrastructure: Linux, ZEO...
      • Content types: Archetypes, ATCT, ArchGenXML...
      • Add-ons for OOTB services: PloneArticle, PloneFormGen, etc...
    40. #3 Play with the Community
      • Find help !
      • Give back
        • code
        • documentation
        • testing, reviewing...
    41. #4 Seperate concerns
      • Content vs. Presentation
        • Models - Data storage - DB
          • Views - Templates – CSS
      • Site structure vs. Site navigation
        • Containers
          • Navigation Views - Topics - Relations
    42. #5 Requirements
        • User stories
        • Use cases
    43. #6 Use a tracker
        • Better communication
        • Give access to users so they can report bugs
    44. #7 Quality
        • Unit & Functional tests
        • Documentation
        • Build for scaling
    45. More on scaling
        • Optimization
        • Caching
        • ZEO + load-balancing
    46. #8 Migrations
        • A migration project is a normal project, with additional difficulties
    47. Dump and reload !
        • Set up a new Plone site.
        • Dump ”configuration & content” from old site and load it in new site.
    48. #9 Use Plone 3
        • ” Best Plone Ever”
    49. Thank You !
        • Questions ?

    + woodawooda, 3 years ago

    custom

    1743 views, 0 favs, 0 embeds more stats

    Plone is cool, powerful and does what it promises. more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1743
      • 1743 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 60
    Most viewed embeds

    more

    All embeds

    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

    Groups / Events