ComponentDeveloper

The component developer is someone who creates software for use by SiteDevelopers. Component developers include people who develop:

  • Low-level content types
  • Application functionality
  • User interfaces, though they may work with and defer to SiteDesigners?.

They typically work at a low level, compared to site developers.

They often build components that can be deployed to multiple independent sites.

Goals

  • Provide applications to solve problems or automate processes (e.g. Content management).
    • Organize work

      Use case: Create a through-the-web package

    • Creating reusable software with components
      • Define new kinds of content

        Use case: Define a new Content Type in a Python module

        See Steps 1 and 2 of the Zope3PythonProgrammerTutorialChapter1.

        • Create new content through the web

          Use case: Create schema-based content types

          Use case: Create xml-schema-based content types

      • Define interfaces

        Use case: Define interface with a Python module

        Use case: Define an interface through the web

        Use case: Define schema through the web

      • Define content meta data

        Use case: PropertySets

      • Define browser presentation

        Use case: Define a browser view component in a Python module

        See Steps 3 and 4 of the Zope3PythonProgrammerTutorialChapter1.

        Use case: Define a browser view component through the web

      • Define FTP presentation

        Use case: Define an FTP view component in a Python module

        Use case: Define an FTP view component through the web

      • Define WebDAV? presentation

        Use case: Define an WebDAV? view component in a Python module

        Use case: Define an WebDAV? view component through the web

      • Define XML-RPC presentation

        Use case: Define an XML-RPC view component in a Python module

        Use case: Define an XML-RPC view component through the web

      • Define presentation resources

        Use case: Define simple file browser resources

        Use case: Define simple through the web browser resources

      • Define content-specific functionality

        Use case: Define an adapter in a Python module

        See Step 5 of the Zope3PythonProgrammerTutorialChapter1.

        Use case: Define an adapter through the web

        Use case: AttachApplicationDataToContentComponents

      • Define content-independent functionality

        Use case: Define a global utility in a Python module

        See Step 5 of the Zope3PythonProgrammerTutorialChapter1.

        Use case: Define a managed utility (see ManagedComponent?) in a Python module

        Use case: Define a utility through the web

      • Define services

        Use case: HowToCreateAServiceInAPythonModule

        Use case: Define a managed service (see ManagedComponent?) in a Python module

        Use case: How to create a service component through the web

  • Make components reusable

    Use case: Package file-system-based products

    This should include specification of dependencies. It's unclear what form this should take, given loose coupling. Perhaps this is just a matter of imports? Do dependencies include versions?

    Use case: Package through-the-web (database-managed) products

    Ditto wrt dependencies.

  • Extending other components (e.g. Use other components, subclass, aggregation)
  • Assure site security (See SecurityResponsabilities?)
    • Use case: Define permissions in a Python module

      See Step 1 of the Zope3PythonProgrammerTutorialChapter1.

    • Use case: Define permissions through the web



( 97 subscribers )