Main Page
From Wontology
Contents |
Welcome
Welcome to the wiki for the WontoMedia web application. WontoMedia is free/libre/open-source software (FLOSS, licensed under the AGPL v3), being developed by a distributed/dispersed volunteer team using agile methods. Additional introductory and contact information can be found on the project's home page.
Eventually this wiki will also contain User Reference information and System Administration documentation, but we're still very early in development, and are creating pages to help new developers join the project and work with the WontoMedia software itself.
Installing WontoMedia
To install WontoMedia for use on your own system, your intranet, or publicly on the Internet, it is recommended to install the latest release gem:
gem install wontomedia
(Source from our repository on RubyForge, actual gem hosting via Gemcutter from rubygems.org.)
If this command is familiar to you, and you know how to update a Rails applications' database.yml, then this should be all you need. For more information, please see Install from Scratch for a set of step-by-step instructions.
To install WontoMedia for development, it is better to obtain it directly from our development repository on GitHub:
cd to the directory that you want wontomedia below git clone git://github.com/gleneivey/wontomedia.git
And we have more information on Setting Up Your Development Environment separately.
Developer's References
Our latest source code is on GitHub. (We push to master in our Git repository on RubyForge for each numbered release. See our Development and Release Process for more details on what types of code you can find where.) You can install directly from it (see above) or use GitHub's web-based source browser to investigate our source.
- I've Just Got a Little Change — The minimal steps for volunteering a code change ("contribution guidelines"), pull request, or patch.
- Setting Up Your Development Environment — Alternatives for installation sources, tool dependencies, local configuration files you have to create/modify, and running tests.
- Development and Release Process — The organization of our project's code into branches within web repositories, and what you can expect for newness versus stability.
- Additional Development Information — Things you'll want to know if you're thinking about doing more than a little change or two.
For reference, the tools we use are as follows (all free software):
- the Ruby programming language (v1.8)
- the Ruby-on-Rails web application framework (v2.3.5) on top of the MySQL database server (v5.0)
- the Git source code management system (v1.6)
- the Gems Ruby software packaging and distribution system (v1.3.5)
- RubyForge, the open-source Ruby project hosting site, which hosts our project web site
- GitHub, the public Git repository web site
- various Ruby and web-based automated-testing tools, including:
- Cucumber for our automated acceptance testing framework (v0.6.2)
- Webrat for browser simulation for acceptance testing of Rails-based code (v0.5.3)
- RSpec for test assertions in Cucumber steps (v1.3.0)
- Selenium RC for automated in-browser Ajax testing (selenium-client gem v1.2.16)
- ZenTest primarily for "continuous testing (i.e., its autotest tool) (v4.2.1)
- Cucumber for our automated acceptance testing framework (v0.6.2)
WontoMedia Design and Architecture
Planned Functionality
There are many different directions in which we can expand WontoMedia's functionality. How development will proceed will be dictated primarily by developer interest in different feature areas. The overall planning process is centered on user stories. Middle- and long-term feature areas are defined by a collection of Epic Stories and our major-features road map. These stories are being incrementally defined and decomposed into smaller, actionable stories, which we manage using Pivotal Tracker.
Architecture
The following wiki pages provide information on WontoMedia's internal structure and operation:
- User Vocabulary — the terminology and concepts WontoMedia exposes to users and their foundations in knowledge representation
- Key Models — the contents and relationships of the system's central Rails model objects, how they are used, and how they relate to the capabilities presented to the user

