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
- Create new content through the web
- 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
- Define new kinds of content
- Organize work
- 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
- Use case: Define permissions in a Python module
