Drupal Kata
Drupal Dojo website
This project will build a Web site that will serve as a learning community. Ultimately, the final product could also be used by another organization to create and run a similar program. Utilizing Web‐based social networking tools such as blogs, forums, and wikis, and a centralized repository for learning materials (video, audio, slideshows, documents) program administrators, facilitators, and participants will be able to attract, accept, and direct contributor time and resources and a easy to use platform for real-time online mentoring and also be able to disseminate information and collaborate with each other in a centralized virtual space both in and out of regular sessions. By generalizing these tools as much as possible and making them freely available to the public through the creation of tools and installation profiles, a wide variety of organizations and communities will be able to download them and customize them to match the individual needs of their particular program.
The entire project is being developed in the open with each phase an opportunity to learn by participating and/or observation.
| Referenced by | Last post | Author |
|---|---|---|
| Reconciling the site spec and development site | 9:52am Mar 17, 2010 | gusaus |
Drupal Dojo website - Open issues and priorites
The following are open issues and priorities that need to be resolved before the new Drupal Dojo site is live:
- Event submission and workflow
- Is it easy for anyone to submit a lesson?
- Will anybody be able to schedule a lesson or will there be any sort of admin control of what shows up or is featured on the site?
- How are we handling resources and media assets?
- Repository for learning materials
- How are we handling aggregation in general?
- Should managers/admins be the only ones who can submit feeds?
- What should we aggregate?
- User profiles and membership features
- What should be on user profiles and what roles should we have?
- Fundraising and sponsorships - We need a section to credit partners, sponsors and supporters
- Categorization - How are we categorizing content?
- Content sharing and distribution
- How will we share and distribute content?
- Design and theming
Background
In May 2007 Dries wrote a blog post identifying the levels and thresholds associated with ascending the Drupal learning curve (http://buytaert.net/drupal-learning-curve). He identified specific levels (thresholds) that individuals involved with using and/or developing for Drupal ranging from new users (I “suck” threshold) to active contributors to the Drupal community (“I kick ass” threshold). In response to the know-do gap between those who simply struggled in the Drupal community and those who actually advanced the spirit, mission and vision of the project the Drupal Dojo was born. The model was based on the Japanese concept of the dojo, which means: “the place of the way” and is defined as a training facility (http://en.wiktionary.org/wiki/dojo), usually led by one or more sensei; the Japanese term for “teacher” (http://en.wiktionary.org/wiki/sensei). The primary purpose of the Dojo was to provide a structured and safe learning environment for individuals looking to ascend the Drupal learning curve and connect like minded individuals (students) to other individuals who have experience and expertise (teachers).
From the outset of the initiative the Dojo was a tremendous success. For those that were familiar with the features, functionality, intricacies and nuances of the application it is an extremely flexible framework capable of being shaped into anything a developer needed it to be, however that same flexibility also breeds complexity and confusion with each new feature release. The associated learning curve has increased exponentially for new users, but fortunately they had a great resource in the Dojo, and could turn to the members/teachers to overcome the challenges with becoming proficient with the platform. As a result, demand and supply were united and under the leadership of individuals like Josh Koenig (joshk) , Addison Berry (add1sun), Dmitri Gaskin (dmitrig01), Joon Park (dvessel), Joel Farris (senpai), and Victor Kane (victorkane) the community thrived. However, with all volunteer led and driven projects, the success of the community are generally tied to a passionate core of volunteers, who much like everyone else don't always have time to carry-on with the vigor as they started with. In addition, the Dojo proved itself to be an excellent training and recruiting ground, and many of the initial key contributors went on to new opportunities or assumed more responsible roles (as a result of their involvement) that significantly impacted their ability to carry-out the mission and vision of the Dojo (http://groups.drupal.org/node/6622). The immediate result was the fact that the Dojo was a victim of its own success and has labored to maintain a relatively meager existence since late-2007. And despite numerous attempts to resurrect and formally re-define the Dojo over the past two years (http://groups.drupal.org/node/6622, http://groups.drupal.org/node/8919, http://groups.drupal.org/node/8414) the Dojo has failed to find firm footing with which to grow from largely due to a lack of a formally defined leadership structure and a achievable plan to both formalize the mission and vision and a leadership structure to help realize the goal. Most recently, in October 2008 Josh Koenig attempted to once again rally the Dojo for a comeback (http://groups.drupal.org/node/15832 ), but it struggled to gain the critical mass to move forward in a timely manner; at least until recently. Upon a close analysis of the history and legacy of the Dojo, the missing ingredient appeared to be someone who could assume the roles and responsibilities left open as the prior cadre of leaders took on new roles or moved on from the Drupal community.
However, notwithstanding the false starts and numerous challenges facing the community, the demand for a resource similar to the Dojo has not subsided. In fact to date the group has over 1900 members, with new members joining almost daily. Fortunately, a number of individuals continued to keep the idea of the Dojo alive. Thanks in large part to the individual effort of gusaus and a number of other dedicated volunteers, a new plan slowly began to take shape. Key among the principles, finding the right people to fulfill the right roles to provide passionate stewardship to the Dojo and help guide it back to it's respected place in the Drupal community. Over the past 12-months the Dojo has continued to produce a number of lessons (e.g. http://groups.drupal.org/node/16640 ), made an investment (http://groups.drupal.org/node/16983 ), funded totally by donations (http://groups.drupal.org/node/17806 ), to replace the previous screencasting/web conferencing system with DimDim a fully featured web conferencing system (http://groups.drupal.org/node/16320 ), and recently introduced a new Media Ninja class (http://groups.drupal.org/node/18213). To that end, the Dojo 2.0 team appears to have been reborn, similar to a phoenix rising from its own ashes.
The new Dojo team has lofty, but achievable, ambitions, starting with a significant redesign of the Dojo website (http://www.drupaldojo.com), and using the momentum and experience gained in that project to fuel and produce new learning activities for members of the Dojo. There are many more great things to come, but the journey of a thousand miles starts with a single step.
Objectives
Using widely supported and freely available software, the primary objective of this project is to re-create the Dojo as an effective learning, mentoring, and collaboration platform. As a secondary, but no less important objective, the project will also produce a set or tools (and configuration patterns) that will further enable online learning and promote collaboration, documentation and courseware, especially with a focus on realtime participation for the Drupal community. Secondary objectives include the creation of a 'open learning and collaboration portal' install profile will be available on http://drupal.org, learning materials captured during the development that will be in the Drupal handbooks, http://drupaldojo.com, and distributed around the web, and enforcing the concept of giving back by making any new modules, themes, site recipes, and documentation that are developed through, or as a result of the project, available on http://drupal.org.
Use Cases
A list of potential uses for this type of site/profile:
Drupal
- Drupal Dojo will have a more effective platform to provide free online training, mentoring, and a showcase for Drupal.
- Local user groups could create a platform to provide free online training, mentoring, and a showcase for Drupal on a local level.
- Drupal camp or conference site
- Showcase for the niche communities like Drupal Design, Drupal Media, or Drupal Education.
Other
- An online community where artists, activists from around the world could share, discuss, create and collaborate.
- An educational or arts organization could create an open learning portal for tutorials, how-tos, podcasts, and other materials that will educate and empower consumers, content providers, and producers; Aggregate news and learning materials from other sources.
- Media platform for TV and Radio Stations, but also have utility for Community Technology Centers, Schools, and Libraries.
Main Features
The features have been previously defined in a number of locations (Original Dojo 2.0 site spec http://drupal.org/node/201891. Site spec on groups.drupal.org - http://groups.drupal.org/node/15953) and the feature list was further refined by reviewing the SxSW project definition (http://www.drupalshowdown.com/ )
- General information pages about the program.
- Session calendar - A calendar that lists upcoming events and sessions.
- Event management & ticket sales across venues.
- Pages that contain supplemental downloadable materials for each session, including Word and PDF files, MP3 recordings, links to other Web sites, You Tube videos and other social media content.
- A “community classifieds” section where program participants can post services offered, services needed, help needed and other opportunities or community resources.
- A discussion forum where users can continue talking about issues between sessions.
- Individual blogs for each program participant and staff member.
- The ability to rate pages and posts using either a “+1” or “five star” rating system
- Web‐based contact forms for outside (anonymous) users to contact administrators for information about the Dojo, or to offer sponsorships, etc.
- Sponsor and support section - sponsor pages and banner listing/advertising individuals, organizations or companies who have sponsored some part of the Dojo.
- Virtual meeting and collaboration space - A sub-domain to support live lessons and collaborative workshops.
- Rich media sharing and distribution - provide users several ways to share and distribute content
- Code Snippet / Pastebin - A pastebin to paste code during lessons.
- Google Analytics package for tracking site traffic.
- i18n: Multi-language Support - Provide the Dojo site in multiple languages.
- [Integrated IRC client].
- News feeds for Dojo & Kata events
- Call for Dojo sessions/lessons
- Suggestions for Lessons
- Curriculum Management / Learning Management features ** Including prerequisites / learn more recommendations ** Drupal Learning Taxonomy - Management (including roles)
- Rating / recommendation solutions
Design
Design should focus on maintaining a clear and consistent visual identity and utilizing usability and accessibility best practices. HTML and CSS used on the site should adhere to W3C standards, work seamlessly in all “A grade” browsers as defined by Yahoo, and use a progressive enhancement approach to development, ensuring that as many people are able to use the site as possible.
Functionality
- Multiple user accounts, with differing levels of administrative privileges:
- Administrative user (s) should have full access to all of the site’s features and functionality
- Staff users should have access to add and update calendar events and site‐wide announcements, create/edit general content and directory listings, be able to moderate/delete user‐submitted content including comments and forum discussions, and may add and manage user accounts. Staff users should be able to post materials from sessions for access by all users, including Word and PDF files, MP3 recordings, YouTube and other related learning/media/ social media content.
- Authenticated users should be able to comment on content (lessons, etc.), engage in forum discussions, rate posts, conduct polls, and edit wiki‐style group project planning pages. They should also be able to easily post files in common document and image formats (Word, PDF, JPEG, etc.) as well as content from YouTube and other popular social media sites as part of their submissions and/or comments. Users should be able to subscribe to customized site updates via e‐mail as well as RSS and share content outside of the Dojo site.
- Anonymous users should be able to only view general content about the program, and be able to contact administrators for additional information about the Dojo via a Web‐based contact form.
- Forms that send e‐mail (e.g., the Contact form) - Forms should e‐mail the admin‐configurable designated address(es) all content submitted by the user.
- Integration with third‐party e‐mail listserv software, e.g., Constant Contact, Emma, EZ‐MLM‐IDX.
- WYSIWIG formatter - Allows bolding, italics, links, ordered and unordered lists, and other commonly used formatting features for General page, Blog, Events, News, Wiki‐style pages, and Forum main content areas .
- Embedded content - Main content text areas should be able to have content item‐specific, optional embedded local or remote image(s), photo gallery, remotely‐hosted (e.g. Google video or YouTube) videos, local audio/podcasts, local file attachments (.pdf, .txt, .doc, .docx, .rtf, .xls, .xlsx, .csv, .ppt, .pptx, .key) displayed in or adjacent to the main content area.
- Versioning and/or revisions should be enabled for as many types of content as possible.
- General page - General pages have a title (required) and main content area (required).
- Events - Site should be able to handle multi‐day events that have a date range (start and end date – required), title (required), time and location text field, short description, and main content text area. Events should be able to be flagged “public” by “Staff”‐level accounts only.
- News - News items have a title (required), date (required), short description and main content text area (required). News should be able to be flagged “public” by “Staff”‐level accounts only.
- Blog - Blog posts have a title (required), author (required) date (required), short description and main content text area (required).
- Classified listings - Classified listings have a title (required), expiration date (required), main content area.
- Poll - Users should be able to create multiple choice poll questions that other users can vote on. Creators should be able to set an expiration date for polls they create and view how many votes have been registered for each question. Polls can be attached to message board posts, blog posts, and project pages.
- Forum - Forums should offer standard Internet message board functionality: Users can post new discussion topics, reply to, and quote other user’s posts. In addition to post subject and content, posts should include username and time stamp. Administrative users should be able to moderate user posts (edit, delete, lock discussions, ban users) and make topics “stick” to the top of the board.
- Ratings - Users should be able to rate learning objects, lessons, general ok - pages, wiki pages and blog posts as specified by administrative users with either a five‐star or “+1” rating system. The system should record the number of users who have rated the specified content.
- Banner ads - Administrative users should be able to upload banner advertisements that appear in specified locations on specified pages on the site. Administrative users can track the number of impressions and clickthroughs for an ad, and set campaigns to appear either for a specified number of impressions or period of time.
Technical Requirements
- Web Server: Apache 1.3 or Apache 2.x hosted on UNIX/Linux with mod_rewrite extension to allow for clean URLs.
- PHP: PHP 5.2 or higher (to stay forward compatible with the upcoming D7 release) with 16 MB of memory, the PHP XML extension (for blogapi, drupal, and ping modules) and an image library for PHP (GD or ImageMagick).
- Database Server: MySQL 4.1 or higher. Preferably MySQL 5.0 to stay forward compatible with the upcoming D7 release.
Information Architecture
- User Roles and Permissions
- Workflows
- Taxonomy Structure
- Primary menu items
- Blocks
- CCK Node Types and fields
- User profile fields
- Views
- Panels
- Third party integration
Session
Fields
- title
- presenter (with link to profile)
- description
- image (related issue)
- Type (using taxonomy)
- Category (using taxonomy)
- Drupal version (using taxonomy)
- Difficulty level (using taxonomy)
- resources
- sponsor credits
Resources
- issue(s) -
- Event Scheduling and Workflow - http://drupalkata.com/drupaldojo/node/214
Track
Tracks are the newest exciting feature for the Dojo: a collection of lessons under a common theme. Anyone is welcome to create a track, and mix and match related lessons. They don't even have to be your lessons. Then other users on the Dojo can work their way through your track, marking lessons completed as they do so.
Sponsor
Fields
- Logo
- Description
- Link to Website
Resource
A resource is a Drupal learning asset (video, audio, slideshows, documentation) submitted from an external source.
Fields
- title
- description
- Type (using taxonomy)
- Category (using taxonomy)
- Drupal version (using taxonomy)
- Difficulty level (using taxonomy)
Resources
- issue(s) -
- Curated Learning Repository - http://drupalkata.com/drupaldojo/node/212
- Event Scheduling and Workflow - http://drupalkata.com/drupaldojo/node/214
User
This is a compilation of previous ideas and discussions.
Account information
This should be the only required info upon sign-up
- username
- E-mail address
- password
Profile
- Real Name
- Drupal user name
- IRC user name
- Title
- Company or organization
- Interests/skills
- Location
- City
- State
- Zip or postal code
- Website url: Your professional web page, blog, etc.
- Short biography: A short history or background about yourself (25 words max).
- Contact information: Public contact information (email, IM, phone, etc.)
Helping out (I think this could all be taxonomy)
- Topics you would like to present - autocomplete
- Where are you willing to travel - countries; regions; continents
- Languages you present in
- Role interested in (checkboxes)
- Presenter
- Video crew
- Remote presentation setup
- WIFI magician
- Fundraiser
- Mentor
- Organizer
What remuneration do you need? (checkboxes)
- Travel costs
- A place to sleep
- A hotel room
- Speaker fee
Type of presentations you would like to give (checkboxes)
- Drupal Dojo (screencast for webinar)
- Drupal Kata (project training session)
- Remote (screencast for event)
- Drupal User Group (10-50)
- Drupalcamp (30-200)
- Drupalcon (50-400)
Content
- My content (text, audio, video, photos)
- My projects
- Friends
- Favorite posts (lessons or posts of any kind)
Resources
- issue(s) -
- Create user profile and membership features - http://drupalkata.com/drupaldojo/node/209
User Roles and Permissions
Multiple user accounts, with differing levels of administrative privileges:
- Administrative user (s) should have full access to all of the site’s features and functionality
- Staff users should have access to add and update calendar events and site‐wide announcements, create/edit general content and directory listings, be able to moderate/delete user‐submitted content including comments and forum discussions, and may add and manage user accounts. Staff users should be able to post materials from sessions for access by all users, including Word and PDF files, MP3 recordings, YouTube and other related learning/media/ social media content.
- Authenticated users should be able to comment on content (lessons, etc.), engage in forum discussions, rate posts, conduct polls, and edit wiki‐style group project planning pages. They should also be able to easily post files in common document and image formats (Word, PDF, JPEG, etc.) as well as content from YouTube and other popular social media sites as part of their submissions and/or comments. Users should be able to subscribe to customized site updates via e‐mail as well as RSS and share content outside of the Dojo site.
- Anonymous users should be able to only view general content about the program, and be able to contact administrators for additional information about the Dojo via a Web‐based contact form.
Taxonomy
- Type
- Lesson, Tutorial, or Howto
- Workshop, Sprint, or Project
- Discussion, Coffeetalk, or BOF
- Showcase, Case Study, or Demo
- Category
- Business Side
- Code & Development
- Design & Usability
- Performance & Scalability
- Showcase & Strategy
- Site Building
- Difficulty Level
- Beginner
- Intermediate
- Advanced
- Expert
- Audience Industry
- Education
- Entertainment
- Library
- Marketing
- Media
- Non-profit
- Drupal Version
- Drupal 5
- Drupal 6
- Drupal 7
Audience Industry
- Education
- Entertainment
- Library
- Marketing
- Media
- Non-profit
Category
- Business Side
- Code & Development
- Design & Usability
- Performance & Scalability
- Showcase & Strategy
- Site Building
Difficulty Level
- Beginner
- Intermediate
- Advanced
- Expert
Drupal Version
- Drupal 5
- Drupal 6
- Drupal 7
Type
- Lesson, Tutorial, or Howto
- Workshop, Sprint, or Project
- Discussion, Coffeetalk, or BOF
- Showcase, Case Study, or Demo
Milestones
Phase 1
- Iteration 1 - Drupal core, basic site structure (information architecture) created, user roles/permissions created, configuration.
- Iteration 2 - Contact form(s), participant directory, discussion forums.
- Iteration 3 - Event calendar, ability to sign-up for events, ability to rate content.
- Iteration 4 - Session submission and workflow.
- Iteration 5 - Themeing
- Iteration 6 - Analytics and SEO
- Iteration 7 - i18n
Phase 2
- Iteration 1 - Learning object repository
- Iteration 2 - Media upload, aggregation and sharing
- Iteration 3 - Virtual meeting/collaboration integration
Deliverables
All materials provided as deliverables for this project will be available under a free distribution license (e.g., GPL, Creative Commons, BSD, etc.)
- The Drupal Dojo site will be hosted externally (www.drupaldojo.com)
- Install profile and configuration patterns (features) will be available on drupal.org
- Any new modules, themes, site recipes, and documentation developed will be available on drupal.org
- All learning materials, curriculum, courseworks derived from the development will be in the drupal handbooks, drupaldojo.com, and distributed around the web.
Site Map
- Global
elements:
- Navigation
- Header
- Footer: copyright, contact address
- Breadcrumbs
- Home - Home page should include a login form for authenticated users, a dynamic list of up‐to‐3 most recent “public” ‐ flagged News items and a dynamic list of up‐to‐5 upcoming “public”‐ flagged events, as well as an area for home‐page specific content. RSS feed should be available for publicly available news and events.
- News and Events - List of staff‐posted announcements, followed by a list of all upcoming posted events, sorted by date. Only items flagged as “public” should be viewable to anonymous users. Event titles should link to the event details page if main content area for that event is non‐null. News titles should link to the news item detail page. RSS feed should be available fo r publicl y available news and events.
- Blogs
- List
of
10
most
recent
blog
posts
by
all
users
(title,
short
description,
date,
author,
number
of
comments)
- Individual blog home page - List of 10 most recent blog posts by selected users (title, lead copy, date, author, number of comments
- Individual blog article page - Full text of blog posts, and all comments posted in a threaded form
- Sponsors - Lists individuals, organizations or companies who have sponsored some part of the Kata and/or related lessons, sessions and projects.
- Corporate sponsors - Link to detail page with logo, company description, and members.
- Individual sponsors - Link to detail page with badge and description.
- Classifieds - Lists all posted classified ads. Only ads flagged as “public” should be viewable to anonymous users.
- Discussions - A set of moderated message board forums
- About - General information about the program
- Directory - A list of all users with an account on the site
- Contact - A Web‐based contact form that allows anonymous users to e‐mail program staff
About
General information about the program
Home
Home page should include a login form for authenticated users, a dynamic list of up‐to‐3 most recent “public” ‐ flagged News items and a dynamic list of up‐to‐5 upcoming “public”‐ flagged events, as well as an area for home‐page specific content. RSS feed should be available for publicly available news and events.
Resources
- Development site - http://dev.drupaldojo.com/
News and Events
List of staff‐posted announcements, followed by a list of all upcoming posted events, sorted by date. Only items flagged as “public” should be viewable to anonymous users. Event titles should link to the event details page if main content area for that event is non‐null. News titles should link to the news item detail page. RSS feed should be available fo r publicl y available news and events.
Sponsors
Lists individuals, organizations or companies who have sponsored some part of the Dojo and/or related lessons, sessions and projects.
- Corporate sponsors - Link to detail page with logo, company description, and members.
- Individual sponsors - Link to detail page with badge and description.
Resources
- Drupal Kata issue - http://drupalkata.com/drupaldojo/node/211
- d.o. issue - http://drupal.org/node/552144
Team
- Aaron Winborn
- Developer (mentor)
- Trever Twining
- Themer, Front-end developer (mentor), Design, UX (mentor)
- Gus Austin
- Marketing, Documentation, Producer, Outreach, Fundraiser, Site Builder, Facilitator, Trainer, Learning Program Developer
- Eric Johnston
- Project Management (mentor), Producer, Marketing, Site Builder, Facilitator, Trainer, Learning Program Developer
- Doug Vann
- Developer (mentor), Marketing, Fundraiser
- Stacy Wray
- Content Editor & Manager
Budget Estimate
To be determined by the project team.