In the last two days I’ve written 13 pages of specs for the social network project (don’t look too impressed: two of those pages are the table of contents!). There are still a lot of gaps but the basic framework is starting to take shape.
There are six basic kinds of “objects” (information-collections, or (I think) nodes in Drupal) in the site. They are:
- profiles (of registered users)
- galleries (of projects belonging to a particular user or group)
- projects (each project belongs to a registered user, and can (optionally) be associated with a group)
- yarns (with all the data of the associated yarn)
- patterns/drafts (ditto)
- user group profiles
- (possibly) looms
These are the basic building blocks (‘nodes” in Drupal, I think) and will be able to link to each other and be cross-referenced, as in Ravelry.
Yarn and patterns will be part of a “database”, that is to say you can “link to” a yarn or pattern as you would with Ravelry, thus enabling users to find all projects using a particular pattern/draft (or a particular yarn) quickly. I am not yet certain whether this will fly (it relies on search capabilities that I”m not sure exist in Drupal). But the advantages of having a yarn database, instead of having users enter the yarn information every time, are twofold: (1) searching is better and more reliable, since you don’t have to worry about losing projects with typos in the yarn name, and (2) it makes the process of entering yarn information much less tedious, by autopopulating your yarn information once you select a yarn.
As I’ve said, I’m not sure whether I can implement this in Drupal, but I’ll give it a try. I want a similar database for patterns, and also possibly (not sure yet – this may be a future feature) for looms.
In addition to that, there will also be forums – one main set of forums with volunteer moderators, plus a forum for each group. Forums are easily set up in Drupal, so this shouldn’t take long.
Functionality in addition to the core functionality listed above will include:
- (nice to have) the ability to tag other people’s work as “favorites”
- (nice to have) the ability to message other users
- (nice to have) individual user blogs
That’s it for now. I realize that Ravelry has lots of other cool features, but this is already a (highly!) ambitious project for a Drupal novice. I arrived at this by cutting down everything I could think of until I reached the point where I couldn’t cut further. Then I added a few “free” (easy-to-implement) features back in, like groups, forums, and possibly user blogs.
Later this morning I will go see someone about enlarging my sectional beam so I can back to work on doubleweave. This social network project is interesting (and extremely exciting!), but I’m starting to suffer weaving withdrawal and could really stand to get my hands on some yarn!