In October 2009 the project team began working on our first application, the Orchard CMS. We are following a three week iteration model, using an agile, test-driven approach to software development. In the near term, we’ll be implementing the features below. The feature roadmap is subject to change as the project evolves, and we welcome your input.
Currently implemented (partially)
- Basic admin panel and login
- CMS page creation and management
- Content zones within pages
- Content – Different content types/metadata, viewers and editors for content
- Content editing and publication (drafts, scheduling, preview)
- Extensibility - Initial content type and composability infrastructure (based on MVC2 areas)
- Media management (basic support for uploading and rendering images in content)
- Users, roles, membership and profile data (Users/Roles/Permissions, Mgmt)
- XML-RPC (Live Writer, MetaWebBlog) support for blogs
- Basic blog (create and manage blogs and posts, RSS/Atom, draft/publish, archives)
- Comments – Associate comments with content types, manage comments, spam protection
- Tags – Associate tags with content types, browse by tag
- Settings – App-level, extension-level settings definition and UI/management
- Themes – Theming model, UI to install/remove themes, preview themes
- Setup
- Simple navigation
- Multi-tenancy
- Azure support
- Command-line tooling
- Event model (a.k.a. plugins)
- App Localization (of admin panel, modules, themes)
- Content Localization (multi-lingual sites)
- Search and Indexing
- Module extensibility API and packaging
- Scaffolding of Modules (cmd-line)
- Creation of arbitrary content types and items - fields, parts
- Define content types, parts, and fields using the admin panel or code
- Add fields to content types using the admin panel or code
- Associate content parts to types using the admin panel or code
- Add fields or parts to existing content types using the admin panel or code
- Command-line support (bin/orchard.exe)
- Enabling features of modules
- Data migrations on module activation/upgrade
- Reporting (event logs)
- Search (based on Lucene)
- Application localization
- Content localization
- Module packaging
- Dynamic compilation of modules
- Data migrations
- Custom content types built from parts and fields
Current priorities - iteration finishes 9/1 pushed to 9/7
- Theme re-foundation
- Razor integration
- Helpers, Page Object Model
- Naming conventions for templates and CSS
Moved to next iteration:
- Layouts
- Migration of existing themes and modules to new theming engine
Areas of focus for future iterations (backlog, not in priority order)
- Publishing – Workflow/permissions, draft approval, history (restore from)
- Multiple templates for pages
- Votes/ratings – Associate ratings/rankings with content types
- SEO – Semantic URLs, metas/keywords, Web standards, sitemap
- Navigation – Navigation management, front-end UI (menus, breadcrumbs)
- Email subscriptions
- Admin – UI improvements, dashboard, notifications/email
- Database – Database configuration (local in-memory and server), import/export
- Profiles - User profiles, avatars, reputation system
- Themes – Additional themes improvements (in-browser editing, etc)
- Widgets – Admin UI and management for widgets, widget groups, mapping to zones
- Performance – Caching, optimization, script combining/minification
- Analytics – Reporting, site-use statistics
- Marketplace – Ability to browse/install extensions from online gallery
- Mobile - Support for management, moderation, publishing from mobile device
- Other Domain-specific packages – Commerce, Wiki, Forums, Ads, etc